Approve single payin

View as Markdown
Approves a single payin for processing. The payin must be in **CREATED** status. **Response body** | Field | Type | Description | |-------|------|-------------| | `data` | Object | The payin 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 payin was approved and processing continued; **`data.status`** reflects the outcome of this request. | | **202** | The request was accepted and **`data`** includes the payin, but **`data.status`** may still change. Poll **`GET /api/payins/{id}`** until the payin reaches a terminal status. | | **207** | The payin was approved but initiation did not complete successfully; see **`warning`** and **`data.status`**. | **Error and retry responses** | Status Code | Error code | Description | |-------------|------------|-------------| | **400** | `INVALID_STATUS` | The payin is not in **CREATED** status and cannot be approved. | | **401** | `AUTHENTICATION_ERROR` | Authentication credentials are invalid or missing. | | **403** | `AUTHORIZATION_ERROR` | You do not have permission to perform this action. | | **404** | `PAYIN_NOT_FOUND` | Payin not found or does not belong to your 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

payin_idstringRequiredformat: "uuid"

Response

Payin approved and initiated successfully
dataobject or null
Response model for payin operations.
warningstring or null

Errors

404
Not Found Error
503
Service Unavailable Error