---
title: "Create an Account"
method: POST
path: "/v1/accounts"
tags: ["Accounts"]
---

# Create an Account

`POST /v1/accounts`

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.

## Request body

- AccountCreationRequest — Represents the fields required to create a new account
  - `account_sub_type` 'traditional' | 'roth' — IRA Account only Possible values are: - traditional - roth
  - `account_type` 'trading' | 'custodial' | 'donor_advised' | 'ira' — Possible values are: - trading - custodial - donor_advised - ira
  - `agreements` Agreement[], 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.
    - `agreement` 'margin_agreement' | 'account_agreement' | 'customer_agreement' | 'crypto_agreement' | 'options_agreement', required — - margin_agreement: Alpaca Margin Agreement - account_agreement: Alpaca Account Agreement - customer_agreement: Alpaca Customer Agreement - crypto_agreement: Alpaca Crypto agreement - options_agreement: Alpaca Option agreement - custodial_customer_agreement: Alpaca Custodial Customer agreement
    - `ip_address` string, ipv4, required — The ip_address the signed agreements were sent from by the user.
    - `revision` string — The agreement revision. The format is XX.YYYY.MM where XX is an incrementing revision number, YYYY is the year and MM is the month. If the revision is not specified in a POST or PATCH request, the active revision will be used, which will align with the [Alpaca Documents Library](https://alpaca.markets/disclosures).
    - `signed_at` string, date-time, required — The timestamp the agreement was signed.
  - `allow_instant_ach` boolean — Determines whether the account will be enabled for Instant ACH by the partner. Defaults to false if not provided.
  - `beneficiaries` Beneficiary[] — IRA Account only. A user can submit max 6 beneficiaries.
    - `date_of_birth` string, required
    - `family_name` string, required
    - `given_name` string, required
    - `middle_name` string, required
    - `relationship` string, required
    - `share_pct` string, required
    - `tax_id` string, required
    - `tax_id_type` string, required
    - `type` string, required
  - `cash_interest` AccountCashInterestPost — 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.
    - `USD` AccountCashInterestProgram
      - `apr_tier_name` string — The unique name of the APR tier for a specific program
      - `status` string — The status of the account within a cash interest program. One of: - **ACTIVE** The account is enrolled and eligible for idle cash to be swept at the end of day (EOD). - **INACTIVE** The account is not enrolled due to it either not being eligible (e.g. the updated Alpaca Customer Agreement has not been signed), an APR tier needs to be assigned, or they have been unenrolled. - **PENDING_CHANGE** An enrollment, APR Tier change, or unenrollment is in progress
  - `contact` Contact, required — Contact is the model for the account owner contact information.
    - `city` string, required
    - `country` string — country code in ISO 3166-1 alpha-3 format, representing the country the person/entity resides in.
    - `email_address` string, email, required
    - `phone_number` string, nullable — Phone number should include the country code, format: "+15555555555"
    - `postal_code` string
    - `state` string — Required if the country or country_of_tax_residence (in the identity model below) is 'USA'.
    - `street_address` StreetAddress[], required — The user's street address. If multiple lines in address, pass in as additional array elements. Maximum of 3 objects in array
    - `unit` string — The specific apartment number if applicable
  - `disclosures` Disclosures, 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.
    - `context` DisclosureContextAnnotation[], nullable — Array of annotations describing the rationale for marking `is_control_person`, `is_affiliated_exchange_or_finra`, and/or `immediate_family_exposed` as true
      - `company_city` string — Required for FINRA affiliations and controlled firms.
      - `company_compliance_email` string — Required for FINRA affiliations and controlled firms.
      - `company_country` string — Required for FINRA affiliations and controlled firms.
      - `company_name` string — Required for FINRA affiliations and controlled firms.
      - `company_state` string — Required if and only if `company_country` is `USA`.
      - `company_street_address` string — Required for FINRA affiliations and controlled firms.
      - `context_type` 'CONTROLLED_FIRM' | 'IMMEDIATE_FAMILY_EXPOSED' | 'AFFILIATE_FIRM', required — Specifies the type of disclosure annotation. Valid types are FINRA affiliations, for users affiliated with or employed by a FINRA member firm, a Stock Exchange Member, FINRA, Registered Investment Advisor, or a Municipal Securities Broker/Dealer; Company control relationships, for senior executives, and 10% or greater shareholders, of a publicly traded company; and immediate family members of politically exposed individuals.
      - `family_name` string — Required for immediate family members of politically exposed persons.
      - `given_name` string — Required for immediate family members of politically exposed persons.
    - `employer_address` string — The employer's address if the user is employed.
    - `employer_name` string — The name of the employer if the user is employed.
    - `employment_position` string — The user's position if they are employed.
    - `employment_sector` 'agriculture' | 'business_management' | 'computers_and_it' | 'construction' | 'education' | 'finance' | 'government' | 'healthcare' | 'hospitality' | 'manufacturing' | 'marketing' | 'media' | 'other' | 'science' | 'self_employed' | 'transportation' | 'not_employed' — The industry sector of employment. If the `employment_status` is `unemployed` or `student`, set this property to `not_employed`. If the `employment_status` is `retired`, set this to `self_employed`.
    - `employment_status` 'unemployed' | 'employed' | 'student' | 'retired' — One of the following: `employed`, `unemployed`, `retired`, or `student`.
    - `immediate_family_exposed` boolean, required — If your user's immediate family member (sibling, husband/wife, child, parent) is either politically exposed or holds a control position.
    - `is_affiliated_exchange_or_finra` boolean, required — Whether user is affiliated with any exchanges or FINRA.
    - `is_control_person` boolean, required — Whether user holds a controlling position in a publicly traded company, member of the board of directors or has policy making abilities in a publicly traded company.
    - `is_politically_exposed` boolean, required — Whether the user is politically exposed.
  - `documents` OwnerDocumentUploadRequest[]
    - `content` string, base64, required — The base64 string encoding of the document contents. This property is required unless content_data is provided.
    - `content_data` W8benDocument — Use this property (instead of the content property) to upload W-8 BEN data in JSON format.
      - `additional_conditions` string — Any additional conditions to specify
      - `country_citizen` string, required — The country that the applicant is a citizen of
      - `date` string, date, required — date signed
      - `date_of_birth` string, date, required — date of birth of applicant
      - `foreign_tax_id` string — Applicant's tax id in their home country
      - `ftin_not_required` boolean — Required if foreign_tax_id and tax_id_ssn are empty.
      - `full_name` string, required — Full name of applicant
      - `income_type` string — Income type of applicant
      - `ip_address` string, required — IP address of applicant when signed
      - `mailing_address_city_state` string — Mailing city/state of applicant
      - `mailing_address_country` string — Mailing country for applicant
      - `mailing_address_street` string — Mailing street address for applicant
      - `paragraph_number` string
      - `percent_rate_withholding` integer
      - `permanent_address_city_state` string, required — Permanent city/state of applicant
      - `permanent_address_country` string, required — Permanent country of residence of applicant
      - `permanent_address_street` string, required — Permanent street address of applicant
      - `reference_number` string
      - `residency` string — Country of residency of applicant
      - `revision` string, required — Revision of the W8BEN form
      - `signer_full_name` string, required — Full name of signing user
      - `tax_id_ssn` string — TaxID/SSN of applicant
      - `timestamp` string, time, required — Timestamp when form data was gathered
    - `document_sub_type` string — The specific type of document, e.g. passport. This is a free-form property.
    - `document_type` 'account_approval_letter' | 'address_verification' | 'cip_result' | 'company_formation' | 'date_of_birth_verification' | 'entity_operating_document' | 'entity_registration' | 'hio_declaration_form' | 'identity_verification' | 'limited_trading_authorization' | 'pep_declaration_form' | 'tax_id_verification' | 'w8ben' | 'w9', required — The type of the owner document
    - `mime_type` string — This field is required if content is specified. ENUM: application/pdf, image/png, or image/jpeg. If document_type is w8ben then application/json is also accepted
  - `enabled_assets` AssetClass[] — Will default to `us_equity`. Alpaca has the ability to update the default value upon request.
  - `fpsl` AccountFPSLPost — 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.
    - `US` AccountFPSLItemPost
      - `tier_id` string, uuid — The id of the FPSL tier for this market
  - `identity` Identity, required — Identity is the model to provide account owner's identity information.
    - `annual_income_max` number — The upper bound of the user's annual income.
    - `annual_income_min` number — The lower bound of the user's annual income.
    - `country_of_birth` string — [ISO 3166-1 alpha-3](https://www.iso.org/iso-3166-country-codes.html).
    - `country_of_citizenship` string — [ISO 3166-1 alpha-3](https://www.iso.org/iso-3166-country-codes.html).
    - `country_of_tax_residence` string, required — [ISO 3166-1 alpha-3](https://www.iso.org/iso-3166-country-codes.html).
    - `date_of_birth` string, date, required — The date of birth in "YYYY-MM-DD" format.
    - `date_of_departure_from_usa` string, date — Required if `visa_type` = B1 or B2
    - `family_name` string, required — The last name (surname) of the user.
    - `funding_source` string[], required — Can be one or more of the following: `employment_income`, `investments`, `inheritance`, `business_income`, `savings`, `family`.
    - `given_name` string, required — The first/given name of the user.
    - `investment_experience_with_options` 'none' | '1_to_5_years' | 'over_5_years' — The user's level of expertise and familiarity with investing in Options.
    - `investment_experience_with_stocks` 'none' | '1_to_5_years' | 'over_5_years' — The user's level of expertise and familiarity with investing in US Equities.
    - `investment_objective` 'generate_income' | 'preserve_wealth' | 'market_speculation' | 'growth' | 'balance_preserve_wealth_with_growth' — The user's investment objective. This field is deprecated. Please use the top level `investment_objective` field.
    - `investment_time_horizon` 'less_than_1_year' | '1_to_2_years' | '3_to_5_years' | '6_to_10_years' | 'more_than_10_years' — The expected period of time the user plan to invest to achieve his/her financial goal(s). This field is deprecated. Please use the top level `investment_time_horizon` field.
    - `liquid_net_worth_max` number — The upper bound of the user's liquid net worth.
    - `liquid_net_worth_min` number — The lower bound of the user's liquid net worth.
    - `liquidity_needs` 'very_important' | 'important' | 'somewhat_important' | 'does_not_matter' — The user's ability to quickly and easily convert all or part of their investments in this account to cash without significant loss in value. This field is deprecated. Please use the top level `liquidity_needs` field.
    - `marital_status` 'SINGLE' | 'MARRIED' | 'DIVORCED' | 'WIDOWED' — The marital status of the user.
    - `middle_name` string — The middle name of the user.
    - `number_of_dependents` integer — The number of dependents the user has.
    - `permanent_resident` boolean — Only used to collect permanent residence status in the USA.
    - `risk_tolerance` 'conservative' | 'moderate' | 'significant_risk' — The user's investment risk tolerance. This field is deprecated. Please use the top level `risk_tolerance` field.
    - `tax_id` string — Required if tax_id_type is set.
    - `tax_id_type` 'USA_SSN' | 'USA_ITIN' | 'ARG_AG_CUIT' | 'AUS_TFN' | 'AUS_ABN' | 'BOL_NIT' | 'BRA_CPF' | 'CHL_RUT' | 'COL_NIT' | 'CRI_NITE' | 'DEU_TAX_ID' | 'DOM_RNC' | 'ECU_RUC' | 'FRA_SPI' | 'GBR_UTR' | 'GBR_NINO' | 'GTM_NIT' | 'HND_RTN' | 'HUN_TIN' | 'IDN_KTP' | 'IND_PAN' | 'ISR_TAX_ID' | 'ITA_TAX_ID' | 'JPN_TAX_ID' | 'MEX_RFC' | 'NIC_RUC' | 'NLD_TIN' | 'PAN_RUC' | 'PER_RUC' | 'PRY_RUC' | 'SGP_NRIC' | 'SGP_FIN' | 'SGP_ASGD' | 'SGP_ITR' | 'SLV_NIT' | 'SWE_TAX_ID' | 'URY_RUT' | 'VEN_RIF' | 'NATIONAL_ID' | 'PASSPORT' | 'PERMANENT_RESIDENT' | 'DRIVER_LICENSE' | 'OTHER_GOV_ID' | 'NOT_SPECIFIED', required — Required if `tax_id` is set. An Enum of the various kinds of Tax ID formats Alpaca supports. Possible Values are: - **USA_SSN** USA Social Security Number - **USA_ITIN** USA Individual Taxpayer Identification Number - **ARG_AR_CUIT** Argentina CUIT - **AUS_TFN** Australian Tax File Number - **AUS_ABN** Australian Business Number - **BOL_NIT** Bolivia NIT - **BRA_CPF** Brazil CPF - **CHL_RUT** Chile RUT - **COL_NIT** Colombia NIT - **CRI_NITE** Costa Rica NITE - **DEU_TAX_ID** Germany Tax ID (Identifikationsnummer) - **DOM_RNC** Dominican Republic RNC - **ECU_RUC** Ecuador RUC - **FRA_SPI** France SPI (Reference Tax Number) - **GBR_UTR** UK UTR (Unique Taxpayer Reference) - **GBR_NINO** UK NINO (National Insurance Number) - **GTM_NIT** Guatemala NIT - **HND_RTN** Honduras RTN - **HUN_TIN** Hungary TIN Number - **IDN_KTP** Indonesia KTP - **IND_PAN** India PAN Number - **ISR_TAX_ID** Israel Tax ID (Teudat Zehut) - **ITA_TAX_ID** Italy Tax ID (Codice Fiscale) - **JPN_TAX_ID** Japan Tax ID (Koijin Bango) - **MEX_RFC** Mexico RFC - **NIC_RUC** Nicaragua RUC - **NLD_TIN** Netherlands TIN Number - **PAN_RUC** Panama RUC - **PER_RUC** Peru RUC - **PRY_RUC** Paraguay RUC - **SGP_NRIC** Singapore NRIC - **SGP_FIN** Singapore FIN - **SGP_ASGD** Singapore ASGD - **SGP_ITR** Singapore ITR - **SLV_NIT** El Salvador NIT - **SWE_TAX_ID** Sweden Tax ID (Personnummer) - **URY_RUT** Uruguay RUT - **VEN_RIF** Venezuela RIF - **NATIONAL_ID** National ID number, if a tax ID number is not available - **PASSPORT** Passport number, if a tax ID number is not available - **PERMANENT_RESIDENT** Permanent resident number, if a tax ID number is not available - **DRIVER_LICENSE** Driver's license number, if a tax ID number is not available - **OTHER_GOV_ID** Other government issued identifier, if a tax ID number is not available - **NOT_SPECIFIED** Other Tax IDs
    - `total_net_worth_max` number — The upper bound of the user's total net worth.
    - `total_net_worth_min` number — The lower bound of the user's total net worth.
    - `visa_expiration_date` string, date — Required if `visa_type` is set.
    - `visa_type` string — Only used to collect visa types for users residing in the USA.
  - `investment_objective` 'generate_income' | 'preserve_wealth' | 'market_speculation' | 'growth' | 'balance_preserve_wealth_with_growth' — The user's investment objective. This field should be used instead of the deprecated `investment_objective` under identity.
  - `investment_time_horizon` 'less_than_1_year' | '1_to_2_years' | '3_to_5_years' | '6_to_10_years' | 'more_than_10_years' — 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.
  - `liquidity_needs` 'very_important' | 'important' | 'somewhat_important' | 'does_not_matter' — 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.
  - `primary_account_holder_id` string, 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.
  - `risk_tolerance` 'conservative' | 'moderate' | 'significant_risk' — The user's investment risk tolerance. This field should be used instead of the deprecated `risk_tolerance` under identity.
  - `trading_configurations` AccountConfigurations — Represents additional configuration settings for an account
    - `disable_overnight_trading` boolean — If true, overnight trading is disabled.
    - `fractional_trading` boolean — If true, account is able to participate in fractional trading
    - `max_margin_multiplier` string — Can be "1" or "2"
    - `max_options_trading_level` 0 | 1 | 2 | 3 — The desired maximum options trading level. 0=disabled, 1=Covered Call/Cash-Secured Put, 2=Long Call/Put, 3=Spreads/Straddles.
    - `no_shorting` boolean — If true, account becomes long-only mode.
    - `ptp_no_exception_entry` string — If set to true then Alpaca will accept orders for PTP symbols with no exception. Default is false.
    - `suspend_trade` boolean — If true, new orders are blocked.
    - `trade_confirm_email` 'all' | 'none' — all or none. If none, emails for order fills are not sent.
  - `trusted_contact` TrustedContact — 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](https://www.finra.org/sites/default/files/Regulatory-Notice-17-11.pdf) Only one of the following is required: * email_address * phone_number * street_address
    - `city` string — required if `street_address` is set
    - `country` string — [ISO 3166-1 alpha-3](https://www.iso.org/iso-3166-country-codes.html). required if `street_address` is set
    - `email_address` string, email — at least one of `email_address`, `phone_number` or `street_address` is required
    - `family_name` string, required
    - `given_name` string, required
    - `phone_number` string — at least one of `email_address`, `phone_number` or `street_address` is required
    - `postal_code` string — required if `street_address` is set
    - `state` string — required if `street_address` is set
    - `street_address` string[] — at least one of `email_address`, `phone_number` or `street_address` is required

## Response `200`

OK

- Account — Represents high level account info. Used when returning entire account information would not be useful like the getAllAccounts operation
  - `account_number` string, nullable, required — A human-readable account number that can be shown to the end user
  - `account_type` 'trading' | 'custodial' | 'donor_advised' | 'ira' — Possible values are: - trading - custodial - donor_advised - ira
  - `agreements` Agreement[]
    - `agreement` 'margin_agreement' | 'account_agreement' | 'customer_agreement' | 'crypto_agreement' | 'options_agreement', required — - margin_agreement: Alpaca Margin Agreement - account_agreement: Alpaca Account Agreement - customer_agreement: Alpaca Customer Agreement - crypto_agreement: Alpaca Crypto agreement - options_agreement: Alpaca Option agreement - custodial_customer_agreement: Alpaca Custodial Customer agreement
    - `ip_address` string, ipv4, required — The ip_address the signed agreements were sent from by the user.
    - `revision` string — The agreement revision. The format is XX.YYYY.MM where XX is an incrementing revision number, YYYY is the year and MM is the month. If the revision is not specified in a POST or PATCH request, the active revision will be used, which will align with the [Alpaca Documents Library](https://alpaca.markets/disclosures).
    - `signed_at` string, date-time, required — The timestamp the agreement was signed.
  - `allow_instant_ach` boolean — Determines whether the account is enabled for Instant ACH by the partner.
  - `cash_interest` AccountCashInterestResponse — The configuration and status of the account's USD cash interest program
    - `USD` AccountCashInterestProgram
      - `apr_tier_name` string — The unique name of the APR tier for a specific program
      - `status` string — The status of the account within a cash interest program. One of: - **ACTIVE** The account is enrolled and eligible for idle cash to be swept at the end of day (EOD). - **INACTIVE** The account is not enrolled due to it either not being eligible (e.g. the updated Alpaca Customer Agreement has not been signed), an APR tier needs to be assigned, or they have been unenrolled. - **PENDING_CHANGE** An enrollment, APR Tier change, or unenrollment is in progress
  - `contact` Contact — Contact is the model for the account owner contact information.
    - `city` string, required
    - `country` string — country code in ISO 3166-1 alpha-3 format, representing the country the person/entity resides in.
    - `email_address` string, email, required
    - `phone_number` string, nullable — Phone number should include the country code, format: "+15555555555"
    - `postal_code` string
    - `state` string — Required if the country or country_of_tax_residence (in the identity model below) is 'USA'.
    - `street_address` StreetAddress[], required — The user's street address. If multiple lines in address, pass in as additional array elements. Maximum of 3 objects in array
    - `unit` string — The specific apartment number if applicable
  - `created_at` string, date-time, required — Timestamp (RFC3339) of account creation.
  - `crypto_status` 'INACTIVE' | 'ONBOARDING' | 'SUBMITTED' | 'SUBMISSION_FAILED' | 'ACTION_REQUIRED' | 'ACCOUNT_UPDATED' | 'APPROVAL_PENDING' | 'APPROVED' | 'REJECTED' | 'ACTIVE' | 'ACCOUNT_CLOSED' — Designates the current status of this account Possible Values: - **INACTIVE** Account not set to trade given asset. - **ONBOARDING** An application is expected for this user, but has not been submitted yet. - **SUBMITTED** The application has been submitted and is being processed. - **SUBMISSION_FAILED** Used to display if failure on submission - **ACTION_REQUIRED** The application requires manual action. - **ACCOUNT_UPDATED** Used to display when Account has been modified by user - **APPROVAL_PENDING** Initial value. The application approval process is in progress. - **APPROVED** The account application has been approved, and waiting to be ACTIVE - **REJECTED** The account application is rejected for some reason - **ACTIVE** The account is fully active. Trading and funding are processed under this status. - **ACCOUNT_CLOSED** The account is closed.
  - `currency` string, required — "USD" // US Dollar "JPY" // Japanese Yen "EUR" // Euro "CAD" // Canadian Dollar "GBP" // British Pound Sterling "CHF" // Swiss Franc "TRY" // Turkish Lira "AUD" // Australian Dollar "CZK" // Czech Koruna "SEK" // Swedish Krona "DKK" // Danish Krone "SGD" // Singapore Dollar "HKD" // Hong Kong Dollar "HUF" // Hungarian Forint "NZD" // New Zealand Dollar "NOK" // Norwegian Krone "PLN" // Poland Złoty
  - `disclosures` Disclosures — 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.
    - `context` DisclosureContextAnnotation[], nullable — Array of annotations describing the rationale for marking `is_control_person`, `is_affiliated_exchange_or_finra`, and/or `immediate_family_exposed` as true
      - `company_city` string — Required for FINRA affiliations and controlled firms.
      - `company_compliance_email` string — Required for FINRA affiliations and controlled firms.
      - `company_country` string — Required for FINRA affiliations and controlled firms.
      - `company_name` string — Required for FINRA affiliations and controlled firms.
      - `company_state` string — Required if and only if `company_country` is `USA`.
      - `company_street_address` string — Required for FINRA affiliations and controlled firms.
      - `context_type` 'CONTROLLED_FIRM' | 'IMMEDIATE_FAMILY_EXPOSED' | 'AFFILIATE_FIRM', required — Specifies the type of disclosure annotation. Valid types are FINRA affiliations, for users affiliated with or employed by a FINRA member firm, a Stock Exchange Member, FINRA, Registered Investment Advisor, or a Municipal Securities Broker/Dealer; Company control relationships, for senior executives, and 10% or greater shareholders, of a publicly traded company; and immediate family members of politically exposed individuals.
      - `family_name` string — Required for immediate family members of politically exposed persons.
      - `given_name` string — Required for immediate family members of politically exposed persons.
    - `employer_address` string — The employer's address if the user is employed.
    - `employer_name` string — The name of the employer if the user is employed.
    - `employment_position` string — The user's position if they are employed.
    - `employment_sector` 'agriculture' | 'business_management' | 'computers_and_it' | 'construction' | 'education' | 'finance' | 'government' | 'healthcare' | 'hospitality' | 'manufacturing' | 'marketing' | 'media' | 'other' | 'science' | 'self_employed' | 'transportation' | 'not_employed' — The industry sector of employment. If the `employment_status` is `unemployed` or `student`, set this property to `not_employed`. If the `employment_status` is `retired`, set this to `self_employed`.
    - `employment_status` 'unemployed' | 'employed' | 'student' | 'retired' — One of the following: `employed`, `unemployed`, `retired`, or `student`.
    - `immediate_family_exposed` boolean, required — If your user's immediate family member (sibling, husband/wife, child, parent) is either politically exposed or holds a control position.
    - `is_affiliated_exchange_or_finra` boolean, required — Whether user is affiliated with any exchanges or FINRA.
    - `is_control_person` boolean, required — Whether user holds a controlling position in a publicly traded company, member of the board of directors or has policy making abilities in a publicly traded company.
    - `is_politically_exposed` boolean, required — Whether the user is politically exposed.
  - `documents` OwnerDocument[] — The documents associated with the primary owner of the account
    - `created_at` string, date-time, required
    - `document_sub_type` string — The sub-type of the document. This is a free-form property.
    - `document_type` 'account_approval_letter' | 'address_verification' | 'cip_result' | 'company_formation' | 'date_of_birth_verification' | 'entity_operating_document' | 'entity_registration' | 'hio_declaration_form' | 'identity_verification' | 'limited_trading_authorization' | 'pep_declaration_form' | 'tax_id_verification' | 'w8ben' | 'w9', required — The type of the owner document
    - `id` string, uuid, required
    - `mime_type` string
  - `enabled_assets` AssetClass[] — Assets the user has enabled and is able to trade once status and/or crypto_status are ACTIVE
  - `fpsl` AccountFPSLResponse — The account's Fully Paid Securities Lending (FPSL) configuration. This is only returned for accounts that have FPSL enabled.
    - `US` AccountFPSLItem
      - `status` string — The status of the account for this FPSL market. One of: - **ACTIVE** The account is successfully enrolled for FPSL for this market. - **INACTIVE** The account is not enrolled for FPSL for this market due to it either not being eligible, an FPSL tier has not been assigned, or it has been unenrolled.
      - `tier_id` string, uuid — The id of the FPSL tier for this market
  - `id` string, uuid, required — UUID that identifies the account for later reference
  - `identity` Identity — Identity is the model to provide account owner's identity information.
    - `annual_income_max` number — The upper bound of the user's annual income.
    - `annual_income_min` number — The lower bound of the user's annual income.
    - `country_of_birth` string — [ISO 3166-1 alpha-3](https://www.iso.org/iso-3166-country-codes.html).
    - `country_of_citizenship` string — [ISO 3166-1 alpha-3](https://www.iso.org/iso-3166-country-codes.html).
    - `country_of_tax_residence` string, required — [ISO 3166-1 alpha-3](https://www.iso.org/iso-3166-country-codes.html).
    - `date_of_birth` string, date, required — The date of birth in "YYYY-MM-DD" format.
    - `date_of_departure_from_usa` string, date — Required if `visa_type` = B1 or B2
    - `family_name` string, required — The last name (surname) of the user.
    - `funding_source` string[], required — Can be one or more of the following: `employment_income`, `investments`, `inheritance`, `business_income`, `savings`, `family`.
    - `given_name` string, required — The first/given name of the user.
    - `investment_experience_with_options` 'none' | '1_to_5_years' | 'over_5_years' — The user's level of expertise and familiarity with investing in Options.
    - `investment_experience_with_stocks` 'none' | '1_to_5_years' | 'over_5_years' — The user's level of expertise and familiarity with investing in US Equities.
    - `investment_objective` 'generate_income' | 'preserve_wealth' | 'market_speculation' | 'growth' | 'balance_preserve_wealth_with_growth' — The user's investment objective. This field is deprecated. Please use the top level `investment_objective` field.
    - `investment_time_horizon` 'less_than_1_year' | '1_to_2_years' | '3_to_5_years' | '6_to_10_years' | 'more_than_10_years' — The expected period of time the user plan to invest to achieve his/her financial goal(s). This field is deprecated. Please use the top level `investment_time_horizon` field.
    - `liquid_net_worth_max` number — The upper bound of the user's liquid net worth.
    - `liquid_net_worth_min` number — The lower bound of the user's liquid net worth.
    - `liquidity_needs` 'very_important' | 'important' | 'somewhat_important' | 'does_not_matter' — The user's ability to quickly and easily convert all or part of their investments in this account to cash without significant loss in value. This field is deprecated. Please use the top level `liquidity_needs` field.
    - `marital_status` 'SINGLE' | 'MARRIED' | 'DIVORCED' | 'WIDOWED' — The marital status of the user.
    - `middle_name` string — The middle name of the user.
    - `number_of_dependents` integer — The number of dependents the user has.
    - `permanent_resident` boolean — Only used to collect permanent residence status in the USA.
    - `risk_tolerance` 'conservative' | 'moderate' | 'significant_risk' — The user's investment risk tolerance. This field is deprecated. Please use the top level `risk_tolerance` field.
    - `tax_id` string — Required if tax_id_type is set.
    - `tax_id_type` 'USA_SSN' | 'USA_ITIN' | 'ARG_AG_CUIT' | 'AUS_TFN' | 'AUS_ABN' | 'BOL_NIT' | 'BRA_CPF' | 'CHL_RUT' | 'COL_NIT' | 'CRI_NITE' | 'DEU_TAX_ID' | 'DOM_RNC' | 'ECU_RUC' | 'FRA_SPI' | 'GBR_UTR' | 'GBR_NINO' | 'GTM_NIT' | 'HND_RTN' | 'HUN_TIN' | 'IDN_KTP' | 'IND_PAN' | 'ISR_TAX_ID' | 'ITA_TAX_ID' | 'JPN_TAX_ID' | 'MEX_RFC' | 'NIC_RUC' | 'NLD_TIN' | 'PAN_RUC' | 'PER_RUC' | 'PRY_RUC' | 'SGP_NRIC' | 'SGP_FIN' | 'SGP_ASGD' | 'SGP_ITR' | 'SLV_NIT' | 'SWE_TAX_ID' | 'URY_RUT' | 'VEN_RIF' | 'NATIONAL_ID' | 'PASSPORT' | 'PERMANENT_RESIDENT' | 'DRIVER_LICENSE' | 'OTHER_GOV_ID' | 'NOT_SPECIFIED', required — Required if `tax_id` is set. An Enum of the various kinds of Tax ID formats Alpaca supports. Possible Values are: - **USA_SSN** USA Social Security Number - **USA_ITIN** USA Individual Taxpayer Identification Number - **ARG_AR_CUIT** Argentina CUIT - **AUS_TFN** Australian Tax File Number - **AUS_ABN** Australian Business Number - **BOL_NIT** Bolivia NIT - **BRA_CPF** Brazil CPF - **CHL_RUT** Chile RUT - **COL_NIT** Colombia NIT - **CRI_NITE** Costa Rica NITE - **DEU_TAX_ID** Germany Tax ID (Identifikationsnummer) - **DOM_RNC** Dominican Republic RNC - **ECU_RUC** Ecuador RUC - **FRA_SPI** France SPI (Reference Tax Number) - **GBR_UTR** UK UTR (Unique Taxpayer Reference) - **GBR_NINO** UK NINO (National Insurance Number) - **GTM_NIT** Guatemala NIT - **HND_RTN** Honduras RTN - **HUN_TIN** Hungary TIN Number - **IDN_KTP** Indonesia KTP - **IND_PAN** India PAN Number - **ISR_TAX_ID** Israel Tax ID (Teudat Zehut) - **ITA_TAX_ID** Italy Tax ID (Codice Fiscale) - **JPN_TAX_ID** Japan Tax ID (Koijin Bango) - **MEX_RFC** Mexico RFC - **NIC_RUC** Nicaragua RUC - **NLD_TIN** Netherlands TIN Number - **PAN_RUC** Panama RUC - **PER_RUC** Peru RUC - **PRY_RUC** Paraguay RUC - **SGP_NRIC** Singapore NRIC - **SGP_FIN** Singapore FIN - **SGP_ASGD** Singapore ASGD - **SGP_ITR** Singapore ITR - **SLV_NIT** El Salvador NIT - **SWE_TAX_ID** Sweden Tax ID (Personnummer) - **URY_RUT** Uruguay RUT - **VEN_RIF** Venezuela RIF - **NATIONAL_ID** National ID number, if a tax ID number is not available - **PASSPORT** Passport number, if a tax ID number is not available - **PERMANENT_RESIDENT** Permanent resident number, if a tax ID number is not available - **DRIVER_LICENSE** Driver's license number, if a tax ID number is not available - **OTHER_GOV_ID** Other government issued identifier, if a tax ID number is not available - **NOT_SPECIFIED** Other Tax IDs
    - `total_net_worth_max` number — The upper bound of the user's total net worth.
    - `total_net_worth_min` number — The lower bound of the user's total net worth.
    - `visa_expiration_date` string, date — Required if `visa_type` is set.
    - `visa_type` string — Only used to collect visa types for users residing in the USA.
  - `instant_ach_blocked` boolean — Indicates whether the account is blocked for Instant ACH by Alpaca. Defaults to false when the partner creates the account. If the partner has set allow_instant_ach to true but instant_ach_blocked is true, then the account is blocked for Instant ACH irrespective of the fact that the partner has it enabled.
  - `last_equity` string, decimal, required — EOD equity calculation (cash + long market value + short market value)
  - `primary_account_holder_id` string, uuid, nullable — UUID that identifies the primary account holder (party) for accounts opened under the Multi-Live Accounts (MLA) flow. Only populated when the account was created by referencing an existing account holder via `primary_account_holder_id` on `POST /v1/accounts`. Otherwise `null`. Currently only supported for `account_type` of `trading` and `ira`.
  - `status` 'INACTIVE' | 'ONBOARDING' | 'SUBMITTED' | 'SUBMISSION_FAILED' | 'ACTION_REQUIRED' | 'ACCOUNT_UPDATED' | 'APPROVAL_PENDING' | 'APPROVED' | 'REJECTED' | 'ACTIVE' | 'ACCOUNT_CLOSED', required — Designates the current status of this account Possible Values: - **INACTIVE** Account not set to trade given asset. - **ONBOARDING** An application is expected for this user, but has not been submitted yet. - **SUBMITTED** The application has been submitted and is being processed. - **SUBMISSION_FAILED** Used to display if failure on submission - **ACTION_REQUIRED** The application requires manual action. - **ACCOUNT_UPDATED** Used to display when Account has been modified by user - **APPROVAL_PENDING** Initial value. The application approval process is in progress. - **APPROVED** The account application has been approved, and waiting to be ACTIVE - **REJECTED** The account application is rejected for some reason - **ACTIVE** The account is fully active. Trading and funding are processed under this status. - **ACCOUNT_CLOSED** The account is closed.
  - `trusted_contact` TrustedContact — 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](https://www.finra.org/sites/default/files/Regulatory-Notice-17-11.pdf) Only one of the following is required: * email_address * phone_number * street_address
    - `city` string — required if `street_address` is set
    - `country` string — [ISO 3166-1 alpha-3](https://www.iso.org/iso-3166-country-codes.html). required if `street_address` is set
    - `email_address` string, email — at least one of `email_address`, `phone_number` or `street_address` is required
    - `family_name` string, required
    - `given_name` string, required
    - `phone_number` string — at least one of `email_address`, `phone_number` or `street_address` is required
    - `postal_code` string — required if `street_address` is set
    - `state` string — required if `street_address` is set
    - `street_address` string[] — at least one of `email_address`, `phone_number` or `street_address` is required

## Other responses

- `400` — The post body is not well formed. For Multi-Live Accounts (MLA), this also covers: - Supplying `primary_account_holder_id` together with `contact` or `identity`. - Supplying `primary_account_holder_id` with an `account_type` other than `trading` or `ira`. - The referenced primary account holder is not eligible to open an additional account.
- `409` — There is already an existing account registered with the same email address.
- `422` — One of the input values is not a valid value.

---

[API](https://skmtc.net/alpacahq/apis/gift-city-extensions-api.md) · [All operations](https://skmtc.net/alpacahq/apis/gift-city-extensions-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/alpacahq/gift-city-extensions-api/revisions/62e3378bb273/schema)
