Skip to main content
POST
/
investors
/
{investor_id}
/
funding-sources
/
connect
curl --request POST \
  --url https://api.bluumfinance.com/v1/investors/{investor_id}/funding-sources/connect \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "type": "plaid",
  "public_token": "public-sandbox-1234abcd-5678-90ef"
}
'
{
  "object": "investor",
  "livemode": false,
  "id": "inv_01j9x8m2k7qpzwv3t5r6y8n0ab",
  "created": 1747776000,
  "metadata": {},
  "bank_name": "<string>",
  "mask": "<string>",
  "provider_id": "<string>",
  "account_name": "<string>",
  "account_type": "<string>",
  "account_subtype": "<string>",
  "account_holder_name": "<string>",
  "account_number": "<string>",
  "routing_number": "<string>",
  "swift_code": "<string>",
  "iban": "<string>",
  "wire_routing_kind": "<string>",
  "bank_code": "<string>",
  "beneficiary_address": "<string>",
  "address_line_1": "<string>",
  "payout_country": "<string>",
  "payout_currency": "<string>",
  "payout_city": "<string>",
  "payout_region": "<string>",
  "payout_postal_code": "<string>",
  "wire_payout_complete": true,
  "updated_at": "2023-11-07T05:31:56Z"
}

Authorizations

Authorization
string
header
required

HTTP Basic Authentication using the API Key as username and API Secret as password.

Path Parameters

investor_id
string
required

The prefixed public id of the investor (e.g. inv_…).

Body

application/json

Connect a bank account via Plaid by exchanging the public token from Plaid Link

type
enum<string>
required

Funding source type

Available options:
plaid
Example:

"plaid"

public_token
string
required

Public token from Plaid Link

Example:

"public-production-abc123def456"

Response

Funding source(s) connected successfully.

A connected funding source (bank account) that can be used for deposits and withdrawals. Envelope-wrapped.

object
string
required

The resource type discriminator.

Example:

"investor"

livemode
boolean
required

Whether this resource was created against a live API key. Test-mode keys always return false.

Example:

false

id
string

Prefixed public id (e.g. inv_…, ord_…, dep_…).

Example:

"inv_01j9x8m2k7qpzwv3t5r6y8n0ab"

created
integer | null

Unix-seconds timestamp of resource creation.

Example:

1747776000

metadata
object

Arbitrary key-value metadata attached to the funding source.

type
enum<string>
Available options:
plaid,
manual
status
enum<string>
Available options:
active,
disconnected,
error
bank_name
string | null
mask
string | null
provider_id
string

Plaid item_id for Plaid sources.

account_name
string | null
account_type
string | null
account_subtype
string | null
account_holder_name
string | null

Legal name of the account holder.

bank_account_type
enum<string> | null

Type of bank account.

Available options:
CHECKING,
SAVINGS
account_number
string | null

Masked account number (last 4 digits visible).

routing_number
string | null

Bank routing number (ABA for US banks).

swift_code
string | null

SWIFT/BIC code for international wires.

iban
string | null

Masked IBAN (last 4 digits visible).

wire_routing_kind
string | null

Routing code type: aba, sort_code, ifsc, etc.

bank_code
string | null

Bank-specific code (used in some regions).

beneficiary_address
string | null

Beneficiary address as a single string (legacy field).

address_line_1
string | null

Street address for wire payout beneficiary.

payout_country
string | null

ISO 3166-1 alpha-2 country code for wire payout beneficiary.

payout_currency
string | null

ISO 4217 currency code for wire payout beneficiary.

payout_city
string | null

City for wire payout beneficiary.

payout_region
string | null

State or region for wire payout beneficiary.

payout_postal_code
string | null

Postal code for wire payout beneficiary.

wire_payout_complete
boolean

Whether enough fields are populated for a wire payout via the custodian.

updated_at
string<date-time>