> ## Documentation Index
> Fetch the complete documentation index at: https://docs.iron.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Customer Identification V2

> This will create a new identification for the customer, dependent on the customer type a KYC or KYB will be created for the customer to complete.
we support three types of identification:
- Link: where a link is provided to the customer for access to the identification process.
- Token: where a token is provided in the request from which verification data can be extracted and where the token is generated by the third party provider
- Person: where the identification details of the person for which the identification process is being created are provided in the request



## OpenAPI

````yaml /spec.yaml post /customers/{id}/identifications/v2
openapi: 3.1.0
info:
  description: The Stablecoin Payment Network
  title: Iron API - Sandbox
  version: 1.0-17035
servers:
  - url: https://api.sandbox.iron.xyz/api
security: []
tags:
  - description: >-
      Wallet and bank account registration


      Every wallet address that interacts with Iron must be registered (linked)
      to a customer **before** it can be used in any flow — onramp, offramp, or
      swap. This is a regulatory requirement under the **Travel Rule**, which
      obliges Virtual Asset Service Providers to exchange originator and
      beneficiary information for crypto transfers.


      Iron supports two wallet types:


      - **Self-hosted wallets** — the customer controls the private key.
      Registration requires a signed proof-of-ownership message.

      - **Hosted wallets** — the wallet is custodied by another VASP (e.g.
      Coinbase, Kraken). Registration requires the VASP's DID so Iron can
      exchange travel-rule data with the custodian.


      Similarly, fiat bank accounts must be registered before they can receive
      offramp payouts.
    name: Addresses
  - description: Operations on Autoramp
    name: Autoramp
  - description: Operations on Chronicle collateral
    name: ChronicleCollateral
  - description: Operations on Currencies
    name: Currencies
  - description: Operations on Customers
    name: Customer
  - description: Operations on Exchange Rate
    name: ExchangeRate
  - description: Operations on Fee Profiles
    name: FeeProfiles
  - description: Operations for Sandbox Testing
    name: Sandbox
  - description: Operations on SSE
    name: Sse
  - description: Operations on Terms and Conditions
    name: TermsAndConditions
  - description: Operations on Webhooks
    name: Webhooks
paths:
  /customers/{id}/identifications/v2:
    post:
      tags:
        - Customer
      summary: Create Customer Identification V2
      description: >-
        This will create a new identification for the customer, dependent on the
        customer type a KYC or KYB will be created for the customer to complete.

        we support three types of identification:

        - Link: where a link is provided to the customer for access to the
        identification process.

        - Token: where a token is provided in the request from which
        verification data can be extracted and where the token is generated by
        the third party provider

        - Person: where the identification details of the person for which the
        identification process is being created are provided in the request
      operationId: createCustomerIdentificationV2
      parameters:
        - deprecated: false
          description: >-
            a UUID ensuring an Customer Identification operation is only
            processed once
          explode: true
          in: header
          name: IDEMPOTENCY-KEY
          required: true
          schema:
            type: string
        - deprecated: false
          description: >-
            Optional sub-partner UUID, if provided, the identification will be
            created under scope of the sub-partner
          explode: true
          in: header
          name: X-SUB-PARTNER-ID
          required: false
          schema:
            type: string
        - deprecated: false
          description: the ID of the Customer to create an Identification for
          explode: true
          in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
        - $ref: '#/components/parameters/XApiVersion'
      requestBody:
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/IdentificationCreateParamsV2'
        description: The Identification data to be used for the identification
        required: true
      responses:
        '201':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Identification'
          description: POST Customer Identification Succeeded
        '400':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: POST Customer Identification Failed (Invalid Request)
        '401':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: POST Customer Identification Failed (Unauthorized)
        '403':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: POST Customer Identification Failed (Forbidden)
        '404':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: POST Customer Identification Failed (Resource Not Found)
        '409':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: POST Customer Idenfication Failed (Has Pending Identification)
        '429':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: POST Customer Identification Failed (Creation Rate Limit Exceeded)
        '500':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: POST Customer Identification Failed (Internal Error)
      security:
        - ApiKeyAuth: []
