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

# Advance company application

> Advances the company application. For Managed KYB, send `redirectUri` (the default when `method` is omitted) to get a verification URL for the corporate client. Returns an error if an active Managed application already exists. For Universal KYB, send `method: UNIVERSAL_KYB` and the verified business pack. The first call creates the application; later calls amend it and return the same application until it is submitted. `nextAction` is `null` for Managed KYB.



## OpenAPI

````yaml /api-reference/openapi.json post /companies/{id}/applications/
openapi: 3.1.0
info:
  title: Reap API
  version: 1.0.0
  description: Reap platform API
servers:
  - url: https://sg.sandbox.api.reap.global
    description: Singapore sandbox
  - url: https://sg.prod.api.reap.global
    description: Singapore production
  - url: https://mx.sandbox.api.reap.global
    description: Mexico sandbox
  - url: https://mx.prod.api.reap.global
    description: Mexico production
  - url: https://sandbox.api.reap.global
    description: Singapore sandbox (alias)
  - url: https://prod.api.reap.global
    description: Singapore production (alias)
security:
  - bearerAuth: []
tags:
  - name: Accounts
  - name: Activities
  - name: Card Designs
  - name: Card Shipments
  - name: Card Transactions
  - name: Cards
  - name: Companies
  - name: Crypto Deposits
  - name: Crypto Withdrawals
  - name: Disputes
  - name: Fees
  - name: Fiat Deposits
  - name: Fraud Alerts
  - name: Policies
  - name: Simulation
  - name: Statements
  - name: Users
  - name: Virtual Asset Postings
  - name: Virtual Assets
  - name: Webhooks
  - name: Agentic
