Skip to main content
POST
/
accounts
curl --request POST \
  --url https://service.bluumfinance.com/v1/accounts \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "account_type": "trading",
  "contact": {
    "email_address": "john.doe@example.com",
    "phone_number": "+15555555555",
    "street_address": [
      "123 Main St",
      "Apt 4B"
    ],
    "city": "Berkeley",
    "state": "CA",
    "postal_code": "94704",
    "country": "US"
  },
  "identity": {
    "first_name": "John",
    "last_name": "Doe",
    "date_of_birth": "1980-01-01",
    "tax_id": "123-45-6789",
    "tax_id_type": "SSN",
    "country_of_citizenship": "US",
    "country_of_birth": "US",
    "country_of_tax_residence": "US",
    "funding_source": [
      "employment_income"
    ]
  },
  "disclosures": {
    "is_control_person": false,
    "is_affiliated_exchange_or_finra": false,
    "is_politically_exposed": false,
    "immediate_family_exposed": false
  },
  "agreements": [
    {
      "agreement": "account_agreement",
      "agreed": true,
      "signed_at": "2025-01-15T10:30:00Z",
      "ip_address": "192.168.1.1"
    }
  ]
}
'
{
  "id": "3d0b0e65-35d3-4dcd-8df7-10286ebb4b4b",
  "account_number": null,
  "status": "ACTIVE",
  "crypto_status": null,
  "currency": "USD",
  "balance": "0.00",
  "last_equity": "0",
  "created_at": "2025-01-15T10:30:00.000Z",
  "contact": {
    "email_address": "john.doe@example.com",
    "phone_number": "+15555555555",
    "street_address": [
      "123 Main St",
      "Apt 4B"
    ],
    "local_street_address": null,
    "city": "Berkeley",
    "state": "CA",
    "postal_code": "94704",
    "country": "US"
  },
  "identity": {
    "first_name": "John",
    "last_name": "Doe",
    "date_of_birth": "1980-01-01",
    "country_of_citizenship": "US",
    "country_of_birth": "US",
    "party_type": "natural_person",
    "tax_id_type": "SSN",
    "country_of_tax_residence": "US",
    "funding_source": [
      "employment_income"
    ]
  },
  "disclosures": {
    "is_control_person": false,
    "is_affiliated_exchange_or_finra": false,
    "is_affiliated_exchange_or_iiroc": null,
    "is_politically_exposed": false,
    "immediate_family_exposed": false,
    "is_discretionary": false
  },
  "agreements": [
    {
      "agreement": "account_agreement",
      "signed_at": "2025-01-15T10:30:00Z",
      "ip_address": "192.168.1.1",
      "revision": null,
      "account_id": "3d0b0e65-35d3-4dcd-8df7-10286ebb4b4b"
    }
  ],
  "account_type": "individual",
  "management_type": "self_directed",
  "tax_advantaged": false,
  "tax_designation": null,
  "trading_type": null,
  "trading_configurations": null,
  "enabled_assets": [
    "us_equity"
  ],
  "portfolios": [],
  "compliance_checks": [
    {
      "workflow_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "check_type": "identity_verification",
      "status": "pending",
      "provider": "persona-identity",
      "external_id": "inq_abc123def456",
      "verification_url": "https://withpersona.com/verify?inquiry-id=inq_abc123def456",
      "verification_token": null
    },
    {
      "workflow_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "check_type": "tax_id_verification",
      "status": "pending",
      "provider": "persona-taxid",
      "external_id": "txn_xyz789",
      "verification_url": null,
      "verification_token": null
    },
    {
      "workflow_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "check_type": "screening",
      "status": "clear",
      "provider": "persona-screening",
      "external_id": "rep_def456",
      "verification_url": null,
      "verification_token": null
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.bluumfinance.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

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

Body

application/json
account_type
enum<string>
required

The ownership structure of the investment account.

  • individual — Personal investment account owned by a single person.
  • joint — Shared investment account owned by two or more individuals with equal rights.
  • corporate — Business investment account held by a registered corporation or LLC. Note: trading is accepted for backward compatibility and maps to individual.
Available options:
individual,
joint,
corporate
Example:

"individual"

contact
object
required
identity
object
required
management_type
enum<string>
default:self_directed

The advisory relationship for this account.

  • self_directed — No advisory relationship. The client researches and trades independently.
  • advised — The account has an advisory relationship. Use is_discretionary in disclosures to indicate whether the advisor has discretionary authority.
Available options:
self_directed,
advised
Example:

"self_directed"

tax_advantaged
boolean
default:false

Whether this account has tax-advantaged status (e.g., IRA, ISA, RRSP). Varies by jurisdiction.

Example:

false

tax_designation
string | null

Jurisdiction-specific tax designation when tax_advantaged is true. Examples:

  • US: traditional_ira, roth_ira, sep_ira
  • UK: isa, sipp
  • Canada: rrsp, tfsa
Example:

null

disclosures
object

Regulatory disclosures and compliance information.

agreements
object[]

Legal agreements signed by the account holder.

Response

Account successfully created and is pending approval

id
string<uuid>

Unique identifier for the account.

Example:

"3d0b0e65-35d3-4dcd-8df7-10286ebb4b4b"

account_number
string | null

Brokerage account number (null until custodian account is provisioned).

Example:

"968430933"

status
enum<string>

Current status of the account.

Available options:
ACTIVE,
INACTIVE,
SUSPENDED,
CLOSED
Example:

"ACTIVE"

crypto_status
enum<string> | null

Status of crypto trading capabilities.

Available options:
ACTIVE,
INACTIVE,
SUSPENDED
Example:

null

currency
string

Primary currency of the account.

Example:

"USD"

balance
string

Current wallet balance (formatted string).

Example:

"0.00"

last_equity
string

Last recorded equity value (wallet balance + positions value).

Example:

"0"

created_at
string<date-time>

Timestamp when the account was created.

Example:

"2025-10-18T01:08:46.263583Z"

contact
object
identity
object
disclosures
object
agreements
object[]

Legal agreements signed by the account holder.

account_type
enum<string>

The ownership structure of the investment account.

  • individual — Personal investment account owned by a single person.
  • joint — Shared investment account owned by two or more individuals with equal rights.
  • corporate — Business investment account held by a registered corporation or LLC.
Available options:
individual,
joint,
corporate
Example:

"individual"

management_type
enum<string>

The advisory relationship for this account.

  • self_directed — No advisory relationship. The client trades independently.
  • advised — The account has an advisory relationship.
Available options:
self_directed,
advised
Example:

"self_directed"

tax_advantaged
boolean

Whether this account has tax-advantaged status.

Example:

false

tax_designation
string | null

Jurisdiction-specific tax designation (e.g., traditional_ira, roth_ira, isa, rrsp).

Example:

null

trading_type
enum<string> | null

The type of trading account (from custodian).

Available options:
margin,
cash
Example:

null

trading_configurations
object

Trading configuration settings.

Example:

null

enabled_assets
enum<string>[]

Asset classes enabled for trading on this account.

Available options:
us_equity,
us_option,
crypto,
bonds,
etf,
mutual_funds
Example:
["us_equity"]
portfolios
object[]

Portfolios associated with the account.

compliance_checks
object[] | null

Compliance verification checks initiated during account creation. Only present on the create response. Each check may be synchronous (completed immediately) or asynchronous (requiring user action via verification_url or verification_token).