Webhook Topics
CounterpartyPayoutCompleted
Fired when the payout has been reconciled to a posted bank transaction. This is the terminal success state: the funds have settled at the receiving bank.
The included payload mirrors the payout resource — payoutId, counterpartyId, amount (in cents), currency, status, description, and effectiveDate — so you can act on the event without re-reading the payouts API.
postWebhookcounterpartyPayoutCompleted
Payload
Example payload
{
"attributes": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"walletId": "123e4567-e89b-12d3-a456-426614174000"
},
"included": [
{
"attributes": {
"payoutId": "po_a1b2c3d4e5",
"counterpartyId": "123e4567-e89b-12d3-a456-426614174000",
"merchantId": "123e4567-e89b-12d3-a456-426614174000",
"amount": 5000,
"currency": "USD",
"status": "Sent",
"description": "Payout to Acme Vendor",
"effectiveDate": "2026-08-28"
}
}
]
}Response
Return a 200 status to indicate that the data was received successfully
Changes
Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.