paths:
  /companies/{id}/applications/:
    post:
      tags:
        - Companies
      summary: Advance company application
      description: >-
        Advances the company application. For Managed KYB, send `redirectUri`
        (the default when `method` is omitted) to get a verification URL for the
        corporate client. Returns an error if an active Managed application
        already exists. For Universal KYB, send `method: UNIVERSAL_KYB` and the
        verified business pack. The first call creates the application; later
        calls amend it and return the same application until it is submitted.
        `nextAction` is `null` for Managed KYB.
      operationId: createApplication_companies
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: Unique company identifier
        - name: Reap-Version
          in: header
          required: true
          schema:
            type: string
            enum:
              - '2025-02-14'
            description: API version (YYYY-MM-DD)
            example: '2025-02-14'
      requestBody:
        description: >-
          How to start or continue the company application. The accepted method
          depends on the project KYB verification method. Omit `method` or send
          `MANAGED_KYB` with `redirectUri` for the hosted flow.
        required: true
        content:
          application/json:
            schema:
              anyOf:
                - type: object
                  properties:
                    method:
                      default: MANAGED_KYB
                      description: >-
                        Must match the KYB verification method configured on
                        your project. Defaults to `MANAGED_KYB` when omitted.
                      type: string
                      const: MANAGED_KYB
                    redirectUri:
                      type: string
                      format: uri
                      description: URL to redirect to after company verification completes
                  required:
                    - redirectUri
                  title: Managed KYB
                - type: object
                  properties:
                    legalBusinessName:
                      type: string
                      minLength: 1
                      maxLength: 200
                    legalFormOfCompany:
                      type: string
                      enum:
                        - PRIVATE_LIMITED
                        - PUBLIC_LIMITED
                        - LLC
                        - LLP
                        - PARTNERSHIP
                        - SOLE_PROPRIETORSHIP
                        - TRUST
                        - CORPORATE
                        - OTHER
                      example: PRIVATE_LIMITED
                    businessRegistrationNumber:
                      type: string
                      minLength: 1
                      maxLength: 100
                    uboDeclaration:
                      minItems: 1
                      maxItems: 50
                      type: array
                      items:
                        type: object
                        properties:
                          externalUserId:
                            type: string
                            minLength: 1
                            maxLength: 100
                          ownershipPct:
                            type: number
                            minimum: 0
                            maximum: 100
                          identity:
                            type: object
                            properties:
                              firstName:
                                type: string
                                minLength: 1
                                maxLength: 100
                              middleName:
                                type: string
                                maxLength: 100
                              lastName:
                                type: string
                                minLength: 1
                                maxLength: 100
                              fullName:
                                type: string
                                minLength: 1
                                maxLength: 200
                              dob:
                                type: string
                                pattern: ^\d{4}-\d{2}-\d{2}$
                              nationality:
                                type: string
                                minLength: 3
                                maxLength: 3
                                examples:
                                  - USA
                                  - GBR
                                  - DEU
                                description: ISO 3166-1 alpha-3 country code
                            required:
                              - firstName
                              - lastName
                              - fullName
                              - dob
                              - nationality
                          document:
                            minItems: 1
                            maxItems: 3
                            type: array
                            items:
                              type: object
                              properties:
                                documentCategory:
                                  type: string
                                  const: IDV
                                type:
                                  type: string
                                  enum:
                                    - PASSPORT
                                    - ID_CARD
                                    - DRIVERS_LICENCE
                                  example: PASSPORT
                                number:
                                  type: string
                                  minLength: 1
                                  maxLength: 50
                                country:
                                  type: string
                                  minLength: 3
                                  maxLength: 3
                                  examples:
                                    - USA
                                    - GBR
                                    - DEU
                                  description: ISO 3166-1 alpha-3 country code
                                issuingDate:
                                  type: string
                                  pattern: ^\d{4}-\d{2}-\d{2}$
                                expiryDate:
                                  type: string
                                  pattern: ^\d{4}-\d{2}-\d{2}$
                              required:
                                - documentCategory
                                - type
                                - number
                                - country
                          address:
                            type: object
                            properties:
                              country:
                                type: string
                                minLength: 3
                                maxLength: 3
                                examples:
                                  - USA
                                  - GBR
                                  - DEU
                                description: ISO 3166-1 alpha-3 country code
                              formattedAddress:
                                type: string
                                minLength: 1
                                maxLength: 500
                              postCode:
                                type: string
                                minLength: 1
                                maxLength: 20
                              street:
                                type: string
                                minLength: 1
                                maxLength: 200
                              town:
                                type: string
                                maxLength: 100
                              subStreet:
                                type: string
                                maxLength: 200
                              state:
                                type: string
                                maxLength: 100
                              buildingName:
                                type: string
                                maxLength: 100
                              flatNumber:
                                type: string
                                maxLength: 20
                              buildingNumber:
                                type: string
                                maxLength: 20
                            required:
                              - country
                              - formattedAddress
                        required:
                          - externalUserId
                          - ownershipPct
                          - identity
                          - document
                          - address
                    registeredAddress:
                      type: object
                      properties:
                        line1:
                          type: string
                          minLength: 1
                          maxLength: 200
                        line2:
                          type: string
                          minLength: 1
                          maxLength: 200
                        city:
                          type: string
                          minLength: 1
                          maxLength: 100
                        state:
                          type: string
                          maxLength: 100
                        postalCode:
                          type: string
                          maxLength: 20
                        country:
                          type: string
                          minLength: 3
                          maxLength: 3
                          examples:
                            - USA
                            - GBR
                            - DEU
                          description: ISO 3166-1 alpha-3 country code
                      required:
                        - line1
                        - line2
                        - city
                        - country
                    principalPlaceOfBusinessAddress:
                      type: object
                      properties:
                        line1:
                          type: string
                          minLength: 1
                          maxLength: 200
                        line2:
                          type: string
                          minLength: 1
                          maxLength: 200
                        city:
                          type: string
                          minLength: 1
                          maxLength: 100
                        state:
                          type: string
                          maxLength: 100
                        postalCode:
                          type: string
                          maxLength: 20
                        country:
                          type: string
                          minLength: 3
                          maxLength: 3
                          examples:
                            - USA
                            - GBR
                            - DEU
                          description: ISO 3166-1 alpha-3 country code
                      required:
                        - line1
                        - line2
                        - city
                        - country
                    validEmailDomains:
                      minItems: 1
                      maxItems: 10
                      type: array
                      items:
                        type: string
                        minLength: 1
                        maxLength: 253
                    lineOfBusiness:
                      type: string
                      enum:
                        - PROFESSIONAL_SERVICES
                        - CONSULTING_SERVICES
                        - HUMAN_RESOURCES_RECRUITMENT
                        - BUSINESS_PROCESS_OUTSOURCING
                        - RESEARCH_DEVELOPMENT
                        - INFORMATION_TECHNOLOGY_SOFTWARE
                        - TELECOMMUNICATIONS
                        - RETAIL_TRADE
                        - WHOLESALE_TRADE
                        - E_COMMERCE
                        - MANUFACTURING
                        - CONSTRUCTION_ENGINEERING
                        - LOGISTICS_TRANSPORTATION
                        - HEALTHCARE_SERVICES
                        - EDUCATION_TRAINING
                        - REAL_ESTATE_SERVICES
                        - HOSPITALITY_TOURISM
                        - MEDIA_ADVERTISING
                        - AGRICULTURE_FARMING
                        - FINTECH
                        - PAYMENT_SERVICE_PROVIDER
                        - MONEY_SERVICES_BUSINESS_REMITTANCE
                        - FOREIGN_EXCHANGE_SERVICES
                        - INSURANCE
                        - LENDING_CREDIT_SERVICES
                        - INVESTMENT_ASSET_MANAGEMENT
                        - REGULATED_FINANCIAL_SERVICES_LICENSE_REQUIRED
                        - VIRTUAL_ASSET_SERVICE_PROVIDER
                        - CRYPTOCURRENCY_EXCHANGE
                        - BLOCKCHAIN_INFRASTRUCTURE
                        - DIGITAL_ASSET_CUSTODY
                        - DECENTRALISED_FINANCE
                        - GOVERNMENT_ENTITY
                        - STATE_OWNED_ENTERPRISE
                        - INTERNATIONAL_ORGANISATION
                        - NON_PROFIT_ORGANISATION
                        - CHARITY_FOUNDATION
                        - GAMING_GAMBLING
                        - ADULT_ENTERTAINMENT
                        - PRECIOUS_METALS_STONES
                        - AUCTION_HOUSE_ART_DEALER
                        - CASH_INTENSIVE_BUSINESS
                        - POLITICALLY_EXPOSED_ORGANISATION
                        - TRUST_COMPANY_SERVICE_PROVIDER
                        - HOLDING_COMPANY
                        - CONGLOMERATE
                        - OTHER
                      example: PROFESSIONAL_SERVICES
                    dateOfIncorporation:
                      type: string
                      pattern: ^\d{4}-\d{2}-\d{2}$
                    businessWebsiteUrl:
                      type: string
                      maxLength: 500
                      format: uri
                    ddq:
                      type: object
                      properties:
                        cardAuthorities:
                          minItems: 1
                          maxItems: 50
                          type: array
                          items:
                            type: object
                            properties:
                              fullName:
                                type: string
                                minLength: 1
                                maxLength: 100
                              role:
                                type: string
                                minLength: 1
                                maxLength: 100
                            required:
                              - fullName
                              - role
                        expectedSpendProfile:
                          type: object
                          properties:
                            spendBuckets:
                              minItems: 1
                              maxItems: 50
                              type: array
                              items:
                                type: object
                                properties:
                                  name:
                                    type: string
                                    minLength: 1
                                    maxLength: 200
                                  expectedSpendUsd:
                                    type: number
                                    minimum: 0
                                  jurisdictionIso:
                                    type: string
                                    minLength: 3
                                    maxLength: 3
                                    examples:
                                      - USA
                                      - GBR
                                      - DEU
                                    description: ISO 3166-1 alpha-3 country code
                                  txnPattern:
                                    type: object
                                    properties:
                                      frequency:
                                        type: string
                                        minLength: 1
                                        maxLength: 50
                                      avgTicketUsd:
                                        type: number
                                        minimum: 0
                                      peakDays:
                                        maxItems: 7
                                        type: array
                                        items:
                                          type: string
                                          enum:
                                            - MON
                                            - TUE
                                            - WED
                                            - THU
                                            - FRI
                                            - SAT
                                            - SUN
                                          example: MON
                                required:
                                  - name
                                  - expectedSpendUsd
                          required:
                            - spendBuckets
                        numberOfEmployees:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                      required:
                        - cardAuthorities
                        - expectedSpendProfile
                    edd:
                      type: object
                      properties:
                        sourceOfFundsDeclaration:
                          type: string
                          minLength: 1
                          maxLength: 5000
                        sourceOfWealthDeclaration:
                          type: string
                          minLength: 1
                          maxLength: 5000
                      required:
                        - sourceOfFundsDeclaration
                        - sourceOfWealthDeclaration
                    method:
                      type: string
                      const: UNIVERSAL_KYB
                      description: >-
                        Must match the KYB verification method configured on
                        your project
                  required:
                    - legalBusinessName
                    - legalFormOfCompany
                    - businessRegistrationNumber
                    - uboDeclaration
                    - registeredAddress
                    - principalPlaceOfBusinessAddress
                    - validEmailDomains
                    - lineOfBusiness
                    - method
                  title: Universal KYB
          application/x-www-form-urlencoded:
            schema:
              anyOf:
                - type: object
                  properties:
                    method:
                      default: MANAGED_KYB
                      description: >-
                        Must match the KYB verification method configured on
                        your project. Defaults to `MANAGED_KYB` when omitted.
                      type: string
                      const: MANAGED_KYB
                    redirectUri:
                      type: string
                      format: uri
                      description: URL to redirect to after company verification completes
                  required:
                    - redirectUri
                  title: Managed KYB
                - type: object
                  properties:
                    legalBusinessName:
                      type: string
                      minLength: 1
                      maxLength: 200
                    legalFormOfCompany:
                      type: string
                      enum:
                        - PRIVATE_LIMITED
                        - PUBLIC_LIMITED
                        - LLC
                        - LLP
                        - PARTNERSHIP
                        - SOLE_PROPRIETORSHIP
                        - TRUST
                        - CORPORATE
                        - OTHER
                      example: PRIVATE_LIMITED
                    businessRegistrationNumber:
                      type: string
                      minLength: 1
                      maxLength: 100
                    uboDeclaration:
                      minItems: 1
                      maxItems: 50
                      type: array
                      items:
                        type: object
                        properties:
                          externalUserId:
                            type: string
                            minLength: 1
                            maxLength: 100
                          ownershipPct:
                            type: number
                            minimum: 0
                            maximum: 100
                          identity:
                            type: object
                            properties:
                              firstName:
                                type: string
                                minLength: 1
                                maxLength: 100
                              middleName:
                                type: string
                                maxLength: 100
                              lastName:
                                type: string
                                minLength: 1
                                maxLength: 100
                              fullName:
                                type: string
                                minLength: 1
                                maxLength: 200
                              dob:
                                type: string
                                pattern: ^\d{4}-\d{2}-\d{2}$
                              nationality:
                                type: string
                                minLength: 3
                                maxLength: 3
                                examples:
                                  - USA
                                  - GBR
                                  - DEU
                                description: ISO 3166-1 alpha-3 country code
                            required:
                              - firstName
                              - lastName
                              - fullName
                              - dob
                              - nationality
                          document:
                            minItems: 1
                            maxItems: 3
                            type: array
                            items:
                              type: object
                              properties:
                                documentCategory:
                                  type: string
                                  const: IDV
                                type:
                                  type: string
                                  enum:
                                    - PASSPORT
                                    - ID_CARD
                                    - DRIVERS_LICENCE
                                  example: PASSPORT
                                number:
                                  type: string
                                  minLength: 1
                                  maxLength: 50
                                country:
                                  type: string
                                  minLength: 3
                                  maxLength: 3
                                  examples:
                                    - USA
                                    - GBR
                                    - DEU
                                  description: ISO 3166-1 alpha-3 country code
                                issuingDate:
                                  type: string
                                  pattern: ^\d{4}-\d{2}-\d{2}$
                                expiryDate:
                                  type: string
                                  pattern: ^\d{4}-\d{2}-\d{2}$
                              required:
                                - documentCategory
                                - type
                                - number
                                - country
                          address:
                            type: object
                            properties:
                              country:
                                type: string
                                minLength: 3
                                maxLength: 3
                                examples:
                                  - USA
                                  - GBR
                                  - DEU
                                description: ISO 3166-1 alpha-3 country code
                              formattedAddress:
                                type: string
                                minLength: 1
                                maxLength: 500
                              postCode:
                                type: string
                                minLength: 1
                                maxLength: 20
                              street:
                                type: string
                                minLength: 1
                                maxLength: 200
                              town:
                                type: string
                                maxLength: 100
                              subStreet:
                                type: string
                                maxLength: 200
                              state:
                                type: string
                                maxLength: 100
                              buildingName:
                                type: string
                                maxLength: 100
                              flatNumber:
                                type: string
                                maxLength: 20
                              buildingNumber:
                                type: string
                                maxLength: 20
                            required:
                              - country
                              - formattedAddress
                        required:
                          - externalUserId
                          - ownershipPct
                          - identity
                          - document
                          - address
                    registeredAddress:
                      type: object
                      properties:
                        line1:
                          type: string
                          minLength: 1
                          maxLength: 200
                        line2:
                          type: string
                          minLength: 1
                          maxLength: 200
                        city:
                          type: string
                          minLength: 1
                          maxLength: 100
                        state:
                          type: string
                          maxLength: 100
                        postalCode:
                          type: string
                          maxLength: 20
                        country:
                          type: string
                          minLength: 3
                          maxLength: 3
                          examples:
                            - USA
                            - GBR
                            - DEU
                          description: ISO 3166-1 alpha-3 country code
                      required:
                        - line1
                        - line2
                        - city
                        - country
                    principalPlaceOfBusinessAddress:
                      type: object
                      properties:
                        line1:
                          type: string
                          minLength: 1
                          maxLength: 200
                        line2:
                          type: string
                          minLength: 1
                          maxLength: 200
                        city:
                          type: string
                          minLength: 1
                          maxLength: 100
                        state:
                          type: string
                          maxLength: 100
                        postalCode:
                          type: string
                          maxLength: 20
                        country:
                          type: string
                          minLength: 3
                          maxLength: 3
                          examples:
                            - USA
                            - GBR
                            - DEU
                          description: ISO 3166-1 alpha-3 country code
                      required:
                        - line1
                        - line2
                        - city
                        - country
                    validEmailDomains:
                      minItems: 1
                      maxItems: 10
                      type: array
                      items:
                        type: string
                        minLength: 1
                        maxLength: 253
                    lineOfBusiness:
                      type: string
                      enum:
                        - PROFESSIONAL_SERVICES
                        - CONSULTING_SERVICES
                        - HUMAN_RESOURCES_RECRUITMENT
                        - BUSINESS_PROCESS_OUTSOURCING
                        - RESEARCH_DEVELOPMENT
                        - INFORMATION_TECHNOLOGY_SOFTWARE
                        - TELECOMMUNICATIONS
                        - RETAIL_TRADE
                        - WHOLESALE_TRADE
                        - E_COMMERCE
                        - MANUFACTURING
                        - CONSTRUCTION_ENGINEERING
                        - LOGISTICS_TRANSPORTATION
                        - HEALTHCARE_SERVICES
                        - EDUCATION_TRAINING
                        - REAL_ESTATE_SERVICES
                        - HOSPITALITY_TOURISM
                        - MEDIA_ADVERTISING
                        - AGRICULTURE_FARMING
                        - FINTECH
                        - PAYMENT_SERVICE_PROVIDER
                        - MONEY_SERVICES_BUSINESS_REMITTANCE
                        - FOREIGN_EXCHANGE_SERVICES
                        - INSURANCE
                        - LENDING_CREDIT_SERVICES
                        - INVESTMENT_ASSET_MANAGEMENT
                        - REGULATED_FINANCIAL_SERVICES_LICENSE_REQUIRED
                        - VIRTUAL_ASSET_SERVICE_PROVIDER
                        - CRYPTOCURRENCY_EXCHANGE
                        - BLOCKCHAIN_INFRASTRUCTURE
                        - DIGITAL_ASSET_CUSTODY
                        - DECENTRALISED_FINANCE
                        - GOVERNMENT_ENTITY
                        - STATE_OWNED_ENTERPRISE
                        - INTERNATIONAL_ORGANISATION
                        - NON_PROFIT_ORGANISATION
                        - CHARITY_FOUNDATION
                        - GAMING_GAMBLING
                        - ADULT_ENTERTAINMENT
                        - PRECIOUS_METALS_STONES
                        - AUCTION_HOUSE_ART_DEALER
                        - CASH_INTENSIVE_BUSINESS
                        - POLITICALLY_EXPOSED_ORGANISATION
                        - TRUST_COMPANY_SERVICE_PROVIDER
                        - HOLDING_COMPANY
                        - CONGLOMERATE
                        - OTHER
                      example: PROFESSIONAL_SERVICES
                    dateOfIncorporation:
                      type: string
                      pattern: ^\d{4}-\d{2}-\d{2}$
                    businessWebsiteUrl:
                      type: string
                      maxLength: 500
                      format: uri
                    ddq:
                      type: object
                      properties:
                        cardAuthorities:
                          minItems: 1
                          maxItems: 50
                          type: array
                          items:
                            type: object
                            properties:
                              fullName:
                                type: string
                                minLength: 1
                                maxLength: 100
                              role:
                                type: string
                                minLength: 1
                                maxLength: 100
                            required:
                              - fullName
                              - role
                        expectedSpendProfile:
                          type: object
                          properties:
                            spendBuckets:
                              minItems: 1
                              maxItems: 50
                              type: array
                              items:
                                type: object
                                properties:
                                  name:
                                    type: string
                                    minLength: 1
                                    maxLength: 200
                                  expectedSpendUsd:
                                    type: number
                                    minimum: 0
                                  jurisdictionIso:
                                    type: string
                                    minLength: 3
                                    maxLength: 3
                                    examples:
                                      - USA
                                      - GBR
                                      - DEU
                                    description: ISO 3166-1 alpha-3 country code
                                  txnPattern:
                                    type: object
                                    properties:
                                      frequency:
                                        type: string
                                        minLength: 1
                                        maxLength: 50
                                      avgTicketUsd:
                                        type: number
                                        minimum: 0
                                      peakDays:
                                        maxItems: 7
                                        type: array
                                        items:
                                          type: string
                                          enum:
                                            - MON
                                            - TUE
                                            - WED
                                            - THU
                                            - FRI
                                            - SAT
                                            - SUN
                                          example: MON
                                required:
                                  - name
                                  - expectedSpendUsd
                          required:
                            - spendBuckets
                        numberOfEmployees:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                      required:
                        - cardAuthorities
                        - expectedSpendProfile
                    edd:
                      type: object
                      properties:
                        sourceOfFundsDeclaration:
                          type: string
                          minLength: 1
                          maxLength: 5000
                        sourceOfWealthDeclaration:
                          type: string
                          minLength: 1
                          maxLength: 5000
                      required:
                        - sourceOfFundsDeclaration
                        - sourceOfWealthDeclaration
                    method:
                      type: string
                      const: UNIVERSAL_KYB
                      description: >-
                        Must match the KYB verification method configured on
                        your project
                  required:
                    - legalBusinessName
                    - legalFormOfCompany
                    - businessRegistrationNumber
                    - uboDeclaration
                    - registeredAddress
                    - principalPlaceOfBusinessAddress
                    - validEmailDomains
                    - lineOfBusiness
                    - method
                  title: Universal KYB
          multipart/form-data:
            schema:
              anyOf:
                - type: object
                  properties:
                    method:
                      default: MANAGED_KYB
                      description: >-
                        Must match the KYB verification method configured on
                        your project. Defaults to `MANAGED_KYB` when omitted.
                      type: string
                      const: MANAGED_KYB
                    redirectUri:
                      type: string
                      format: uri
                      description: URL to redirect to after company verification completes
                  required:
                    - redirectUri
                  title: Managed KYB
                - type: object
                  properties:
                    legalBusinessName:
                      type: string
                      minLength: 1
                      maxLength: 200
                    legalFormOfCompany:
                      type: string
                      enum:
                        - PRIVATE_LIMITED
                        - PUBLIC_LIMITED
                        - LLC
                        - LLP
                        - PARTNERSHIP
                        - SOLE_PROPRIETORSHIP
                        - TRUST
                        - CORPORATE
                        - OTHER
                      example: PRIVATE_LIMITED
                    businessRegistrationNumber:
                      type: string
                      minLength: 1
                      maxLength: 100
                    uboDeclaration:
                      minItems: 1
                      maxItems: 50
                      type: array
                      items:
                        type: object
                        properties:
                          externalUserId:
                            type: string
                            minLength: 1
                            maxLength: 100
                          ownershipPct:
                            type: number
                            minimum: 0
                            maximum: 100
                          identity:
                            type: object
                            properties:
                              firstName:
                                type: string
                                minLength: 1
                                maxLength: 100
                              middleName:
                                type: string
                                maxLength: 100
                              lastName:
                                type: string
                                minLength: 1
                                maxLength: 100
                              fullName:
                                type: string
                                minLength: 1
                                maxLength: 200
                              dob:
                                type: string
                                pattern: ^\d{4}-\d{2}-\d{2}$
                              nationality:
                                type: string
                                minLength: 3
                                maxLength: 3
                                examples:
                                  - USA
                                  - GBR
                                  - DEU
                                description: ISO 3166-1 alpha-3 country code
                            required:
                              - firstName
                              - lastName
                              - fullName
                              - dob
                              - nationality
                          document:
                            minItems: 1
                            maxItems: 3
                            type: array
                            items:
                              type: object
                              properties:
                                documentCategory:
                                  type: string
                                  const: IDV
                                type:
                                  type: string
                                  enum:
                                    - PASSPORT
                                    - ID_CARD
                                    - DRIVERS_LICENCE
                                  example: PASSPORT
                                number:
                                  type: string
                                  minLength: 1
                                  maxLength: 50
                                country:
                                  type: string
                                  minLength: 3
                                  maxLength: 3
                                  examples:
                                    - USA
                                    - GBR
                                    - DEU
                                  description: ISO 3166-1 alpha-3 country code
                                issuingDate:
                                  type: string
                                  pattern: ^\d{4}-\d{2}-\d{2}$
                                expiryDate:
                                  type: string
                                  pattern: ^\d{4}-\d{2}-\d{2}$
                              required:
                                - documentCategory
                                - type
                                - number
                                - country
                          address:
                            type: object
                            properties:
                              country:
                                type: string
                                minLength: 3
                                maxLength: 3
                                examples:
                                  - USA
                                  - GBR
                                  - DEU
                                description: ISO 3166-1 alpha-3 country code
                              formattedAddress:
                                type: string
                                minLength: 1
                                maxLength: 500
                              postCode:
                                type: string
                                minLength: 1
                                maxLength: 20
                              street:
                                type: string
                                minLength: 1
                                maxLength: 200
                              town:
                                type: string
                                maxLength: 100
                              subStreet:
                                type: string
                                maxLength: 200
                              state:
                                type: string
                                maxLength: 100
                              buildingName:
                                type: string
                                maxLength: 100
                              flatNumber:
                                type: string
                                maxLength: 20
                              buildingNumber:
                                type: string
                                maxLength: 20
                            required:
                              - country
                              - formattedAddress
                        required:
                          - externalUserId
                          - ownershipPct
                          - identity
                          - document
                          - address
                    registeredAddress:
                      type: object
                      properties:
                        line1:
                          type: string
                          minLength: 1
                          maxLength: 200
                        line2:
                          type: string
                          minLength: 1
                          maxLength: 200
                        city:
                          type: string
                          minLength: 1
                          maxLength: 100
                        state:
                          type: string
                          maxLength: 100
                        postalCode:
                          type: string
                          maxLength: 20
                        country:
                          type: string
                          minLength: 3
                          maxLength: 3
                          examples:
                            - USA
                            - GBR
                            - DEU
                          description: ISO 3166-1 alpha-3 country code
                      required:
                        - line1
                        - line2
                        - city
                        - country
                    principalPlaceOfBusinessAddress:
                      type: object
                      properties:
                        line1:
                          type: string
                          minLength: 1
                          maxLength: 200
                        line2:
                          type: string
                          minLength: 1
                          maxLength: 200
                        city:
                          type: string
                          minLength: 1
                          maxLength: 100
                        state:
                          type: string
                          maxLength: 100
                        postalCode:
                          type: string
                          maxLength: 20
                        country:
                          type: string
                          minLength: 3
                          maxLength: 3
                          examples:
                            - USA
                            - GBR
                            - DEU
                          description: ISO 3166-1 alpha-3 country code
                      required:
                        - line1
                        - line2
                        - city
                        - country
                    validEmailDomains:
                      minItems: 1
                      maxItems: 10
                      type: array
                      items:
                        type: string
                        minLength: 1
                        maxLength: 253
                    lineOfBusiness:
                      type: string
                      enum:
                        - PROFESSIONAL_SERVICES
                        - CONSULTING_SERVICES
                        - HUMAN_RESOURCES_RECRUITMENT
                        - BUSINESS_PROCESS_OUTSOURCING
                        - RESEARCH_DEVELOPMENT
                        - INFORMATION_TECHNOLOGY_SOFTWARE
                        - TELECOMMUNICATIONS
                        - RETAIL_TRADE
                        - WHOLESALE_TRADE
                        - E_COMMERCE
                        - MANUFACTURING
                        - CONSTRUCTION_ENGINEERING
                        - LOGISTICS_TRANSPORTATION
                        - HEALTHCARE_SERVICES
                        - EDUCATION_TRAINING
                        - REAL_ESTATE_SERVICES
                        - HOSPITALITY_TOURISM
                        - MEDIA_ADVERTISING
                        - AGRICULTURE_FARMING
                        - FINTECH
                        - PAYMENT_SERVICE_PROVIDER
                        - MONEY_SERVICES_BUSINESS_REMITTANCE
                        - FOREIGN_EXCHANGE_SERVICES
                        - INSURANCE
                        - LENDING_CREDIT_SERVICES
                        - INVESTMENT_ASSET_MANAGEMENT
                        - REGULATED_FINANCIAL_SERVICES_LICENSE_REQUIRED
                        - VIRTUAL_ASSET_SERVICE_PROVIDER
                        - CRYPTOCURRENCY_EXCHANGE
                        - BLOCKCHAIN_INFRASTRUCTURE
                        - DIGITAL_ASSET_CUSTODY
                        - DECENTRALISED_FINANCE
                        - GOVERNMENT_ENTITY
                        - STATE_OWNED_ENTERPRISE
                        - INTERNATIONAL_ORGANISATION
                        - NON_PROFIT_ORGANISATION
                        - CHARITY_FOUNDATION
                        - GAMING_GAMBLING
                        - ADULT_ENTERTAINMENT
                        - PRECIOUS_METALS_STONES
                        - AUCTION_HOUSE_ART_DEALER
                        - CASH_INTENSIVE_BUSINESS
                        - POLITICALLY_EXPOSED_ORGANISATION
                        - TRUST_COMPANY_SERVICE_PROVIDER
                        - HOLDING_COMPANY
                        - CONGLOMERATE
                        - OTHER
                      example: PROFESSIONAL_SERVICES
                    dateOfIncorporation:
                      type: string
                      pattern: ^\d{4}-\d{2}-\d{2}$
                    businessWebsiteUrl:
                      type: string
                      maxLength: 500
                      format: uri
                    ddq:
                      type: object
                      properties:
                        cardAuthorities:
                          minItems: 1
                          maxItems: 50
                          type: array
                          items:
                            type: object
                            properties:
                              fullName:
                                type: string
                                minLength: 1
                                maxLength: 100
                              role:
                                type: string
                                minLength: 1
                                maxLength: 100
                            required:
                              - fullName
                              - role
                        expectedSpendProfile:
                          type: object
                          properties:
                            spendBuckets:
                              minItems: 1
                              maxItems: 50
                              type: array
                              items:
                                type: object
                                properties:
                                  name:
                                    type: string
                                    minLength: 1
                                    maxLength: 200
                                  expectedSpendUsd:
                                    type: number
                                    minimum: 0
                                  jurisdictionIso:
                                    type: string
                                    minLength: 3
                                    maxLength: 3
                                    examples:
                                      - USA
                                      - GBR
                                      - DEU
                                    description: ISO 3166-1 alpha-3 country code
                                  txnPattern:
                                    type: object
                                    properties:
                                      frequency:
                                        type: string
                                        minLength: 1
                                        maxLength: 50
                                      avgTicketUsd:
                                        type: number
                                        minimum: 0
                                      peakDays:
                                        maxItems: 7
                                        type: array
                                        items:
                                          type: string
                                          enum:
                                            - MON
                                            - TUE
                                            - WED
                                            - THU
                                            - FRI
                                            - SAT
                                            - SUN
                                          example: MON
                                required:
                                  - name
                                  - expectedSpendUsd
                          required:
                            - spendBuckets
                        numberOfEmployees:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                      required:
                        - cardAuthorities
                        - expectedSpendProfile
                    edd:
                      type: object
                      properties:
                        sourceOfFundsDeclaration:
                          type: string
                          minLength: 1
                          maxLength: 5000
                        sourceOfWealthDeclaration:
                          type: string
                          minLength: 1
                          maxLength: 5000
                      required:
                        - sourceOfFundsDeclaration
                        - sourceOfWealthDeclaration
                    method:
                      type: string
                      const: UNIVERSAL_KYB
                      description: >-
                        Must match the KYB verification method configured on
                        your project
                  required:
                    - legalBusinessName
                    - legalFormOfCompany
                    - businessRegistrationNumber
                    - uboDeclaration
                    - registeredAddress
                    - principalPlaceOfBusinessAddress
                    - validEmailDomains
                    - lineOfBusiness
                    - method
                  title: Universal KYB
      responses:
        '200':
          description: Company application created or amended
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyApplicationWithNextAction'
        '400':
          description: Response for status 400
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      error:
                        type: object
                        properties:
                          code:
                            type: string
                            const: CORPORATE_MODE_REQUIRED
                          message:
                            type: string
                          detail:
                            anyOf:
                              - type: object
                                additionalProperties: {}
                              - type: 'null'
                        required:
                          - code
                          - message
                          - detail
                    required:
                      - error
                    title: CorporateModeRequiredError
                    description: >-
                      Company operations are only available in Corporate program
                      mode
                  - type: object
                    properties:
                      error:
                        type: object
                        properties:
                          code:
                            type: string
                            const: INVALID_DECLARED_OWNERSHIP
                          message:
                            type: string
                          detail:
                            anyOf:
                              - type: object
                                additionalProperties: {}
                              - type: 'null'
                        required:
                          - code
                          - message
                          - detail
                    required:
                      - error
                    title: InvalidDeclaredOwnershipError
                    description: Declared ownership is invalid
                  - type: object
                    properties:
                      error:
                        type: object
                        properties:
                          code:
                            type: string
                            const: COMPANY_APPLICATION_INCOMPLETE
                          message:
                            type: string
                          detail:
                            anyOf:
                              - type: object
                                additionalProperties: {}
                              - type: 'null'
                        required:
                          - code
                          - message
                          - detail
                    required:
                      - error
                    title: CompanyApplicationIncompleteError
                    description: Company application is incomplete
                  - type: object
                    properties:
                      error:
                        type: object
                        properties:
                          code:
                            type: string
                            const: COMPANY_APPLICATION_SUBMISSION_REJECTED
                          message:
                            type: string
                          detail:
                            anyOf:
                              - type: object
                                additionalProperties: {}
                              - type: 'null'
                        required:
                          - code
                          - message
                          - detail
                    required:
                      - error
                    title: CompanyApplicationSubmissionRejectedError
                    description: The submitted application data was rejected
        '403':
          description: The requested verification method is not enabled for this project
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        const: COMPANY_VERIFICATION_METHOD_NOT_ENABLED
                      message:
                        type: string
                      detail:
                        anyOf:
                          - type: object
                            additionalProperties: {}
                          - type: 'null'
                    required:
                      - code
                      - message
                      - detail
                required:
                  - error
                title: CompanyVerificationMethodNotEnabledError
        '404':
          description: Company not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        const: COMPANY_NOT_FOUND
                      message:
                        type: string
                      detail:
                        anyOf:
                          - type: object
                            additionalProperties: {}
                          - type: 'null'
                    required:
                      - code
                      - message
                      - detail
                required:
                  - error
                title: CompanyNotFoundError
        '409':
          description: Response for status 409
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      error:
                        type: object
                        properties:
                          code:
                            type: string
                            const: ACTIVE_COMPANY_APPLICATION_EXISTS
                          message:
                            type: string
                          detail:
                            anyOf:
                              - type: object
                                additionalProperties: {}
                              - type: 'null'
                        required:
                          - code
                          - message
                          - detail
                    required:
                      - error
                    title: ActiveCompanyApplicationExistsError
                    description: Company already has an active application in progress
                  - type: object
                    properties:
                      error:
                        type: object
                        properties:
                          code:
                            type: string
                            const: COMPANY_APPLICATION_NOT_EDITABLE
                          message:
                            type: string
                          detail:
                            anyOf:
                              - type: object
                                additionalProperties: {}
                              - type: 'null'
                        required:
                          - code
                          - message
                          - detail
                    required:
                      - error
                    title: CompanyApplicationNotEditableError
                    description: Company application can no longer be changed
        '500':
          description: >-
            Company application template is not configured for this project.
            Please contact support.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        const: COMPANY_APPLICATION_TEMPLATE_NOT_CONFIGURED
                      message:
                        type: string
                      detail:
                        anyOf:
                          - type: object
                            additionalProperties: {}
                          - type: 'null'
                    required:
                      - code
                      - message
                      - detail
                required:
                  - error
                title: CompanyApplicationTemplateNotConfiguredError
