The states a payout moves through, and which webhook events they emit.
Every payout moves through a small state machine. Each transition emits a webhook event whose payload matches the GET /payout/{id} schema.
| Status | Meaning |
|---|---|
created | The payout exists and is pending approval by the sending team. The recipient can already be invited to claim. |
approved | The sending team approved the payout (dashboard, approval session, or preApproved creation). Funds are reserved against the team wallet. |
requested | The recipient claimed the payout and chose a payout method; the transfer has been requested from the payment provider. |
completed | The transfer settled. Terminal. |
deleted | The payout was deleted before completion. Terminal. |
expired | The payout expired unclaimed. Terminal. |
The happy path is created → approved → requested → completed.
requested does not complete the payout: it stays requested while the failure is handled (in the sandbox you can force this with the failure triggers listed in Create a payout).availableOn delays claimability, not creation: the payout exists immediately but can only be claimed from that date.