Concepts

Payout lifecycle

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.

States

StatusMeaning
createdThe payout exists and is pending approval by the sending team. The recipient can already be invited to claim.
approvedThe sending team approved the payout (dashboard, approval session, or preApproved creation). Funds are reserved against the team wallet.
requestedThe recipient claimed the payout and chose a payout method; the transfer has been requested from the payment provider.
completedThe transfer settled. Terminal.
deletedThe payout was deleted before completion. Terminal.
expiredThe payout expired unclaimed. Terminal.

The happy path is createdapprovedrequestedcompleted.

Notes

  • Approval order is not fixed: a recipient can claim before approval — the transfer waits until the payout is both approved and funded.
  • A provider rejection after 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.
  • Deleting is only possible while no transfer is in flight.