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

# clickwrap.accepted

> Fired when an end user accepts the active version of a clickwrap.

## Event

```
clickwrap.accepted
```

This event fires when an `accepted` event is recorded for a clickwrap - through the [Capture Clickwrap Event](/api-reference/endpoint/clickwrap/capture) API or from a Chamelio-hosted clickwrap. Only acceptance is delivered; `viewed`, `checked`, and `scrolled_to_bottom` events do not produce a webhook.

## Payload Example

```json theme={null}
{
  "event": "clickwrap.accepted",
  "event_id": "3f7c1a8e-5b2d-4e9a-9c31-8a6f0d4b7e12",
  "organization_id": 42,
  "user_id": null,
  "payload_version": 1,
  "timestamp": "2026-09-02T14:32:00Z",
  "data": {
    "clickwrap_id": 7,
    "clickwrap_version_id": 42,
    "clickwrap_event_id": 90311,
    "user_identifier": "user@example.com",
    "slug": "privacy-policy",
    "version_number": 3
  }
}
```

## Payload Fields

### Envelope

| Field             | Type            | Description                                                       |
| ----------------- | --------------- | ----------------------------------------------------------------- |
| `event`           | string          | Always `clickwrap.accepted`                                       |
| `event_id`        | string          | UUID for this delivery. Use it to deduplicate retries             |
| `organization_id` | integer         | ID of the organization the event occurred in                      |
| `user_id`         | integer or null | Always `null` - the subject is your end user, not a Chamelio user |
| `payload_version` | integer         | Envelope schema version. Currently `1`                            |
| `timestamp`       | string          | ISO 8601 UTC timestamp of when the event was generated            |
| `data`            | object          | Event-specific payload (see below)                                |

### Data Object

| Field                  | Type    | Description                                   |
| ---------------------- | ------- | --------------------------------------------- |
| `clickwrap_id`         | integer | ID of the clickwrap that was accepted         |
| `clickwrap_version_id` | integer | ID of the specific version that was accepted  |
| `clickwrap_event_id`   | integer | ID of the recorded acceptance event           |
| `user_identifier`      | string  | The identifier you supplied for your end user |
| `slug`                 | string  | Slug of the accepted clickwrap                |
| `version_number`       | integer | Sequential version number that was accepted   |

<Info>
  `user_identifier` is your own opaque identifier for your end user - it is never resolved against
  Chamelio's users. Because the subject is not a Chamelio user, this event carries no `user_id`.
</Info>

<Tip>
  Use `clickwrap_version_id` with [Get Clickwrap History](/api-reference/endpoint/clickwrap/history) to
  retrieve the exact text the user accepted, which is what you need for an audit trail.
</Tip>
