Payouts API
The Payouts API enables you to initiate payouts and list all created payouts. Each payout is processed according to the specified rail and goes through various status transitions.
Payouts
A Payout represents a money transfer to a payee using their default payment method. Payouts go through various status transitions and are processed according to the specified rail.
Payout Status Lifecycle
Payouts transition through the following statuses:
Status Transition Flow
Status Transition Details
-
Created → Approved
- Occurs when the payout is approved via the dashboard or with the
auto_approveoption - Payouts in the created state can only be canceled, not modified
- Occurs when the payout is approved via the dashboard or with the
-
Created → Canceled
- Occurs when you explicitly cancel a payout before it’s approved
- Available through the dashboard interface
-
Approved → Initiated
- Occurs when the payout is accepted by the banking system
- Typically happens within minutes of approval
- Funds are now in transit to the recipient
-
Initiated → Debited (ACH only)
- Occurs when funds have been successfully debited from the sender’s account
- Only applies to ACH payment rails (standard and same-day)
-
Initiated → Settled (non-ACH rails)
- Occurs when confirmation is received that funds have reached the recipient
- Processing time varies by payment rail (ACH, wire transfer, etc.)
-
Approved/Initiated → Failed
- Occurs when a payout cannot be completed due to an error
- Common causes: insufficient funds, invalid banking details, or compliance issues
- Failed payouts cannot be reprocessed and require creating a new payout
Auto-Approve Feature
You can set auto_approve: true when creating a payout to automatically transition it from created to approved state without requiring manual approval through the dashboard.
Querying Payouts by Status
Example response (amount fields are dual-emitted for compatibility; amount_in_cents is the legacy name and matches amount_in_minor_units for USD minor units):
Supported Rails and SLAs
The Payouts API supports different payment rails with varying processing times and service level agreements (SLAs):
Bank Account Rails
The available rails for bank accounts are determined by the payee’s bank routing number. Not all routing numbers support all rails.
Card Rails
Cards only support the “instant_card” rail option.