Skip to main content

Quickstart

This guide creates a transfer end-to-end: get a quote, then send against it. Transfers are quote-based — you always create a quote first and pass its id to the transfer.

Prerequisites

  • A Kora Remittance account (sign up)
  • Your API key (kora_…) and Tenant ID (UUID) from the dashboard
  • A recipient already created for the sender (a recipientId)
  • The sender authenticated as an end user (a session token) — see Partner Handoff
export KORA_API_KEY="kora_abc123..."
export KORA_TENANT_ID="your-tenant-uuid"
export KORA_BASE_URL="https://api.korastratum.com/api/v1/remittance"
export KORA_SESSION="<end-user-session-jwt>"

Step 1: Create a quote

A quote locks the FX rate and fees for a corridor for a short window.

curl -X POST "$KORA_BASE_URL/quotes" \
-H "Authorization: Bearer $KORA_SESSION" \
-H "X-Tenant-ID: $KORA_TENANT_ID" \
-H "Content-Type: application/json" \
-d '{
"sendAmount": "100.00",
"sendCurrency": "USD",
"receiveCurrency": "PHP",
"destinationCountry": "PH"
}'

The response includes a quoteId, the locked exchangeRate, receiveAmount, feeTotal, and an expiresAt.

Step 2: Create the transfer

Pass the quoteId and the recipientId, plus the compliance fields.

curl -X POST "$KORA_BASE_URL/transfers" \
-H "Authorization: Bearer $KORA_SESSION" \
-H "X-Tenant-ID: $KORA_TENANT_ID" \
-H "Content-Type: application/json" \
-d '{
"quoteId": "3c8a1f7e-2b44-4c9a-a1d0-7e5b6f0c2a91",
"recipientId": "9f2c6d10-4a55-4b3e-8f21-1d7e0c9a2b34",
"transferReason": "family_support",
"sourceOfFunds": "salary",
"relationshipToRecipient": "family"
}'

You get back a 201 with the transfer and its initial status. From here, status changes are delivered to your server by webhook.

note

Transfers are gated by KYC and screening. If the sender is not yet verified, the transfer is rejected with a compliance error — run identity verification first (see Kora IDV).

Step 3: Read the transfer back

curl "$KORA_BASE_URL/transfers/3c8a1f7e-2b44-4c9a-a1d0-7e5b6f0c2a91" \
-H "Authorization: Bearer $KORA_SESSION" \
-H "X-Tenant-ID: $KORA_TENANT_ID"

To list a user's full history, call GET /transfers (paginated) — see Transaction History.

Next steps