Posteering
Reference

Submit an outbound transfer (partner perimeter).

Creates an outbound transfer attributed to the authenticated partner. The partner identity (req.user.partnerId from PartnerHmacGuard) is recorded on bankrail.outbound_transfers.consumer_partner_id; the callback dispatcher will sign the terminal-state callback with the partner's active callback-signing credential when one exists. Returns 202 Accepted; the outbound contract is async — failure outcomes surface via state on the response body, not 4xx/5xx.

POST
/api/v1/bankrail/outbound

Authorization

X-Bankrail-Key-Id<token>

Partner-visible credential identifier issued by bank-rail at credential provisioning time. Names which credential signed the request; the corresponding signing secret never appears in any request.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/bankrail/outbound" \  -H "Content-Type: application/json" \  -d '{    "clientReference": "partner-ref-2026-001",    "beneficiaryAccountNumber": "0123456789",    "beneficiaryBankCode": "999058",    "beneficiaryAccountName": "string",    "amountKobo": 100000,    "currency": "NGN",    "narration": "string"  }'
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "clientReference": "string",  "consumerId": "string",  "partnerId": "bf408d53-df49-40a6-8455-a34bd4360901",  "state": "pending",  "provider": "providus",  "brr": "string",  "providerSessionId": "string",  "providerResponseCode": "string",  "providerResponseMessage": "string",  "failureReason": {},  "rail": {},  "settlementAccountName": "string",  "beneficiaryAccountNumber": "string",  "beneficiaryBankCode": "string",  "beneficiaryAccountName": "string",  "amountKobo": 0,  "currency": "string",  "narration": "string",  "creatorMetadata": {},  "createdAt": "2019-08-24T14:15:22Z",  "stateChangedAt": "2019-08-24T14:15:22Z",  "terminalAt": "2019-08-24T14:15:22Z"}
Empty
Empty
Empty
Empty