Getting Started

Pre-Requisites and Usage

  • An active business on Cadana and an org API key is required to make payments.

Please go through the guides on API keys and authentication before you continue.

Pre‑requisites  



---
config:
  layout: dagre
---
flowchart LR
    S1["Discover Requirements<br>
       • GET /v1/payment-requirements<br>
       • GET /v1/providers"] --> S2["Onboard Beneficiary<br>
       • POST /v1/files/upload-url + PUT (Upload KYC)<br>
       • POST /v1/beneficiaries"]
    S2 --> S3["Create Payout<br>
       • GET /v1/balances<br>
       • POST /v1/fx-quotes<br>
       • POST /v1/payouts"]
    S3 --> S4["Track Status<br>
       • GET /v1/payouts/:id<br>
       • Webhook payout.updated"]
     S1:::blue
     S2:::orange
     S3:::red
     S4:::purple
    classDef blue   fill:#e6f7ff,stroke:#1890ff,color:#000
    classDef orange fill:#fff7e6,stroke:#fa8c16,color:#000
    classDef red    fill:#ffeded,stroke:#f5222d,color:#000
    classDef purple fill:#f9f0ff,stroke:#722ed1,color:#000

Step 1 – Discover Beneficiary Requirements

Before you create a beneficiary you can use the below endpoints to get the corridor specific requirements and supported bank.

SequenceWhat you callWhy
1. Payment requirementsGET /v1/payment-requirementsReturns a JSON‑Schema describing all mandatory fields for the corridor (e.g. Colombian NIT, Mexican CLABE).
2. Supported providersGET /v1/providersSupported banks/wallets that you can make payments to 


Step 2 – Create a Beneficiary

Every payout is linked to a beneficiary. KYC information is required the first time you register a beneficiary.
The creation flow consists of two api calls:

SequenceWhat you callWhy
1. Upload ID documentPOST /v1/files/upload-urlPUT {putUrl} to upload the documentReserves a fileId and returns a PUT URL that lets the client stream a JPEG/PDF directly to cloud storage. This is required to upload the ID for the beneficiary KYC section. Depending on the ID type, you might have to
2. Create beneficiaryPOST /v1/beneficiariesSubmit beneficiary payment and KYC information.

Step 3 – Create Payout

  1. Check balance: GET /v1/balances
    Your Cadana account must hold enough funds before a payout can be queued.

  2. Lock the ratePOST /v1/fx-quotes
    Quotes are valid for ~2 minutes.

  3. Execute payoutPOST /v1/payouts
    Pass the quoteId and the beneficiaryId generated in previous steps.


Step 4 – Monitor Payout Status

MethodHow
PullGET /v1/payouts/{payoutId}
PushSubscribe to Webhooks and receive a JSON event on every state change (processingsucceededfailed, returned).Transaction Event Type