Create an Account

Submit an account application with KYC information. This will create a trading account for the end user. The account status may or may not be ACTIVE immediately and you will receive account status updates on the event API.

Multi-Live Accounts (MLA): To open an additional account for an existing account holder, supply primary_account_holder_id at the top level instead of contact/identity data. In that case, supplying contact or identity returns HTTP 400. Only account_type of trading and ira are supported via this flow.

Body Params

Represents the fields required to create a new account

string
enum

IRA Account only

Possible values are:

  • traditional
  • roth
Allowed:
string
enum

Possible values are:

  • trading
  • custodial
  • donor_advised
  • ira
Allowed:
agreements
array of objects
required

The client must present the Alpaca Account and Margin Agreements to the end user, and confirm they have read and agreed to the agreement.

agreements*
beneficiaries
array of objects

IRA Account only. A user can submit max 6 beneficiaries.

beneficiaries
cash_interest
object

The configuration of the account's USD cash interest program when creating an account. If cash_interest is not provided and there is a default APR tier defined, that tier will be used. To enroll the account in a non-default APR tier, provide the cash_interest object with the desired apr_tier_name. The status should not be specified on enrollment. The response will contain a status of PENDING_CHANGE. An event showing the status change to ACTIVE will be generated when the enrollment is complete.

contact
object
required

Contact is the model for the account owner contact information.

disclosures
object
required

Disclosures fields denote if the account owner falls under each category defined by FINRA rule. The client has to ask questions for the end user and the values should reflect their answers. If one of the answers is true (yes), the account goes into ACTION_REQUIRED status.

documents
array of objects
documents
enabled_assets
array of objects

Will default to us_equity. Alpaca has the ability to update the default value upon request.

enabled_assets
fpsl
object

The account's Fully Paid Securities Lending (FPSL) configuration. To enroll the account for a market, specify the tier_id. The status should not be specified on enrollment. Currently only the US market is supported.

identity
object
required

Identity is the model to provide account owner's identity information.

string
enum

The user's investment objective. This field should be used instead of the deprecated investment_objective under identity.

Allowed:
string
enum

The expected period of time the user plan to invest to achieve his/her financial goal(s). This field should be used instead of the deprecated investment_time_horizon under identity.

Allowed:
string
enum

The user's ability to quickly and easily convert to cash all or a portion of the investments in this account without experiencing significant loss in value. This field should be used instead of the deprecated liquidity_needs under identity.

Allowed:
uuid

UUID of an existing account holder (party) to use as the primary account holder for the new account. Used to open additional accounts under the Multi-Live Accounts (MLA) flow.

When present:

  • contact and identity must be omitted (returns HTTP 400 otherwise).
  • agreements must still be supplied (e.g. customer_agreement for trading; customer_agreement and etc_agreement for IRA).
  • Only account_type values of trading and ira are supported.
string
enum

The user's investment risk tolerance. This field should be used instead of the deprecated risk_tolerance under identity.

Allowed:
trading_configurations
object

Represents additional configuration settings for an account

trusted_contact
object

This model input is optional. However, the client should make reasonable effort to obtain the trusted contact information. See more details in FINRA Notice 17-11

Only one of the following is required:

  • email_address
  • phone_number
  • street_address
Responses

409

There is already an existing account registered with the same email address.

Language
Credentials
Basic
base64
:
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json