POST
/api/v2/banking/payouts/initiatePayout Step 3: send the OTP for a checked payout.
Send the CheckId from POST /api/v2/banking/payouts/check. The VerificationToken returned here must be verified through POST /api/v2/banking/otp/verify before calling POST /api/v2/banking/payouts.
Authentication
Send your API key in the x-api-key header on every request.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| userId (query) | unknown | No |
Request body
application/json
| Field | Type | Required | Description |
|---|---|---|---|
| CheckId | string | Yes | CheckId from POST /api/v2/banking/payouts/check. If the quote is refreshed on the OTP screen, send the latest quote/order ID here. CheckId returned by POST /api/v2/banking/payouts/check. When refreshing quotes during OTP, send the latest quote/order ID here. |
| QuoteRequestId | string | No | QuoteRequestId returned by POST /api/v2/banking/quotations. QuoteRequestId returned by POST /api/v2/banking/quotations. |
| PayeeId | unknown | Yes | Local payee ID from the payee list endpoint. Local payee ID from GET /api/v2/banking/payees. |
| Amount | string | Yes | Payout amount as a decimal string. |
| Currency | string | Yes | Payout currency, usually the payee currency. |
| FromCurrency | string | No | Currency to fund the payout from. When omitted, the payout currency is used. This must reflect the currency selected by the caller, because an Equals Money budget can hold multiple currencies under the same budget ID. |
| BalanceId | string | No | Optional provider balance or budget ID to fund the payout from. Optional provider balance or Equals Money budget ID used as funding source. |
Responses
200 — OK
| Field | Type | Required | Description |
|---|---|---|---|
| Success | boolean | No | Indicates whether OTP initiation succeeded. |
| VerificationToken | string | No | Token for this payout approval. Verify it with the OTP endpoint, then pass it to POST /api/v2/banking/payouts. |
| Message | string | No | |
| ExpiresAt | string (date-time) | No | |
| RecipientName | string | No | |
| Amount | unknown | No | |
| Currency | string | No |
400 — Bad Request
| Field | Type | Required | Description |
|---|---|---|---|
| Message | string | No | |
| Code | string | No | |
| Status | unknown | No | |
| ValidationErrors | object | No | |
| Details | string | No |
401 — Unauthorized
| Field | Type | Required | Description |
|---|---|---|---|
| Message | string | No | |
| Code | string | No | |
| Status | unknown | No | |
| ValidationErrors | object | No | |
| Details | string | No |
404 — Not Found
| Field | Type | Required | Description |
|---|---|---|---|
| Message | string | No | |
| Code | string | No | |
| Status | unknown | No | |
| ValidationErrors | object | No | |
| Details | string | No |
500 — Internal Server Error
| Field | Type | Required | Description |
|---|---|---|---|
| Message | string | No | |
| Code | string | No | |
| Status | unknown | No | |
| ValidationErrors | object | No | |
| Details | string | No |
Example request
curl -X POST "https://{base_url}/api/v2/banking/payouts/initiate" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"CheckId":"…","PayeeId":"…","Amount":"…","Currency":"…"}'This page is generated from the live OpenAPI specification and always matches the current API.