Discover a corridor
CallGET /v1/transfer-corridors and optionally filter by currency, country, or paymentMethod. Each active route includes settlement timing, limits, institution-directory availability, and ordered fields.
When institutionDirectoryEnabled is true, load the route’s institution directory and submit its institution code in the corresponding routing field. Do not send institutionName; Sakawave resolves and stores the canonical name. Routes without a directory expose institutionName as a normal required field.
Render the returned field descriptors instead of hard-coding routing forms. Submit values under the descriptor’s stable key. Amount limits are integers in the destination currency’s minor unit.
Contract-pending routes are not returned. Never infer support from a currency alone.
Reuse recipients and payment details
A recipient stores identity and contact information. A payment detail stores one bank account or mobile-money destination. One recipient can own several payment details, and exactly one active detail can be the default.- Create the identity with
POST /v1/transfer-recipients. - Add routing data with
POST /v1/transfer-recipients/{recipientId}/payment-details. - Create a short-lived destination with
POST /v1/transfer-destinations/recipients/{recipientId}. OmitpaymentDetailIdto use the default. - Reuse the same Sakawave IDs for later transfers.
Inline compatibility
POST /v1/transfer-destinations still accepts inline external routing fields. saveRecipient remains false by default for API clients. Set it to true to retain the recipient and payment detail.
Deletion
Deleting a payment detail or recipient immediately removes it from reads and invalidates unused destinations. Provider cleanup is asynchronous and retries safely. Existing and in-flight transfers retain immutable masked snapshots and remain pinned to their original provider.Validation errors
Corridor-field and amount-limit failures return HTTP422 with a stable top-level code and an errors array. Each error contains field, path, code, and message, so a client can attach feedback to the matching form control.