components:
  schemas:
    CompanyApplicationWithNextAction:
      type: object
      properties:
        id:
          description: Unique company application identifier
          type: string
          format: uuid
        companyId:
          description: Company this application belongs to
          type: string
          format: uuid
        status:
          type: string
          enum:
            - INITIATED
            - IN_PROGRESS
            - APPROVED
            - REJECTED
            - REVIEW_REQUIRED
            - WORKFLOW_ERROR
            - EXPIRED
          description: Application lifecycle status
          example: INITIATED
        sessionUrl:
          anyOf:
            - type: string
            - type: 'null'
          description: URL for the corporate client to complete verification
        expiresAt:
          anyOf:
            - type: string
            - type: 'null'
          description: When the verification session URL expires (ISO 8601)
        createdAt:
          type: string
          description: When the application was created (ISO 8601)
        updatedAt:
          type: string
          description: When the application was last updated (ISO 8601)
        nextAction:
          anyOf:
            - $ref: '#/components/schemas/CompanyApplicationNextAction'
              title: CompanyApplicationNextAction
            - type: 'null'
          description: Action the client must take next, or `null` if none remains
      required:
        - id
        - companyId
        - status
        - sessionUrl
        - expiresAt
        - createdAt
        - updatedAt
        - nextAction
      description: Company application and the next action required
    CompanyApplicationNextAction:
      oneOf:
        - $ref: '#/components/schemas/CompanyDocumentUploadNextAction'
          title: DocumentUpload
        - $ref: '#/components/schemas/CompanySubmitNextAction'
          title: Submit
      description: Next action required from the client
      title: Company application next action
    CompanyDocumentUploadNextAction:
      type: object
      properties:
        type:
          type: string
          const: DOCUMENT_UPLOAD
        documents:
          type: array
          items:
            $ref: '#/components/schemas/CompanyApplicationDocument'
          description: Supporting documents to upload, each with its current upload state
      required:
        - type
        - documents
      title: Document upload
    CompanySubmitNextAction:
      type: object
      properties:
        type:
          type: string
          const: SUBMIT
      required:
        - type
      title: Submit
    CompanyApplicationDocument:
      anyOf:
        - $ref: '#/components/schemas/CompanySupportingDocument'
          title: Required
        - $ref: '#/components/schemas/UboSupportingDocument'
          title: Required
      description: A supporting document still required for this application
    CompanySupportingDocument:
      type: object
      properties:
        documentType:
          type: string
          enum:
            - CERTIFICATE_OF_INCORPORATION
            - COMPANY_PROFILE
            - SHAREHOLDING_CHART
            - REGISTER_OF_DIRECTORS
            - BUSINESS_REGISTRY
            - SOURCE_OF_FUNDS
            - SOURCE_OF_WEALTH
          description: Company supporting document to upload
          example: CERTIFICATE_OF_INCORPORATION
        status:
          type: string
          const: REQUIRED
          description: This document still needs to be uploaded
      required:
        - documentType
        - status
      description: Outstanding company supporting document
      title: Company document
    UboSupportingDocument:
      type: object
      properties:
        documentType:
          type: string
          const: UBO_IDENTITY
          description: Beneficial-owner identity document
        relatedPersonId:
          description: Related person this identity document belongs to
          type: string
          format: uuid
        uboDocumentType:
          type: string
          enum:
            - PASSPORT
            - ID_CARD
            - DRIVERS_LICENCE
          description: Identity document type declared for this owner
          example: PASSPORT
        status:
          type: string
          const: REQUIRED
          description: This document still needs to be uploaded
      required:
        - documentType
        - relatedPersonId
        - uboDocumentType
        - status
      description: Outstanding beneficial-owner identity document
      title: UBO document
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key as Bearer token

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.