---
title: "CounterpartyPayoutCreated"
method: POST
path: "counterpartyPayoutCreated"
tags: ["Webhook Topics"]
---

# CounterpartyPayoutCreated

`POST counterpartyPayoutCreated` (webhook)

Fired when a payout is created for a counterparty and submitted for processing. `status` is the payout's initial state, which may be `Approved`, `NeedsApproval`, or `Processing` depending on your approval configuration.

A duplicate create — the same idempotency key replayed — returns the existing payout and does **not** fire a second event.

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.

## Payload

- object
  - `id` string, uuid, required: Unique identifier for the object.
  - `type` 'WebhookEvent', required
  - `attributes` object, required
    - `id` string, uuid, required: The webhook event ID
    - `topic` string, required: The webhook topic/event type
    - `clientId` string, uuid, required: The client ID associated with this webhook event
    - `userId` string, uuid: The user ID associated with this webhook event (if applicable)
    - `walletId` string, uuid: The wallet ID associated with this webhook event (if applicable)
    - `updatedAt` string, date-time, required
    - `createdAt` string, date-time, required
  - `relationships` object, required
    - `event` object
      - `data` object, required: The related event resource (PaymentIntent, Payment, Refund, Capture, or ApplicationEvent)
        - `id` string, uuid, required
        - `type` string, required
  - `included` WebhookCounterpartyPayout[], required
    - `id` string, uuid, required
    - `type` 'CounterpartyPayoutCreated' | 'CounterpartyPayoutSent' | 'CounterpartyPayoutCompleted', required
    - `attributes` object, required
      - `payoutId` string, required: The payout id, identical to the one the payouts API returns
      - `counterpartyId` string, uuid, required: The counterparty being paid out
      - `merchantId` string, uuid, required: The merchant that owns the counterparty
      - `amount` integer, required: The payout amount, represented in the smallest currency unit (e.g., cents for USD).
      - `currency` string, required: ISO 4217 currency code of the payout
      - `status` 'Approved' | 'Cancelled' | 'Completed' | 'Denied' | 'Failed' | 'NeedsApproval' | 'Pending' | 'Processing' | 'Returned' | 'Reversed' | 'Sent', required: The payout status at the time the event fired. This is the same status the payouts API reports, so a webhook and a subsequent read always agree.
      - `description` string, nullable, required: Description recorded on the payout
      - `effectiveDate` string, required: The date the payout is scheduled to settle, as `YYYY-MM-DD`
      - `createdAt` string, required: ISO 8601 timestamp
      - `updatedAt` string, required: ISO 8601 timestamp
      - `reference` string, nullable
      - `email` string, email, nullable
      - `fullName` string, nullable
      - `phoneNumber` string, nullable
      - `error` string, nullable
      - `walletId` string, uuid, nullable
      - `billingAddress` object, nullable

## Acknowledgement `200`

Return a 200 status to indicate that the data was received successfully

---

[API](https://skmtc.dev/byaccrue/apis/accrue-merchant-api.md) - [All operations](https://skmtc.dev/byaccrue/apis/accrue-merchant-api/llms.txt) - [OpenAPI document](https://skmtc.dev/byaccrue/apis/accrue-merchant-api/revisions/3e2d97ef2e6e?raw)
