> ## 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:
            - $ref: '#/components/schemas/AlfredSetupDto'
            - $ref: '#/components/schemas/BitsoSetupDto'
            - $ref: '#/components/schemas/BivoSetupDto'
            - $ref: '#/components/schemas/BlindPaySetupDto'
            - $ref: '#/components/schemas/BraleSetupDto'
            - $ref: '#/components/schemas/BridgeSetupDto'
            - $ref: '#/components/schemas/CapaSetupDto'
            - $ref: '#/components/schemas/CobreSetupDto'
            - $ref: '#/components/schemas/CrissCrossSetupDto'
            - $ref: '#/components/schemas/DfnsSetupDto'
            - $ref: '#/components/schemas/FinitySetupDto'
            - $ref: '#/components/schemas/HercleSetupDto'
            - $ref: '#/components/schemas/HoneyCoinSetupDto'
            - $ref: '#/components/schemas/InfiniaSetupDto'
            - $ref: '#/components/schemas/JuicywaySetupDto'
            - $ref: '#/components/schemas/KotanipaySetupDto'
            - $ref: '#/components/schemas/KoyweSetupDto'
            - $ref: '#/components/schemas/OnmetaSetupDto'
            - $ref: '#/components/schemas/TraceFinanceSetupDto'
            - $ref: '#/components/schemas/UtilaSetupDto'
            - $ref: '#/components/schemas/WalapaySetupDto'
            - $ref: '#/components/schemas/YativoSetupDto'
            - $ref: '#/components/schemas/YellowcardSetupDto'
            - $ref: '#/components/schemas/MastercardSetupDto'
            - $ref: '#/components/schemas/TripleASetupDto'
      required:
        - provider
        - credentials
    IntegrationConfigEntity:
      type: object
      properties:
        provider:
          type: string
        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
        - Juicyway
        - Onmeta
        - Mastercard
        - Alfred
        - Demo
        - CrissCross
        - TripleA
      description: Integration provider to configure credentials for.
    AlfredSetupDto:
      type: object
      properties:
        apiKey:
          type: string
          description: The Alfred API key for authentication.
          example: alfred_api_key_123
        apiSecret:
          type: string
          description: The Alfred API secret for authentication.
          example: alfred_api_secret_456
        webhookSecret:
          type: string
          description: >-
            The Alfred webhook secret used to verify incoming webhook
            signatures.
          example: alfred_webhook_secret_789
      required:
        - apiKey
        - apiSecret
        - 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
        thirdPartyPayoutFlowEnabled:
          type: boolean
          description: >-
            Enable the third-party payout flow for withdrawals with a
            counterPartyIdentityId.
          example: true
      required:
        - clientId
        - clientSecret
        - merchantId
    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
    JuicywaySetupDto:
      type: object
      properties:
        apiKey:
          type: string
          description: The Juicyway API key for authentication.
          example: juicyway_api_key_123
        pin:
          type: string
          description: Transaction PIN required by Juicyway for payouts.
          example: '123456'
      required:
        - apiKey
    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
    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...
        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
    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 this credential set belongs to. Omit to set the
            organization-level default ('the tenant is the merchant').
        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
      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
    NetworkId:
      type: string
      enum:
        - POLYGON
        - ETHEREUM
        - TRON
        - BASE
        - OPTIMISM
        - BITCOIN
        - SOLANA
        - CELO
      description: The network this refund address belongs to.
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````