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
    }
  ]
}

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).