Alpaca Broker API

The Alpaca Broker API powers white-label brokerage and embedded finance products. It exposes endpoints for account onboarding, KYC/AML, ACATS transfers, ACH funding, journals, and trading on behalf of end users.

OpenAPI Specification

alpaca-broker-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Broker API
  description: 'Open brokerage accounts, enable crypto and stock trading, and manage the ongoing user experience with Alpaca Broker API'
  version: 1.0.0
  contact:
    name: Alpaca Support
    email: [email protected]
    url: 'https://alpaca.markets/support'
  termsOfService: 'https://s3.amazonaws.com/files.alpaca.markets/disclosures/library/TermsAndConditions.pdf'
servers:
  - url: 'https://broker-api.sandbox.alpaca.markets'
    description: Sandbox endpoint
  - url: 'https://broker-api.alpaca.markets'
    description: Production endpoint
tags:
  - name: Accounts
  - name: Documents
  - name: Trading
  - name: Assets
  - name: Calendar
  - name: Events
  - name: Funding
  - name: OAuth
  - name: Clock
  - name: Journals
  - name: Corporate Actions
  - name: Watchlist
components:
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
  parameters:
    ActivityType:
      in: path
      name: activity_type
      required: true
      schema:
        type: string
        enum:
          - FILL
          - ACATC
          - ACATS
          - CIL
          - CSD
          - CSW
          - DIV
          - DIVCGL
          - DIVCGS
          - DIVNRA
          - DIVROC
          - DIVTXEX
          - FEE
          - INT
          - JNLC
          - JNLS
          - MA
          - PTC
          - REORG
          - SPIN
          - SPLIT
      description: see ActivityType model for details about what the different types mean
    Status:
      name: status
      in: query
      description: Status of the orders to list.
      schema:
        type: string
        enum:
          - open
          - closed
          - all
    Limit:
      name: limit
      in: query
      description: The maximum number of orders in response.
      schema:
        type: integer
        example: 500
    After:
      name: after
      in: query
      description: The response will include only ones submitted after this timestamp (exclusive.)
      schema:
        type: string
        format: date-time
        example: '2021-03-16T18:38:01.942282Z'
    Until:
      name: until
      in: query
      description: The response will include only ones submitted until this timestamp (exclusive.)
      schema:
        type: string
        format: date-time
        example: '2021-03-16T18:38:01.942282Z'
    Direction:
      name: direction
      in: query
      description: The chronological order of response based on the submission time. asc or desc. Defaults to desc.
      schema:
        type: string
        enum:
          - asc
          - desc
        example: desc
    Sort:
      name: sort
      in: query
      description: The chronological order of response based on the submission time. asc or desc. Defaults to desc.
      schema:
        type: string
        enum:
          - asc
          - desc
        example: desc
    Nested:
      name: nested
      in: query
      description: 'If true, the result will roll up multi-leg orders under the legs field of primary order.'
      schema:
        type: boolean
        example: false
    Symbols:
      name: symbols
      in: query
      description: A comma-separated list of symbols to filter by.
      schema:
        type: string
        example: 'AAPL,TSLA,MSFT'
    AccountID:
      name: account_id
      in: path
      required: true
      description: Account identifier.
      schema:
        type: string
        format: uuid
    OrderID:
      name: order_id
      in: path
      required: true
      description: Order identifier.
      schema:
        type: string
    DocumentID:
      name: document_id
      in: path
      required: true
      description: Document identifier.
      schema:
        type: string
        format: uuid
    DocumentType:
      name: type
      in: query
      required: false
      description: See DocumentType model for reference and explanation of values
      schema:
        example: identity_verification
        type: string
        enum:
          - identity_verification
          - address_verification
          - date_of_birth_verification
          - tax_id_verification
          - account_approval_letter
          - cip_result
    PageToken:
      name: page_token
      in: query
      required: false
      schema:
        type: string
      description: 'TODO: find a good way to generalize the description of page_tokens'
  schemas:
    Account:
      type: object
      title: ''
      description: Represents high level account info. Used when returning entire account information would not be useful like the getAllAccounts operation
      x-examples:
        example-1:
          id: 0d18ae51-3c94-4511-b209-101e1666416b
          account_number: '9034005019'
          status: APPROVED
          currency: USD
          created_at: '2019-09-30T23:55:31.185998Z'
          last_equity: '1500.65'
      properties:
        id:
          type: string
          format: uuid
        account_number:
          type: string
          nullable: true
        status:
          $ref: '#/components/schemas/AccountStatus'
        crypto_status:
          $ref: '#/components/schemas/AccountStatus'
        currency:
          type: string
          description: Always "USD"
          example: USD
        created_at:
          type: string
          format: date-time
        last_equity:
          type: string
          format: decimal
        kyc_results:
          $ref: '#/components/schemas/KYCResult'
        account_type:
          $ref: '#/components/schemas/AccountType'
      required:
        - id
        - account_number
        - status
        - currency
        - created_at
        - last_equity
    TradeAccount:
      type: object
      x-examples:
        example-1:
          id: c8f1ef5d-edc0-4f23-9ee4-378f19cb92a4
          account_number: '927584925'
          status: ACTIVE
          currency: USD
          buying_power: '103556.8572572922'
          regt_buying_power: '52921.2982330664'
          daytrading_buying_power: '103556.8572572922'
          cash: '24861.91'
          cash_withdrawable: '17861.91'
          cash_transferable: '24861.91'
          accrued_fees: '0'
          pending_transfer_out: '0'
          portfolio_value: '28059.3882330664'
          pattern_day_trader: true
          trading_blocked: false
          transfers_blocked: false
          account_blocked: false
          created_at: '2021-03-01T13:28:49.270232Z'
          trade_suspended_by_user: false
          multiplier: '2'
          shorting_enabled: true
          equity: '28059.3882330664'
          last_equity: '26977.323677655'
          long_market_value: '3197.4782330664'
          short_market_value: '0'
          initial_margin: '1598.7391165332'
          maintenance_margin: '959.24346991992'
          last_maintenance_margin: '934.6241032965'
          sma: '26758.0590204615'
          daytrade_count: 0
          previous_close: '2021-04-01T19:00:00-04:00'
          last_long_market_value: '3115.413677655'
          last_short_market_value: '0'
          last_cash: '23861.91'
          last_initial_margin: '1557.7068388275'
          last_regt_buying_power: '50839.233677655'
          last_daytrading_buying_power: '104433.9158860662'
          last_buying_power: '104433.9158860662'
          last_daytrade_count: 0
          clearing_broker: VELOX
        example-2:
          id: 56712986-9ff7-4d8f-8e52-077e099e533e
          account_number: '601612064'
          status: ACTIVE
          crypto_status: PAPER_ONLY
          currency: USD
          buying_power: '83567.42'
          regt_buying_power: '83567.42'
          daytrading_buying_power: '0'
          non_marginable_buying_power: '41783.71'
          cash: '83567.42'
          cash_withdrawable: '0'
          cash_transferable: '41783.71'
          accrued_fees: '0'
          pending_transfer_out: '0'
          pending_transfer_in: '0'
          portfolio_value: '83567.42'
          pattern_day_trader: false
          trading_blocked: false
          transfers_blocked: false
          account_blocked: false
          created_at: '2022-01-21T21:25:26.713802Z'
          trade_suspended_by_user: false
          multiplier: '1'
          shorting_enabled: false
          equity: '83567.42'
          last_equity: '41783.71'
          long_market_value: '0'
          short_market_value: '0'
          initial_margin: '0'
          maintenance_margin: '0'
          last_maintenance_margin: '0'
          sma: '0'
          daytrade_count: 0
          previous_close: '2022-02-08T19:00:00-05:00'
          last_long_market_value: '0'
          last_short_market_value: '0'
          last_cash: '41783.71'
          last_initial_margin: '0'
          last_regt_buying_power: '41783.71'
          last_daytrading_buying_power: '0'
          last_buying_power: '41783.71'
          last_daytrade_count: 0
          clearing_broker: VELOX
      description: |-
        This is an extended version of the Account model found [in the trading api](https://alpaca.markets/docs/api-references/trading-api/account/#account-entity).

        Extra data has been added that would be useful for brokers.
      properties:
        id:
          type: string
          example: c8f1ef5d-edc0-4f23-9ee4-378f19cb92a4
          format: uuid
          description: The account ID
        account_number:
          type: string
          example: '927584925'
          description: The account number
          nullable: true
        status:
          $ref: '#/components/schemas/AccountStatus'
        currency:
          type: string
          example: USD
          description: Always USD
        buying_power:
          type: string
          example: '12345.6789'
          format: decimal
          description: Current available cash buying power. If multiplier = 2 then buying_power = max(equity-initial_margin(0) * 2). If multiplier = 1 then buying_power = cash.
        regt_buying_power:
          type: string
          example: '12345.6789'
          format: decimal
          description: User’s buying power under Regulation T (excess equity - (equity - margin value) - * margin multiplier)
        daytrading_buying_power:
          type: string
          example: '12345.6789'
          format: decimal
          description: Your buying power for day trades (continuously updated value)
        cash:
          type: string
          example: '12345.6789'
          format: decimal
          description: Cash balance
        cash_withdrawable:
          type: string
          example: '12345.6789'
          format: decimal
          description: Cash available for withdrawl
        cash_transferable:
          type: string
          example: '12345.6789'
          description: Cash available for transfer (JNLC)
        pending_transfer_out:
          type: string
          example: '12345.6789'
          description: Cash pending transfer out
        portfolio_value:
          type: string
          example: '12345.6789'
          format: decimal
          description: Total value of cash + holding positions. (This field is deprecated. It is equivalent to the equity field.)
        pattern_day_trader:
          type: boolean
          example: false
          description: Whether account is flagged as pattern day trader or not
        trading_blocked:
          type: boolean
          example: false
          description: 'If true, the account is not allowed to place orders.'
        transfers_blocked:
          type: boolean
          example: false
          description: 'If true, the account is not allowed to request money transfers.'
        account_blocked:
          type: boolean
          example: false
          description: 'If true, the account activity by user is prohibited.'
        created_at:
          type: string
          example: '2021-03-01T13:28:49.270232Z'
          description: Timestamp this account was created at
        trade_suspended_by_user:
          type: boolean
          example: false
          description: 'If true, the account is not allowed to place orders.'
        multiplier:
          type: string
          format: decimal
          example: '2'
          description: '“1”, “2”, "3", or "4"'
        shorting_enabled:
          type: boolean
          example: false
          description: Flag to denote whether or not the account is permitted to short
        equity:
          type: string
          example: '12345.6789'
          format: decimal
          description: cash + long_market_value + short_market_value
        last_equity:
          type: string
          example: '12345.6789'
          format: decimal
          description: 'Equity as of previous trading day at 16:00:00 ET'
        long_market_value:
          type: string
          example: '12345.6789'
          format: decimal
          description: Real-time MtM value of all long positions held in the account
        short_market_value:
          type: string
          example: '0'
          format: decimal
          description: Real-time MtM value of all short positions held in the account
        initial_margin:
          type: string
          example: '12345.6789'
          format: decimal
          description: Reg T initial margin requirement (continuously updated value)
        maintenance_margin:
          type: string
          example: '12345.6789'
          format: decimal
          description: Maintenance margin requirement (continuously updated value)
        last_maintenance_margin:
          type: string
          example: '12345.6789'
          format: decimal
          description: Maintenance margin requirement on the previous trading day
        sma:
          type: string
          example: '12345.6789'
          format: decimal
          description: Value of Special Memorandum Account (will be used at a later date to provide additional buying_power)
        daytrade_count:
          type: integer
          example: 0
          description: The current number of daytrades that have been made in the last 5 trading days (inclusive of today)
        previous_close:
          type: string
          example: '2021-04-01T19:00:00-04:00'
          description: Previous sessions close time
        last_long_market_value:
          type: string
          example: '12345.6789'
          description: 'Value of all long positions as of previous trading day at 16:00:00 ET'
        last_short_market_value:
          type: string
          example: '0'
          description: 'Value of all short positions as of previous trading day at 16:00:00 ET'
        last_cash:
          type: string
          example: '12345.6789'
          description: 'Value of all cash as of previous trading day at 16:00:00 ET'
        last_initial_margin:
          type: string
          example: '12345.6789'
          description: 'Value of Reg T margin as of previous trading day at 16:00:00 ET'
        last_regt_buying_power:
          type: string
          example: '12345.6789'
          description: 'Value of Reg T buying power as of previous trading day at 16:00:00 ET'
        last_daytrading_buying_power:
          type: string
          example: '12345.6789'
          description: 'Value of daytrading buying power as of previous trading day at 16:00:00 ET'
        last_buying_power:
          type: string
          example: '12345.6789'
          description: 'Value of buying_power as of previous trading day at 16:00:00 ET'
        last_daytrade_count:
          type: integer
          example: 0
          description: 'Value of daytrade count as of previous trading day at 16:00:00 ET'
        clearing_broker:
          type: string
          example: Velox
          description: Clearing broker
      required:
        - id
        - account_number
        - status
        - currency
        - created_at
        - last_equity
        - equity
        - cash
        - buying_power
    AccountStatus:
      type: string
      example: ACTIVE
      enum:
        - ONBOARDING
        - SUBMITTED
        - RESUBMITTED
        - SUBMISSION_FAILED
        - ACTION_REQUIRED
        - EDITED
        - ACCOUNT_UPDATED
        - APPROVAL_PENDING
        - REAPPROVAL_PENDING
        - SIGNED_UP
        - KYC_SUBMITTED
        - LIMITED
        - AML_REVIEW
        - APPROVED
        - REJECTED
        - ACTIVE
        - DISABLED
        - DISABLE_PENDING
        - ACCOUNT_CLOSED
        - PAPER_ONLY
      description: |
        Designates the current status of this account

        Possible Values:
        - **ONBOARDING**
        An application is expected for this user, but has not been submitted yet.
        - **SUBMITTED**
        The application has been submitted and in process.
        - **RESUBMITTED**
        Resubmitted is used to display when request has been re-submitted to Apex after account update
        - **SUBMISSION_FAILED**
        Used to display if failure on submission
        - **ACTION_REQUIRED**
        The application requires manual action.
        - **EDITED**
        Application was edited (e.g. to match info from uploaded docs). This is a transient status.
        - **ACCOUNT_UPDATED**
        Used to display when Account has been modified by user
        - **APPROVAL_PENDING**
        Initial value. The application approval process is in process.
        - **REAPPROVAL_PENDING**
        This is a transient status used to display once apex approves a re-submission
        - **SIGNED_UP**
        Users who were directed to and competed the [first stage](https://app.alpaca.markets/signup) of v2 registration
        - **KYC_SUBMITTED**
        Users that have had their KYC submitted to the routed KYC Provider
        - **LIMITED**
        Limited Users that pass KYC but are missing financial_information and employment_details
        - **AML_REVIEW**
        Users that pass KYC but from a restricted/high risk country and need manual AML approval
        - **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.
        - **DISABLED**
        The account is disabled after ACTIVE status.
        - **DISABLE_PENDING**
        DisablePending is used for accounts which requested to be disabled, but have not been processed yet.
        - **ACCOUNT_CLOSED**
        The account is closed.
        - **PAPER_ONLY**
        Used to display when only paper trading is allowed for this account
    AccountType:
      type: string
      title: AccountType
      description: |-
        Possible values are:

        - trading
        - custodial
        - donor_advised
      enum:
        - trading
        - custodial
        - donor_advised
      example: trading
    AccountExtended:
      type: object
      description: 'Represents an account with all data available. If your api response is missing some of these fields, there is a good chance you are using a route that returns `Account` instances instead of these.'
      x-examples:
        example-1:
          id: 3dcb795c-3ccc-402a-abb9-07e26a1b1326
          account_number: '601842165'
          status: ACTIVE
          crypto_status: PAPER_ONLY
          currency: USD
          last_equity: '40645.13'
          created_at: '2022-01-21T21:25:26.583576Z'
          contact:
            email_address: [email protected]
            phone_number: 614-555-0697
            street_address:
              - 20 N San Mateo Dr
            city: San Mateo
            state: CA
            postal_code: '94401'
          identity:
            given_name: Strange
            family_name: Elbakyan
            date_of_birth: '1970-01-01'
            tax_id_type: USA_SNN
            country_of_citizenship: USA
            country_of_birth: USA
            country_of_tax_residence: USA
            funding_source:
              - employment_income
            visa_type: null
            visa_expiration_date: null
            date_of_departure_from_usa: null
            permanent_resident: null
          disclosures:
            is_control_person: false
            is_affiliated_exchange_or_finra: false
            is_politically_exposed: false
            immediate_family_exposed: false
            is_discretionary: false
          agreements:
            - agreement: margin_agreement
              signed_at: '2022-01-21T21:25:26.579487214Z'
              ip_address: 127.0.0.1
              revision: null
            - agreement: customer_agreement
              signed_at: '2022-01-21T21:25:26.579487214Z'
              ip_address: 127.0.0.1
              revision: null
            - agreement: account_agreement
              signed_at: '2022-01-21T21:25:26.579487214Z'
              ip_address: 127.0.0.1
              revision: null
          documents:
            - document_type: identity_verification
              document_sub_type: passport
              id: d5af1585-6c60-494d-9ea5-c5df62704229
              content: 'https://s3.amazonaws.com/example/documents/accounts/PRESIGNED-EXAMPLE.jpg'
              created_at: '2022-01-21T21:25:28.184231Z'
          trusted_contact:
            given_name: Jane
            family_name: Doe
            email_address: [email protected]
          account_type: trading
          trading_configurations: null
      properties:
        id:
          type: string
          format: uuid
        account_number:
          type: string
          nullable: true
        status:
          $ref: '#/components/schemas/AccountStatus'
        crypto_status:
          $ref: '#/components/schemas/AccountStatus'
        kyc_result:
          $ref: '#/components/schemas/KYCResult'
        currency:
          type: string
          description: Always "USD"
          example: USD
        last_equity:
          type: string
          format: decimal
        created_at:
          type: string
          format: date-time
        contact:
          $ref: '#/components/schemas/Contact'
        identity:
          $ref: '#/components/schemas/Identity'
        disclosures:
          $ref: '#/components/schemas/Disclosures'
        agreements:
          type: array
          items:
            $ref: '#/components/schemas/Agreement'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/ApplicationDocument'
        trusted_contact:
          $ref: '#/components/schemas/TrustedContact'
        account_name:
          type: string
        account_type:
          $ref: '#/components/schemas/AccountType'
        custodial_account_type:
          type: string
          enum:
            - UTMA
            - UGMA
          description: '"UGMA" or "UTMA" only used when account_type is "custodial"'
        minor_identity:
          $ref: '#/components/schemas/CustodialAccountMinorIdentity'
        trading_configurations:
          $ref: '#/components/schemas/AccountConfigurations'
      required:
        - id
        - account_number
        - status
        - currency
        - last_equity
        - created_at
        - account_type
    AccountUpdateRequest:
      type: object
      x-examples:
        example-1:
          contact:
            email_address: [email protected]
            phone_number: '+15556667788'
            street_address:
              - 20 N San Mateo Dr
            city: San Mateo
            state: CA
            postal_code: '94401'
          identity:
            given_name: John
            family_name: Doe
            date_of_birth: '1990-01-01'
            tax_id: 666-55-4321
            tax_id_type: USA_SSN
            country_of_citizenship: AUS
            country_of_birth: AUS
            country_of_tax_residence: USA
            funding_source:
              - employment_income
          disclosures:
            is_control_person: false
            is_affiliated_exchange_or_finra: false
            is_politically_exposed: false
            immediate_family_exposed: false
          trustedContact:
            given_name: Jane
            family_name: Doe
            email_address: [email protected]
      properties:
        contact:
          $ref: '#/components/schemas/Contact'
        identity:
          $ref: '#/components/schemas/Identity'
        disclosures:
          $ref: '#/components/schemas/Disclosures'
        trustedContact:
          $ref: '#/components/schemas/TrustedContact'
    AccountDocument:
      type: object
      description: |
        If an account has documents on the application submission,
        it has the ApplicationDocument model in exchange with
        DocumentUploadRequest.
      properties:
        id:
          type: string
          format: uuid
        document_type:
          $ref: '#/components/schemas/DocumentType'
        document_sub_type:
          type: string
        mime_type:
          type: string
        created_at:
          type: string
          format: date-time
      required:
        - id
        - document_type
        - created_at
      example:
        id: 0d18ae51-3c94-4511-b209-101e1666416b
        document_type: identity_verification
        document_sub_type: passport
        mime_type: image/jpeg
        created_at: '2019-09-30T23:55:31.185998Z'
    CustodialAccountMinorIdentity:
      description: Represents Identity information for a minor that an account of type "custodial" is for
      type: object
      x-examples: {}
      properties:
        given_name:
          type: string
        family_name:
          type: string
        date_of_birth:
          type: string
          format: date
        tax_id:
          type: string
        tax_id_type:
          $ref: '#/components/schemas/TaxIdType'
        country_of_citizenship:
          type: string
        country_of_birth:
          type: string
        country_of_tax_residence:
          type: string
        state:
          type: string
        email:
          type: string
          format: email
      required:
        - given_name
        - family_name
        - date_of_birth
        - country_of_tax_residence
        - state
        - email
    AccountConfigurations:
      title: AccountConfigurations
      type: object
      description: Represents additional configuration settings for an account
      properties:
        dtbp_check:
          type: string
          description: 'both, entry, or exit. Controls Day Trading Margin Call (DTMC) checks.'
          example: both
          enum:
            - both
            - entry
            - exit
        trade_confirm_email:
          type: string
          description: 'all or none. If none, emails for order fills are not sent.'
          enum:
            - all
            - none
        suspend_trade:
          type: boolean
          description: 'If true, new orders are blocked.'
        no_shorting:
          type: boolean
          description: 'If true, account becomes long-only mode.'
        fractional_trading:
          type: boolean
          description: 'If true, account is able to participate in fractional trading'
        max_margin_multiplier:
          type: string
          description: Can be "1" or "2"
        pdt_check:
          type: string
          example: entry
      required:
        - dtbp_check
        - trade_confirm_email
        - suspend_trade
        - no_shorting
        - fractional_trading
        - max_margin_multiplier
        - pdt_check
    AccountCreationRequest:
      type: object
      title: AccountCreationRequest
      description: Represents the fields required to create a new account
      properties:
        contact:
          $ref: '#/components/schemas/Contact'
        identity:
          $ref: '#/components/schemas/Identity'
        disclosures:
          $ref: '#/components/schemas/Disclosures'
        agreements:
          type: array
          description: 'The client has to present the Alpaca Account and Margin Agreements to the end user, and have them read full sentences.'
          items:
            $ref: '#/components/schemas/Agreement'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentUploadRequest'
        trusted_contact:
          $ref: '#/components/schemas/TrustedContact'
      required:
        - contact
        - identity
        - disclosures
        - agreements
    TaxIdType:
      type: string
      title: TaxIdType
      enum:
        - NOT_SPECIFIED
        - USA_SSN
        - 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
      description: |-
        An Enum of the various kinds of Tax ID formats Alpaca supports.

        Possible Values are:


        - **USA_SSN**
        USA Social Security 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

        - **NOT_SPECIFIED**
        Other Tax IDs
      example: USA_SSN
    ApplicationDocument:
      type: object
      description: |
        If an account has documents on the application submission,
        it has the ApplicationDocument model in exchange with
        DocumentUpload.
      properties:
        id:
          type: string
          format: uuid
        document_type:
          $ref: '#/components/schemas/DocumentType'
        document_sub_type:
          type: string
        mime_type:
          type: string
        created_at:
          type: string
          format: date-time
      required:
        - id
        - document_type
        - created_at
      example:
        id: 0d18ae51-3c94-4511-b209-101e1666416b
        document_type: identity_verification
        document_sub_type: passport
        mime_type: image/jpeg
        created_at: '2019-09-30T23:55:31.185998Z'
    DocumentUpload:
      type: object
      description: |
        If an account has documents after the submission, it has
        the Document model in exchange with DocumentUpload.
      properties:
        document_type:
          $ref: '#/components/schemas/DocumentType'
        document_sub_type:
          type: string
          example: passport
        content:
          type: string
          format: base64
          example: /9j/Cg==
       

# --- truncated at 32 KB (186 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/alpaca/refs/heads/main/openapi/alpaca-broker-api-openapi.yml