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

# Setup integration credentials (consolidated)

> Single endpoint for configuring credentials for any supported integration provider. The `credentials` payload is validated server-side against the provider-specific DTO. Replaces the 22 per-provider PUT endpoints (which remain available but are deprecated).



## OpenAPI

````yaml https://sandbox-api.borderless.xyz/v1/api-json put /v1/organizations/integrations
openapi: 3.0.0
info:
  title: Borderless API
  description: The Borderless API documentation.
  version: '1.0'
  contact: {}
servers:
  - url: https://sandbox-api.borderless.xyz
security: []
tags: []
paths:
  /v1/organizations/integrations:
    put:
      tags:
        - Integrations Config
      summary: Setup integration credentials (consolidated)
      description: >-
        Single endpoint for configuring credentials for any supported
        integration provider. The `credentials` payload is validated server-side
        against the provider-specific DTO. Replaces the 22 per-provider PUT
        endpoints (which remain available but are deprecated).
      operationId: IntegrationsConfigController_setupIntegration
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetupIntegrationDto'
      responses:
        '202':
          description: Integration credentials accepted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationConfigEntity'
      security:
        - bearer: []
components:
  schemas:
    SetupIntegrationDto:
      type: object
      properties:
        provider:
          description: Integration provider to configure credentials for.
          allOf:
            - $ref: '#/components/schemas/IntegrationProvider'
        credentials:
          description: Provider-specific credentials. Shape switches on `provider`.
          oneOf:
            - title: Alfred
              allOf:
                - $ref: '#/components/schemas/AlfredSetupDto'
            - title: Bitso
              allOf:
                - $ref: '#/components/schemas/BitsoSetupDto'
            - title: Bivo
              allOf:
                - $ref: '#/components/schemas/BivoSetupDto'
            - title: BlindPay
              allOf:
                - $ref: '#/components/schemas/BlindPaySetupDto'
            - title: Brale
              allOf:
                - $ref: '#/components/schemas/BraleSetupDto'
            - title: Bridge
              allOf:
                - $ref: '#/components/schemas/BridgeSetupDto'
            - title: Capa
              allOf:
                - $ref: '#/components/schemas/CapaSetupDto'
            - title: Cobre
              allOf:
                - $ref: '#/components/schemas/CobreSetupDto'
            - title: CrissCross
              allOf:
                - $ref: '#/components/schemas/CrissCrossSetupDto'
            - title: Demo
              allOf:
                - $ref: '#/components/schemas/DemoSetupDto'
            - title: Dfns
              allOf:
                - $ref: '#/components/schemas/DfnsSetupDto'
            - title: Finity
              allOf:
                - $ref: '#/components/schemas/FinitySetupDto'
            - title: Hercle
              allOf:
                - $ref: '#/components/schemas/HercleSetupDto'
            - title: HoneyCoin
              allOf:
                - $ref: '#/components/schemas/HoneyCoinSetupDto'
            - title: Infinia
              allOf:
                - $ref: '#/components/schemas/InfiniaSetupDto'
            - title: Kotanipay
              allOf:
                - $ref: '#/components/schemas/KotanipaySetupDto'
            - title: Koywe
              allOf:
                - $ref: '#/components/schemas/KoyweSetupDto'
            - title: Onmeta
              allOf:
                - $ref: '#/components/schemas/OnmetaSetupDto'
            - title: Pockyt
              allOf:
                - $ref: '#/components/schemas/PockytSetupDto'
            - title: Tazapay
              allOf:
                - $ref: '#/components/schemas/TazapaySetupDto'
            - title: TraceFinance
              allOf:
                - $ref: '#/components/schemas/TraceFinanceSetupDto'
            - title: Utila
              allOf:
                - $ref: '#/components/schemas/UtilaSetupDto'
            - title: Walapay
              allOf:
                - $ref: '#/components/schemas/WalapaySetupDto'
            - title: Yativo
              allOf:
                - $ref: '#/components/schemas/YativoSetupDto'
            - title: Yellowcard
              allOf:
                - $ref: '#/components/schemas/YellowcardSetupDto'
            - title: Mastercard
              allOf:
                - $ref: '#/components/schemas/MastercardSetupDto'
            - title: TripleA
              allOf:
                - $ref: '#/components/schemas/TripleASetupDto'
      required:
        - provider
        - credentials
    IntegrationConfigEntity:
      type: object
      properties:
        provider:
          allOf:
            - $ref: '#/components/schemas/IntegrationProvider'
        integrationNetworkAddresses:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationNetworkAddressEntity'
      required:
        - provider
    IntegrationProvider:
      type: string
      enum:
        - Standalone
        - MultiProvider
        - Dfns
        - Utila
        - Bridge
        - Koywe
        - Kotanipay
        - Manual
        - Blockchain
        - Hercle
        - Bitso
        - Yellowcard
        - TraceFinance
        - HoneyCoin
        - BlindPay
        - Finity
        - Ares
        - Infinia
        - Walapay
        - Abra
        - Yativo
        - Capa
        - Bivo
        - Cobre
        - Brale
        - Onmeta
        - Mastercard
        - Alfred
        - Tazapay
        - Demo
        - CrissCross
        - TripleA
        - Pockyt
    AlfredSetupDto:
      type: object
      properties:
        apiKey:
          type: string
          description: The Alfred API key for authentication.
          example: alfk_123
        webhookSecret:
          type: string
          description: >-
            The Alfred webhook secret used to verify incoming webhook
            signatures.
          example: alfred_webhook_secret_789
      required:
        - apiKey
        - webhookSecret
    BitsoSetupDto:
      type: object
      properties:
        apiKey:
          type: string
          minLength: 10
          maxLength: 32
          description: The Bitso API key for authentication.
          example: hKaAodQNLK
        apiSecret:
          type: string
          minLength: 10
          maxLength: 64
          description: The Bitso API secret for authentication.
          example: ad0b2a2190dde067f3fd5a523f1c2aen
        ownerIdentityId:
          type: string
          description: Id of the identity, who is the owner of Bitso Wallet.
          example: cm9db4g2s4r7ro224ra6u1qvl
      required:
        - apiKey
        - apiSecret
        - ownerIdentityId
    BivoSetupDto:
      type: object
      properties:
        username:
          type: string
          description: The Bivo partner username.
          example: e19799ed-6d75-4914-986c-5577ddfb1a44
        password:
          type: string
          description: The Bivo partner password.
          example: Dpc!b$722i7EXRRTvb9dQLEJRX$C$Mc5
      required:
        - username
        - password
    BlindPaySetupDto:
      type: object
      properties:
        apiKey:
          type: string
          description: The BlindPay API key for authentication.
          example: blindpay_api_key_123
        instanceId:
          type: string
          description: The BlindPay instance ID the API key belongs to.
          example: in_000000000000
        webhookSecret:
          type: string
          description: >-
            The BlindPay webhook secret used to verify incoming webhook
            signatures.
          example: whsec_blindpay_webhook_secret_789
      required:
        - apiKey
        - instanceId
        - webhookSecret
    BraleSetupDto:
      type: object
      properties:
        apiKey:
          type: string
          description: The Brale API key (client ID) for authentication.
          example: brale_client_id_123
        apiSecret:
          type: string
          description: The Brale API secret (client secret) for authentication.
          example: brale_client_secret_456
      required:
        - apiKey
        - apiSecret
    BridgeSetupDto:
      type: object
      properties:
        apiKey:
          type: string
          description: The Bridge partner api key.
          example: sk-live-81ef049d7644df72d3a651d6ddd1c61v
      required:
        - apiKey
    CapaSetupDto:
      type: object
      properties:
        apiKey:
          type: string
          description: The Capa partner api key.
          example: e19799ed-6d75-4914-986c-5577ddfb1a44
      required:
        - apiKey
    CobreSetupDto:
      type: object
      properties:
        userId:
          type: string
          description: The Cobre user ID for authentication.
          example: cli_test_123
        secret:
          type: string
          description: The Cobre secret for authentication.
          example: test
      required:
        - userId
        - secret
    CrissCrossSetupDto:
      type: object
      properties:
        clientId:
          type: string
          minLength: 1
          maxLength: 256
          description: The CrissCross clientId for OAuth authentication.
          example: your-crisscross-client-id
        clientSecret:
          type: string
          minLength: 1
          maxLength: 256
          description: The CrissCross clientSecret for OAuth authentication.
          example: your-crisscross-client-secret
        merchantId:
          type: string
          minLength: 1
          maxLength: 256
          description: The CrissCross merchantId for Payouts API requests.
          example: f47ac10b-58cc-4372-a567-0e02b2c3d479
        businessIdentityId:
          type: string
          minLength: 25
          maxLength: 25
          description: >-
            The Borderless business identity id that represents the merchant
            itself. The first-party (exchange) flow is used only when both the
            source account owner and the destination payment instruction belong
            to this identity; otherwise the third-party payout flow is used.
      required:
        - clientId
        - clientSecret
        - merchantId
        - businessIdentityId
    DemoSetupDto:
      type: object
      properties:
        apiKey:
          type: string
          description: >-
            Any non-empty string. The Demo provider is fully mocked and never
            calls an external API, so the key is accepted as-is.
          example: open-sesame
      required:
        - apiKey
    DfnsSetupDto:
      type: object
      properties:
        appId:
          type: string
          minLength: 31
          maxLength: 50
          description: >-
            The Dfns application ID. Learn more about configuration at [Dfns
            Configuration
            Guide](https://docs.buildborderless.com/docs/dfns-provider).
          example: ap-66rrf-kcjqj-8ppri8f3aa4h6opn
        authToken:
          type: string
          minLength: 256
          maxLength: 1024
          description: >-
            The Dfns authentication token. Learn more about configuration at
            [Dfns Configuration
            Guide](https://docs.buildborderless.com/docs/dfns-provider).
          example: eyJ1eXAiOiJKV1QiLCJhbGciOiJFZERTQSJ9...
      required:
        - appId
        - authToken
    FinitySetupDto:
      type: object
      properties:
        clientId:
          type: string
          minLength: 10
          maxLength: 64
          description: The clientId for authentication.
          example: >-
            m2m-client-test-2b27da12-497a-a42f-9821-abcd-0a1234567 for Finity or
            Fk5DU28t9m0DAr0YFstsHDX8Aoxlwm2M for Trace Finance
        clientSecret:
          type: string
          minLength: 10
          maxLength: 64
          description: The clientSecret for authentication.
          example: >-
            ad0b2a2190dde067f3fd5a523f1c2aen for Finity or
            _Cgnl6T0FfZWc6zrO5c6TkG09y0n45aMAIcl1nmNITBOEqGHo4CDka-tBBnQwjaK for
            Trace Finance
      required:
        - clientId
        - clientSecret
    HercleSetupDto:
      type: object
      properties:
        pfiApiCredentials:
          description: >-
            Optional list of Hercle API credentials to associate with the
            integration.
          type: array
          items:
            $ref: '#/components/schemas/HercleCredentialDto'
    HoneyCoinSetupDto:
      type: object
      properties:
        apiKey:
          type: string
          description: The HoneyCoin API key for authentication.
          example: HC-a1cc4444-e9b1-7654-a123-7c555edb9fe1
        publicKey:
          type: string
          description: The HoneyCoin public key for authentication.
          example: 2aalwDDltWiUuT7qjBVC
      required:
        - apiKey
        - publicKey
    InfiniaSetupDto:
      type: object
      properties:
        apiKey:
          type: string
          description: The Infinia username for authentication.
          example: user_x93ldfa1
        apiSecret:
          type: string
          description: The Infinia password for authentication.
          example: pW$7{D!mQ@t2
        companyId:
          type: string
          description: Infinia company id.
          example: comp_1234567890
      required:
        - apiKey
        - apiSecret
        - companyId
    KotanipaySetupDto:
      type: object
      properties:
        clientId:
          type: string
          description: The Kotanipay client ID for authentication.
          example: 342654b907af5555fa6bd1a2
        clientSecret:
          type: string
          description: The Kotanipay client secret for authentication.
          example: >-
            kjJ1c2VyX2lkIjoiNjcwNjU0YjkwN2FmNjE1MmZhNmJkNGE2IiwiY3JlYXRlZF9hdCI61234MjQtMTAtMjFUMTQ6NDg6NTIuMjc5WiJ9.f268821a8eae0a86c4f3ad904a0be4c28f0771613e90e31884aa99a6827c123g
      required:
        - clientId
        - clientSecret
    KoyweSetupDto:
      type: object
      properties:
        clientId:
          type: string
          description: The Koywe client ID for authentication.
          example: 22f123af4d0a9800dfb22bf5
        clientSecret:
          type: string
          description: The Koywe client secret for authentication.
          example: >-
            kjJ1c2VyX2lkIjoiNjcwNjU0YjkwN2FmNjE1MmZhNmJkNGE2IiwiY3JlYXRlZF9hdCI61234MjQtMTAtMjFUMTQ6NDg6NTIuMjc5WiJ9.f268821a8eae0a86c4f3ad904a0be4c28f0771613e90e31884aa99a6827c123g
      required:
        - clientId
        - clientSecret
    OnmetaSetupDto:
      type: object
      properties:
        apiKey:
          type: string
          description: The Onmeta API key for authentication.
          example: onmeta_api_key_123
        apiSecret:
          type: string
          description: The Onmeta API secret for authentication.
          example: onmeta_api_secret_456
      required:
        - apiKey
        - apiSecret
    PockytSetupDto:
      type: object
      properties:
        merchantNo:
          type: string
          description: The Pockyt merchant number (merchantNo).
          example: '200000'
        storeNo:
          type: string
          description: The Pockyt store number (storeNo).
          example: '300000'
        apiToken:
          type: string
          description: >-
            The Pockyt API token used to sign requests. Never sent directly in
            requests.
          example: <your-pockyt-api-token>
        payorNo:
          type: string
          description: The payor number (payorNo) for Merchant-of-Record payout flows.
          example: P87654321
        walletAddresses:
          type: object
          additionalProperties:
            type: string
          description: >-
            Per-asset Pockyt crypto deposit wallet addresses (assetId ->
            address), provided by Pockyt during onboarding. Used as the
            destination for the crypto leg of a withdrawal.
          example:
            USDC_ETHEREUM: '0x1234567890abcdef1234567890abcdef12345678'
      required:
        - merchantNo
        - storeNo
        - apiToken
    TazapaySetupDto:
      type: object
      properties:
        apiKey:
          type: string
          description: The Tazapay API key used as the Basic auth username.
          example: ak_test_xxxxxxxxxxxxxxxxxxxx
        apiSecret:
          type: string
          description: The Tazapay API secret used as the Basic auth password.
          example: sk_test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        webhookSecret:
          type: string
          description: >-
            The Tazapay webhook secret used to verify incoming webhook
            signatures. Retrieved from the Tazapay dashboard.
          example: whsec_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        accountId:
          type: string
          description: >-
            The `acc_` id of the Tazapay account these credentials belong to,
            shown in the Tazapay dashboard. Scopes collection-account lookups,
            which is how withdrawals resolve the stablecoin collection wallet
            per asset. Required for withdrawals.
          example: acc_00000000000000000000
      required:
        - apiKey
        - apiSecret
    TraceFinanceSetupDto:
      type: object
      properties:
        clientId:
          type: string
          minLength: 10
          maxLength: 64
          description: The clientId for authentication.
          example: >-
            m2m-client-test-2b27da12-497a-a42f-9821-abcd-0a1234567 for Finity or
            Fk5DU28t9m0DAr0YFstsHDX8Aoxlwm2M for Trace Finance
        clientSecret:
          type: string
          minLength: 10
          maxLength: 64
          description: The clientSecret for authentication.
          example: >-
            ad0b2a2190dde067f3fd5a523f1c2aen for Finity or
            _Cgnl6T0FfZWc6zrO5c6TkG09y0n45aMAIcl1nmNITBOEqGHo4CDka-tBBnQwjaK for
            Trace Finance
      required:
        - clientId
        - clientSecret
    UtilaSetupDto:
      type: object
      properties:
        serviceAccount:
          type: string
          description: >-
            The Utila service account identifier. Learn more at [Utila
            Configuration
            Guide](https://docs.buildborderless.com/docs/utila-provider).
          example: sa_1234567890abcdef
        privateRSAKey:
          type: string
          description: >-
            The Utila private RSA key for authentication. Learn more at [Utila
            Configuration
            Guide](https://docs.buildborderless.com/docs/utila-provider).
          example: |-
            -----BEGIN PRIVATE KEY-----
            MIIEvQIBADAN...
        vaultId:
          type: string
          description: >-
            The Utila vault ID for the account. Learn more at [Utila
            Configuration
            Guide](https://docs.buildborderless.com/docs/utila-provider).
          example: vault-1234567890abcdef
        evmGasWallet:
          type: string
          description: >-
            The Utila EVM gas wallets for the organization. Learn more at [Utila
            Configuration
            Guide](https://docs.buildborderless.com/docs/utila-provider).
          example:
            - '0x1234567890abcdef1234567890abcdef12345678'
      required:
        - serviceAccount
        - privateRSAKey
        - vaultId
    WalapaySetupDto:
      type: object
      properties:
        apiKey:
          type: string
          description: The Walapay partner api key.
          example: e19799ed-6d75-4914-986c-5577ddfb1a44
      required:
        - apiKey
    YativoSetupDto:
      type: object
      properties:
        clientId:
          type: string
          minLength: 10
          maxLength: 64
          description: The clientId for authentication.
          example: >-
            m2m-client-test-2b27da12-497a-a42f-9821-abcd-0a1234567 for Finity or
            Fk5DU28t9m0DAr0YFstsHDX8Aoxlwm2M for Trace Finance
        clientSecret:
          type: string
          minLength: 10
          maxLength: 64
          description: The clientSecret for authentication.
          example: >-
            ad0b2a2190dde067f3fd5a523f1c2aen for Finity or
            _Cgnl6T0FfZWc6zrO5c6TkG09y0n45aMAIcl1nmNITBOEqGHo4CDka-tBBnQwjaK for
            Trace Finance
      required:
        - clientId
        - clientSecret
    YellowcardSetupDto:
      type: object
      properties:
        apiKey:
          type: string
          description: The Yellowcard API key for authentication.
          example: hKaAodQNLK
        apiSecret:
          type: string
          description: The Yellowcard API secret for authentication.
          example: ad0b2a2190dde067f3fd5a523f1c2aen
        omnibusAddresses:
          description: Optional omnibus addresses grouped by blockchain network.
          allOf:
            - $ref: '#/components/schemas/YellowcardOmnibusAddressesDto'
      required:
        - apiKey
        - apiSecret
    MastercardSetupDto:
      type: object
      properties:
        ica:
          type: string
          minLength: 1
          maxLength: 20
          description: Interbank Card Association identifier assigned by Mastercard.
          example: '0451'
        consumerKey:
          type: string
          minLength: 1
          maxLength: 255
          description: OAuth 1.0a consumer key for Mastercard API authentication.
        signingKey:
          type: string
          description: >-
            RSA private key (PEM-encoded) used for OAuth 1.0a request signing.
            Extract from the PKCS#12 keystore (.p12) received from Mastercard
            Developer portal: openssl pkcs12 -in keyfile.p12 -nocerts -nodes |
            openssl pkcs8 -topk8 -nocrypt
        encryptionKey:
          type: string
          description: >-
            Mastercard's public key (PEM-encoded) used for JWE payload
            encryption.
        decryptionKey:
          type: string
          description: >-
            RSA private key (PEM-encoded) used to decrypt JWE-encrypted API
            responses from Mastercard. The corresponding public certificate must
            be shared with Mastercard during onboarding.
      required:
        - ica
        - consumerKey
        - signingKey
        - encryptionKey
        - decryptionKey
    TripleASetupDto:
      type: object
      properties:
        identityId:
          type: string
          minLength: 25
          maxLength: 25
          description: >-
            Business identity of the merchant this credential set belongs to.
            Required for an unregulated organization, which registers each
            merchant with the merchant's own Triple-A credentials; rejected for
            a regulated one, which runs Triple-A under its own credentials
            (`featureToggles.regulatedBusiness`).
        clientId:
          type: string
          description: The Triple-A OAuth2 client ID for authentication.
          example: oacid-exampleclientid000000000000
        clientSecret:
          type: string
          description: The Triple-A OAuth2 client secret for authentication.
          example: example-client-secret-do-not-use-a-real-value
        merchantKey:
          type: string
          description: The Triple-A merchant key, required on crypto-payout requests.
          example: mkey-examplemerchantkey0000000000
        depositInstructions:
          uniqueItems: true
          description: >-
            The merchant's static top-up bank details at Triple-A. Entries
            matching a virtual account's fiat currency become its deposit
            instructions, one instruction per entry.
          type: array
          items:
            $ref: '#/components/schemas/TripleADepositInstructionDto'
        cryptoTopupAddresses:
          uniqueItems: true
          description: >-
            The merchant's fixed crypto top-up addresses at Triple-A, one entry
            per asset. Triple-A provides them at onboarding; they fund the
            balance that local currency payouts are paid from.
          type: array
          items:
            $ref: '#/components/schemas/TripleACryptoTopupAddressDto'
        fiatPayoutSenderId:
          type: string
          format: uuid
          description: >-
            Identifier of the verified sender entity at Triple-A, used as the
            sender of every local currency payout. Triple-A verifies it once per
            merchant account.
          example: 347b1a4a-7113-4810-913a-ecaf5941306d
      required:
        - clientId
        - clientSecret
        - merchantKey
    IntegrationNetworkAddressEntity:
      type: object
      properties:
        network:
          allOf:
            - $ref: '#/components/schemas/NetworkId'
        address:
          type: string
      required:
        - network
        - address
    HercleCredentialDto:
      type: object
      properties:
        identityId:
          type: string
          minLength: 25
          maxLength: 25
          description: Identity id associated with the Hercle credential.
          example: clxxxxxxxxxxxxxxxxxxxxxxx
        apiKey:
          type: string
          minLength: 10
          maxLength: 600
          description: Hercle API key.
        apiSecret:
          type: string
          minLength: 10
          maxLength: 600
          description: Optional Hercle API secret.
      required:
        - identityId
        - apiKey
    YellowcardOmnibusAddressesDto:
      type: object
      properties:
        evm:
          type: string
          description: >-
            Omnibus address for EVM-compatible networks
            (BASE/ERC20/CELO/POLYGON).
          example: '0x1234567890abcdef1234567890abcdef12345678'
        solana:
          type: string
          description: Omnibus address for the Solana network.
          example: 4kzKf7p83nXq5VK92K9YfSsfSqsCim29s3VAmxyz123
        tron:
          type: string
          description: Omnibus address for the Tron (TRC20) network.
          example: TQ9n1Muf6pZL4e1DqYNo8v5yRk6VxVQ2Q3
    TripleADepositInstructionDto:
      type: object
      properties:
        paymentMethod:
          enum:
            - Sepa
            - Wire
            - ACH
            - FPS
            - Swift
          type: string
          description: The payment method this deposit instruction serves.
          example: Sepa
        currency:
          description: >-
            The fiat currency this deposit instruction serves. Virtual accounts
            for this currency surface the entry among their deposit
            instructions.
          example: EUR
          allOf:
            - $ref: '#/components/schemas/FiatCurrencyId'
        details:
          description: >-
            The bank details of the merchant's top-up account, which vary by
            `paymentMethod`.
          oneOf:
            - $ref: '#/components/schemas/SepaDetailsCreateDto'
              title: SEPA Details
            - $ref: '#/components/schemas/USDetailsCreateDto'
              title: US Details (Wire and ACH)
            - $ref: '#/components/schemas/TripleAFpsDepositDetailsDto'
              title: UK Faster Payments Details
            - $ref: '#/components/schemas/TripleASwiftDepositDetailsDto'
              title: SWIFT Details
          minLength: 1
      required:
        - paymentMethod
        - currency
        - details
    TripleACryptoTopupAddressDto:
      type: object
      properties:
        asset:
          description: >-
            The asset the top-up address accepts. Triple-A issues one fixed
            address per asset and network.
          example: USDC_POLYGON
          allOf:
            - $ref: '#/components/schemas/TripleATopupAssetId'
        address:
          type: string
          description: >-
            The address Triple-A provided for topping the merchant balance up
            with this asset.
          example: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'
          minLength: 1
      required:
        - asset
        - address
    NetworkId:
      type: string
      enum:
        - POLYGON
        - ETHEREUM
        - TRON
        - BASE
        - OPTIMISM
        - BITCOIN
        - SOLANA
        - CELO
      description: The blockchain the destination address lives on.
    FiatCurrencyId:
      type: string
      enum:
        - USD
        - EUR
        - BRL
        - ARS
        - MXN
        - COP
        - CLP
        - PEN
        - PYG
        - DOP
        - UYU
        - BOB
        - CRC
        - GTQ
        - BWP
        - CDF
        - GHS
        - KES
        - MWK
        - NGN
        - RWF
        - ZAR
        - TZS
        - UGX
        - ZMW
        - XOF
        - XAF
        - AUD
        - BDT
        - CAD
        - INR
        - JPY
        - NPR
        - PKR
        - PHP
        - SGD
        - GBP
        - CNY
        - HKD
        - CNH
        - IDR
        - MYR
        - KRW
        - LKR
        - THB
        - TRY
        - VND
        - CZK
        - HUF
        - DKK
        - NOK
        - PLN
        - RON
        - RSD
        - SEK
        - CHF
        - AED
        - SAR
        - QAR
        - ILS
        - EGP
        - JOD
        - HNL
        - JMD
        - NZD
        - DZD
        - GMD
        - GNF
        - HTG
        - MAD
        - TND
      description: Fiat currency identifier (e.g. USD, EUR)
    SepaDetailsCreateDto:
      type: object
      properties:
        bankName:
          type: string
          minLength: 1
          maxLength: 255
          description: The name of the bank.
          example: Example Bank
        accountHolderName:
          type: string
          minLength: 1
          maxLength: 255
          description: The name of the account holder for the SEPA account.
          example: John Doe
        bankAccountNumber:
          type: string
          minLength: 1
          maxLength: 34
          description: The IBAN (International Bank Account Number) for the SEPA account.
          example: DE89370400440532013000
        swiftOrBicNumber:
          type: string
          minLength: 8
          maxLength: 11
          description: The SWIFT or BIC code of the bank.
          example: DEUTDEFF
        accountOwnerType:
          description: The type of account owner (Personal or Business).
          example: Personal
          allOf:
            - $ref: '#/components/schemas/BankAccountOwnerType'
        firstName:
          type: string
          minLength: 1
          maxLength: 50
          description: >-
            The first name of the account holder, required if accountOwnerType
            is Personal
          example: John
        lastName:
          type: string
          minLength: 1
          maxLength: 50
          description: >-
            The last name of the account holder, required if accountOwnerType is
            Personal
          example: Doe
        businessName:
          type: string
          minLength: 1
          maxLength: 50
          description: The business name, required if accountOwnerType is Business
          example: Example Corp
        address:
          description: >-
            Beneficiary bank address. Optional; required only for certain
            countries/corridors. The beneficiary's own address is taken from the
            identity.
          allOf:
            - $ref: '#/components/schemas/PostalAddressCreateDto'
      required:
        - accountHolderName
        - bankAccountNumber
        - swiftOrBicNumber
        - accountOwnerType
    USDetailsCreateDto:
      type: object
      properties:
        bankName:
          type: string
          minLength: 1
          maxLength: 255
          description: The name of the bank, if applicable
          example: Example Bank
        accountHolderName:
          type: string
          minLength: 1
          maxLength: 255
          description: The name of the account holder for the US bank account
          example: John Doe
        bankAccountNumber:
          type: string
          minLength: 1
          maxLength: 27
          description: The bank account number for the US account
          example: '123456789012'
        bankRoutingNumber:
          type: string
          minLength: 1
          maxLength: 9
          description: The bank routing number (ABA) for the US account
          example: '123456789'
        bankAccountType:
          description: The type of bank account (e.g., Checking or Savings).
          example: Checking
          allOf:
            - $ref: '#/components/schemas/BankAccountType'
        recipientRelationship:
          description: >-
            The relationship between the sender and the recipient. Required by
            some payment providers.
          example: first party
          allOf:
            - $ref: '#/components/schemas/RecipientRelationship'
        address:
          description: >-
            Beneficiary bank address. Optional; required only for certain
            countries/corridors. The beneficiary's own address is taken from the
            identity.
          allOf:
            - $ref: '#/components/schemas/PostalAddressCreateDto'
      required:
        - accountHolderName
        - bankAccountNumber
        - bankRoutingNumber
        - bankAccountType
    TripleAFpsDepositDetailsDto:
      type: object
      properties:
        accountHolderName:
          type: string
          minLength: 1
          maxLength: 255
          description: The name the UK account is held under, checked by the sender's bank.
          example: Example Merchant Ltd
        bankAccountNumber:
          type: string
          description: UK bank account number (8 digits).
          example: '31926819'
          pattern: ^\d{8}$
        sortCode:
          type: string
          description: UK sort code (6 digits, hyphens optional).
          example: 60-16-13
          pattern: ^\d{2}-?\d{2}-?\d{2}$
        iban:
          type: string
          description: UK IBAN of the same account.
          example: GB29NWBK60161331926819
          pattern: ^GB\d{2}[A-Z]{4}\d{14}$
        swiftOrBicNumber:
          type: string
          minLength: 8
          maxLength: 11
          description: SWIFT / BIC of the bank.
          example: NWBKGB2L
        bankName:
          type: string
          minLength: 1
          maxLength: 255
          description: The name of the bank.
          example: Example Bank
        address:
          description: The bank's address.
          allOf:
            - $ref: '#/components/schemas/PostalAddressCreateDto'
      required:
        - accountHolderName
        - bankAccountNumber
        - sortCode
    TripleASwiftDepositDetailsDto:
      type: object
      properties:
        accountHolderName:
          type: string
          minLength: 1
          maxLength: 255
          description: The name the account is held under.
          example: Example Merchant Ltd
        swiftOrBicNumber:
          type: string
          minLength: 8
          maxLength: 11
          description: SWIFT / BIC of the bank.
          example: CHASUS33
        bankAccountNumber:
          type: string
          minLength: 1
          maxLength: 34
          description: The account number. Required unless `iban` is given.
          example: '000123456789'
        iban:
          type: string
          minLength: 1
          maxLength: 34
          description: >-
            The IBAN, for a bank that issues one. Required unless
            `bankAccountNumber` is given.
          example: DE89370400440532013000
        bankName:
          type: string
          minLength: 1
          maxLength: 255
          description: The name of the bank.
          example: JPMorgan Chase Bank, N.A.
        address:
          description: The bank's address.
          allOf:
            - $ref: '#/components/schemas/PostalAddressCreateDto'
      required:
        - accountHolderName
        - swiftOrBicNumber
    TripleATopupAssetId:
      type: string
      enum:
        - USDT_TRON
        - USDT_ETHEREUM
        - USDT_POLYGON
        - USDT_SOLANA
        - USDC_ETHEREUM
        - USDC_POLYGON
        - USDC_SOLANA
      description: >-
        The asset the top-up address accepts. Triple-A issues one fixed address
        per asset and network.
    BankAccountOwnerType:
      type: string
      enum:
        - Personal
        - Business
    PostalAddressCreateDto:
      type: object
      properties:
        street1:
          type: string
          minLength: 3
          maxLength: 100
          description: The primary street address
          example: 123 Main St
        street2:
          type: string
          minLength: 3
          maxLength: 100
          description: Additional street address information, if applicable
          example: Apt 4B
        city:
          type: string
          minLength: 3
          maxLength: 50
          description: The city of the address
          example: New York
        state:
          type: string
          minLength: 1
          maxLength: 50
          description: >-
            The state/province/region/county code in ISO-3166-2 format. Required
            for US addresses, where it must be a two-letter state code. See
            [ISO-3166-2
            documentation](https://www.iso.org/iso-3166-country-codes.html).
          example: TX
        country:
          description: >-
            The country code in ISO-3166-2 format. See [ISO-3166-2
            documentation](https://www.iso.org/iso-3166-country-codes.html).
          example: US
          allOf:
            - $ref: '#/components/schemas/CountryCode'
        postalCode:
          type: string
          description: The postal code for the address, validated based on the country
          example: '10001'
      required:
        - street1
        - city
        - country
    BankAccountType:
      type: string
      enum:
        - Checking
        - Savings
    RecipientRelationship:
      type: string
      enum:
        - first party
        - employee
        - independent contractor
        - vendor or supplier
        - subsidiary or affiliate
        - merchant or partner
        - customer
        - landlord
        - family
        - other
    CountryCode:
      type: string
      enum:
        - AF
        - AL
        - DZ
        - AS
        - AD
        - AO
        - AI
        - AQ
        - AG
        - AR
        - AM
        - AW
        - AU
        - AT
        - AZ
        - BS
        - BH
        - BD
        - BB
        - BY
        - BE
        - BZ
        - BJ
        - BM
        - BT
        - BO
        - BQ
        - BA
        - BW
        - BV
        - BR
        - IO
        - BN
        - BG
        - BF
        - BI
        - CV
        - KH
        - CM
        - CA
        - KY
        - CF
        - TD
        - CL
        - CN
        - CX
        - CC
        - CO
        - KM
        - CD
        - CG
        - CK
        - CR
        - HR
        - CU
        - CW
        - CY
        - CZ
        - CI
        - DK
        - DJ
        - DM
        - DO
        - EC
        - EG
        - SV
        - GQ
        - ER
        - EE
        - SZ
        - ET
        - FK
        - FO
        - FJ
        - FI
        - FR
        - GF
        - PF
        - TF
        - GA
        - GM
        - GE
        - DE
        - GH
        - GI
        - GR
        - GL
        - GD
        - GP
        - GU
        - GT
        - GG
        - GN
        - GW
        - GY
        - HT
        - HM
        - VA
        - HN
        - HK
        - HU
        - IS
        - IN
        - ID
        - IR
        - IQ
        - IE
        - IM
        - IL
        - IT
        - JM
        - JP
        - JE
        - JO
        - KZ
        - KE
        - KI
        - KP
        - KR
        - KW
        - KG
        - LA
        - LV
        - LB
        - LS
        - LR
        - LY
        - LI
        - LT
        - LU
        - MO
        - MG
        - MW
        - MY
        - MV
        - ML
        - MT
        - MH
        - MQ
        - MR
        - MU
        - YT
        - MX
        - FM
        - MD
        - MC
        - MN
        - ME
        - MS
        - MA
        - MZ
        - MM
        - NA
        - NR
        - NP
        - NL
        - NC
        - NZ
        - NI
        - NE
        - NG
        - NU
        - NF
        - MP
        - 'NO'
        - OM
        - PK
        - PW
        - PS
        - PA
        - PG
        - PY
        - PE
        - PH
        - PN
        - PL
        - PT
        - PR
        - QA
        - MK
        - RO
        - RU
        - RW
        - RE
        - BL
        - SH
        - KN
        - LC
        - MF
        - PM
        - VC
        - WS
        - SM
        - ST
        - SA
        - SN
        - RS
        - SC
        - SL
        - SG
        - SX
        - SK
        - SI
        - SB
        - SO
        - ZA
        - GS
        - SS
        - ES
        - LK
        - SD
        - SR
        - SJ
        - SE
        - CH
        - SY
        - TW
        - TJ
        - TZ
        - TH
        - TL
        - TG
        - TK
        - TO
        - TT
        - TN
        - TR
        - TM
        - TC
        - TV
        - UG
        - UA
        - AE
        - GB
        - UM
        - US
        - UY
        - UZ
        - VU
        - VE
        - VN
        - VG
        - VI
        - WF
        - EH
        - YE
        - ZM
        - ZW
        - AX
        - ZZ
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````

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