Create an Account

Create an account for a new or existing account holder. Required fields, eligibility, and initial status depend on the account type, enabled assets, and your correspondent configuration. Account status changes are available through the Account Status Events stream.

To create an account for an existing holder, provide primary_account_holder_id instead of inline holder information. Among the documented account types, existing holders are supported for trading and IRA accounts. Donor-advised accounts instead reference an existing legal entity with entity_id.

Body Params

Fields accepted when creating an account. Requirements vary by account type, enabled assets, existing holder agreements, and correspondent configuration. The server enforces conditional requirements that are not represented statically in this schema.

Account-specific requirements:

  • Trading accounts require inline identity plus contact, or an existing holder through primary_account_holder_id. Individual US equity accounts created with inline identity also require disclosures.
  • Custodial accounts require identity and minor_identity. US equity accounts also require disclosures.
  • IRA accounts require account_sub_type, US equity, and either inline identity or an existing holder through primary_account_holder_id; they do not support crypto. IRA accounts created with inline identity also require disclosures.
  • Donor-advised accounts require entity_id.

string
enum

The account subtype. Required for IRA accounts.

Allowed:
string
enum
Defaults to trading

The account type. Defaults to trading when omitted.

Allowed:
agreements
array of objects

Agreements submitted for the account or holder. Required agreement types depend on account type, enabled assets, existing holder agreements, and correspondent configuration. The server validates required coverage.

agreements
boolean
Defaults to false

Determines whether the account will be enabled for Instant ACH by the partner. Defaults to false if not provided.

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 the request signs the required Alpaca Customer Agreement revision, the account may be enrolled in a default APR tier automatically. Do not rely on this; 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

Contact is the model for the account owner contact information.

disclosures
object

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
drip
object

This feature is available in sandbox for beta partners only.

The account's dividend reinvestment (DRIP) setting. Omit drip to keep the current setting.

To turn DRIP on, the account must have a signed customer agreement at the revision that Alpaca requires. The agreement can already be on the account, or you can send it in agreements in the same request. Otherwise the request fails with HTTP 422, and the error message names the required revision.

DRIP enrollment must be available in the environment. While it is not, a request that turns DRIP on is accepted with HTTP 200 and does not enroll the account. The agreement is not checked, and the response has no drip object unless the account was enrolled before.

DRIP is not available for donor_advised, trust, omnibus_sub, and omnibus_non_disclosed accounts. A request that turns DRIP on for one of these accounts fails with HTTP 422, even while DRIP enrollment is unavailable. A request that turns DRIP off is accepted.

enabled_assets
array of objects

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

enabled_assets
Allowed:
uuid

UUID of an existing legal entity used as the holder of a donor-advised account. Required for donor-advised accounts.

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

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:
minor_identity
object

Identity information for the minor. Required for custodial accounts.

uuid

UUID of an existing party to use as the primary account holder. Among the documented account types, existing holders are supported for trading and IRA accounts.

When provided, omit inline holder fields such as contact, identity, disclosures, and minor_identity. The server validates the referenced party, account-type compatibility, eligibility, and required agreements.

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 a reasonable effort to obtain the trusted contact information. See FINRA Notice 17-11 for more details.

At least 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