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

# Create customer

> Creates the canonical customer union atomically. Individuals require only type; businesses require business.legalName. Email and phone values are not unique customer keys.



## OpenAPI

````yaml /openapi.json post /v3/customers
openapi: 3.1.0
info:
  title: Swipelux API
  version: 3.1.0
servers:
  - url: https://platform.swipelux.com
    description: Production and sandbox; environment selected by API key
security:
  - apiKey: []
tags:
  - name: customers
    x-displayName: Customers
    description: >-
      Create, list, update, export, and archive individual and business
      customers and their related parties.
  - name: capabilities
    x-displayName: Capabilities
    description: >-
      Discover, request, inspect, and cancel customer capabilities and their
      institution applications.
  - name: accounts
    x-displayName: Accounts
    description: Create, inspect, update, and archive customer accounts.
  - name: recipients
    x-displayName: Recipients
    description: Create third-party recipients and their payout destinations.
  - name: Tasks
    x-displayName: Tasks
    description: Inspect customer, capability, application, account, and transfer tasks.
  - name: Task submissions
    x-displayName: Task submissions
    description: Submit and inspect immutable answers to customer tasks.
  - name: documents
    x-displayName: Documents
    description: Upload and inspect customer documents used in task submissions.
  - name: money-movement
    x-displayName: Money movement
    description: Create quotes, execute quote-backed transfers, and inspect transfer state.
  - name: rules
    x-displayName: Rules
    description: >-
      Standing instructions that act on incoming funds. A rule watches a
      custodial wallet account (`trigger`) and, when funds become available on
      it, transfers them to a target (`action`) — most commonly a sweep to a
      non-custodial wallet destination.


      Rules match at the account credit, not at the deposit rail: fiat deposits
      settle into the issued bank account's settlement wallet account, so a rule
      on that wallet account catches ACH/SEPA/SWIFT deposits, stablecoin
      deposits, and internal transfers alike.


      The action target reuses the money-movement vocabulary (`account` for the
      customer's own accounts, `destination` for recipient destinations). At
      most one non-archived rule may watch a given trigger account. Statuses:
      `active ⇄ paused → archived` — pause and resume through PATCH, archive
      (terminal) through DELETE.
  - name: sandbox
    x-displayName: Sandbox
    description: Simulate supported account, task, capability, and transfer outcomes.
  - name: institutions
    x-displayName: Institutions
    description: List institutions referenced by capabilities and applications.
  - name: webhooks
    x-displayName: Webhooks
    description: Configure webhook endpoints and inspect delivery activity.
externalDocs:
  description: Swipelux Documentation
  url: https://docs.swipelux.com
paths:
  /v3/customers:
    post:
      tags:
        - customers
      summary: Create customer
      description: >-
        Creates the canonical customer union atomically. Individuals require
        only type; businesses require business.legalName. Email and phone values
        are not unique customer keys.
      operationId: postV3Customers
      parameters:
        - name: Idempotency-Key
          in: header
          required: true
          schema:
            type: string
            minLength: 1
            maxLength: 255
          example: idem_20260626_0001
          description: >-
            Required for effectful v3 requests (POST, PATCH, PUT, DELETE). Reuse
            the same key with the same body to replay the cached response.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - type: object
                  required:
                    - type
                  properties:
                    type:
                      type: string
                      enum:
                        - individual
                    externalId:
                      type: string
                      minLength: 1
                      maxLength: 256
                      pattern: ^[\x20-\x7E]+$
                      description: >-
                        Developer correlation identifier using 1-256 printable
                        ASCII characters.
                    individual:
                      type: object
                      properties:
                        firstName:
                          type: string
                          minLength: 1
                          maxLength: 256
                          description: >-
                            Preserved exactly; leading/trailing whitespace and
                            control characters are rejected.
                        middleName:
                          type: string
                          minLength: 1
                          maxLength: 256
                          description: >-
                            Preserved exactly; leading/trailing whitespace and
                            control characters are rejected.
                        lastName:
                          type: string
                          minLength: 1
                          maxLength: 256
                          description: >-
                            Preserved exactly; leading/trailing whitespace and
                            control characters are rejected.
                        birthDate:
                          type: string
                          format: date
                        birthCountry:
                          type: string
                          pattern: ^[A-Z]{2}$
                          minLength: 2
                          maxLength: 2
                          description: ISO 3166-1 alpha-2 country code.
                        nationalities:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            pattern: ^[A-Z]{2}$
                            minLength: 2
                            maxLength: 2
                            description: ISO 3166-1 alpha-2 country code.
                        residenceCountry:
                          type: string
                          pattern: ^[A-Z]{2}$
                          minLength: 2
                          maxLength: 2
                          description: ISO 3166-1 alpha-2 country code.
                        email:
                          type: string
                          format: email
                          maxLength: 254
                        phone:
                          type: string
                          pattern: ^\+[1-9][0-9]{1,14}$
                        residentialAddress:
                          type: object
                          minProperties: 1
                          properties:
                            streetLine1:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            streetLine2:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            city:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            state:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            postalCode:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Identifier preserved exactly, without
                                leading/trailing whitespace or controls.
                            country:
                              type: string
                              pattern: ^[A-Z]{2}$
                              minLength: 2
                              maxLength: 2
                              description: ISO 3166-1 alpha-2 country code.
                          description: >-
                            Progressively collected address with at least one
                            supplied fact.
                        mailingAddress:
                          type: object
                          minProperties: 1
                          properties:
                            streetLine1:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            streetLine2:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            city:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            state:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            postalCode:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Identifier preserved exactly, without
                                leading/trailing whitespace or controls.
                            country:
                              type: string
                              pattern: ^[A-Z]{2}$
                              minLength: 2
                              maxLength: 2
                              description: ISO 3166-1 alpha-2 country code.
                          description: >-
                            Progressively collected address with at least one
                            supplied fact.
                        taxResidencies:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            pattern: ^[A-Z]{2}$
                            minLength: 2
                            maxLength: 2
                            description: ISO 3166-1 alpha-2 country code.
                        taxIdentifiers:
                          type: array
                          items:
                            type: object
                            required:
                              - type
                              - country
                              - value
                            properties:
                              type:
                                type: string
                                enum:
                                  - ssn
                                  - itin
                                  - ein
                                  - tin
                                  - vat
                                  - cpf
                                  - cnpj
                                  - other
                              typeDescription:
                                type: string
                                minLength: 1
                                maxLength: 256
                                description: >-
                                  Preserved exactly; leading/trailing whitespace
                                  and control characters are rejected.
                              country:
                                type: string
                                pattern: ^[A-Z]{2}$
                                minLength: 2
                                maxLength: 2
                                description: ISO 3166-1 alpha-2 country code.
                              value:
                                type: string
                                minLength: 1
                                maxLength: 256
                                description: >-
                                  Identifier preserved exactly, without
                                  leading/trailing whitespace or controls.
                            description: >-
                              Tax identifier. typeDescription is required and
                              allowed only for type other.
                        identityDocuments:
                          type: array
                          items:
                            type: object
                            required:
                              - type
                              - issuingCountry
                            properties:
                              type:
                                type: string
                                enum:
                                  - passport
                                  - national_id
                                  - drivers_license
                                  - residence_permit
                                  - government_id
                                  - state_or_provincial_id
                                  - other
                              typeDescription:
                                type: string
                                minLength: 1
                                maxLength: 256
                                description: >-
                                  Preserved exactly; leading/trailing whitespace
                                  and control characters are rejected.
                              issuingCountry:
                                type: string
                                pattern: ^[A-Z]{2}$
                                minLength: 2
                                maxLength: 2
                                description: ISO 3166-1 alpha-2 country code.
                              issuingRegion:
                                type: string
                                minLength: 1
                                maxLength: 256
                                description: >-
                                  Preserved exactly; leading/trailing whitespace
                                  and control characters are rejected.
                              number:
                                type: string
                                minLength: 1
                                maxLength: 256
                                description: >-
                                  Identifier preserved exactly, without
                                  leading/trailing whitespace or controls.
                              issuedOn:
                                type: string
                                format: date
                              expiresOn:
                                type: string
                                format: date
                              doesNotExpire:
                                type: boolean
                            description: >-
                              Identity-document metadata; number is optional and
                              expiry facts are mutually consistent.
                        employment:
                          type: object
                          minProperties: 1
                          properties:
                            status:
                              type: string
                              enum:
                                - employed
                                - self_employed
                                - unemployed
                                - student
                                - retired
                                - homemaker
                                - other
                            statusDescription:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            occupation:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                          description: >-
                            Employment requires status or occupation;
                            statusDescription is exclusive to other.
                      description: >-
                        Reusable progressively collected individual identity
                        facts.
                    financialProfile:
                      type: object
                      properties:
                        accountPurposes:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            enum:
                              - business_expenses
                              - charitable_donations
                              - cross_border_remittance
                              - ecommerce
                              - family_support
                              - investment
                              - payroll
                              - operate_company
                              - personal_expenses
                              - purchase_goods_and_services
                              - receive_freelance_payments
                              - receive_payments
                              - receive_salary
                              - tax_optimization
                              - tax_payments
                              - third_party_money_transmission
                              - treasury_management
                              - wealth_preservation
                              - other
                        accountPurposeDescription:
                          type: string
                          minLength: 1
                          maxLength: 4096
                          description: >-
                            Preserved narrative; line feed and tab are allowed
                            and other controls are rejected.
                        expectedTransactionPurposes:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            enum:
                              - business_payments
                              - charitable_donations
                              - cross_border_remittance
                              - family_support
                              - goods_and_services
                              - investment
                              - payroll
                              - personal_expenses
                              - receive_freelance_payments
                              - receive_salary
                              - wealth_preservation
                              - other
                        expectedTransactionPurposeDescription:
                          type: string
                          minLength: 1
                          maxLength: 4096
                          description: >-
                            Preserved narrative; line feed and tab are allowed
                            and other controls are rejected.
                        expectedActivityDescription:
                          type: string
                          minLength: 1
                          maxLength: 4096
                          description: >-
                            Preserved narrative; line feed and tab are allowed
                            and other controls are rejected.
                        sourcesOfFunds:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            enum:
                              - salary
                              - savings
                              - business_revenue
                              - investment_income
                              - asset_sale
                              - inheritance
                              - gift
                              - pension
                              - government_benefits
                              - loan
                              - owner_contribution
                              - investor_contribution
                              - company_funds
                              - intercompany_funds
                              - investment_proceeds
                              - legal_settlement
                              - tax_refund
                              - treasury_reserves
                              - insurance_proceeds
                              - equity_compensation
                              - grants_and_donations
                              - third_party_funds
                              - gambling
                              - other
                        sourceOfFundsDescription:
                          type: string
                          minLength: 1
                          maxLength: 4096
                          description: >-
                            Preserved narrative; line feed and tab are allowed
                            and other controls are rejected.
                        sourcesOfWealth:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            enum:
                              - employment_income
                              - business_ownership
                              - investments
                              - business_dividends_or_profits
                              - client_or_investor_contributions
                              - charitable_contributions
                              - affiliate_income
                              - real_estate
                              - asset_sale
                              - inheritance
                              - gift
                              - gambling
                              - royalties
                              - other
                        sourceOfWealthDescription:
                          type: string
                          minLength: 1
                          maxLength: 4096
                          description: >-
                            Preserved narrative; line feed and tab are allowed
                            and other controls are rejected.
                        estimatedAnnualRevenue:
                          type: object
                          required:
                            - amount
                            - currency
                          properties:
                            amount:
                              type: string
                              pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                              description: >-
                                Non-negative major-unit decimal string with at
                                most 38 digits; currency scale is validated
                                without rounding.
                            currency:
                              type: string
                              pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                              description: >-
                                ISO 4217 alpha-3 code or documented stablecoin
                                symbol.
                        expectedMonthlyVolume:
                          type: object
                          required:
                            - amount
                            - currency
                          properties:
                            amount:
                              type: string
                              pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                              description: >-
                                Non-negative major-unit decimal string with at
                                most 38 digits; currency scale is validated
                                without rounding.
                            currency:
                              type: string
                              pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                              description: >-
                                ISO 4217 alpha-3 code or documented stablecoin
                                symbol.
                        expectedMonthlyPayinVolume:
                          type: object
                          required:
                            - amount
                            - currency
                          properties:
                            amount:
                              type: string
                              pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                              description: >-
                                Non-negative major-unit decimal string with at
                                most 38 digits; currency scale is validated
                                without rounding.
                            currency:
                              type: string
                              pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                              description: >-
                                ISO 4217 alpha-3 code or documented stablecoin
                                symbol.
                        expectedMonthlyPayoutVolume:
                          type: object
                          required:
                            - amount
                            - currency
                          properties:
                            amount:
                              type: string
                              pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                              description: >-
                                Non-negative major-unit decimal string with at
                                most 38 digits; currency scale is validated
                                without rounding.
                            currency:
                              type: string
                              pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                              description: >-
                                ISO 4217 alpha-3 code or documented stablecoin
                                symbol.
                        expectedMonthlyTransactionCount:
                          type: integer
                          minimum: 0
                          maximum: 2147483647
                        typicalTransactionAmount:
                          type: object
                          required:
                            - amount
                            - currency
                          properties:
                            amount:
                              type: string
                              pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                              description: >-
                                Non-negative major-unit decimal string with at
                                most 38 digits; currency scale is validated
                                without rounding.
                            currency:
                              type: string
                              pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                              description: >-
                                ISO 4217 alpha-3 code or documented stablecoin
                                symbol.
                        maximumTransactionAmount:
                          type: object
                          required:
                            - amount
                            - currency
                          properties:
                            amount:
                              type: string
                              pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                              description: >-
                                Non-negative major-unit decimal string with at
                                most 38 digits; currency scale is validated
                                without rounding.
                            currency:
                              type: string
                              pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                              description: >-
                                ISO 4217 alpha-3 code or documented stablecoin
                                symbol.
                        expectedCurrencies:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                        expectedCorridors:
                          type: array
                          items:
                            type: object
                            required:
                              - fromCountry
                              - toCountry
                            properties:
                              fromCountry:
                                type: string
                                pattern: ^[A-Z]{2}$
                                minLength: 2
                                maxLength: 2
                                description: ISO 3166-1 alpha-2 country code.
                              toCountry:
                                type: string
                                pattern: ^[A-Z]{2}$
                                minLength: 2
                                maxLength: 2
                                description: ISO 3166-1 alpha-2 country code.
                              fromCurrency:
                                type: string
                                pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                              toCurrency:
                                type: string
                                pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                        expectedCounterpartyEntityTypes:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            enum:
                              - individual
                              - business
                              - financial_institution
                              - government
                              - nonprofit
                              - exchange
                              - own_account
                              - other
                        expectedCounterpartyEntityTypeDescription:
                          type: string
                          minLength: 1
                          maxLength: 4096
                          description: >-
                            Preserved narrative; line feed and tab are allowed
                            and other controls are rejected.
                        expectedCounterpartyRelationships:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            enum:
                              - employee
                              - contractor
                              - vendor
                              - subsidiary
                              - merchant
                              - customer
                              - landlord
                              - family
                              - other
                        expectedCounterpartyRelationshipDescription:
                          type: string
                          minLength: 1
                          maxLength: 4096
                          description: >-
                            Preserved narrative; line feed and tab are allowed
                            and other controls are rejected.
                        flows:
                          type: object
                          properties:
                            payin:
                              type: object
                              required:
                                - firstParty
                                - thirdParty
                              properties:
                                firstParty:
                                  type: boolean
                                thirdParty:
                                  type: boolean
                            payout:
                              type: object
                              required:
                                - firstParty
                                - thirdParty
                              properties:
                                firstParty:
                                  type: boolean
                                thirdParty:
                                  type: boolean
                        fundsHandlingActivities:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            enum:
                              - receive
                              - hold
                              - pool
                              - aggregate
                              - convert
                              - settle
                              - forward
                              - disburse
                              - custody
                              - other
                        fundsHandlingActivityDescription:
                          type: string
                          minLength: 1
                          maxLength: 4096
                          description: >-
                            Preserved narrative; line feed and tab are allowed
                            and other controls are rejected.
                        actsAsIntermediary:
                          type: boolean
                        ownAccountTreasuryOnly:
                          type: boolean
                      description: >-
                        Provider-neutral expected financial activity and
                        funds-handling facts.
                    metadata:
                      type: object
                      maxProperties: 50
                      additionalProperties:
                        anyOf:
                          - type: string
                            maxLength: 1024
                          - type: number
                          - type: boolean
                      description: >-
                        Developer-owned scalar metadata map with at most 50
                        entries.
                - type: object
                  required:
                    - type
                    - business
                  properties:
                    type:
                      type: string
                      enum:
                        - business
                    externalId:
                      type: string
                      minLength: 1
                      maxLength: 256
                      pattern: ^[\x20-\x7E]+$
                      description: >-
                        Developer correlation identifier using 1-256 printable
                        ASCII characters.
                    business:
                      type: object
                      required:
                        - legalName
                      properties:
                        legalName:
                          type: string
                          minLength: 1
                          maxLength: 256
                          description: >-
                            Preserved exactly; leading/trailing whitespace and
                            control characters are rejected.
                        tradeNames:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            minLength: 1
                            maxLength: 256
                            description: >-
                              Preserved exactly; leading/trailing whitespace and
                              control characters are rejected.
                        legalForm:
                          type: string
                          enum:
                            - corporation
                            - limited_liability_company
                            - partnership
                            - limited_partnership
                            - sole_proprietorship
                            - nonprofit
                            - cooperative
                            - association
                            - professional_association
                            - foundation
                            - trust
                            - investment_fund
                            - society
                            - dao
                            - government_entity
                            - other
                        legalFormDescription:
                          type: string
                          minLength: 1
                          maxLength: 256
                          description: >-
                            Preserved exactly; leading/trailing whitespace and
                            control characters are rejected.
                        email:
                          type: string
                          format: email
                          maxLength: 254
                        complianceEmail:
                          type: string
                          format: email
                          maxLength: 254
                        phone:
                          type: string
                          pattern: ^\+[1-9][0-9]{1,14}$
                        websites:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            format: uri
                            maxLength: 2048
                        description:
                          type: string
                          minLength: 1
                          maxLength: 4096
                          description: >-
                            Preserved narrative; line feed and tab are allowed
                            and other controls are rejected.
                        productsAndServices:
                          type: string
                          minLength: 1
                          maxLength: 4096
                          description: >-
                            Preserved narrative; line feed and tab are allowed
                            and other controls are rejected.
                        industryClassifications:
                          type: array
                          items:
                            type: object
                            required:
                              - scheme
                              - code
                            properties:
                              scheme:
                                type: string
                                enum:
                                  - naics
                                  - sic
                                  - nace
                                  - isic
                                  - mcc
                                  - other
                              schemeDescription:
                                type: string
                                minLength: 1
                                maxLength: 256
                                description: >-
                                  Preserved exactly; leading/trailing whitespace
                                  and control characters are rejected.
                              code:
                                type: string
                                minLength: 1
                                maxLength: 256
                                description: >-
                                  Identifier preserved exactly, without
                                  leading/trailing whitespace or controls.
                        customerTypes:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            enum:
                              - individual
                              - business
                              - financial_institution
                              - government
                              - nonprofit
                              - other
                        customerTypeDescription:
                          type: string
                          minLength: 1
                          maxLength: 256
                          description: >-
                            Preserved exactly; leading/trailing whitespace and
                            control characters are rejected.
                        salesChannels:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            enum:
                              - online
                              - in_person
                              - marketplace
                              - mobile_app
                              - business_to_business
                              - other
                        salesChannelDescription:
                          type: string
                          minLength: 1
                          maxLength: 256
                          description: >-
                            Preserved exactly; leading/trailing whitespace and
                            control characters are rejected.
                        registration:
                          type: object
                          minProperties: 1
                          properties:
                            jurisdiction:
                              type: object
                              required:
                                - country
                              properties:
                                country:
                                  type: string
                                  pattern: ^[A-Z]{2}$
                                  minLength: 2
                                  maxLength: 2
                                  description: ISO 3166-1 alpha-2 country code.
                                region:
                                  type: string
                                  minLength: 1
                                  maxLength: 256
                                  description: >-
                                    Preserved exactly; leading/trailing
                                    whitespace and control characters are
                                    rejected.
                              description: >-
                                Country and optional country-specific
                                registration region.
                            number:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Identifier preserved exactly, without
                                leading/trailing whitespace or controls.
                            formationDate:
                              type: string
                              format: date
                        registeredAddress:
                          type: object
                          minProperties: 1
                          properties:
                            streetLine1:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            streetLine2:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            city:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            state:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            postalCode:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Identifier preserved exactly, without
                                leading/trailing whitespace or controls.
                            country:
                              type: string
                              pattern: ^[A-Z]{2}$
                              minLength: 2
                              maxLength: 2
                              description: ISO 3166-1 alpha-2 country code.
                          description: >-
                            Progressively collected address with at least one
                            supplied fact.
                        operatingAddress:
                          type: object
                          minProperties: 1
                          properties:
                            streetLine1:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            streetLine2:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            city:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            state:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            postalCode:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Identifier preserved exactly, without
                                leading/trailing whitespace or controls.
                            country:
                              type: string
                              pattern: ^[A-Z]{2}$
                              minLength: 2
                              maxLength: 2
                              description: ISO 3166-1 alpha-2 country code.
                          description: >-
                            Progressively collected address with at least one
                            supplied fact.
                        mailingAddress:
                          type: object
                          minProperties: 1
                          properties:
                            streetLine1:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            streetLine2:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            city:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            state:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            postalCode:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Identifier preserved exactly, without
                                leading/trailing whitespace or controls.
                            country:
                              type: string
                              pattern: ^[A-Z]{2}$
                              minLength: 2
                              maxLength: 2
                              description: ISO 3166-1 alpha-2 country code.
                          description: >-
                            Progressively collected address with at least one
                            supplied fact.
                        operatingCountries:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            pattern: ^[A-Z]{2}$
                            minLength: 2
                            maxLength: 2
                            description: ISO 3166-1 alpha-2 country code.
                        taxResidencies:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            pattern: ^[A-Z]{2}$
                            minLength: 2
                            maxLength: 2
                            description: ISO 3166-1 alpha-2 country code.
                        taxIdentifiers:
                          type: array
                          items:
                            type: object
                            required:
                              - type
                              - country
                              - value
                            properties:
                              type:
                                type: string
                                enum:
                                  - ssn
                                  - itin
                                  - ein
                                  - tin
                                  - vat
                                  - cpf
                                  - cnpj
                                  - other
                              typeDescription:
                                type: string
                                minLength: 1
                                maxLength: 256
                                description: >-
                                  Preserved exactly; leading/trailing whitespace
                                  and control characters are rejected.
                              country:
                                type: string
                                pattern: ^[A-Z]{2}$
                                minLength: 2
                                maxLength: 2
                                description: ISO 3166-1 alpha-2 country code.
                              value:
                                type: string
                                minLength: 1
                                maxLength: 256
                                description: >-
                                  Identifier preserved exactly, without
                                  leading/trailing whitespace or controls.
                            description: >-
                              Tax identifier. typeDescription is required and
                              allowed only for type other.
                        publicListing:
                          type: object
                          minProperties: 1
                          properties:
                            exchange:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            ticker:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Identifier preserved exactly, without
                                leading/trailing whitespace or controls.
                            jurisdiction:
                              type: object
                              required:
                                - country
                              properties:
                                country:
                                  type: string
                                  pattern: ^[A-Z]{2}$
                                  minLength: 2
                                  maxLength: 2
                                  description: ISO 3166-1 alpha-2 country code.
                                region:
                                  type: string
                                  minLength: 1
                                  maxLength: 256
                                  description: >-
                                    Preserved exactly; leading/trailing
                                    whitespace and control characters are
                                    rejected.
                              description: >-
                                Country and optional country-specific
                                registration region.
                        regulatoryStatus:
                          type: string
                          enum:
                            - regulated
                            - pending
                            - unregulated
                            - exempt
                        regulatoryRegistrations:
                          type: array
                          items:
                            type: object
                            required:
                              - type
                              - jurisdiction
                            properties:
                              type:
                                type: string
                                enum:
                                  - money_transmitter
                                  - money_services_business
                                  - bank
                                  - electronic_money_institution
                                  - payment_institution
                                  - virtual_asset_service_provider
                                  - broker_dealer
                                  - investment_adviser
                                  - lender
                                  - other
                              typeDescription:
                                type: string
                                minLength: 1
                                maxLength: 256
                                description: >-
                                  Preserved exactly; leading/trailing whitespace
                                  and control characters are rejected.
                              jurisdiction:
                                type: object
                                required:
                                  - country
                                properties:
                                  country:
                                    type: string
                                    pattern: ^[A-Z]{2}$
                                    minLength: 2
                                    maxLength: 2
                                    description: ISO 3166-1 alpha-2 country code.
                                  region:
                                    type: string
                                    minLength: 1
                                    maxLength: 256
                                    description: >-
                                      Preserved exactly; leading/trailing
                                      whitespace and control characters are
                                      rejected.
                                description: >-
                                  Country and optional country-specific
                                  registration region.
                              authority:
                                type: string
                                minLength: 1
                                maxLength: 256
                                description: >-
                                  Preserved exactly; leading/trailing whitespace
                                  and control characters are rejected.
                              number:
                                type: string
                                minLength: 1
                                maxLength: 256
                                description: >-
                                  Identifier preserved exactly, without
                                  leading/trailing whitespace or controls.
                              status:
                                type: string
                                enum:
                                  - active
                                  - pending
                                  - suspended
                                  - revoked
                                  - expired
                              issuedOn:
                                type: string
                                format: date
                              expiresOn:
                                type: string
                                format: date
                        ownershipStructure:
                          type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
                              enum:
                                - privately_held
                                - publicly_traded
                                - government_owned
                                - subsidiary
                                - trust
                                - fund
                                - other
                            description:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            parentType:
                              type: string
                              enum:
                                - publicly_traded_company
                                - financial_institution
                                - other
                            parentTypeDescription:
                              type: string
                              minLength: 1
                              maxLength: 256
                              description: >-
                                Preserved exactly; leading/trailing whitespace
                                and control characters are rejected.
                            parentOwnershipPercentage:
                              type: string
                              pattern: >-
                                ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
                      description: >-
                        Reusable business identity; legalName is the required
                        anchor.
                    financialProfile:
                      type: object
                      properties:
                        accountPurposes:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            enum:
                              - business_expenses
                              - charitable_donations
                              - cross_border_remittance
                              - ecommerce
                              - family_support
                              - investment
                              - payroll
                              - operate_company
                              - personal_expenses
                              - purchase_goods_and_services
                              - receive_freelance_payments
                              - receive_payments
                              - receive_salary
                              - tax_optimization
                              - tax_payments
                              - third_party_money_transmission
                              - treasury_management
                              - wealth_preservation
                              - other
                        accountPurposeDescription:
                          type: string
                          minLength: 1
                          maxLength: 4096
                          description: >-
                            Preserved narrative; line feed and tab are allowed
                            and other controls are rejected.
                        expectedTransactionPurposes:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            enum:
                              - business_payments
                              - charitable_donations
                              - cross_border_remittance
                              - family_support
                              - goods_and_services
                              - investment
                              - payroll
                              - personal_expenses
                              - receive_freelance_payments
                              - receive_salary
                              - wealth_preservation
                              - other
                        expectedTransactionPurposeDescription:
                          type: string
                          minLength: 1
                          maxLength: 4096
                          description: >-
                            Preserved narrative; line feed and tab are allowed
                            and other controls are rejected.
                        expectedActivityDescription:
                          type: string
                          minLength: 1
                          maxLength: 4096
                          description: >-
                            Preserved narrative; line feed and tab are allowed
                            and other controls are rejected.
                        sourcesOfFunds:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            enum:
                              - salary
                              - savings
                              - business_revenue
                              - investment_income
                              - asset_sale
                              - inheritance
                              - gift
                              - pension
                              - government_benefits
                              - loan
                              - owner_contribution
                              - investor_contribution
                              - company_funds
                              - intercompany_funds
                              - investment_proceeds
                              - legal_settlement
                              - tax_refund
                              - treasury_reserves
                              - insurance_proceeds
                              - equity_compensation
                              - grants_and_donations
                              - third_party_funds
                              - gambling
                              - other
                        sourceOfFundsDescription:
                          type: string
                          minLength: 1
                          maxLength: 4096
                          description: >-
                            Preserved narrative; line feed and tab are allowed
                            and other controls are rejected.
                        sourcesOfWealth:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            enum:
                              - employment_income
                              - business_ownership
                              - investments
                              - business_dividends_or_profits
                              - client_or_investor_contributions
                              - charitable_contributions
                              - affiliate_income
                              - real_estate
                              - asset_sale
                              - inheritance
                              - gift
                              - gambling
                              - royalties
                              - other
                        sourceOfWealthDescription:
                          type: string
                          minLength: 1
                          maxLength: 4096
                          description: >-
                            Preserved narrative; line feed and tab are allowed
                            and other controls are rejected.
                        estimatedAnnualRevenue:
                          type: object
                          required:
                            - amount
                            - currency
                          properties:
                            amount:
                              type: string
                              pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                              description: >-
                                Non-negative major-unit decimal string with at
                                most 38 digits; currency scale is validated
                                without rounding.
                            currency:
                              type: string
                              pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                              description: >-
                                ISO 4217 alpha-3 code or documented stablecoin
                                symbol.
                        expectedMonthlyVolume:
                          type: object
                          required:
                            - amount
                            - currency
                          properties:
                            amount:
                              type: string
                              pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                              description: >-
                                Non-negative major-unit decimal string with at
                                most 38 digits; currency scale is validated
                                without rounding.
                            currency:
                              type: string
                              pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                              description: >-
                                ISO 4217 alpha-3 code or documented stablecoin
                                symbol.
                        expectedMonthlyPayinVolume:
                          type: object
                          required:
                            - amount
                            - currency
                          properties:
                            amount:
                              type: string
                              pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                              description: >-
                                Non-negative major-unit decimal string with at
                                most 38 digits; currency scale is validated
                                without rounding.
                            currency:
                              type: string
                              pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                              description: >-
                                ISO 4217 alpha-3 code or documented stablecoin
                                symbol.
                        expectedMonthlyPayoutVolume:
                          type: object
                          required:
                            - amount
                            - currency
                          properties:
                            amount:
                              type: string
                              pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                              description: >-
                                Non-negative major-unit decimal string with at
                                most 38 digits; currency scale is validated
                                without rounding.
                            currency:
                              type: string
                              pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                              description: >-
                                ISO 4217 alpha-3 code or documented stablecoin
                                symbol.
                        expectedMonthlyTransactionCount:
                          type: integer
                          minimum: 0
                          maximum: 2147483647
                        typicalTransactionAmount:
                          type: object
                          required:
                            - amount
                            - currency
                          properties:
                            amount:
                              type: string
                              pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                              description: >-
                                Non-negative major-unit decimal string with at
                                most 38 digits; currency scale is validated
                                without rounding.
                            currency:
                              type: string
                              pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                              description: >-
                                ISO 4217 alpha-3 code or documented stablecoin
                                symbol.
                        maximumTransactionAmount:
                          type: object
                          required:
                            - amount
                            - currency
                          properties:
                            amount:
                              type: string
                              pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                              description: >-
                                Non-negative major-unit decimal string with at
                                most 38 digits; currency scale is validated
                                without rounding.
                            currency:
                              type: string
                              pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                              description: >-
                                ISO 4217 alpha-3 code or documented stablecoin
                                symbol.
                        expectedCurrencies:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                        expectedCorridors:
                          type: array
                          items:
                            type: object
                            required:
                              - fromCountry
                              - toCountry
                            properties:
                              fromCountry:
                                type: string
                                pattern: ^[A-Z]{2}$
                                minLength: 2
                                maxLength: 2
                                description: ISO 3166-1 alpha-2 country code.
                              toCountry:
                                type: string
                                pattern: ^[A-Z]{2}$
                                minLength: 2
                                maxLength: 2
                                description: ISO 3166-1 alpha-2 country code.
                              fromCurrency:
                                type: string
                                pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                              toCurrency:
                                type: string
                                pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                        expectedCounterpartyEntityTypes:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            enum:
                              - individual
                              - business
                              - financial_institution
                              - government
                              - nonprofit
                              - exchange
                              - own_account
                              - other
                        expectedCounterpartyEntityTypeDescription:
                          type: string
                          minLength: 1
                          maxLength: 4096
                          description: >-
                            Preserved narrative; line feed and tab are allowed
                            and other controls are rejected.
                        expectedCounterpartyRelationships:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            enum:
                              - employee
                              - contractor
                              - vendor
                              - subsidiary
                              - merchant
                              - customer
                              - landlord
                              - family
                              - other
                        expectedCounterpartyRelationshipDescription:
                          type: string
                          minLength: 1
                          maxLength: 4096
                          description: >-
                            Preserved narrative; line feed and tab are allowed
                            and other controls are rejected.
                        flows:
                          type: object
                          properties:
                            payin:
                              type: object
                              required:
                                - firstParty
                                - thirdParty
                              properties:
                                firstParty:
                                  type: boolean
                                thirdParty:
                                  type: boolean
                            payout:
                              type: object
                              required:
                                - firstParty
                                - thirdParty
                              properties:
                                firstParty:
                                  type: boolean
                                thirdParty:
                                  type: boolean
                        fundsHandlingActivities:
                          type: array
                          uniqueItems: true
                          items:
                            type: string
                            enum:
                              - receive
                              - hold
                              - pool
                              - aggregate
                              - convert
                              - settle
                              - forward
                              - disburse
                              - custody
                              - other
                        fundsHandlingActivityDescription:
                          type: string
                          minLength: 1
                          maxLength: 4096
                          description: >-
                            Preserved narrative; line feed and tab are allowed
                            and other controls are rejected.
                        actsAsIntermediary:
                          type: boolean
                        ownAccountTreasuryOnly:
                          type: boolean
                      description: >-
                        Provider-neutral expected financial activity and
                        funds-handling facts.
                    relatedParties:
                      type: array
                      items:
                        oneOf:
                          - type: object
                            required:
                              - partyType
                              - roles
                              - person
                            properties:
                              partyType:
                                type: string
                                enum:
                                  - person
                              roles:
                                type: array
                                uniqueItems: true
                                items:
                                  type: string
                                  enum:
                                    - control_person
                                    - director
                                    - officer
                                    - authorized_signer
                                    - authorized_representative
                                    - compliance_officer
                                    - primary_contact
                                    - account_administrator
                                    - trustee
                                    - settlor
                                    - protector
                                    - beneficiary
                                    - general_partner
                                    - limited_partner
                                    - other
                              roleDescription:
                                type: string
                                minLength: 1
                                maxLength: 256
                                description: >-
                                  Preserved exactly; leading/trailing whitespace
                                  and control characters are rejected.
                              title:
                                type: string
                                minLength: 1
                                maxLength: 256
                                description: >-
                                  Preserved exactly; leading/trailing whitespace
                                  and control characters are rejected.
                              ownership:
                                type: object
                                minProperties: 1
                                properties:
                                  declared:
                                    type: boolean
                                  directPercentage:
                                    type: string
                                    pattern: >-
                                      ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
                                  indirectPercentage:
                                    type: string
                                    pattern: >-
                                      ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
                                  effectivePercentage:
                                    type: string
                                    pattern: >-
                                      ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
                              votingRights:
                                type: object
                                minProperties: 1
                                properties:
                                  declared:
                                    type: boolean
                                  directPercentage:
                                    type: string
                                    pattern: >-
                                      ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
                                  indirectPercentage:
                                    type: string
                                    pattern: >-
                                      ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
                                  effectivePercentage:
                                    type: string
                                    pattern: >-
                                      ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
                              control:
                                type: object
                                properties:
                                  declared:
                                    type: boolean
                                  direct:
                                    type: boolean
                                  indirect:
                                    type: boolean
                                  description:
                                    type: string
                                    minLength: 1
                                    maxLength: 4096
                                    description: >-
                                      Preserved narrative; line feed and tab are
                                      allowed and other controls are rejected.
                              person:
                                type: object
                                properties:
                                  firstName:
                                    type: string
                                    minLength: 1
                                    maxLength: 256
                                    description: >-
                                      Preserved exactly; leading/trailing
                                      whitespace and control characters are
                                      rejected.
                                  middleName:
                                    type: string
                                    minLength: 1
                                    maxLength: 256
                                    description: >-
                                      Preserved exactly; leading/trailing
                                      whitespace and control characters are
                                      rejected.
                                  lastName:
                                    type: string
                                    minLength: 1
                                    maxLength: 256
                                    description: >-
                                      Preserved exactly; leading/trailing
                                      whitespace and control characters are
                                      rejected.
                                  birthDate:
                                    type: string
                                    format: date
                                  birthCountry:
                                    type: string
                                    pattern: ^[A-Z]{2}$
                                    minLength: 2
                                    maxLength: 2
                                    description: ISO 3166-1 alpha-2 country code.
                                  nationalities:
                                    type: array
                                    uniqueItems: true
                                    items:
                                      type: string
                                      pattern: ^[A-Z]{2}$
                                      minLength: 2
                                      maxLength: 2
                                      description: ISO 3166-1 alpha-2 country code.
                                  residenceCountry:
                                    type: string
                                    pattern: ^[A-Z]{2}$
                                    minLength: 2
                                    maxLength: 2
                                    description: ISO 3166-1 alpha-2 country code.
                                  email:
                                    type: string
                                    format: email
                                    maxLength: 254
                                  phone:
                                    type: string
                                    pattern: ^\+[1-9][0-9]{1,14}$
                                  residentialAddress:
                                    type: object
                                    minProperties: 1
                                    properties:
                                      streetLine1:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                      streetLine2:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                      city:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                      state:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                      postalCode:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Identifier preserved exactly, without
                                          leading/trailing whitespace or controls.
                                      country:
                                        type: string
                                        pattern: ^[A-Z]{2}$
                                        minLength: 2
                                        maxLength: 2
                                        description: ISO 3166-1 alpha-2 country code.
                                    description: >-
                                      Progressively collected address with at
                                      least one supplied fact.
                                  mailingAddress:
                                    type: object
                                    minProperties: 1
                                    properties:
                                      streetLine1:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                      streetLine2:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                      city:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                      state:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                      postalCode:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Identifier preserved exactly, without
                                          leading/trailing whitespace or controls.
                                      country:
                                        type: string
                                        pattern: ^[A-Z]{2}$
                                        minLength: 2
                                        maxLength: 2
                                        description: ISO 3166-1 alpha-2 country code.
                                    description: >-
                                      Progressively collected address with at
                                      least one supplied fact.
                                  taxResidencies:
                                    type: array
                                    uniqueItems: true
                                    items:
                                      type: string
                                      pattern: ^[A-Z]{2}$
                                      minLength: 2
                                      maxLength: 2
                                      description: ISO 3166-1 alpha-2 country code.
                                  taxIdentifiers:
                                    type: array
                                    items:
                                      type: object
                                      required:
                                        - type
                                        - country
                                        - value
                                      properties:
                                        type:
                                          type: string
                                          enum:
                                            - ssn
                                            - itin
                                            - ein
                                            - tin
                                            - vat
                                            - cpf
                                            - cnpj
                                            - other
                                        typeDescription:
                                          type: string
                                          minLength: 1
                                          maxLength: 256
                                          description: >-
                                            Preserved exactly; leading/trailing
                                            whitespace and control characters are
                                            rejected.
                                        country:
                                          type: string
                                          pattern: ^[A-Z]{2}$
                                          minLength: 2
                                          maxLength: 2
                                          description: ISO 3166-1 alpha-2 country code.
                                        value:
                                          type: string
                                          minLength: 1
                                          maxLength: 256
                                          description: >-
                                            Identifier preserved exactly, without
                                            leading/trailing whitespace or controls.
                                      description: >-
                                        Tax identifier. typeDescription is
                                        required and allowed only for type
                                        other.
                                  identityDocuments:
                                    type: array
                                    items:
                                      type: object
                                      required:
                                        - type
                                        - issuingCountry
                                      properties:
                                        type:
                                          type: string
                                          enum:
                                            - passport
                                            - national_id
                                            - drivers_license
                                            - residence_permit
                                            - government_id
                                            - state_or_provincial_id
                                            - other
                                        typeDescription:
                                          type: string
                                          minLength: 1
                                          maxLength: 256
                                          description: >-
                                            Preserved exactly; leading/trailing
                                            whitespace and control characters are
                                            rejected.
                                        issuingCountry:
                                          type: string
                                          pattern: ^[A-Z]{2}$
                                          minLength: 2
                                          maxLength: 2
                                          description: ISO 3166-1 alpha-2 country code.
                                        issuingRegion:
                                          type: string
                                          minLength: 1
                                          maxLength: 256
                                          description: >-
                                            Preserved exactly; leading/trailing
                                            whitespace and control characters are
                                            rejected.
                                        number:
                                          type: string
                                          minLength: 1
                                          maxLength: 256
                                          description: >-
                                            Identifier preserved exactly, without
                                            leading/trailing whitespace or controls.
                                        issuedOn:
                                          type: string
                                          format: date
                                        expiresOn:
                                          type: string
                                          format: date
                                        doesNotExpire:
                                          type: boolean
                                      description: >-
                                        Identity-document metadata; number is
                                        optional and expiry facts are mutually
                                        consistent.
                                  employment:
                                    type: object
                                    minProperties: 1
                                    properties:
                                      status:
                                        type: string
                                        enum:
                                          - employed
                                          - self_employed
                                          - unemployed
                                          - student
                                          - retired
                                          - homemaker
                                          - other
                                      statusDescription:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                      occupation:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                    description: >-
                                      Employment requires status or occupation;
                                      statusDescription is exclusive to other.
                                description: >-
                                  Reusable progressively collected individual
                                  identity facts.
                          - type: object
                            required:
                              - partyType
                              - roles
                              - entity
                            properties:
                              partyType:
                                type: string
                                enum:
                                  - entity
                              roles:
                                type: array
                                uniqueItems: true
                                items:
                                  type: string
                                  enum:
                                    - control_person
                                    - director
                                    - officer
                                    - authorized_signer
                                    - authorized_representative
                                    - compliance_officer
                                    - primary_contact
                                    - account_administrator
                                    - trustee
                                    - settlor
                                    - protector
                                    - beneficiary
                                    - general_partner
                                    - limited_partner
                                    - other
                              roleDescription:
                                type: string
                                minLength: 1
                                maxLength: 256
                                description: >-
                                  Preserved exactly; leading/trailing whitespace
                                  and control characters are rejected.
                              title:
                                type: string
                                minLength: 1
                                maxLength: 256
                                description: >-
                                  Preserved exactly; leading/trailing whitespace
                                  and control characters are rejected.
                              ownership:
                                type: object
                                minProperties: 1
                                properties:
                                  declared:
                                    type: boolean
                                  directPercentage:
                                    type: string
                                    pattern: >-
                                      ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
                                  indirectPercentage:
                                    type: string
                                    pattern: >-
                                      ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
                                  effectivePercentage:
                                    type: string
                                    pattern: >-
                                      ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
                              votingRights:
                                type: object
                                minProperties: 1
                                properties:
                                  declared:
                                    type: boolean
                                  directPercentage:
                                    type: string
                                    pattern: >-
                                      ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
                                  indirectPercentage:
                                    type: string
                                    pattern: >-
                                      ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
                                  effectivePercentage:
                                    type: string
                                    pattern: >-
                                      ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
                              control:
                                type: object
                                properties:
                                  declared:
                                    type: boolean
                                  direct:
                                    type: boolean
                                  indirect:
                                    type: boolean
                                  description:
                                    type: string
                                    minLength: 1
                                    maxLength: 4096
                                    description: >-
                                      Preserved narrative; line feed and tab are
                                      allowed and other controls are rejected.
                              entity:
                                type: object
                                required:
                                  - legalName
                                properties:
                                  legalName:
                                    type: string
                                    minLength: 1
                                    maxLength: 256
                                    description: >-
                                      Preserved exactly; leading/trailing
                                      whitespace and control characters are
                                      rejected.
                                  tradeNames:
                                    type: array
                                    uniqueItems: true
                                    items:
                                      type: string
                                      minLength: 1
                                      maxLength: 256
                                      description: >-
                                        Preserved exactly; leading/trailing
                                        whitespace and control characters are
                                        rejected.
                                  legalForm:
                                    type: string
                                    enum:
                                      - corporation
                                      - limited_liability_company
                                      - partnership
                                      - limited_partnership
                                      - sole_proprietorship
                                      - nonprofit
                                      - cooperative
                                      - association
                                      - professional_association
                                      - foundation
                                      - trust
                                      - investment_fund
                                      - society
                                      - dao
                                      - government_entity
                                      - other
                                  legalFormDescription:
                                    type: string
                                    minLength: 1
                                    maxLength: 256
                                    description: >-
                                      Preserved exactly; leading/trailing
                                      whitespace and control characters are
                                      rejected.
                                  email:
                                    type: string
                                    format: email
                                    maxLength: 254
                                  complianceEmail:
                                    type: string
                                    format: email
                                    maxLength: 254
                                  phone:
                                    type: string
                                    pattern: ^\+[1-9][0-9]{1,14}$
                                  websites:
                                    type: array
                                    uniqueItems: true
                                    items:
                                      type: string
                                      format: uri
                                      maxLength: 2048
                                  description:
                                    type: string
                                    minLength: 1
                                    maxLength: 4096
                                    description: >-
                                      Preserved narrative; line feed and tab are
                                      allowed and other controls are rejected.
                                  productsAndServices:
                                    type: string
                                    minLength: 1
                                    maxLength: 4096
                                    description: >-
                                      Preserved narrative; line feed and tab are
                                      allowed and other controls are rejected.
                                  industryClassifications:
                                    type: array
                                    items:
                                      type: object
                                      required:
                                        - scheme
                                        - code
                                      properties:
                                        scheme:
                                          type: string
                                          enum:
                                            - naics
                                            - sic
                                            - nace
                                            - isic
                                            - mcc
                                            - other
                                        schemeDescription:
                                          type: string
                                          minLength: 1
                                          maxLength: 256
                                          description: >-
                                            Preserved exactly; leading/trailing
                                            whitespace and control characters are
                                            rejected.
                                        code:
                                          type: string
                                          minLength: 1
                                          maxLength: 256
                                          description: >-
                                            Identifier preserved exactly, without
                                            leading/trailing whitespace or controls.
                                  customerTypes:
                                    type: array
                                    uniqueItems: true
                                    items:
                                      type: string
                                      enum:
                                        - individual
                                        - business
                                        - financial_institution
                                        - government
                                        - nonprofit
                                        - other
                                  customerTypeDescription:
                                    type: string
                                    minLength: 1
                                    maxLength: 256
                                    description: >-
                                      Preserved exactly; leading/trailing
                                      whitespace and control characters are
                                      rejected.
                                  salesChannels:
                                    type: array
                                    uniqueItems: true
                                    items:
                                      type: string
                                      enum:
                                        - online
                                        - in_person
                                        - marketplace
                                        - mobile_app
                                        - business_to_business
                                        - other
                                  salesChannelDescription:
                                    type: string
                                    minLength: 1
                                    maxLength: 256
                                    description: >-
                                      Preserved exactly; leading/trailing
                                      whitespace and control characters are
                                      rejected.
                                  registration:
                                    type: object
                                    minProperties: 1
                                    properties:
                                      jurisdiction:
                                        type: object
                                        required:
                                          - country
                                        properties:
                                          country:
                                            type: string
                                            pattern: ^[A-Z]{2}$
                                            minLength: 2
                                            maxLength: 2
                                            description: ISO 3166-1 alpha-2 country code.
                                          region:
                                            type: string
                                            minLength: 1
                                            maxLength: 256
                                            description: >-
                                              Preserved exactly; leading/trailing
                                              whitespace and control characters are
                                              rejected.
                                        description: >-
                                          Country and optional country-specific
                                          registration region.
                                      number:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Identifier preserved exactly, without
                                          leading/trailing whitespace or controls.
                                      formationDate:
                                        type: string
                                        format: date
                                  registeredAddress:
                                    type: object
                                    minProperties: 1
                                    properties:
                                      streetLine1:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                      streetLine2:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                      city:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                      state:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                      postalCode:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Identifier preserved exactly, without
                                          leading/trailing whitespace or controls.
                                      country:
                                        type: string
                                        pattern: ^[A-Z]{2}$
                                        minLength: 2
                                        maxLength: 2
                                        description: ISO 3166-1 alpha-2 country code.
                                    description: >-
                                      Progressively collected address with at
                                      least one supplied fact.
                                  operatingAddress:
                                    type: object
                                    minProperties: 1
                                    properties:
                                      streetLine1:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                      streetLine2:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                      city:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                      state:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                      postalCode:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Identifier preserved exactly, without
                                          leading/trailing whitespace or controls.
                                      country:
                                        type: string
                                        pattern: ^[A-Z]{2}$
                                        minLength: 2
                                        maxLength: 2
                                        description: ISO 3166-1 alpha-2 country code.
                                    description: >-
                                      Progressively collected address with at
                                      least one supplied fact.
                                  mailingAddress:
                                    type: object
                                    minProperties: 1
                                    properties:
                                      streetLine1:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                      streetLine2:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                      city:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                      state:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                      postalCode:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Identifier preserved exactly, without
                                          leading/trailing whitespace or controls.
                                      country:
                                        type: string
                                        pattern: ^[A-Z]{2}$
                                        minLength: 2
                                        maxLength: 2
                                        description: ISO 3166-1 alpha-2 country code.
                                    description: >-
                                      Progressively collected address with at
                                      least one supplied fact.
                                  operatingCountries:
                                    type: array
                                    uniqueItems: true
                                    items:
                                      type: string
                                      pattern: ^[A-Z]{2}$
                                      minLength: 2
                                      maxLength: 2
                                      description: ISO 3166-1 alpha-2 country code.
                                  taxResidencies:
                                    type: array
                                    uniqueItems: true
                                    items:
                                      type: string
                                      pattern: ^[A-Z]{2}$
                                      minLength: 2
                                      maxLength: 2
                                      description: ISO 3166-1 alpha-2 country code.
                                  taxIdentifiers:
                                    type: array
                                    items:
                                      type: object
                                      required:
                                        - type
                                        - country
                                        - value
                                      properties:
                                        type:
                                          type: string
                                          enum:
                                            - ssn
                                            - itin
                                            - ein
                                            - tin
                                            - vat
                                            - cpf
                                            - cnpj
                                            - other
                                        typeDescription:
                                          type: string
                                          minLength: 1
                                          maxLength: 256
                                          description: >-
                                            Preserved exactly; leading/trailing
                                            whitespace and control characters are
                                            rejected.
                                        country:
                                          type: string
                                          pattern: ^[A-Z]{2}$
                                          minLength: 2
                                          maxLength: 2
                                          description: ISO 3166-1 alpha-2 country code.
                                        value:
                                          type: string
                                          minLength: 1
                                          maxLength: 256
                                          description: >-
                                            Identifier preserved exactly, without
                                            leading/trailing whitespace or controls.
                                      description: >-
                                        Tax identifier. typeDescription is
                                        required and allowed only for type
                                        other.
                                  publicListing:
                                    type: object
                                    minProperties: 1
                                    properties:
                                      exchange:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Preserved exactly; leading/trailing
                                          whitespace and control characters are
                                          rejected.
                                      ticker:
                                        type: string
                                        minLength: 1
                                        maxLength: 256
                                        description: >-
                                          Identifier preserved exactly, without
                                          leading/trailing whitespace or controls.
                                      jurisdiction:
                                        type: object
                                        required:
                                          - country
                                        properties:
                                          country:
                                            type: string
                                            pattern: ^[A-Z]{2}$
                                            minLength: 2
                                            maxLength: 2
                                            description: ISO 3166-1 alpha-2 country code.
                                          region:
                                            type: string
                                            minLength: 1
                                            maxLength: 256
                                            description: >-
                                              Preserved exactly; leading/trailing
                                              whitespace and control characters are
                                              rejected.
                                        description: >-
                                          Country and optional country-specific
                                          registration region.
                                  regulatoryStatus:
                                    type: string
                                    enum:
                                      - regulated
                                      - pending
                                      - unregulated
                                      - exempt
                                  regulatoryRegistrations:
                                    type: array
                                    items:
                                      type: object
                                      required:
                                        - type
                                        - jurisdiction
                                      properties:
                                        type:
                                          type: string
                                          enum:
                                            - money_transmitter
                                            - money_services_business
                                            - bank
                                            - electronic_money_institution
                                            - payment_institution
                                            - virtual_asset_service_provider
                                            - broker_dealer
                                            - investment_adviser
                                            - lender
                                            - other
                                        typeDescription:
                                          type: string
                                          minLength: 1
                                          maxLength: 256
                                          description: >-
                                            Preserved exactly; leading/trailing
                                            whitespace and control characters are
                                            rejected.
                                        jurisdiction:
                                          type: object
                                          required:
                                            - country
                                          properties:
                                            country:
                                              type: string
                                              pattern: ^[A-Z]{2}$
                                              minLength: 2
                                              maxLength: 2
                                              description: ISO 3166-1 alpha-2 country code.
                                            region:
                                              type: string
                                              minLength: 1
                                              maxLength: 256
                                              description: >-
                                                Preserved exactly; leading/trailing
                                                whitespace and control characters are
                                                rejected.
                                          description: >-
                                            Country and optional country-specific
                                            registration region.
                                        authority:
                                          type: string
                                          minLength: 1
                                          maxLength: 256
                                          description: >-
                                            Preserved exactly; leading/trailing
                                            whitespace and control characters are
                                            rejected.
                                        number:
                                          type: string
                                          minLength: 1
                                          maxLength: 256
                                          description: >-
                                            Identifier preserved exactly, without
                                            leading/trailing whitespace or controls.
                                        status:
                                          type: string
                                          enum:
                                            - active
                                            - pending
                                            - suspended
                                            - revoked
                                            - expired
                                        issuedOn:
                                          type: string
                                          format: date
                                        expiresOn:
                                          type: string
                                          format: date
                                description: >-
                                  Reusable business identity; legalName is the
                                  required anchor.
                        discriminator:
                          propertyName: partyType
                    metadata:
                      type: object
                      maxProperties: 50
                      additionalProperties:
                        anyOf:
                          - type: string
                            maxLength: 1024
                          - type: number
                          - type: boolean
                      description: >-
                        Developer-owned scalar metadata map with at most 50
                        entries.
              discriminator:
                propertyName: type
              description: >-
                Create a strict v3 customer union. Unknown request fields are
                silently ignored.
            examples:
              minimalIndividual:
                summary: Minimal individual
                value:
                  type: individual
              minimalBusiness:
                summary: Minimal business
                value:
                  type: business
                  business:
                    legalName: Acme Payments SAS
              businessWithRelatedParty:
                summary: Business with an inline related party
                value:
                  type: business
                  externalId: company_456
                  business:
                    legalName: Acme Payments SAS
                  relatedParties:
                    - partyType: person
                      roles:
                        - director
                      title: Chief executive officer
                      person:
                        firstName: Amina
                        lastName: Diallo
                        residenceCountry: FR
      responses:
        '201':
          description: Customer created successfully
          headers:
            Idempotency-Replayed:
              description: >-
                Present with value `true` when an idempotent request is
                replayed.
              schema:
                type: string
                enum:
                  - 'true'
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    $ref: '#/components/schemas/Customer'
              examples:
                minimalIndividual:
                  summary: Minimal individual
                  value:
                    data:
                      id: cus_01JINDIVIDUAL
                      type: individual
                      externalId: null
                      individual: {}
                      financialProfile: {}
                      metadata: {}
                      createdAt: '2026-07-15T18:20:00.000Z'
                      updatedAt: '2026-07-15T18:20:00.000Z'
                minimalBusiness:
                  summary: Minimal business
                  value:
                    data:
                      id: cus_01JBUSINESS
                      type: business
                      externalId: null
                      business:
                        legalName: Acme Payments SAS
                      financialProfile: {}
                      relatedParties: []
                      metadata: {}
                      createdAt: '2026-07-15T18:20:00.000Z'
                      updatedAt: '2026-07-15T18:20:00.000Z'
                businessWithRelatedParty:
                  summary: Business with an inline related party
                  value:
                    data:
                      id: cus_01JBUSINESS
                      type: business
                      externalId: company_456
                      business:
                        legalName: Acme Payments SAS
                      financialProfile: {}
                      relatedParties:
                        - id: rp_01JDIRECTOR
                          customerId: cus_01JBUSINESS
                          partyType: person
                          roles:
                            - director
                          title: Chief executive officer
                          person:
                            firstName: Amina
                            lastName: Diallo
                            residenceCountry: FR
                          createdAt: '2026-07-15T18:20:00.000Z'
                          updatedAt: '2026-07-15T18:20:00.000Z'
                      metadata: {}
                      createdAt: '2026-07-15T18:20:00.000Z'
                      updatedAt: '2026-07-15T18:20:00.000Z'
        '400':
          description: >-
            Invalid request body, wrong customer-union field, or missing
            idempotency key.
          content:
            application/problem+json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - type
                  - title
                  - status
                  - code
                  - detail
                  - correlationId
                properties:
                  type:
                    type: string
                    format: uri
                    description: Documentation URL for this stable problem code.
                  title:
                    type: string
                    description: Short human-readable problem title.
                  status:
                    type: integer
                    minimum: 400
                    maximum: 599
                    description: HTTP status code.
                  code:
                    type: string
                    enum:
                      - validation_error
                      - invalid_field_for_type
                    description: Stable snake_case error code.
                  detail:
                    type: string
                    description: Actionable problem detail for legitimate callers.
                  correlationId:
                    type: string
                    description: Request correlation id. Mirrors `X-Request-Id`.
                  transferId:
                    type: string
                    description: >-
                      Existing transfer that consumed the quote. Present on
                      `quote_already_executed`.
                  retryable:
                    type: boolean
                    description: Whether retrying the same request may succeed.
                  errors:
                    type: array
                    description: Field-level validation errors.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - pointer
                        - code
                        - message
                      properties:
                        pointer:
                          type: string
                          description: JSON Pointer into the request body.
                        code:
                          type: string
                          description: Machine-readable field error code.
                        message:
                          type: string
                          description: Human-readable field error message.
                  statusReason:
                    type: object
                    description: >-
                      Structured reason for a state conflict when the failed
                      operation depends on the resource's current status.
                    required:
                      - code
                      - message
                      - actor
                      - retryable
                    properties:
                      code:
                        type: string
                        description: >-
                          Stable snake_case reason code from the documented
                          catalog.
                        example: sanctions_screening_failed
                      message:
                        type: string
                        description: Human-readable explanation of the current status.
                      actor:
                        type: string
                        enum:
                          - customer
                          - developer
                          - provider
                          - network
                          - swipelux
                        description: >-
                          Party whose action moves the resource forward: the end
                          customer, the developer integrating the API, the
                          underlying provider, payment network or rail, or
                          Swipelux. Closed enum — exhaustive; additions would be
                          a breaking change.
                      retryable:
                        type: boolean
                        description: >-
                          Whether retrying the blocked operation without
                          changing its inputs or state may succeed.
                  reviewAnswer:
                    type: string
                    nullable: true
                    description: Verification review answer when supplied by the verifier.
                  capabilities:
                    type: array
                    minItems: 1
                    items:
                      type: string
                    description: Capability ids that satisfy the failed operation.
                  blockingResources:
                    type: array
                    minItems: 1
                    description: >-
                      Customer resources that must be resolved before the
                      requested operation can proceed, sorted by type and id.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - type
                        - id
                        - requiredAction
                      properties:
                        type:
                          type: string
                          enum:
                            - account
                            - transfer
                        id:
                          type: string
                          description: Public id of the blocking resource.
                        requiredAction:
                          type: string
                          enum:
                            - archive_account
                            - cancel_transfer
                            - wait_for_transfer
                            - resolve_transfer
                          description: Next action required before retrying the operation.
              examples:
                invalidFieldForType:
                  summary: Field belongs to the other union branch
                  value:
                    type: https://docs.swipelux.com/errors/invalid-field-for-type
                    title: Invalid Field For Type
                    status: 400
                    code: invalid_field_for_type
                    detail: >-
                      Request contains fields invalid for the selected customer
                      type.
                    correlationId: 01JERRORINVALIDBRANCH
                    retryable: false
                    errors:
                      - pointer: /business
                        code: invalid_field_for_type
                        message: Field is not valid for customer type individual.
        '401':
          description: Authentication required.
          content:
            application/problem+json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - type
                  - title
                  - status
                  - code
                  - detail
                  - correlationId
                properties:
                  type:
                    type: string
                    format: uri
                    description: Documentation URL for this stable problem code.
                  title:
                    type: string
                    description: Short human-readable problem title.
                  status:
                    type: integer
                    minimum: 400
                    maximum: 599
                    description: HTTP status code.
                  code:
                    type: string
                    description: Stable snake_case error code.
                  detail:
                    type: string
                    description: Actionable problem detail for legitimate callers.
                  correlationId:
                    type: string
                    description: Request correlation id. Mirrors `X-Request-Id`.
                  transferId:
                    type: string
                    description: >-
                      Existing transfer that consumed the quote. Present on
                      `quote_already_executed`.
                  retryable:
                    type: boolean
                    description: Whether retrying the same request may succeed.
                  errors:
                    type: array
                    description: Field-level validation errors.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - pointer
                        - code
                        - message
                      properties:
                        pointer:
                          type: string
                          description: JSON Pointer into the request body.
                        code:
                          type: string
                          description: Machine-readable field error code.
                        message:
                          type: string
                          description: Human-readable field error message.
                  statusReason:
                    type: object
                    description: >-
                      Structured reason for a state conflict when the failed
                      operation depends on the resource's current status.
                    required:
                      - code
                      - message
                      - actor
                      - retryable
                    properties:
                      code:
                        type: string
                        description: >-
                          Stable snake_case reason code from the documented
                          catalog.
                        example: sanctions_screening_failed
                      message:
                        type: string
                        description: Human-readable explanation of the current status.
                      actor:
                        type: string
                        enum:
                          - customer
                          - developer
                          - provider
                          - network
                          - swipelux
                        description: >-
                          Party whose action moves the resource forward: the end
                          customer, the developer integrating the API, the
                          underlying provider, payment network or rail, or
                          Swipelux. Closed enum — exhaustive; additions would be
                          a breaking change.
                      retryable:
                        type: boolean
                        description: >-
                          Whether retrying the blocked operation without
                          changing its inputs or state may succeed.
                  reviewAnswer:
                    type: string
                    nullable: true
                    description: Verification review answer when supplied by the verifier.
                  capabilities:
                    type: array
                    minItems: 1
                    items:
                      type: string
                    description: Capability ids that satisfy the failed operation.
                  blockingResources:
                    type: array
                    minItems: 1
                    description: >-
                      Customer resources that must be resolved before the
                      requested operation can proceed, sorted by type and id.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - type
                        - id
                        - requiredAction
                      properties:
                        type:
                          type: string
                          enum:
                            - account
                            - transfer
                        id:
                          type: string
                          description: Public id of the blocking resource.
                        requiredAction:
                          type: string
                          enum:
                            - archive_account
                            - cancel_transfer
                            - wait_for_transfer
                            - resolve_transfer
                          description: Next action required before retrying the operation.
        '403':
          description: Insufficient permissions.
          content:
            application/problem+json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - type
                  - title
                  - status
                  - code
                  - detail
                  - correlationId
                properties:
                  type:
                    type: string
                    format: uri
                    description: Documentation URL for this stable problem code.
                  title:
                    type: string
                    description: Short human-readable problem title.
                  status:
                    type: integer
                    minimum: 400
                    maximum: 599
                    description: HTTP status code.
                  code:
                    type: string
                    description: Stable snake_case error code.
                  detail:
                    type: string
                    description: Actionable problem detail for legitimate callers.
                  correlationId:
                    type: string
                    description: Request correlation id. Mirrors `X-Request-Id`.
                  transferId:
                    type: string
                    description: >-
                      Existing transfer that consumed the quote. Present on
                      `quote_already_executed`.
                  retryable:
                    type: boolean
                    description: Whether retrying the same request may succeed.
                  errors:
                    type: array
                    description: Field-level validation errors.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - pointer
                        - code
                        - message
                      properties:
                        pointer:
                          type: string
                          description: JSON Pointer into the request body.
                        code:
                          type: string
                          description: Machine-readable field error code.
                        message:
                          type: string
                          description: Human-readable field error message.
                  statusReason:
                    type: object
                    description: >-
                      Structured reason for a state conflict when the failed
                      operation depends on the resource's current status.
                    required:
                      - code
                      - message
                      - actor
                      - retryable
                    properties:
                      code:
                        type: string
                        description: >-
                          Stable snake_case reason code from the documented
                          catalog.
                        example: sanctions_screening_failed
                      message:
                        type: string
                        description: Human-readable explanation of the current status.
                      actor:
                        type: string
                        enum:
                          - customer
                          - developer
                          - provider
                          - network
                          - swipelux
                        description: >-
                          Party whose action moves the resource forward: the end
                          customer, the developer integrating the API, the
                          underlying provider, payment network or rail, or
                          Swipelux. Closed enum — exhaustive; additions would be
                          a breaking change.
                      retryable:
                        type: boolean
                        description: >-
                          Whether retrying the blocked operation without
                          changing its inputs or state may succeed.
                  reviewAnswer:
                    type: string
                    nullable: true
                    description: Verification review answer when supplied by the verifier.
                  capabilities:
                    type: array
                    minItems: 1
                    items:
                      type: string
                    description: Capability ids that satisfy the failed operation.
                  blockingResources:
                    type: array
                    minItems: 1
                    description: >-
                      Customer resources that must be resolved before the
                      requested operation can proceed, sorted by type and id.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - type
                        - id
                        - requiredAction
                      properties:
                        type:
                          type: string
                          enum:
                            - account
                            - transfer
                        id:
                          type: string
                          description: Public id of the blocking resource.
                        requiredAction:
                          type: string
                          enum:
                            - archive_account
                            - cancel_transfer
                            - wait_for_transfer
                            - resolve_transfer
                          description: Next action required before retrying the operation.
        '404':
          description: Resource not found.
          content:
            application/problem+json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - type
                  - title
                  - status
                  - code
                  - detail
                  - correlationId
                properties:
                  type:
                    type: string
                    format: uri
                    description: Documentation URL for this stable problem code.
                  title:
                    type: string
                    description: Short human-readable problem title.
                  status:
                    type: integer
                    minimum: 400
                    maximum: 599
                    description: HTTP status code.
                  code:
                    type: string
                    description: Stable snake_case error code.
                  detail:
                    type: string
                    description: Actionable problem detail for legitimate callers.
                  correlationId:
                    type: string
                    description: Request correlation id. Mirrors `X-Request-Id`.
                  transferId:
                    type: string
                    description: >-
                      Existing transfer that consumed the quote. Present on
                      `quote_already_executed`.
                  retryable:
                    type: boolean
                    description: Whether retrying the same request may succeed.
                  errors:
                    type: array
                    description: Field-level validation errors.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - pointer
                        - code
                        - message
                      properties:
                        pointer:
                          type: string
                          description: JSON Pointer into the request body.
                        code:
                          type: string
                          description: Machine-readable field error code.
                        message:
                          type: string
                          description: Human-readable field error message.
                  statusReason:
                    type: object
                    description: >-
                      Structured reason for a state conflict when the failed
                      operation depends on the resource's current status.
                    required:
                      - code
                      - message
                      - actor
                      - retryable
                    properties:
                      code:
                        type: string
                        description: >-
                          Stable snake_case reason code from the documented
                          catalog.
                        example: sanctions_screening_failed
                      message:
                        type: string
                        description: Human-readable explanation of the current status.
                      actor:
                        type: string
                        enum:
                          - customer
                          - developer
                          - provider
                          - network
                          - swipelux
                        description: >-
                          Party whose action moves the resource forward: the end
                          customer, the developer integrating the API, the
                          underlying provider, payment network or rail, or
                          Swipelux. Closed enum — exhaustive; additions would be
                          a breaking change.
                      retryable:
                        type: boolean
                        description: >-
                          Whether retrying the blocked operation without
                          changing its inputs or state may succeed.
                  reviewAnswer:
                    type: string
                    nullable: true
                    description: Verification review answer when supplied by the verifier.
                  capabilities:
                    type: array
                    minItems: 1
                    items:
                      type: string
                    description: Capability ids that satisfy the failed operation.
                  blockingResources:
                    type: array
                    minItems: 1
                    description: >-
                      Customer resources that must be resolved before the
                      requested operation can proceed, sorted by type and id.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - type
                        - id
                        - requiredAction
                      properties:
                        type:
                          type: string
                          enum:
                            - account
                            - transfer
                        id:
                          type: string
                          description: Public id of the blocking resource.
                        requiredAction:
                          type: string
                          enum:
                            - archive_account
                            - cancel_transfer
                            - wait_for_transfer
                            - resolve_transfer
                          description: Next action required before retrying the operation.
        '409':
          description: Duplicate externalId, idempotency conflict, or request in progress.
          content:
            application/problem+json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - type
                  - title
                  - status
                  - code
                  - detail
                  - correlationId
                properties:
                  type:
                    type: string
                    format: uri
                    description: Documentation URL for this stable problem code.
                  title:
                    type: string
                    description: Short human-readable problem title.
                  status:
                    type: integer
                    minimum: 400
                    maximum: 599
                    description: HTTP status code.
                  code:
                    type: string
                    enum:
                      - duplicate_external_id
                      - idempotency_conflict
                      - idempotency_request_in_progress
                    description: Stable snake_case error code.
                  detail:
                    type: string
                    description: Actionable problem detail for legitimate callers.
                  correlationId:
                    type: string
                    description: Request correlation id. Mirrors `X-Request-Id`.
                  transferId:
                    type: string
                    description: >-
                      Existing transfer that consumed the quote. Present on
                      `quote_already_executed`.
                  retryable:
                    type: boolean
                    description: Whether retrying the same request may succeed.
                  errors:
                    type: array
                    description: Field-level validation errors.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - pointer
                        - code
                        - message
                      properties:
                        pointer:
                          type: string
                          description: JSON Pointer into the request body.
                        code:
                          type: string
                          description: Machine-readable field error code.
                        message:
                          type: string
                          description: Human-readable field error message.
                  statusReason:
                    type: object
                    description: >-
                      Structured reason for a state conflict when the failed
                      operation depends on the resource's current status.
                    required:
                      - code
                      - message
                      - actor
                      - retryable
                    properties:
                      code:
                        type: string
                        description: >-
                          Stable snake_case reason code from the documented
                          catalog.
                        example: sanctions_screening_failed
                      message:
                        type: string
                        description: Human-readable explanation of the current status.
                      actor:
                        type: string
                        enum:
                          - customer
                          - developer
                          - provider
                          - network
                          - swipelux
                        description: >-
                          Party whose action moves the resource forward: the end
                          customer, the developer integrating the API, the
                          underlying provider, payment network or rail, or
                          Swipelux. Closed enum — exhaustive; additions would be
                          a breaking change.
                      retryable:
                        type: boolean
                        description: >-
                          Whether retrying the blocked operation without
                          changing its inputs or state may succeed.
                  reviewAnswer:
                    type: string
                    nullable: true
                    description: Verification review answer when supplied by the verifier.
                  capabilities:
                    type: array
                    minItems: 1
                    items:
                      type: string
                    description: Capability ids that satisfy the failed operation.
                  blockingResources:
                    type: array
                    minItems: 1
                    description: >-
                      Customer resources that must be resolved before the
                      requested operation can proceed, sorted by type and id.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - type
                        - id
                        - requiredAction
                      properties:
                        type:
                          type: string
                          enum:
                            - account
                            - transfer
                        id:
                          type: string
                          description: Public id of the blocking resource.
                        requiredAction:
                          type: string
                          enum:
                            - archive_account
                            - cancel_transfer
                            - wait_for_transfer
                            - resolve_transfer
                          description: Next action required before retrying the operation.
              examples:
                requestInProgress:
                  summary: An identical request is still in progress
                  value:
                    type: >-
                      https://docs.swipelux.com/errors/idempotency-request-in-progress
                    title: Idempotency Request In Progress
                    status: 409
                    code: idempotency_request_in_progress
                    detail: A request with this Idempotency-Key is still in progress.
                    correlationId: 01JERRORIDEMPOTENCY
                    retryable: true
        '422':
          description: Merchant KYB is not approved for this live space.
          content:
            application/problem+json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - type
                  - title
                  - status
                  - code
                  - detail
                  - correlationId
                properties:
                  type:
                    type: string
                    format: uri
                    description: Documentation URL for this stable problem code.
                  title:
                    type: string
                    description: Short human-readable problem title.
                  status:
                    type: integer
                    minimum: 400
                    maximum: 599
                    description: HTTP status code.
                  code:
                    type: string
                    enum:
                      - merchant_kyb_not_approved
                    description: Stable snake_case error code.
                  detail:
                    type: string
                    description: Actionable problem detail for legitimate callers.
                  correlationId:
                    type: string
                    description: Request correlation id. Mirrors `X-Request-Id`.
                  transferId:
                    type: string
                    description: >-
                      Existing transfer that consumed the quote. Present on
                      `quote_already_executed`.
                  retryable:
                    type: boolean
                    description: Whether retrying the same request may succeed.
                  errors:
                    type: array
                    description: Field-level validation errors.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - pointer
                        - code
                        - message
                      properties:
                        pointer:
                          type: string
                          description: JSON Pointer into the request body.
                        code:
                          type: string
                          description: Machine-readable field error code.
                        message:
                          type: string
                          description: Human-readable field error message.
                  statusReason:
                    type: object
                    description: >-
                      Structured reason for a state conflict when the failed
                      operation depends on the resource's current status.
                    required:
                      - code
                      - message
                      - actor
                      - retryable
                    properties:
                      code:
                        type: string
                        description: >-
                          Stable snake_case reason code from the documented
                          catalog.
                        example: sanctions_screening_failed
                      message:
                        type: string
                        description: Human-readable explanation of the current status.
                      actor:
                        type: string
                        enum:
                          - customer
                          - developer
                          - provider
                          - network
                          - swipelux
                        description: >-
                          Party whose action moves the resource forward: the end
                          customer, the developer integrating the API, the
                          underlying provider, payment network or rail, or
                          Swipelux. Closed enum — exhaustive; additions would be
                          a breaking change.
                      retryable:
                        type: boolean
                        description: >-
                          Whether retrying the blocked operation without
                          changing its inputs or state may succeed.
                  reviewAnswer:
                    type: string
                    nullable: true
                    description: Verification review answer when supplied by the verifier.
                  capabilities:
                    type: array
                    minItems: 1
                    items:
                      type: string
                    description: Capability ids that satisfy the failed operation.
                  blockingResources:
                    type: array
                    minItems: 1
                    description: >-
                      Customer resources that must be resolved before the
                      requested operation can proceed, sorted by type and id.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - type
                        - id
                        - requiredAction
                      properties:
                        type:
                          type: string
                          enum:
                            - account
                            - transfer
                        id:
                          type: string
                          description: Public id of the blocking resource.
                        requiredAction:
                          type: string
                          enum:
                            - archive_account
                            - cancel_transfer
                            - wait_for_transfer
                            - resolve_transfer
                          description: Next action required before retrying the operation.
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - type
                  - title
                  - status
                  - code
                  - detail
                  - correlationId
                properties:
                  type:
                    type: string
                    format: uri
                    description: Documentation URL for this stable problem code.
                  title:
                    type: string
                    description: Short human-readable problem title.
                  status:
                    type: integer
                    minimum: 400
                    maximum: 599
                    description: HTTP status code.
                  code:
                    type: string
                    description: Stable snake_case error code.
                  detail:
                    type: string
                    description: Actionable problem detail for legitimate callers.
                  correlationId:
                    type: string
                    description: Request correlation id. Mirrors `X-Request-Id`.
                  transferId:
                    type: string
                    description: >-
                      Existing transfer that consumed the quote. Present on
                      `quote_already_executed`.
                  retryable:
                    type: boolean
                    description: Whether retrying the same request may succeed.
                  errors:
                    type: array
                    description: Field-level validation errors.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - pointer
                        - code
                        - message
                      properties:
                        pointer:
                          type: string
                          description: JSON Pointer into the request body.
                        code:
                          type: string
                          description: Machine-readable field error code.
                        message:
                          type: string
                          description: Human-readable field error message.
                  statusReason:
                    type: object
                    description: >-
                      Structured reason for a state conflict when the failed
                      operation depends on the resource's current status.
                    required:
                      - code
                      - message
                      - actor
                      - retryable
                    properties:
                      code:
                        type: string
                        description: >-
                          Stable snake_case reason code from the documented
                          catalog.
                        example: sanctions_screening_failed
                      message:
                        type: string
                        description: Human-readable explanation of the current status.
                      actor:
                        type: string
                        enum:
                          - customer
                          - developer
                          - provider
                          - network
                          - swipelux
                        description: >-
                          Party whose action moves the resource forward: the end
                          customer, the developer integrating the API, the
                          underlying provider, payment network or rail, or
                          Swipelux. Closed enum — exhaustive; additions would be
                          a breaking change.
                      retryable:
                        type: boolean
                        description: >-
                          Whether retrying the blocked operation without
                          changing its inputs or state may succeed.
                  reviewAnswer:
                    type: string
                    nullable: true
                    description: Verification review answer when supplied by the verifier.
                  capabilities:
                    type: array
                    minItems: 1
                    items:
                      type: string
                    description: Capability ids that satisfy the failed operation.
                  blockingResources:
                    type: array
                    minItems: 1
                    description: >-
                      Customer resources that must be resolved before the
                      requested operation can proceed, sorted by type and id.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - type
                        - id
                        - requiredAction
                      properties:
                        type:
                          type: string
                          enum:
                            - account
                            - transfer
                        id:
                          type: string
                          description: Public id of the blocking resource.
                        requiredAction:
                          type: string
                          enum:
                            - archive_account
                            - cancel_transfer
                            - wait_for_transfer
                            - resolve_transfer
                          description: Next action required before retrying the operation.
components:
  schemas:
    Customer:
      oneOf:
        - type: object
          additionalProperties: false
          required:
            - id
            - type
            - externalId
            - individual
            - financialProfile
            - metadata
            - createdAt
            - updatedAt
          properties:
            id:
              type: string
              description: Immutable cus_ customer identifier.
              example: cus_9y1zvKQvGWX0altPGIqM6O
            externalId:
              type: string
              minLength: 1
              maxLength: 256
              pattern: ^[\x20-\x7E]+$
              description: >-
                Developer correlation identifier using 1-256 printable ASCII
                characters.
              nullable: true
            financialProfile:
              type: object
              additionalProperties: false
              properties:
                accountPurposes:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    enum:
                      - business_expenses
                      - charitable_donations
                      - cross_border_remittance
                      - ecommerce
                      - family_support
                      - investment
                      - payroll
                      - operate_company
                      - personal_expenses
                      - purchase_goods_and_services
                      - receive_freelance_payments
                      - receive_payments
                      - receive_salary
                      - tax_optimization
                      - tax_payments
                      - third_party_money_transmission
                      - treasury_management
                      - wealth_preservation
                      - other
                accountPurposeDescription:
                  type: string
                  minLength: 1
                  maxLength: 4096
                  description: >-
                    Preserved narrative; line feed and tab are allowed and other
                    controls are rejected.
                expectedTransactionPurposes:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    enum:
                      - business_payments
                      - charitable_donations
                      - cross_border_remittance
                      - family_support
                      - goods_and_services
                      - investment
                      - payroll
                      - personal_expenses
                      - receive_freelance_payments
                      - receive_salary
                      - wealth_preservation
                      - other
                expectedTransactionPurposeDescription:
                  type: string
                  minLength: 1
                  maxLength: 4096
                  description: >-
                    Preserved narrative; line feed and tab are allowed and other
                    controls are rejected.
                expectedActivityDescription:
                  type: string
                  minLength: 1
                  maxLength: 4096
                  description: >-
                    Preserved narrative; line feed and tab are allowed and other
                    controls are rejected.
                sourcesOfFunds:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    enum:
                      - salary
                      - savings
                      - business_revenue
                      - investment_income
                      - asset_sale
                      - inheritance
                      - gift
                      - pension
                      - government_benefits
                      - loan
                      - owner_contribution
                      - investor_contribution
                      - company_funds
                      - intercompany_funds
                      - investment_proceeds
                      - legal_settlement
                      - tax_refund
                      - treasury_reserves
                      - insurance_proceeds
                      - equity_compensation
                      - grants_and_donations
                      - third_party_funds
                      - gambling
                      - other
                sourceOfFundsDescription:
                  type: string
                  minLength: 1
                  maxLength: 4096
                  description: >-
                    Preserved narrative; line feed and tab are allowed and other
                    controls are rejected.
                sourcesOfWealth:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    enum:
                      - employment_income
                      - business_ownership
                      - investments
                      - business_dividends_or_profits
                      - client_or_investor_contributions
                      - charitable_contributions
                      - affiliate_income
                      - real_estate
                      - asset_sale
                      - inheritance
                      - gift
                      - gambling
                      - royalties
                      - other
                sourceOfWealthDescription:
                  type: string
                  minLength: 1
                  maxLength: 4096
                  description: >-
                    Preserved narrative; line feed and tab are allowed and other
                    controls are rejected.
                estimatedAnnualRevenue:
                  type: object
                  additionalProperties: false
                  required:
                    - amount
                    - currency
                  properties:
                    amount:
                      type: string
                      pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                      description: >-
                        Non-negative major-unit decimal string with at most 38
                        digits; currency scale is validated without rounding.
                    currency:
                      type: string
                      pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                      description: ISO 4217 alpha-3 code or documented stablecoin symbol.
                expectedMonthlyVolume:
                  type: object
                  additionalProperties: false
                  required:
                    - amount
                    - currency
                  properties:
                    amount:
                      type: string
                      pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                      description: >-
                        Non-negative major-unit decimal string with at most 38
                        digits; currency scale is validated without rounding.
                    currency:
                      type: string
                      pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                      description: ISO 4217 alpha-3 code or documented stablecoin symbol.
                expectedMonthlyPayinVolume:
                  type: object
                  additionalProperties: false
                  required:
                    - amount
                    - currency
                  properties:
                    amount:
                      type: string
                      pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                      description: >-
                        Non-negative major-unit decimal string with at most 38
                        digits; currency scale is validated without rounding.
                    currency:
                      type: string
                      pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                      description: ISO 4217 alpha-3 code or documented stablecoin symbol.
                expectedMonthlyPayoutVolume:
                  type: object
                  additionalProperties: false
                  required:
                    - amount
                    - currency
                  properties:
                    amount:
                      type: string
                      pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                      description: >-
                        Non-negative major-unit decimal string with at most 38
                        digits; currency scale is validated without rounding.
                    currency:
                      type: string
                      pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                      description: ISO 4217 alpha-3 code or documented stablecoin symbol.
                expectedMonthlyTransactionCount:
                  type: integer
                  minimum: 0
                  maximum: 2147483647
                typicalTransactionAmount:
                  type: object
                  additionalProperties: false
                  required:
                    - amount
                    - currency
                  properties:
                    amount:
                      type: string
                      pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                      description: >-
                        Non-negative major-unit decimal string with at most 38
                        digits; currency scale is validated without rounding.
                    currency:
                      type: string
                      pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                      description: ISO 4217 alpha-3 code or documented stablecoin symbol.
                maximumTransactionAmount:
                  type: object
                  additionalProperties: false
                  required:
                    - amount
                    - currency
                  properties:
                    amount:
                      type: string
                      pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                      description: >-
                        Non-negative major-unit decimal string with at most 38
                        digits; currency scale is validated without rounding.
                    currency:
                      type: string
                      pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                      description: ISO 4217 alpha-3 code or documented stablecoin symbol.
                expectedCurrencies:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                expectedCorridors:
                  type: array
                  items:
                    type: object
                    additionalProperties: false
                    required:
                      - fromCountry
                      - toCountry
                    properties:
                      fromCountry:
                        type: string
                        pattern: ^[A-Z]{2}$
                        minLength: 2
                        maxLength: 2
                        description: ISO 3166-1 alpha-2 country code.
                      toCountry:
                        type: string
                        pattern: ^[A-Z]{2}$
                        minLength: 2
                        maxLength: 2
                        description: ISO 3166-1 alpha-2 country code.
                      fromCurrency:
                        type: string
                        pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                      toCurrency:
                        type: string
                        pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                expectedCounterpartyEntityTypes:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    enum:
                      - individual
                      - business
                      - financial_institution
                      - government
                      - nonprofit
                      - exchange
                      - own_account
                      - other
                expectedCounterpartyEntityTypeDescription:
                  type: string
                  minLength: 1
                  maxLength: 4096
                  description: >-
                    Preserved narrative; line feed and tab are allowed and other
                    controls are rejected.
                expectedCounterpartyRelationships:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    enum:
                      - employee
                      - contractor
                      - vendor
                      - subsidiary
                      - merchant
                      - customer
                      - landlord
                      - family
                      - other
                expectedCounterpartyRelationshipDescription:
                  type: string
                  minLength: 1
                  maxLength: 4096
                  description: >-
                    Preserved narrative; line feed and tab are allowed and other
                    controls are rejected.
                flows:
                  type: object
                  additionalProperties: false
                  properties:
                    payin:
                      type: object
                      additionalProperties: false
                      required:
                        - firstParty
                        - thirdParty
                      properties:
                        firstParty:
                          type: boolean
                        thirdParty:
                          type: boolean
                    payout:
                      type: object
                      additionalProperties: false
                      required:
                        - firstParty
                        - thirdParty
                      properties:
                        firstParty:
                          type: boolean
                        thirdParty:
                          type: boolean
                fundsHandlingActivities:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    enum:
                      - receive
                      - hold
                      - pool
                      - aggregate
                      - convert
                      - settle
                      - forward
                      - disburse
                      - custody
                      - other
                fundsHandlingActivityDescription:
                  type: string
                  minLength: 1
                  maxLength: 4096
                  description: >-
                    Preserved narrative; line feed and tab are allowed and other
                    controls are rejected.
                actsAsIntermediary:
                  type: boolean
                ownAccountTreasuryOnly:
                  type: boolean
              description: >-
                Provider-neutral expected financial activity and funds-handling
                facts.
            metadata:
              type: object
              maxProperties: 50
              additionalProperties:
                anyOf:
                  - type: string
                    maxLength: 1024
                  - type: number
                  - type: boolean
              description: Developer-owned scalar metadata map with at most 50 entries.
            createdAt:
              type: string
              format: date-time
            updatedAt:
              type: string
              format: date-time
            type:
              type: string
              enum:
                - individual
            individual:
              type: object
              additionalProperties: false
              properties:
                firstName:
                  type: string
                  minLength: 1
                  maxLength: 256
                  description: >-
                    Preserved exactly; leading/trailing whitespace and control
                    characters are rejected.
                middleName:
                  type: string
                  minLength: 1
                  maxLength: 256
                  description: >-
                    Preserved exactly; leading/trailing whitespace and control
                    characters are rejected.
                lastName:
                  type: string
                  minLength: 1
                  maxLength: 256
                  description: >-
                    Preserved exactly; leading/trailing whitespace and control
                    characters are rejected.
                birthDate:
                  type: string
                  format: date
                birthCountry:
                  type: string
                  pattern: ^[A-Z]{2}$
                  minLength: 2
                  maxLength: 2
                  description: ISO 3166-1 alpha-2 country code.
                nationalities:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    pattern: ^[A-Z]{2}$
                    minLength: 2
                    maxLength: 2
                    description: ISO 3166-1 alpha-2 country code.
                residenceCountry:
                  type: string
                  pattern: ^[A-Z]{2}$
                  minLength: 2
                  maxLength: 2
                  description: ISO 3166-1 alpha-2 country code.
                email:
                  type: string
                  format: email
                  maxLength: 254
                phone:
                  type: string
                  pattern: ^\+[1-9][0-9]{1,14}$
                residentialAddress:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    streetLine1:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    streetLine2:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    city:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    state:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Identifier preserved exactly, without leading/trailing
                        whitespace or controls.
                    country:
                      type: string
                      pattern: ^[A-Z]{2}$
                      minLength: 2
                      maxLength: 2
                      description: ISO 3166-1 alpha-2 country code.
                  description: >-
                    Progressively collected address with at least one supplied
                    fact.
                mailingAddress:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    streetLine1:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    streetLine2:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    city:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    state:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Identifier preserved exactly, without leading/trailing
                        whitespace or controls.
                    country:
                      type: string
                      pattern: ^[A-Z]{2}$
                      minLength: 2
                      maxLength: 2
                      description: ISO 3166-1 alpha-2 country code.
                  description: >-
                    Progressively collected address with at least one supplied
                    fact.
                taxResidencies:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    pattern: ^[A-Z]{2}$
                    minLength: 2
                    maxLength: 2
                    description: ISO 3166-1 alpha-2 country code.
                taxIdentifiers:
                  type: array
                  items:
                    type: object
                    additionalProperties: false
                    required:
                      - type
                      - country
                      - value
                    properties:
                      type:
                        type: string
                        enum:
                          - ssn
                          - itin
                          - ein
                          - tin
                          - vat
                          - cpf
                          - cnpj
                          - other
                      typeDescription:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Preserved exactly; leading/trailing whitespace and
                          control characters are rejected.
                      country:
                        type: string
                        pattern: ^[A-Z]{2}$
                        minLength: 2
                        maxLength: 2
                        description: ISO 3166-1 alpha-2 country code.
                      value:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Identifier preserved exactly, without leading/trailing
                          whitespace or controls.
                    description: >-
                      Tax identifier. typeDescription is required and allowed
                      only for type other.
                identityDocuments:
                  type: array
                  items:
                    type: object
                    additionalProperties: false
                    required:
                      - type
                      - issuingCountry
                    properties:
                      type:
                        type: string
                        enum:
                          - passport
                          - national_id
                          - drivers_license
                          - residence_permit
                          - government_id
                          - state_or_provincial_id
                          - other
                      typeDescription:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Preserved exactly; leading/trailing whitespace and
                          control characters are rejected.
                      issuingCountry:
                        type: string
                        pattern: ^[A-Z]{2}$
                        minLength: 2
                        maxLength: 2
                        description: ISO 3166-1 alpha-2 country code.
                      issuingRegion:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Preserved exactly; leading/trailing whitespace and
                          control characters are rejected.
                      number:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Identifier preserved exactly, without leading/trailing
                          whitespace or controls.
                      issuedOn:
                        type: string
                        format: date
                      expiresOn:
                        type: string
                        format: date
                      doesNotExpire:
                        type: boolean
                    description: >-
                      Identity-document metadata; number is optional and expiry
                      facts are mutually consistent.
                employment:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    status:
                      type: string
                      enum:
                        - employed
                        - self_employed
                        - unemployed
                        - student
                        - retired
                        - homemaker
                        - other
                    statusDescription:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    occupation:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                  description: >-
                    Employment requires status or occupation; statusDescription
                    is exclusive to other.
              description: Reusable progressively collected individual identity facts.
        - type: object
          additionalProperties: false
          required:
            - id
            - type
            - externalId
            - business
            - financialProfile
            - relatedParties
            - metadata
            - createdAt
            - updatedAt
          properties:
            id:
              type: string
              description: Immutable cus_ customer identifier.
              example: cus_9y1zvKQvGWX0altPGIqM6O
            externalId:
              type: string
              minLength: 1
              maxLength: 256
              pattern: ^[\x20-\x7E]+$
              description: >-
                Developer correlation identifier using 1-256 printable ASCII
                characters.
              nullable: true
            financialProfile:
              type: object
              additionalProperties: false
              properties:
                accountPurposes:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    enum:
                      - business_expenses
                      - charitable_donations
                      - cross_border_remittance
                      - ecommerce
                      - family_support
                      - investment
                      - payroll
                      - operate_company
                      - personal_expenses
                      - purchase_goods_and_services
                      - receive_freelance_payments
                      - receive_payments
                      - receive_salary
                      - tax_optimization
                      - tax_payments
                      - third_party_money_transmission
                      - treasury_management
                      - wealth_preservation
                      - other
                accountPurposeDescription:
                  type: string
                  minLength: 1
                  maxLength: 4096
                  description: >-
                    Preserved narrative; line feed and tab are allowed and other
                    controls are rejected.
                expectedTransactionPurposes:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    enum:
                      - business_payments
                      - charitable_donations
                      - cross_border_remittance
                      - family_support
                      - goods_and_services
                      - investment
                      - payroll
                      - personal_expenses
                      - receive_freelance_payments
                      - receive_salary
                      - wealth_preservation
                      - other
                expectedTransactionPurposeDescription:
                  type: string
                  minLength: 1
                  maxLength: 4096
                  description: >-
                    Preserved narrative; line feed and tab are allowed and other
                    controls are rejected.
                expectedActivityDescription:
                  type: string
                  minLength: 1
                  maxLength: 4096
                  description: >-
                    Preserved narrative; line feed and tab are allowed and other
                    controls are rejected.
                sourcesOfFunds:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    enum:
                      - salary
                      - savings
                      - business_revenue
                      - investment_income
                      - asset_sale
                      - inheritance
                      - gift
                      - pension
                      - government_benefits
                      - loan
                      - owner_contribution
                      - investor_contribution
                      - company_funds
                      - intercompany_funds
                      - investment_proceeds
                      - legal_settlement
                      - tax_refund
                      - treasury_reserves
                      - insurance_proceeds
                      - equity_compensation
                      - grants_and_donations
                      - third_party_funds
                      - gambling
                      - other
                sourceOfFundsDescription:
                  type: string
                  minLength: 1
                  maxLength: 4096
                  description: >-
                    Preserved narrative; line feed and tab are allowed and other
                    controls are rejected.
                sourcesOfWealth:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    enum:
                      - employment_income
                      - business_ownership
                      - investments
                      - business_dividends_or_profits
                      - client_or_investor_contributions
                      - charitable_contributions
                      - affiliate_income
                      - real_estate
                      - asset_sale
                      - inheritance
                      - gift
                      - gambling
                      - royalties
                      - other
                sourceOfWealthDescription:
                  type: string
                  minLength: 1
                  maxLength: 4096
                  description: >-
                    Preserved narrative; line feed and tab are allowed and other
                    controls are rejected.
                estimatedAnnualRevenue:
                  type: object
                  additionalProperties: false
                  required:
                    - amount
                    - currency
                  properties:
                    amount:
                      type: string
                      pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                      description: >-
                        Non-negative major-unit decimal string with at most 38
                        digits; currency scale is validated without rounding.
                    currency:
                      type: string
                      pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                      description: ISO 4217 alpha-3 code or documented stablecoin symbol.
                expectedMonthlyVolume:
                  type: object
                  additionalProperties: false
                  required:
                    - amount
                    - currency
                  properties:
                    amount:
                      type: string
                      pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                      description: >-
                        Non-negative major-unit decimal string with at most 38
                        digits; currency scale is validated without rounding.
                    currency:
                      type: string
                      pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                      description: ISO 4217 alpha-3 code or documented stablecoin symbol.
                expectedMonthlyPayinVolume:
                  type: object
                  additionalProperties: false
                  required:
                    - amount
                    - currency
                  properties:
                    amount:
                      type: string
                      pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                      description: >-
                        Non-negative major-unit decimal string with at most 38
                        digits; currency scale is validated without rounding.
                    currency:
                      type: string
                      pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                      description: ISO 4217 alpha-3 code or documented stablecoin symbol.
                expectedMonthlyPayoutVolume:
                  type: object
                  additionalProperties: false
                  required:
                    - amount
                    - currency
                  properties:
                    amount:
                      type: string
                      pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                      description: >-
                        Non-negative major-unit decimal string with at most 38
                        digits; currency scale is validated without rounding.
                    currency:
                      type: string
                      pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                      description: ISO 4217 alpha-3 code or documented stablecoin symbol.
                expectedMonthlyTransactionCount:
                  type: integer
                  minimum: 0
                  maximum: 2147483647
                typicalTransactionAmount:
                  type: object
                  additionalProperties: false
                  required:
                    - amount
                    - currency
                  properties:
                    amount:
                      type: string
                      pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                      description: >-
                        Non-negative major-unit decimal string with at most 38
                        digits; currency scale is validated without rounding.
                    currency:
                      type: string
                      pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                      description: ISO 4217 alpha-3 code or documented stablecoin symbol.
                maximumTransactionAmount:
                  type: object
                  additionalProperties: false
                  required:
                    - amount
                    - currency
                  properties:
                    amount:
                      type: string
                      pattern: ^(0|[1-9][0-9]*)(\.[0-9]+)?$
                      description: >-
                        Non-negative major-unit decimal string with at most 38
                        digits; currency scale is validated without rounding.
                    currency:
                      type: string
                      pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                      description: ISO 4217 alpha-3 code or documented stablecoin symbol.
                expectedCurrencies:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                expectedCorridors:
                  type: array
                  items:
                    type: object
                    additionalProperties: false
                    required:
                      - fromCountry
                      - toCountry
                    properties:
                      fromCountry:
                        type: string
                        pattern: ^[A-Z]{2}$
                        minLength: 2
                        maxLength: 2
                        description: ISO 3166-1 alpha-2 country code.
                      toCountry:
                        type: string
                        pattern: ^[A-Z]{2}$
                        minLength: 2
                        maxLength: 2
                        description: ISO 3166-1 alpha-2 country code.
                      fromCurrency:
                        type: string
                        pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                      toCurrency:
                        type: string
                        pattern: ^(?:[A-Z]{3}|USDC|USDT)$
                expectedCounterpartyEntityTypes:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    enum:
                      - individual
                      - business
                      - financial_institution
                      - government
                      - nonprofit
                      - exchange
                      - own_account
                      - other
                expectedCounterpartyEntityTypeDescription:
                  type: string
                  minLength: 1
                  maxLength: 4096
                  description: >-
                    Preserved narrative; line feed and tab are allowed and other
                    controls are rejected.
                expectedCounterpartyRelationships:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    enum:
                      - employee
                      - contractor
                      - vendor
                      - subsidiary
                      - merchant
                      - customer
                      - landlord
                      - family
                      - other
                expectedCounterpartyRelationshipDescription:
                  type: string
                  minLength: 1
                  maxLength: 4096
                  description: >-
                    Preserved narrative; line feed and tab are allowed and other
                    controls are rejected.
                flows:
                  type: object
                  additionalProperties: false
                  properties:
                    payin:
                      type: object
                      additionalProperties: false
                      required:
                        - firstParty
                        - thirdParty
                      properties:
                        firstParty:
                          type: boolean
                        thirdParty:
                          type: boolean
                    payout:
                      type: object
                      additionalProperties: false
                      required:
                        - firstParty
                        - thirdParty
                      properties:
                        firstParty:
                          type: boolean
                        thirdParty:
                          type: boolean
                fundsHandlingActivities:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    enum:
                      - receive
                      - hold
                      - pool
                      - aggregate
                      - convert
                      - settle
                      - forward
                      - disburse
                      - custody
                      - other
                fundsHandlingActivityDescription:
                  type: string
                  minLength: 1
                  maxLength: 4096
                  description: >-
                    Preserved narrative; line feed and tab are allowed and other
                    controls are rejected.
                actsAsIntermediary:
                  type: boolean
                ownAccountTreasuryOnly:
                  type: boolean
              description: >-
                Provider-neutral expected financial activity and funds-handling
                facts.
            metadata:
              type: object
              maxProperties: 50
              additionalProperties:
                anyOf:
                  - type: string
                    maxLength: 1024
                  - type: number
                  - type: boolean
              description: Developer-owned scalar metadata map with at most 50 entries.
            createdAt:
              type: string
              format: date-time
            updatedAt:
              type: string
              format: date-time
            type:
              type: string
              enum:
                - business
            business:
              type: object
              additionalProperties: false
              required:
                - legalName
              properties:
                legalName:
                  type: string
                  minLength: 1
                  maxLength: 256
                  description: >-
                    Preserved exactly; leading/trailing whitespace and control
                    characters are rejected.
                tradeNames:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    minLength: 1
                    maxLength: 256
                    description: >-
                      Preserved exactly; leading/trailing whitespace and control
                      characters are rejected.
                legalForm:
                  type: string
                  enum:
                    - corporation
                    - limited_liability_company
                    - partnership
                    - limited_partnership
                    - sole_proprietorship
                    - nonprofit
                    - cooperative
                    - association
                    - professional_association
                    - foundation
                    - trust
                    - investment_fund
                    - society
                    - dao
                    - government_entity
                    - other
                legalFormDescription:
                  type: string
                  minLength: 1
                  maxLength: 256
                  description: >-
                    Preserved exactly; leading/trailing whitespace and control
                    characters are rejected.
                email:
                  type: string
                  format: email
                  maxLength: 254
                complianceEmail:
                  type: string
                  format: email
                  maxLength: 254
                phone:
                  type: string
                  pattern: ^\+[1-9][0-9]{1,14}$
                websites:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    format: uri
                    maxLength: 2048
                description:
                  type: string
                  minLength: 1
                  maxLength: 4096
                  description: >-
                    Preserved narrative; line feed and tab are allowed and other
                    controls are rejected.
                productsAndServices:
                  type: string
                  minLength: 1
                  maxLength: 4096
                  description: >-
                    Preserved narrative; line feed and tab are allowed and other
                    controls are rejected.
                industryClassifications:
                  type: array
                  items:
                    type: object
                    additionalProperties: false
                    required:
                      - scheme
                      - code
                    properties:
                      scheme:
                        type: string
                        enum:
                          - naics
                          - sic
                          - nace
                          - isic
                          - mcc
                          - other
                      schemeDescription:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Preserved exactly; leading/trailing whitespace and
                          control characters are rejected.
                      code:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Identifier preserved exactly, without leading/trailing
                          whitespace or controls.
                customerTypes:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    enum:
                      - individual
                      - business
                      - financial_institution
                      - government
                      - nonprofit
                      - other
                customerTypeDescription:
                  type: string
                  minLength: 1
                  maxLength: 256
                  description: >-
                    Preserved exactly; leading/trailing whitespace and control
                    characters are rejected.
                salesChannels:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    enum:
                      - online
                      - in_person
                      - marketplace
                      - mobile_app
                      - business_to_business
                      - other
                salesChannelDescription:
                  type: string
                  minLength: 1
                  maxLength: 256
                  description: >-
                    Preserved exactly; leading/trailing whitespace and control
                    characters are rejected.
                registration:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    jurisdiction:
                      type: object
                      additionalProperties: false
                      required:
                        - country
                      properties:
                        country:
                          type: string
                          pattern: ^[A-Z]{2}$
                          minLength: 2
                          maxLength: 2
                          description: ISO 3166-1 alpha-2 country code.
                        region:
                          type: string
                          minLength: 1
                          maxLength: 256
                          description: >-
                            Preserved exactly; leading/trailing whitespace and
                            control characters are rejected.
                      description: >-
                        Country and optional country-specific registration
                        region.
                    number:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Identifier preserved exactly, without leading/trailing
                        whitespace or controls.
                    formationDate:
                      type: string
                      format: date
                registeredAddress:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    streetLine1:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    streetLine2:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    city:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    state:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Identifier preserved exactly, without leading/trailing
                        whitespace or controls.
                    country:
                      type: string
                      pattern: ^[A-Z]{2}$
                      minLength: 2
                      maxLength: 2
                      description: ISO 3166-1 alpha-2 country code.
                  description: >-
                    Progressively collected address with at least one supplied
                    fact.
                operatingAddress:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    streetLine1:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    streetLine2:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    city:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    state:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Identifier preserved exactly, without leading/trailing
                        whitespace or controls.
                    country:
                      type: string
                      pattern: ^[A-Z]{2}$
                      minLength: 2
                      maxLength: 2
                      description: ISO 3166-1 alpha-2 country code.
                  description: >-
                    Progressively collected address with at least one supplied
                    fact.
                mailingAddress:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    streetLine1:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    streetLine2:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    city:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    state:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Identifier preserved exactly, without leading/trailing
                        whitespace or controls.
                    country:
                      type: string
                      pattern: ^[A-Z]{2}$
                      minLength: 2
                      maxLength: 2
                      description: ISO 3166-1 alpha-2 country code.
                  description: >-
                    Progressively collected address with at least one supplied
                    fact.
                operatingCountries:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    pattern: ^[A-Z]{2}$
                    minLength: 2
                    maxLength: 2
                    description: ISO 3166-1 alpha-2 country code.
                taxResidencies:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    pattern: ^[A-Z]{2}$
                    minLength: 2
                    maxLength: 2
                    description: ISO 3166-1 alpha-2 country code.
                taxIdentifiers:
                  type: array
                  items:
                    type: object
                    additionalProperties: false
                    required:
                      - type
                      - country
                      - value
                    properties:
                      type:
                        type: string
                        enum:
                          - ssn
                          - itin
                          - ein
                          - tin
                          - vat
                          - cpf
                          - cnpj
                          - other
                      typeDescription:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Preserved exactly; leading/trailing whitespace and
                          control characters are rejected.
                      country:
                        type: string
                        pattern: ^[A-Z]{2}$
                        minLength: 2
                        maxLength: 2
                        description: ISO 3166-1 alpha-2 country code.
                      value:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Identifier preserved exactly, without leading/trailing
                          whitespace or controls.
                    description: >-
                      Tax identifier. typeDescription is required and allowed
                      only for type other.
                publicListing:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    exchange:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    ticker:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Identifier preserved exactly, without leading/trailing
                        whitespace or controls.
                    jurisdiction:
                      type: object
                      additionalProperties: false
                      required:
                        - country
                      properties:
                        country:
                          type: string
                          pattern: ^[A-Z]{2}$
                          minLength: 2
                          maxLength: 2
                          description: ISO 3166-1 alpha-2 country code.
                        region:
                          type: string
                          minLength: 1
                          maxLength: 256
                          description: >-
                            Preserved exactly; leading/trailing whitespace and
                            control characters are rejected.
                      description: >-
                        Country and optional country-specific registration
                        region.
                regulatoryStatus:
                  type: string
                  enum:
                    - regulated
                    - pending
                    - unregulated
                    - exempt
                regulatoryRegistrations:
                  type: array
                  items:
                    type: object
                    additionalProperties: false
                    required:
                      - type
                      - jurisdiction
                    properties:
                      type:
                        type: string
                        enum:
                          - money_transmitter
                          - money_services_business
                          - bank
                          - electronic_money_institution
                          - payment_institution
                          - virtual_asset_service_provider
                          - broker_dealer
                          - investment_adviser
                          - lender
                          - other
                      typeDescription:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Preserved exactly; leading/trailing whitespace and
                          control characters are rejected.
                      jurisdiction:
                        type: object
                        additionalProperties: false
                        required:
                          - country
                        properties:
                          country:
                            type: string
                            pattern: ^[A-Z]{2}$
                            minLength: 2
                            maxLength: 2
                            description: ISO 3166-1 alpha-2 country code.
                          region:
                            type: string
                            minLength: 1
                            maxLength: 256
                            description: >-
                              Preserved exactly; leading/trailing whitespace and
                              control characters are rejected.
                        description: >-
                          Country and optional country-specific registration
                          region.
                      authority:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Preserved exactly; leading/trailing whitespace and
                          control characters are rejected.
                      number:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Identifier preserved exactly, without leading/trailing
                          whitespace or controls.
                      status:
                        type: string
                        enum:
                          - active
                          - pending
                          - suspended
                          - revoked
                          - expired
                      issuedOn:
                        type: string
                        format: date
                      expiresOn:
                        type: string
                        format: date
                ownershipStructure:
                  type: object
                  additionalProperties: false
                  required:
                    - type
                  properties:
                    type:
                      type: string
                      enum:
                        - privately_held
                        - publicly_traded
                        - government_owned
                        - subsidiary
                        - trust
                        - fund
                        - other
                    description:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    parentType:
                      type: string
                      enum:
                        - publicly_traded_company
                        - financial_institution
                        - other
                    parentTypeDescription:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    parentOwnershipPercentage:
                      type: string
                      pattern: ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
              description: Reusable business identity; legalName is the required anchor.
            relatedParties:
              type: array
              items:
                $ref: '#/components/schemas/RelatedParty'
      discriminator:
        propertyName: type
    RelatedParty:
      oneOf:
        - type: object
          additionalProperties: false
          required:
            - id
            - customerId
            - partyType
            - roles
            - person
            - createdAt
            - updatedAt
          properties:
            partyType:
              type: string
              enum:
                - person
            roles:
              type: array
              uniqueItems: true
              items:
                type: string
                enum:
                  - control_person
                  - director
                  - officer
                  - authorized_signer
                  - authorized_representative
                  - compliance_officer
                  - primary_contact
                  - account_administrator
                  - trustee
                  - settlor
                  - protector
                  - beneficiary
                  - general_partner
                  - limited_partner
                  - other
            roleDescription:
              type: string
              minLength: 1
              maxLength: 256
              description: >-
                Preserved exactly; leading/trailing whitespace and control
                characters are rejected.
            title:
              type: string
              minLength: 1
              maxLength: 256
              description: >-
                Preserved exactly; leading/trailing whitespace and control
                characters are rejected.
            ownership:
              type: object
              additionalProperties: false
              minProperties: 1
              properties:
                declared:
                  type: boolean
                directPercentage:
                  type: string
                  pattern: ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
                indirectPercentage:
                  type: string
                  pattern: ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
                effectivePercentage:
                  type: string
                  pattern: ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
            votingRights:
              type: object
              additionalProperties: false
              minProperties: 1
              properties:
                declared:
                  type: boolean
                directPercentage:
                  type: string
                  pattern: ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
                indirectPercentage:
                  type: string
                  pattern: ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
                effectivePercentage:
                  type: string
                  pattern: ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
            control:
              type: object
              additionalProperties: false
              properties:
                declared:
                  type: boolean
                direct:
                  type: boolean
                indirect:
                  type: boolean
                description:
                  type: string
                  minLength: 1
                  maxLength: 4096
                  description: >-
                    Preserved narrative; line feed and tab are allowed and other
                    controls are rejected.
            person:
              type: object
              additionalProperties: false
              properties:
                firstName:
                  type: string
                  minLength: 1
                  maxLength: 256
                  description: >-
                    Preserved exactly; leading/trailing whitespace and control
                    characters are rejected.
                middleName:
                  type: string
                  minLength: 1
                  maxLength: 256
                  description: >-
                    Preserved exactly; leading/trailing whitespace and control
                    characters are rejected.
                lastName:
                  type: string
                  minLength: 1
                  maxLength: 256
                  description: >-
                    Preserved exactly; leading/trailing whitespace and control
                    characters are rejected.
                birthDate:
                  type: string
                  format: date
                birthCountry:
                  type: string
                  pattern: ^[A-Z]{2}$
                  minLength: 2
                  maxLength: 2
                  description: ISO 3166-1 alpha-2 country code.
                nationalities:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    pattern: ^[A-Z]{2}$
                    minLength: 2
                    maxLength: 2
                    description: ISO 3166-1 alpha-2 country code.
                residenceCountry:
                  type: string
                  pattern: ^[A-Z]{2}$
                  minLength: 2
                  maxLength: 2
                  description: ISO 3166-1 alpha-2 country code.
                email:
                  type: string
                  format: email
                  maxLength: 254
                phone:
                  type: string
                  pattern: ^\+[1-9][0-9]{1,14}$
                residentialAddress:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    streetLine1:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    streetLine2:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    city:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    state:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Identifier preserved exactly, without leading/trailing
                        whitespace or controls.
                    country:
                      type: string
                      pattern: ^[A-Z]{2}$
                      minLength: 2
                      maxLength: 2
                      description: ISO 3166-1 alpha-2 country code.
                  description: >-
                    Progressively collected address with at least one supplied
                    fact.
                mailingAddress:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    streetLine1:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    streetLine2:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    city:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    state:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Identifier preserved exactly, without leading/trailing
                        whitespace or controls.
                    country:
                      type: string
                      pattern: ^[A-Z]{2}$
                      minLength: 2
                      maxLength: 2
                      description: ISO 3166-1 alpha-2 country code.
                  description: >-
                    Progressively collected address with at least one supplied
                    fact.
                taxResidencies:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    pattern: ^[A-Z]{2}$
                    minLength: 2
                    maxLength: 2
                    description: ISO 3166-1 alpha-2 country code.
                taxIdentifiers:
                  type: array
                  items:
                    type: object
                    additionalProperties: false
                    required:
                      - type
                      - country
                      - value
                    properties:
                      type:
                        type: string
                        enum:
                          - ssn
                          - itin
                          - ein
                          - tin
                          - vat
                          - cpf
                          - cnpj
                          - other
                      typeDescription:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Preserved exactly; leading/trailing whitespace and
                          control characters are rejected.
                      country:
                        type: string
                        pattern: ^[A-Z]{2}$
                        minLength: 2
                        maxLength: 2
                        description: ISO 3166-1 alpha-2 country code.
                      value:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Identifier preserved exactly, without leading/trailing
                          whitespace or controls.
                    description: >-
                      Tax identifier. typeDescription is required and allowed
                      only for type other.
                identityDocuments:
                  type: array
                  items:
                    type: object
                    additionalProperties: false
                    required:
                      - type
                      - issuingCountry
                    properties:
                      type:
                        type: string
                        enum:
                          - passport
                          - national_id
                          - drivers_license
                          - residence_permit
                          - government_id
                          - state_or_provincial_id
                          - other
                      typeDescription:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Preserved exactly; leading/trailing whitespace and
                          control characters are rejected.
                      issuingCountry:
                        type: string
                        pattern: ^[A-Z]{2}$
                        minLength: 2
                        maxLength: 2
                        description: ISO 3166-1 alpha-2 country code.
                      issuingRegion:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Preserved exactly; leading/trailing whitespace and
                          control characters are rejected.
                      number:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Identifier preserved exactly, without leading/trailing
                          whitespace or controls.
                      issuedOn:
                        type: string
                        format: date
                      expiresOn:
                        type: string
                        format: date
                      doesNotExpire:
                        type: boolean
                    description: >-
                      Identity-document metadata; number is optional and expiry
                      facts are mutually consistent.
                employment:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    status:
                      type: string
                      enum:
                        - employed
                        - self_employed
                        - unemployed
                        - student
                        - retired
                        - homemaker
                        - other
                    statusDescription:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    occupation:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                  description: >-
                    Employment requires status or occupation; statusDescription
                    is exclusive to other.
              description: Reusable progressively collected individual identity facts.
            id:
              type: string
              pattern: ^rp_[0-9A-Za-z]+$
              example: rp_5rW7cQvGWX0altPGIqM6O
            customerId:
              type: string
              pattern: ^cus_[0-9A-Za-z]+$
            createdAt:
              type: string
              format: date-time
            updatedAt:
              type: string
              format: date-time
        - type: object
          additionalProperties: false
          required:
            - id
            - customerId
            - partyType
            - roles
            - entity
            - createdAt
            - updatedAt
          properties:
            partyType:
              type: string
              enum:
                - entity
            roles:
              type: array
              uniqueItems: true
              items:
                type: string
                enum:
                  - control_person
                  - director
                  - officer
                  - authorized_signer
                  - authorized_representative
                  - compliance_officer
                  - primary_contact
                  - account_administrator
                  - trustee
                  - settlor
                  - protector
                  - beneficiary
                  - general_partner
                  - limited_partner
                  - other
            roleDescription:
              type: string
              minLength: 1
              maxLength: 256
              description: >-
                Preserved exactly; leading/trailing whitespace and control
                characters are rejected.
            title:
              type: string
              minLength: 1
              maxLength: 256
              description: >-
                Preserved exactly; leading/trailing whitespace and control
                characters are rejected.
            ownership:
              type: object
              additionalProperties: false
              minProperties: 1
              properties:
                declared:
                  type: boolean
                directPercentage:
                  type: string
                  pattern: ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
                indirectPercentage:
                  type: string
                  pattern: ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
                effectivePercentage:
                  type: string
                  pattern: ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
            votingRights:
              type: object
              additionalProperties: false
              minProperties: 1
              properties:
                declared:
                  type: boolean
                directPercentage:
                  type: string
                  pattern: ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
                indirectPercentage:
                  type: string
                  pattern: ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
                effectivePercentage:
                  type: string
                  pattern: ^(?:(?:0|[1-9][0-9]?)(?:\.[0-9]+)?|100(?:\.0+)?)$
            control:
              type: object
              additionalProperties: false
              properties:
                declared:
                  type: boolean
                direct:
                  type: boolean
                indirect:
                  type: boolean
                description:
                  type: string
                  minLength: 1
                  maxLength: 4096
                  description: >-
                    Preserved narrative; line feed and tab are allowed and other
                    controls are rejected.
            entity:
              type: object
              additionalProperties: false
              required:
                - legalName
              properties:
                legalName:
                  type: string
                  minLength: 1
                  maxLength: 256
                  description: >-
                    Preserved exactly; leading/trailing whitespace and control
                    characters are rejected.
                tradeNames:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    minLength: 1
                    maxLength: 256
                    description: >-
                      Preserved exactly; leading/trailing whitespace and control
                      characters are rejected.
                legalForm:
                  type: string
                  enum:
                    - corporation
                    - limited_liability_company
                    - partnership
                    - limited_partnership
                    - sole_proprietorship
                    - nonprofit
                    - cooperative
                    - association
                    - professional_association
                    - foundation
                    - trust
                    - investment_fund
                    - society
                    - dao
                    - government_entity
                    - other
                legalFormDescription:
                  type: string
                  minLength: 1
                  maxLength: 256
                  description: >-
                    Preserved exactly; leading/trailing whitespace and control
                    characters are rejected.
                email:
                  type: string
                  format: email
                  maxLength: 254
                complianceEmail:
                  type: string
                  format: email
                  maxLength: 254
                phone:
                  type: string
                  pattern: ^\+[1-9][0-9]{1,14}$
                websites:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    format: uri
                    maxLength: 2048
                description:
                  type: string
                  minLength: 1
                  maxLength: 4096
                  description: >-
                    Preserved narrative; line feed and tab are allowed and other
                    controls are rejected.
                productsAndServices:
                  type: string
                  minLength: 1
                  maxLength: 4096
                  description: >-
                    Preserved narrative; line feed and tab are allowed and other
                    controls are rejected.
                industryClassifications:
                  type: array
                  items:
                    type: object
                    additionalProperties: false
                    required:
                      - scheme
                      - code
                    properties:
                      scheme:
                        type: string
                        enum:
                          - naics
                          - sic
                          - nace
                          - isic
                          - mcc
                          - other
                      schemeDescription:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Preserved exactly; leading/trailing whitespace and
                          control characters are rejected.
                      code:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Identifier preserved exactly, without leading/trailing
                          whitespace or controls.
                customerTypes:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    enum:
                      - individual
                      - business
                      - financial_institution
                      - government
                      - nonprofit
                      - other
                customerTypeDescription:
                  type: string
                  minLength: 1
                  maxLength: 256
                  description: >-
                    Preserved exactly; leading/trailing whitespace and control
                    characters are rejected.
                salesChannels:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    enum:
                      - online
                      - in_person
                      - marketplace
                      - mobile_app
                      - business_to_business
                      - other
                salesChannelDescription:
                  type: string
                  minLength: 1
                  maxLength: 256
                  description: >-
                    Preserved exactly; leading/trailing whitespace and control
                    characters are rejected.
                registration:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    jurisdiction:
                      type: object
                      additionalProperties: false
                      required:
                        - country
                      properties:
                        country:
                          type: string
                          pattern: ^[A-Z]{2}$
                          minLength: 2
                          maxLength: 2
                          description: ISO 3166-1 alpha-2 country code.
                        region:
                          type: string
                          minLength: 1
                          maxLength: 256
                          description: >-
                            Preserved exactly; leading/trailing whitespace and
                            control characters are rejected.
                      description: >-
                        Country and optional country-specific registration
                        region.
                    number:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Identifier preserved exactly, without leading/trailing
                        whitespace or controls.
                    formationDate:
                      type: string
                      format: date
                registeredAddress:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    streetLine1:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    streetLine2:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    city:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    state:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Identifier preserved exactly, without leading/trailing
                        whitespace or controls.
                    country:
                      type: string
                      pattern: ^[A-Z]{2}$
                      minLength: 2
                      maxLength: 2
                      description: ISO 3166-1 alpha-2 country code.
                  description: >-
                    Progressively collected address with at least one supplied
                    fact.
                operatingAddress:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    streetLine1:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    streetLine2:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    city:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    state:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Identifier preserved exactly, without leading/trailing
                        whitespace or controls.
                    country:
                      type: string
                      pattern: ^[A-Z]{2}$
                      minLength: 2
                      maxLength: 2
                      description: ISO 3166-1 alpha-2 country code.
                  description: >-
                    Progressively collected address with at least one supplied
                    fact.
                mailingAddress:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    streetLine1:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    streetLine2:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    city:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    state:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    postalCode:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Identifier preserved exactly, without leading/trailing
                        whitespace or controls.
                    country:
                      type: string
                      pattern: ^[A-Z]{2}$
                      minLength: 2
                      maxLength: 2
                      description: ISO 3166-1 alpha-2 country code.
                  description: >-
                    Progressively collected address with at least one supplied
                    fact.
                operatingCountries:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    pattern: ^[A-Z]{2}$
                    minLength: 2
                    maxLength: 2
                    description: ISO 3166-1 alpha-2 country code.
                taxResidencies:
                  type: array
                  uniqueItems: true
                  items:
                    type: string
                    pattern: ^[A-Z]{2}$
                    minLength: 2
                    maxLength: 2
                    description: ISO 3166-1 alpha-2 country code.
                taxIdentifiers:
                  type: array
                  items:
                    type: object
                    additionalProperties: false
                    required:
                      - type
                      - country
                      - value
                    properties:
                      type:
                        type: string
                        enum:
                          - ssn
                          - itin
                          - ein
                          - tin
                          - vat
                          - cpf
                          - cnpj
                          - other
                      typeDescription:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Preserved exactly; leading/trailing whitespace and
                          control characters are rejected.
                      country:
                        type: string
                        pattern: ^[A-Z]{2}$
                        minLength: 2
                        maxLength: 2
                        description: ISO 3166-1 alpha-2 country code.
                      value:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Identifier preserved exactly, without leading/trailing
                          whitespace or controls.
                    description: >-
                      Tax identifier. typeDescription is required and allowed
                      only for type other.
                publicListing:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    exchange:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Preserved exactly; leading/trailing whitespace and
                        control characters are rejected.
                    ticker:
                      type: string
                      minLength: 1
                      maxLength: 256
                      description: >-
                        Identifier preserved exactly, without leading/trailing
                        whitespace or controls.
                    jurisdiction:
                      type: object
                      additionalProperties: false
                      required:
                        - country
                      properties:
                        country:
                          type: string
                          pattern: ^[A-Z]{2}$
                          minLength: 2
                          maxLength: 2
                          description: ISO 3166-1 alpha-2 country code.
                        region:
                          type: string
                          minLength: 1
                          maxLength: 256
                          description: >-
                            Preserved exactly; leading/trailing whitespace and
                            control characters are rejected.
                      description: >-
                        Country and optional country-specific registration
                        region.
                regulatoryStatus:
                  type: string
                  enum:
                    - regulated
                    - pending
                    - unregulated
                    - exempt
                regulatoryRegistrations:
                  type: array
                  items:
                    type: object
                    additionalProperties: false
                    required:
                      - type
                      - jurisdiction
                    properties:
                      type:
                        type: string
                        enum:
                          - money_transmitter
                          - money_services_business
                          - bank
                          - electronic_money_institution
                          - payment_institution
                          - virtual_asset_service_provider
                          - broker_dealer
                          - investment_adviser
                          - lender
                          - other
                      typeDescription:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Preserved exactly; leading/trailing whitespace and
                          control characters are rejected.
                      jurisdiction:
                        type: object
                        additionalProperties: false
                        required:
                          - country
                        properties:
                          country:
                            type: string
                            pattern: ^[A-Z]{2}$
                            minLength: 2
                            maxLength: 2
                            description: ISO 3166-1 alpha-2 country code.
                          region:
                            type: string
                            minLength: 1
                            maxLength: 256
                            description: >-
                              Preserved exactly; leading/trailing whitespace and
                              control characters are rejected.
                        description: >-
                          Country and optional country-specific registration
                          region.
                      authority:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Preserved exactly; leading/trailing whitespace and
                          control characters are rejected.
                      number:
                        type: string
                        minLength: 1
                        maxLength: 256
                        description: >-
                          Identifier preserved exactly, without leading/trailing
                          whitespace or controls.
                      status:
                        type: string
                        enum:
                          - active
                          - pending
                          - suspended
                          - revoked
                          - expired
                      issuedOn:
                        type: string
                        format: date
                      expiresOn:
                        type: string
                        format: date
              description: Reusable business identity; legalName is the required anchor.
            id:
              type: string
              pattern: ^rp_[0-9A-Za-z]+$
              example: rp_5rW7cQvGWX0altPGIqM6O
            customerId:
              type: string
              pattern: ^cus_[0-9A-Za-z]+$
            createdAt:
              type: string
              format: date-time
            updatedAt:
              type: string
              format: date-time
      discriminator:
        propertyName: partyType
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: Your Swipelux API key. Obtain this from the Swipelux Dashboard.

````

## Related topics

- [Quickstart](/integration/quickstart.md)
- [KYB workflow](/knowledge-base/business-onboarding/kyb-workflow.md)
- [Individual onboarding API workflow](/knowledge-base/individual-onboarding/api-workflow.md)
- [Create account](/api-reference/accounts/post-v3-customers-by-customer-id-accounts.md)
- [Create recipient](/api-reference/recipients/post-v3-customers-by-customer-id-recipients.md)
