Approve single payout
Approves a single payout in **CREATED** status and starts bank processing. The payout must belong to your entity.
**Response body**
| Field | Type | Description |
|-------|------|-------------|
| `data` | Object | The payout object (`status` reflects the state at response time) |
| `warning` | String | Present on **207** when initiation had a recoverable issue |
**Success responses**
| Status Code | Description |
|-------------|-------------|
| **201** | The payout was approved and processing continued; **`data.status`** reflects the outcome of this request. |
| **202** | The request was accepted and **`data`** includes the payout, but **`data.status`** may still change. Poll **`GET /api/payouts/{id}`** (or your usual list/events flow) until the payout reaches a terminal status. |
| **207** | The payout was approved but initiation did not complete successfully; see **`warning`** and **`data.status`**. |
**Error and retry responses**
| Status Code | Error code | Description |
|-------------|------------|-------------|
| **400** | (see response) | The payout cannot be approved in its current state. |
| **404** | (see response) | Payout not found for this entity. |
| **503** | (see response body) | **Transient error**—bank initiation did not complete for this request. **Retry** the same approve call after a short wait. The JSON body includes `error_code` and `message` for logging and automation. |
**Notes**
- Treat **202** like any accepted operation: use the returned id and **poll** until status stabilizes.
- **503** is for **retries**, not a final business outcome for the transfer.
Authentication
x-api-keystring
RootPay API key sent in the x-api-key header. Keys are environment-scoped: live_* for production, test_* for sandbox.
Path parameters
payout_id
Response
Payout approved and initiated successfully
data
warning
Errors
404
Not Found Error
503
Service Unavailable Error