components:
  parameters:
    XApiVersion:
      description: >-
        Selects the API version for this request, as an ISO date (`YYYY-MM-DD`).
        Omit to use the default version (`2025-03-13`). Supported versions:
        2025-03-13, 2026-07-01.
      in: header
      name: X-API-Version
      required: false
      schema:
        type: string
  schemas:
    IdentificationCreateParamsV2:
      anyOf:
        - $ref: >-
            #/components/schemas/IdentificationCreateParamsV2_IdentificationLinkparams
        - $ref: >-
            #/components/schemas/IdentificationCreateParamsV2_IdentificationTokenParams
        - $ref: >-
            #/components/schemas/IdentificationCreateParamsV2_IdentificationPersonParams
        - $ref: >-
            #/components/schemas/IdentificationCreateParamsV2_IdentificationBusinessParams
      description: >
        Identification Create Params V2


        The params required to create an identification v2, we support three
        types of identification:

        - Link: where a link is provided to the customer for access to the
        identification process.

        - Token: where a token is provided in the request from which
        verification data can be extracted and where the token is generated by
        the third party provider

        - Person: where the identification details of the person for which the
        identification process is being created are provided in the request
      discriminator:
        mapping:
          Business:
            $ref: >-
              #/components/schemas/IdentificationCreateParamsV2_IdentificationBusinessParams
          Link:
            $ref: >-
              #/components/schemas/IdentificationCreateParamsV2_IdentificationLinkparams
          Person:
            $ref: >-
              #/components/schemas/IdentificationCreateParamsV2_IdentificationPersonParams
          Token:
            $ref: >-
              #/components/schemas/IdentificationCreateParamsV2_IdentificationTokenParams
        propertyName: type
      type: object
    Identification:
      description: |
        Identification

        The entity wrapping our KYC/KYB process and underlying providers
      properties:
        created_at:
          format: date-time
          type: string
        customer_id:
          description: Absent on a referral partner's identification (partner-keyed record)
          format: uuid
          type: string
        id:
          format: uuid
          type: string
        partner_id:
          description: The owning partner for partner-keyed (referral) records
          format: uuid
          type: string
        residence_country:
          description: >-
            ISO 3166-1 alpha-2 (2 letter) country code of the verified residence

            address; only set on the customer's most recent identification while
            it

            is approved
          type: string
        review_comment:
          type: string
        status:
          $ref: '#/components/schemas/IdentificationStatus'
        step_status:
          $ref: '#/components/schemas/IdentificationStepStatus'
        updated_at:
          format: date-time
          type: string
        url:
          type: string
        with_edd:
          type: boolean
      required:
        - id
        - status
        - created_at
        - updated_at
      title: Identification
      type: object
    ApiError:
      description: |-
        Standard error response returned to API clients for server errors.
        Includes a trace_id that clients can reference when reporting issues.
      properties:
        message:
          description: Human-readable error message
          type: string
        trace_id:
          description: Trace ID that can be used to look up request details in logs
          type: string
      required:
        - message
        - trace_id
      title: ApiError
      type: object
    IdentificationCreateParamsV2_IdentificationLinkparams:
      allOf:
        - properties:
            type:
              enum:
                - Link
              example: Link
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/IdentificationLinkparams'
      description: >
        Identification Create Params V2


        The params required to create an identification v2, we support three
        types of identification:

        - Link: where a link is provided to the customer for access to the
        identification process.

        - Token: where a token is provided in the request from which
        verification data can be extracted and where the token is generated by
        the third party provider

        - Person: where the identification details of the person for which the
        identification process is being created are provided in the request
    IdentificationCreateParamsV2_IdentificationTokenParams:
      allOf:
        - properties:
            type:
              enum:
                - Token
              example: Token
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/IdentificationTokenParams'
      description: >
        Identification Create Params V2


        The params required to create an identification v2, we support three
        types of identification:

        - Link: where a link is provided to the customer for access to the
        identification process.

        - Token: where a token is provided in the request from which
        verification data can be extracted and where the token is generated by
        the third party provider

        - Person: where the identification details of the person for which the
        identification process is being created are provided in the request
    IdentificationCreateParamsV2_IdentificationPersonParams:
      allOf:
        - properties:
            type:
              enum:
                - Person
              example: Person
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/IdentificationPersonParams'
      description: >
        Identification Create Params V2


        The params required to create an identification v2, we support three
        types of identification:

        - Link: where a link is provided to the customer for access to the
        identification process.

        - Token: where a token is provided in the request from which
        verification data can be extracted and where the token is generated by
        the third party provider

        - Person: where the identification details of the person for which the
        identification process is being created are provided in the request
    IdentificationCreateParamsV2_IdentificationBusinessParams:
      allOf:
        - properties:
            type:
              enum:
                - Business
              example: Business
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/IdentificationBusinessParams'
      description: >
        Identification Create Params V2


        The params required to create an identification v2, we support three
        types of identification:

        - Link: where a link is provided to the customer for access to the
        identification process.

        - Token: where a token is provided in the request from which
        verification data can be extracted and where the token is generated by
        the third party provider

        - Person: where the identification details of the person for which the
        identification process is being created are provided in the request
    IdentificationStatus:
      description: |
        The Process status of the identification

        The various state transitions an identification can go through.
      enum:
        - Pending
        - Processed
        - PendingReview
        - Approved
        - Declined
        - Expired
        - Archived
      type: string
    IdentificationStepStatus:
      anyOf:
        - $ref: '#/components/schemas/BusinessIdentificationStepStatus'
        - $ref: '#/components/schemas/PersonIdentificationStepStatus'
      type: object
    IdentificationLinkparams:
      description: |
        Direct Identification Params

        The params required to create an identification
      properties:
        with_edd:
          description: whether to initialize the identification with the full EDD process
          type: boolean
      title: IdentificationLinkparams
      type: object
    IdentificationTokenParams:
      description: |
        Token Identification Params

        The params required to create an identification
      properties:
        edd_questionnaire:
          $ref: '#/components/schemas/EddQuestionnaire'
        intended_use:
          $ref: '#/components/schemas/IntendedUse'
        ip_address:
          description: |-
            The IP address of the customer associated with the token
            Not required if IP address is passed by token provided
          type: string
        kyc_questionnaire:
          $ref: '#/components/schemas/KycQuestionnaire'
        token:
          description: The shareable token generated by the third party provider
          type: string
      required:
        - token
        - intended_use
      title: IdentificationTokenParams
      type: object
    IdentificationPersonParams:
      description: |
        Person Identification Params

        The params required to create an identification
      properties:
        address:
          $ref: '#/components/schemas/Address'
        consent_collected_at:
          description: |-
            Date and time when explicit consent was given to share identity
            timestamp must be UTC timestamp e.g. 2025-02-01T15:38:21.775210Z
          type: string
        date_of_birth:
          description: date of birth in YYYY-MM-DD format
          type: string
        documents:
          description: documents associated with the person
          items:
            $ref: '#/components/schemas/IdentityDocument'
          type: array
        edd_questionnaire:
          $ref: '#/components/schemas/EddQuestionnaire'
        email_address:
          description: email address of the person
          type: string
        first_name:
          description: first name
          type: string
        full_name:
          description: full name
          type: string
        identity:
          $ref: '#/components/schemas/PersonIdentity'
        intended_use:
          $ref: '#/components/schemas/IntendedUse'
        kyc_questionnaire:
          $ref: '#/components/schemas/KycQuestionnaire'
        last_name:
          description: last name
          type: string
        phone_number:
          description: phone number of the person (E.164 format)
          type: string
        sharing_consent:
          description: explicitly given consent to share identity information with iron
          type: boolean
        tax_identification_number:
          description: 'tax identification number (US residents only: SSN or TIN)'
          type: string
      required:
        - sharing_consent
        - consent_collected_at
        - first_name
        - last_name
        - full_name
        - date_of_birth
        - phone_number
        - email_address
        - address
        - identity
        - intended_use
        - kyc_questionnaire
      title: IdentificationPersonParams
      type: object
    IdentificationBusinessParams:
      description: |
        Business Identification Params

        The params required to create an identification
      properties:
        company_data:
          $ref: '#/components/schemas/CompanyData'
        ip_address:
          description: The IP address of the device used to submit the identification
          type: string
        phone:
          description: The phone number of the company
          type: string
        questionnaire:
          $ref: '#/components/schemas/BusinessQuestionnaire'
      required:
        - company_data
        - phone
        - ip_address
        - questionnaire
      title: IdentificationBusinessParams
      type: object
    BusinessIdentificationStepStatus:
      properties:
        company_beneficiaries:
          $ref: '#/components/schemas/VerificationStepDetail'
        company_data:
          $ref: '#/components/schemas/VerificationStepDetail'
        company_documents:
          $ref: '#/components/schemas/VerificationStepDetail'
        questionnaire:
          $ref: '#/components/schemas/VerificationStepDetail'
      title: BusinessIdentificationStepStatus
      type: object
    PersonIdentificationStepStatus:
      properties:
        identity:
          $ref: '#/components/schemas/VerificationStepDetail'
        proof_of_residence:
          $ref: '#/components/schemas/VerificationStepDetail'
        questionnaire:
          $ref: '#/components/schemas/VerificationStepDetail'
        selfie:
          $ref: '#/components/schemas/VerificationStepDetail'
      title: PersonIdentificationStepStatus
      type: object
    EddQuestionnaire:
      description: >
        EDD Questionnaire


        The questionnaire for a reliance person residing in a country considered
        high risk
      properties:
        approximate_net_worth:
          $ref: '#/components/schemas/ApproximateNetWorth'
        occupation:
          $ref: '#/components/schemas/Occupation'
        source_of_funds_proof:
          description: >-
            Source of funds proof document, provided as a base64-encoded string.

            Supported formats: jpg, png, pdf, doc, docx, xls, xlsx, odt, ods,
            txt.

            Maximum size: 10MB
          type: string
      required:
        - occupation
        - approximate_net_worth
        - source_of_funds_proof
      title: EddQuestionnaire
      type: object
    IntendedUse:
      description: |
        Intended Purpose

        The intended purpose the person wants to use the account for
      enum:
        - Investing
        - PaymentToFriendsFamilyorOthers
        - PurchaseDigitalAssets
        - OnlinePurchasesOfGoodsOrServices
        - Trading
      type: string
    KycQuestionnaire:
      description: |
        KYC Questionnaire

        The questionnaire for a person
      properties:
        employment_status:
          $ref: '#/components/schemas/EmploymentStatus'
        expected_monthly_transaction_count:
          $ref: '#/components/schemas/PersonProfileExpectedMonthlyTransactionCount'
        expected_monthly_transaction_volume:
          $ref: '#/components/schemas/PersonProfileExpectedMonthlyTransactionVolumeV2'
        source_of_wealth:
          $ref: '#/components/schemas/PersonProfileSourceOfWealth'
        yearly_gross_income:
          $ref: '#/components/schemas/PersonProfileYearlyGrossIncome'
      required:
        - employment_status
        - yearly_gross_income
        - source_of_wealth
        - expected_monthly_transaction_count
        - expected_monthly_transaction_volume
      title: KycQuestionnaire
      type: object
    Address:
      description: Address
      properties:
        city:
          description: city
          type: string
        country:
          description: country (2-character ISO 3166)
          type: string
        state:
          description: state/province/region
          type: string
        street_1:
          description: street address
          type: string
        street_2:
          description: street address (additional)
          type: string
        zip_code:
          description: zip code
          type: string
      required:
        - street_1
        - city
        - zip_code
        - country
      title: Address
      type: object
    IdentityDocument:
      description: |
        Identity Document

        A base64 document that can be used to identify the business
      properties:
        file:
          description: Base64 encoded document without prefix (10MB max)
          type: string
        name:
          description: The name of the document with the file extension
          type: string
        type:
          $ref: '#/components/schemas/DocumentType'
      required:
        - name
        - file
        - type
      title: IdentityDocument
      type: object
    PersonIdentity:
      description: |
        Person Identity

        The required identity information of a person
      properties:
        identity_country_code:
          description: country (2-character ISO 3166)
          type: string
        identity_document_back:
          description: >-
            Base64 encoded image of ident document back without prefix (10MB
            max)
          type: string
        identity_document_front:
          description: >-
            Base64 encoded image of ident document front without prefix (10MB
            max)
          type: string
        identity_document_type:
          $ref: '#/components/schemas/IdentityDocumentType'
        identity_number:
          description: The identity number or identity document being submitted.
          type: string
        ip_address:
          description: ip address of device used to collect selfie
          type: string
        nationality:
          description: nationality (2-character ISO 3166 country code)
          type: string
        selfie:
          description: Base64 encoded image of selfie without prefix (10MB max)
          type: string
        selfie_collected_at:
          description: timestamp in ISO 8601 format
          type: string
      required:
        - identity_country_code
        - identity_document_type
        - identity_document_front
        - selfie
        - selfie_collected_at
        - ip_address
        - nationality
      title: PersonIdentity
      type: object
    CompanyData:
      description: |
        Company Data

        Full company submission: identifying info, beneficiaries, and supporting
        documents. Reused by the root identification request and by each nested
        business beneficiary.
      properties:
        beneficiaries:
          description: >-
            The beneficiaries of the company. Each level (root or nested
            business)

            requires at least one Director; UBOs and Representatives are also

            permitted at every level.
          items:
            $ref: '#/components/schemas/CompanyBeneficiary'
          type: array
        company_info:
          $ref: '#/components/schemas/CompanyInfo'
        documents:
          description: >-
            The company documents (max 4). Optional at submission: when the set
            is

            incomplete for the company's region, the identification is returned
            as

            Pending with a resume URL to collect the missing documents.
          items:
            $ref: '#/components/schemas/CompanyDocParams'
          type: array
      required:
        - company_info
        - beneficiaries
        - documents
      title: CompanyData
      type: object
    BusinessQuestionnaire:
      anyOf:
        - $ref: >-
            #/components/schemas/BusinessQuestionnaire_GenericBusinessQuestionnaire
        - $ref: >-
            #/components/schemas/BusinessQuestionnaire_SolePropBusinessQuestionnaire
      description: >
        KYB compliance questionnaire


        Use `GenericBusinessQuestionnaire` for all company types except sole
        proprietorships.

        Use `SolePropBusinessQuestionnaire` for sole proprietorships.
      discriminator:
        mapping:
          Generic:
            $ref: >-
              #/components/schemas/BusinessQuestionnaire_GenericBusinessQuestionnaire
          SoleProp:
            $ref: >-
              #/components/schemas/BusinessQuestionnaire_SolePropBusinessQuestionnaire
        propertyName: type
      type: object
    VerificationStepDetail:
      properties:
        comment:
          type: string
        result:
          $ref: '#/components/schemas/IdentificationStatus'
        retry:
          type: boolean
      required:
        - result
        - retry
      title: VerificationStepDetail
      type: object
    ApproximateNetWorth:
      description: |
        Approximate Net Worth

        The approximate net worth of the person
      enum:
        - UpTo25000
        - Between25001And50000
        - Between50001And100000
        - Between100001And300000
        - Between300001And500000
        - Between500001And1000000
        - Over1000001
      type: string
    Occupation:
      description: |
        Occupation

        The occupation of the person
      enum:
        - Agriculture
        - ArtsAndEntertainment
        - Construction
        - Education
        - FinancialServices
        - InformationAndTechnology
        - Retail
        - RealEstate
        - Other
        - BusinessOwner
        - Healthcare
        - Industrial
        - LegalServices
        - PublicSector
        - SeniorManagement
      type: string
    EmploymentStatus:
      description: |
        Employment Status

        The employment status of the person
      enum:
        - Employed
        - SelfEmployed
        - Unemployed
        - Retired
        - Student
      type: string
    PersonProfileExpectedMonthlyTransactionCount:
      description: |
        Expected Monthly Transaction Count

        The expected monthly transaction volume of the person
      enum:
        - LessThan5
        - Between5And10
        - MoreThan10
      type: string
    PersonProfileExpectedMonthlyTransactionVolumeV2:
      enum:
        - LessThan500
        - MoreThan500LessThan2000
        - MoreThan2000
      type: string
    PersonProfileSourceOfWealth:
      description: |
        Source of Wealth

        The source of wealth of the person
      enum:
        - Salary
        - Savings
        - Investments
        - CryptoTrading
        - Other
      type: string
    PersonProfileYearlyGrossIncome:
      description: |
        Yearly Gross Income

        The yearly gross income of the person
      enum:
        - LessThan20000
        - From20001To30000
        - From30001To40000
        - From40001To50000
        - From50001To60000
        - From60001To70000
        - From70001To80000
        - From80001To90000
        - From90001To100000
        - From100001To110000
        - From110001To120000
        - From120001To130000
        - From130001To140000
        - From140001To150000
        - MoreThan150000
        - From150001To200000
        - From200001To500000
        - MoreThan500000
      type: string
    DocumentType:
      description: |
        Document Type

        The type of document used in the KYB process
      enum:
        - BusinessRegistrationDocument
        - MemorandumOfAssociation
        - ShareholdersRegistry
        - Other
        - ProofOfAddress
      type: string
    IdentityDocumentType:
      description: |
        Identity Document Type

        The type of identity document useful to KYB process
      enum:
        - Passport
        - NationalId
        - DriverLicense
        - ResidencePermit
      type: string
    CompanyBeneficiary:
      description: |
        Company Beneficial Owner

        The beneficial owner of the company
      properties:
        attested_at:
          description: >-
            When the beneficiary certified the information (RFC 3339, in the
            past).

            Required when attesting_party is true.
          type: string
        attesting_party:
          description: >-
            Marks this beneficiary as certifying the beneficial-ownership
            information

            (31 CFR 1010.230). Root-level person holding a Director role only.

            Before setting this flag, present the collected beneficial-ownership

            information to this beneficiary and obtain their confirmation that
            it is

            complete and correct — Iron renders a certification naming them from
            the

            submitted data. For US non-sole-props the generated form is always

            submitted to the provider; when no IncorporationArticles document is

            supplied it also satisfies the legal-presence document requirement.

            Limited to simple ownership structures (at most two levels of

            beneficiaries); deeper structures cannot self-attest and must attach

            the legal presence document instead.
          type: boolean
        beneficiary_info:
          $ref: '#/components/schemas/CompanyBeneficiaryInfo'
        roles:
          description: The primary role of the beneficial owner
          items:
            $ref: '#/components/schemas/CompanyPrimaryBeneficiaryRole'
          type: array
        share_percentage:
          description: >-
            Share percentage of the beneficial owner (0-100). The combined
            shares of

            UltimateBeneficialOwner beneficiaries must not exceed 100 per
            company.
          format: decimal
          type: string
      required:
        - roles
        - beneficiary_info
      title: CompanyBeneficiary
      type: object
    CompanyInfo:
      description: >
        Company Info


        Identifying details about a company. Shared between the root
        identification

        request and any nested business beneficiaries so the same fields are

        collected at every level of the corporate structure.
      properties:
        address:
          $ref: '#/components/schemas/Address'
        alternative_names:
          description: The list of alternative names for the company
          items:
            type: string
          type: array
        company_name:
          description: The legal name of the company
          type: string
        company_type:
          $ref: '#/components/schemas/CompanyType'
        country:
          description: >-
            The ISO 3166-1 alpha-2 (2 letter) country code where the company is
            legally registered
          type: string
        email:
          description: The email address of the company
          type: string
        incorporation_date:
          description: The date of legal incorporation in YYYY-MM-DD format
          type: string
        legal_address:
          description: The address used during legal registration
          type: string
        postal_address:
          description: The postal address of the company
          type: string
        registration_number:
          description: The unique number assigned to the company when legally registered
          type: string
        tax_identification_number:
          description: The tax identification number of the company
          type: string
        website:
          description: The website of the company
          type: string
      required:
        - company_name
        - registration_number
        - country
        - incorporation_date
        - legal_address
        - postal_address
        - address
        - email
        - tax_identification_number
        - website
        - company_type
      title: CompanyInfo
      type: object
    CompanyDocParams:
      description: |
        Company document params

        The params required to create a company document
      properties:
        country:
          description: >-
            ISO 3166-1 alpha-2 (2 letter) country code of the country that
            issued the document
          type: string
        file:
          description: Base64 encoded document without prefix (10MB max)
          type: string
        type:
          $ref: '#/components/schemas/CompanyDocType'
      required:
        - type
        - country
        - file
      title: CompanyDocParams
      type: object
    BusinessQuestionnaire_GenericBusinessQuestionnaire:
      allOf:
        - properties:
            type:
              enum:
                - Generic
              example: Generic
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/GenericBusinessQuestionnaire'
      description: >
        KYB compliance questionnaire


        Use `GenericBusinessQuestionnaire` for all company types except sole
        proprietorships.

        Use `SolePropBusinessQuestionnaire` for sole proprietorships.
    BusinessQuestionnaire_SolePropBusinessQuestionnaire:
      allOf:
        - properties:
            type:
              enum:
                - SoleProp
              example: SoleProp
              type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/SolePropBusinessQuestionnaire'
      description: >
        KYB compliance questionnaire


        Use `GenericBusinessQuestionnaire` for all company types except sole
        proprietorships.

        Use `SolePropBusinessQuestionnaire` for sole proprietorships.
    CompanyBeneficiaryInfo:
      anyOf:
        - $ref: '#/components/schemas/PersonBeneficiaryInfo'
        - $ref: '#/components/schemas/BusinessBeneficiaryInfo'
      description: |
        Company Beneficiary Info

        The beneficiary info of the company
      type: object
    CompanyPrimaryBeneficiaryRole:
      description: |
        Beneficial Owner Role

        The role of the beneficial owner in the company
      enum:
        - UltimateBeneficialOwner
        - Representative
        - Director
        - Shareholder
      type: string
    CompanyType:
      description: |
        Company Type

        The type of company
      enum:
        - LimitedLiabilityCompany
        - PubliclyListedCompany
        - SoleProprietorship
        - Partnership
        - Corporation
        - Trust
        - PrivateFoundation
        - Charity
        - NonprofitCorporation
        - NonprofitOrganization
        - PublicAgenciesOrAuthorities
        - StockCorporationOutOfStock
        - GeneralCorporation
      type: string
    CompanyDocType:
      description: |
        Company document type

        The type of company document
      enum:
        - PowerOfAttorney
        - TransparencyRegistryExtract
        - DirectorsRegistry
        - GoodStandingCert
        - IncorporationArticles
        - IncorporationCert
        - IncumbencyCert
        - InformationStatement
        - PartnershipAgreement
        - ProofOfAddress
        - ProofOfNatureOfBusiness
        - RegulatoryLicense
        - SelfDeclarationForm
        - ShareholderRegistry
        - StateRegistry
        - TradeLicense
        - TrustAgreement
        - Other
      type: string
    GenericBusinessQuestionnaire:
      description: |
        KYB compliance questionnaire for standard company types
      properties:
        business_details:
          $ref: '#/components/schemas/BusinessQuestionnaireBusinessDetails'
        planned_activities:
          $ref: '#/components/schemas/BusinessQuestionnairePlannedActivities'
        source_of_funds:
          $ref: '#/components/schemas/BusinessQuestionnaireSourceOfFunds'
      required:
        - planned_activities
        - source_of_funds
        - business_details
      title: GenericBusinessQuestionnaire
      type: object
    SolePropBusinessQuestionnaire:
      description: |
        KYB compliance questionnaire for sole proprietorships
      properties:
        business_details:
          $ref: '#/components/schemas/SolePropBusinessDetails'
        planned_activities:
          $ref: '#/components/schemas/SolePropPlannedActivities'
        source_of_funds:
          $ref: '#/components/schemas/SolePropSourceOfFunds'
      required:
        - planned_activities
        - source_of_funds
        - business_details
      title: SolePropBusinessQuestionnaire
      type: object
    PersonBeneficiaryInfo:
      description: |
        Company Person Beneficiary Info

        The beneficiary info of the person
      properties:
        address:
          $ref: '#/components/schemas/Address'
        birth_place:
          $ref: '#/components/schemas/BirthPlace'
        date_of_birth:
          description: date of birth in YYYY-MM-DD format
          type: string
        email_address:
          description: email address of the person
          type: string
        first_name:
          description: first name
          type: string
        identity:
          $ref: '#/components/schemas/BeneficiaryIdentity'
        last_name:
          description: last name
          type: string
        middle_name:
          description: middle name
          type: string
        phone_number:
          description: phone number of the person (international format with leading +)
          type: string
        proof_of_address:
          description: >-
            Base64 encoded proof of address document (10MB max).

            Optional at submission: where policy requires one, a missing POA
            returns the

            identification as Pending with a resume URL to collect it via
            resubmission.
          type: string
        tax_identification_number:
          description: >-
            tax identification number (SSN for US residents, national TIN
            otherwise).

            Required for the UltimateBeneficialOwner of a sole proprietorship
            regardless of country.
          type: string
        tax_jurisdiction_country_code:
          description: ISO 3166-1 alpha-2 country code of the person's tax jurisdiction
          type: string
      required:
        - first_name
        - last_name
        - date_of_birth
        - address
        - email_address
        - phone_number
        - tax_jurisdiction_country_code
        - birth_place
        - identity
      title: PersonBeneficiaryInfo
      type: object
    BusinessBeneficiaryInfo:
      description: |
        Business Beneficiary Info

        A company that itself owns or controls the parent business. Carries the
        same `ApiCompanyData` as the root identification: company info, its own
        beneficiaries (which may include further nested businesses up to the
        configured depth limit), and supporting documents.
      properties:
        company_data:
          $ref: '#/components/schemas/CompanyData'
      required:
        - company_data
      title: BusinessBeneficiaryInfo
      type: object
    BusinessQuestionnaireBusinessDetails:
      description: |
        Business Details Section

        Industry classification and operational information about the company
      properties:
        business_model_description:
          description: Description of business model and target clients
          type: string
        estimated_annual_revenue:
          $ref: '#/components/schemas/BusinessEstimatedAnnualRevenue'
        has_licenses_or_registrations:
          description: Does the company maintain any licenses or registrations
          type: boolean
        industry_type:
          $ref: '#/components/schemas/BusinessIndustryType'
        main_business_countries:
          description: Main countries of business operation (ISO 3166-1 alpha-2 codes)
          items:
            type: string
          type: array
        requires_aml_program:
          description: Is the company required to have an AML/CFT compliance program
          type: boolean
      required:
        - industry_type
        - business_model_description
        - main_business_countries
        - has_licenses_or_registrations
        - requires_aml_program
        - estimated_annual_revenue
      title: BusinessQuestionnaireBusinessDetails
      type: object
    BusinessQuestionnairePlannedActivities:
      description: >
        Planned Activities Section


        Information about the company's intended account use and transaction
        patterns
      properties:
        estimated_monthly_transactions:
          $ref: '#/components/schemas/BusinessEstimatedMonthlyTransactions'
        estimated_monthly_volume:
          $ref: '#/components/schemas/BusinessEstimatedMonthlyVolume'
        flow_of_funds_diagram:
          description: >-
            Base64 encoded flow of funds diagram (required when
            sends_funds_on_customer_behalf is true)
          type: string
        purpose_and_intended_use:
          $ref: '#/components/schemas/BusinessPurposeAndIntendedUse'
        sends_funds_on_customer_behalf:
          description: Does the company send funds on behalf of customers/third parties
          type: boolean
        sends_funds_on_customer_behalf_description:
          description: >-
            Description of how funds are sent on customer behalf (required if
            sends_funds_on_customer_behalf is true)
          type: string
        source_of_funds_document:
          description: >-
            Base64 encoded source of funds supporting document (required when
            sends_funds_on_customer_behalf is true)
          type: string
      required:
        - purpose_and_intended_use
        - estimated_monthly_volume
        - estimated_monthly_transactions
        - sends_funds_on_customer_behalf
      title: BusinessQuestionnairePlannedActivities
      type: object
    BusinessQuestionnaireSourceOfFunds:
      description: |
        Source of Funds Section

        Information about where the company's funds originate
      properties:
        customer_funds_handling_details:
          description: >-
            Details on how customer funds are handled, including business model
            and transaction flow (required)
          type: string
        source_of_funds:
          $ref: '#/components/schemas/RevenueSource'
        source_of_funds_description:
          description: Detailed description of source of funds (required)
          type: string
      required:
        - source_of_funds
        - source_of_funds_description
        - customer_funds_handling_details
      title: BusinessQuestionnaireSourceOfFunds
      type: object
    SolePropBusinessDetails:
      description: |
        Sole Prop Business Details Section
      properties:
        business_model_description:
          description: Description of business model and target clients
          type: string
        estimated_annual_revenue:
          $ref: '#/components/schemas/BusinessEstimatedAnnualRevenue'
        industry_type:
          $ref: '#/components/schemas/BusinessIndustryType'
        main_business_countries:
          description: Main countries of business operation (ISO 3166-1 alpha-2 codes)
          items:
            type: string
          type: array
      required:
        - industry_type
        - business_model_description
        - main_business_countries
        - estimated_annual_revenue
      title: SolePropBusinessDetails
      type: object
    SolePropPlannedActivities:
      description: |
        Sole Prop Planned Activities Section
      properties:
        estimated_monthly_transactions:
          $ref: '#/components/schemas/BusinessEstimatedMonthlyTransactions'
        estimated_monthly_volume:
          $ref: '#/components/schemas/BusinessEstimatedMonthlyVolume'
        purpose_and_intended_use:
          $ref: '#/components/schemas/BusinessPurposeAndIntendedUse'
      required:
        - purpose_and_intended_use
        - estimated_monthly_volume
        - estimated_monthly_transactions
      title: SolePropPlannedActivities
      type: object
    SolePropSourceOfFunds:
      description: |
        Sole Prop Source of Funds Section
      properties:
        source_of_funds:
          $ref: '#/components/schemas/RevenueSource'
      required:
        - source_of_funds
      title: SolePropSourceOfFunds
      type: object
    BirthPlace:
      description: |
        Birth place

        The place of birth of the person
      properties:
        country:
          description: ISO 3166-1 alpha-2 (2 letter) country code of the place of birth
          type: string
        place:
          description: place of birth
          type: string
        state:
          description: state of birth
          type: string
      required:
        - place
        - state
        - country
      title: BirthPlace
      type: object
    BeneficiaryIdentity:
      description: >
        Beneficiary Identity Document


        Identity document and biometric information for a person beneficiary.

        Mirrors ApiPersonIdentity but excludes ip_address (collected at the
        business level).
      properties:
        identity_country_code:
          description: ISO 3166-1 alpha-2 country code of the person's identity document
          type: string
        identity_document_back:
          description: Base64 encoded image of identity document back (10MB max)
          type: string
        identity_document_front:
          description: Base64 encoded image of identity document front (10MB max)
          type: string
        identity_document_type:
          $ref: '#/components/schemas/IdentityDocumentType'
        identity_number:
          description: The identity number of the document being submitted
          type: string
        nationality:
          description: ISO 3166-1 alpha-2 nationality country code
          type: string
        selfie:
          description: >-
            Base64 encoded selfie image (10MB max).

            Required for beneficiaries with Director or Representative roles;
            omit for UBO-only.
          type: string
        selfie_collected_at:
          description: |-
            timestamp in ISO 8601 format when the selfie was captured.
            Required when selfie is provided.
          type: string
      required:
        - identity_country_code
        - identity_document_type
        - identity_document_front
        - nationality
      title: BeneficiaryIdentity
      type: object
    BusinessEstimatedAnnualRevenue:
      description: |
        Estimated Annual Revenue

        Company's estimated annual revenue in EUR
      enum:
        - Under100K
        - From100KTo1M
        - From1MTo10M
        - From10MTo50M
        - From50MTo250M
        - Over250M
      type: string
    BusinessIndustryType:
      description: |
        Industry Type

        Business industry/sector classification
      enum:
        - Agriculture
        - Automotive
        - BankingAndFinancialServices
        - ConstructionAndRealEstate
        - CryptocurrencyAndBlockchain
        - CryptocurrencyMining
        - DecentralisedFinance
        - NftPlatforms
        - CryptoPaymentProcessors
        - CryptoWalletProviders
        - CryptoExchanges
        - CryptoCustodyServices
        - EcommerceAndOnlineMarketplaces
        - EducationAndTraining
        - EnergyAndUtilities
        - EntertainmentAndMedia
        - GamingAndEsports
        - HealthcareAndPharmaceuticals
        - HospitalityAndTourism
        - InformationTechnologyAndSoftware
        - Insurance
        - LegalAndProfessionalServices
        - LogisticsAndTransportation
        - ManufacturingAndIndustrial
        - MetaversePlatforms
        - MiningAndNaturalResources
        - NonProfitAndCharitable
        - RetailAndWholesaleTrade
        - Telecommunications
        - VentureCapitalAndPrivateEquity
        - CasinosAndGambling
        - MoneyServiceBusinesses
        - SocialMediaAndNetworking
        - CrowdfundingPlatforms
        - RegTech
        - Other
      type: string
    BusinessEstimatedMonthlyTransactions:
      description: |
        Estimated Monthly Transaction Count

        Expected number of transactions per month
      enum:
        - LessThanTen
        - TenToTwentyFive
        - TwentyFiveToFifty
        - FiftyToOneHundred
        - MoreThanOneHundred
      type: string
    BusinessEstimatedMonthlyVolume:
      description: |
        Estimated Monthly Transaction Volume

        Expected monthly transaction volume in EUR
      enum:
        - TenToTwentyFiveThousand
        - TwentyFiveToFiftyThousand
        - FiftyToOneHundredThousand
        - OneHundredToTwoHundredFiftyThousand
        - TwoHundredFiftyToFiveHundredThousand
        - MoreThanFiveHundredThousand
      type: string
    BusinessPurposeAndIntendedUse:
      description: |
        Purpose and Intended Use

        The intended purpose of the business account
      enum:
        - ReceivingBusinessIncome
        - BusinessPurchasesAndExpenses
        - EmployeeAndContractorPayouts
        - EcommerceSales
        - TreasuryManagement
        - PaymentIntermediary
        - Investments
        - TaxPlanning
        - AssetProtection
        - Other
      type: string
    RevenueSource:
      description: |
        Revenue Source

        Primary source of company funds
      enum:
        - BusinessRevenue
        - ShareholderFunds
        - VcPrivateEquity
        - AssetSale
        - IcoProceeds
        - CryptoActivityProceeds
        - LoanProceeds
        - Other
      type: string
  securitySchemes:
    ApiKeyAuth:
      description: API Key
      in: header
      name: X-API-Key
      type: apiKey

````