Remittance & transfers
Send a transfer on a chosen route or by rule, with optional backup
POST
/transfers/orchestrateScope
transfers:writeAuth Bearer keyIdempotentSend on `route_id`, or let us pick by `strategy` (best_rate, lowest_fee, fastest). With `fallback: true`, up to two backup routes are tried only after the previous route definitively refused the transfer, and only if they still deliver at least `min_destination_amount` (default: the first route's destination amount). A transfer whose outcome is unknown is never retried on another route. Returns the transfer and every attempt.
Headers
Idempotency-KeystringrequiredRetrying with the same key and payload replays the original response.
Request body
json
{
"route_id": "rte_9f2c41ab77d04e18a1c3b6d2",
"fallback": true,
"min_destination_amount": "760.00",
"recipient": {
"accountName": "Jane Doe",
"accountNumber": "12345678",
"sortCode": "040004"
},
"purpose": "Supplier payment"
}Responses
201Orchestrated transfer
json
{
"object": "orchestrated_transfer",
"status": "processing",
"transfer": {
"id": "trf_9f2c41ab77e04d1e8b6a",
"object": "transfer",
"status": "processing",
"reference": "RM-9F2C41AB",
"beneficiary_id": "ben_31d0c8a5f4e2",
"source_currency": "NGN",
"destination_currency": "GHS",
"destination_country": "GH",
"amount": "250000.00",
"fee": "1250.00",
"rate": "0.0116",
"destination_amount": "2885.00",
"recipient_name": "Ama Owusu",
"account_number": "0241234567",
"bank_name": "MTN Mobile Money",
"narration": "October retainer",
"failure_reason": null,
"metadata": {
"invoice_id": "inv_2201"
},
"created_at": "2026-08-30T09:14:22.104Z",
"updated_at": "2026-08-30T09:14:25.882Z"
},
"route": {
"id": "rte_1b7e0c92d4aa4f3b9e51c870",
"label": "Route 2 · UK bank transfer"
},
"attempts": [
{
"route_id": "rte_9f2c41ab77d04e18a1c3b6d2",
"label": "Route 1 · UK bank transfer",
"outcome": "failed",
"reason": "Recipient details were rejected by our partner."
},
{
"route_id": "rte_1b7e0c92d4aa4f3b9e51c870",
"label": "Route 2 · UK bank transfer",
"outcome": "sent",
"reason": null
}
]
}Errors
Errors use RFC 9457 problem details. Branch on code, and log request_id.
400Bad request401Unauthenticated403Forbidden409Idempotency conflict422Validation error429Rate limitedcURL
curl -X POST "https://business.boundlesspay.com/api/public/v1/transfers/orchestrate" \
-H "Authorization: Bearer $BOUNDLESS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{ "route_id": "rte_9f2c41ab77d04e18a1c3b6d2", "fallback": true, "min_destination_amount": "760.00", "recipient": { "accountName": "Jane Doe", "accountNumber": "12345678", "sortCode": "040004" }, "purpose": "Supplier payment" }'