v1.0
OpenAPI 3.1.1

Figo Docs

USD-faced B2B API for collections (pay-ins) and payouts (pay-outs) across supported corridors. Authenticate with an API key via the x-api-key header (or Authorization: Bearer sk_...).

Repeating a request safely

Send an Idempotency-Key header on any request that moves money. The first request runs and its response is kept; every repeat of that key returns the same response instead of doing the work again. So if a payout times out, retry it with the same key — you will either get the original result or the payout will be made once.

Reusing a key with a different body is refused, because that is a bug we should not hide from you.

Errors

Errors carry a message written for a person, which we reword as we find better wording. When a refusal is one you can act on, it also carries an error_code that does not change — branch on that:

error_code what happened
settlement_account_not_ready The account cannot be paid yet; its settlement account is still coming up.
corridor_unavailable We do not collect or pay out on this corridor right now.
corridor_not_link_payable Payable through the API, but not through a payment link.
amount_below_minimum Below the smallest amount the corridor will carry.
insufficient_balance Not enough available balance.
link_not_payable The link is expired, used up, or switched off.
idempotency_key_reused The same Idempotency-Key was sent for different work.
idempotency_in_progress A request with that key is still running.

Testing

On the sandbox no money moves for real, so nothing arrives until you say so. Open a collection, then settle it with POST /v1/sandbox/collections/{reference}/settle — including { "outcome": "failed" }, because an integration that has only ever seen money arrive has not been tested.

Sandbox

Client Libraries