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

# Policy update events

> The webhook events sent as a policy update moves through its lifecycle.

A `POST` request will be sent to the `webhookUri` you provided when generating the Ignition token at each stage of the update's lifecycle.

> [!TIP]
>
> You must specify a `webhookUri` when generating an Ignition token to receive
> webhook events. See [Start Ignition](https://docs.axle.insure/api-reference/ignition/start-ignition.md)
> for more details.

All policy update webhook events include top-level `id`, `type`, and `createdAt`. The `data` object includes `client`, `policy`, `operation`, `input`, `unsupportedInputs`, and optionally `user` and `metadata`.

```json Example webhook payload theme={null}
{
  "id": "<event_id>",
  "type": "policy-update.request-initiated",
  "data": {
    "client": "<client-id>",
    "policy": "<policy-id>",
    "operation": "update-third-party",
    "user": {
      "firstName": "John",
      "lastName": "Doe",
      "id": "usr_123456789",
      "email": "john.doe@gmail.com"
    },
    "metadata": {
      "claimNumber": "123456"
    },
    "input": {
      "lenderCode": "ABC123"
    },
    "unsupportedInputs": [],
    "createdAt": "2026-01-01T00:00:00.000Z",
  }
}
```

## Event types

Events follow this lifecycle: `policy-update.request-initiated` -> `policy-update.request-succeeded` or `policy-update.request-failed` -> (on success) `policy-update.policy-refresh-succeeded` or `policy-update.policy-refresh-failed`.

The refresh events are sent only when [`processesInstantly`](https://docs.axle.insure/guides/policy-updates#processesinstantly) is `true`.

### policy-update.request-initiated

The policy update has been received and Axle has begun processing the insurance carrier request.

### policy-update.request-succeeded

The insurance carrier successfully processed the request.

### policy-update.request-failed

The insurance carrier request failed, or the policy update expired before completing.

### policy-update.policy-refresh-succeeded

Sent only for policy updates where `processesInstantly: true`. After a successful insurance carrier request, Axle was able to retrieve the latest policy data.

### policy-update.policy-refresh-failed

Sent only for policy updates where `processesInstantly: true`. After a successful insurance carrier request, Axle was unable to refresh the policy data. The carrier request itself succeeded, but the policy data may not yet reflect the change.


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