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

idstring uuid required

Unique identifier for the object.

type'WebhookEvent' required

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.