> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tolt.com/llms.txt
> Use this file to discover all available pages before exploring further.

# commission.updated

> Sent when a commission is approved, declined or edited, and when a Stripe refund zeroes an unpaid one.

Approval can come by hand or automatically after the approval delay. A refund through `POST /v2/transactions/{id}/refund` doesn't fire it: you get [`transaction.updated`](/webhooks/events/transaction-updated), so refetch that transaction's commissions.

Every webhook is delivered as JSON with the same envelope, `commission.updated`
carries the commission in `data`:

**type** `string`

The event name, `commission.updated`.
**data** `object`

The commission this event is about.

**data**

**id** `string`

Unique id for the commission.

**amount** `string | null`

What the partner earns, in cents, serialized as a string, e.g. `"980"`.

**revenue** `string | null`

The sale amount the commission was calculated from, in cents, serialized as a string.

**currency** `string | null`

ISO currency code, e.g. `usd`.

**status** `string | null`

Typically `pending`, `approved`, `paid`, `rejected`, or `refunded`.

**type** `string | null`

How it was earned, e.g. `sale`.

**source** `string | null`

Where the underlying sale came from, e.g. `stripe`.

**partner\_id** `string | null`

The partner who earned it.

**transaction\_id** `string | null`

The transaction it was calculated from.

**customer\_id** `string | null`

The customer whose payment triggered it.

**payout\_id** `string | null`

The payout it was paid in, once `paid`.

**program\_id** `string | null`

The program it belongs to.

**organization\_id** `string`

Your organization id.

**created\_at** `string`

ISO 8601 timestamp when the commission was created.

**updated\_at** `string`

ISO 8601 timestamp when it was last updated.
**timestamp** `string`

ISO 8601 time the event was emitted.

Deliveries can carry more fields than listed here, and the example below is shortened, so ignore fields you don't use.

```json Payload theme={"system"}
{
  "type": "commission.updated",
  "data": {
    "id": "comm_7XqLm2KwR9tZb4NvHc8YdFsJ",
    "amount": "980",
    "revenue": "4900",
    "currency": "usd",
    "status": "approved",
    "type": "sale",
    "source": "stripe",
    "partner_id": "part_8fKq2LmZx7RtYw3nVbHc5dPj",
    "transaction_id": "txn_5MqRw9KxL2tZb8NvYc4HdFsJ",
    "customer_id": "cus_4RkWm8ZqT2xLb7NvYc9HdPjF",
    "payout_id": null,
    "program_id": "prg_3hTq9WxLm2RbZk7VnYc4DsPf",
    "organization_id": "org_7YtKm3QwZ9xRb2NvHc6LdPsF",
    "created_at": "2026-08-24T14:25:41.000Z",
    "updated_at": "2026-09-23T09:00:00.000Z"
  },
  "timestamp": "2026-09-23T09:00:00.240Z"
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.