---
title: "contact.update"
sidebarTitle: "contact.update"
description: "Webhook event triggered when a contact is updated."
---
> For the complete documentation index, see [llms-docs.txt](/llms-docs.txt) or the site index [llms.txt](/llms.txt). Full docs corpus: [llms-full-docs.txt](/llms-full-docs.txt). Prefer markdown URLs (append `.md`) for agent consumption. Product skill: [skill.md](/skill.md).


<SideBySide>
  <Side>

    The `contact.update` event is triggered when a contact's details change. Status-only transitions also emit dedicated events (`contact.subscribed`, `contact.unsubscribed`, `contact.blocked`).

    ## Event Details
    All webhook payloads follow a consistent top-level structure with event-specific data nested within the `data` object.

    ### type `string`
    The event type that triggered the webhook (`contact.update`).

    ### created_at `string`
    ISO 8601 timestamp when the webhook event was created.

    ### data `object`
    Updated contact fields (`id`, `email`, `first_name`, `last_name`, `status`).

    ## Handling this event
    When your endpoint receives a `contact.update` event, you might want to:
    - Update the contact's record in your system.
    - Synchronize subscription preferences.
    - Log the change for audit purposes.
  </Side>

  <Side>

    ```json
    {
      "id": "whev_01h…",
      "type": "contact.update",
      "created_at": "2026-07-22T12:00:00.000Z",
      "data": {
        "id": "con_123456789",
        "email": "contact@example.com",
        "first_name": "Ada",
        "last_name": "Lovelace",
        "status": "unsubscribed"
      }
    }
    ```
  </Side>
</SideBySide>

## Learn More

- [Webhooks Introduction](/docs/webhooks)
- [All Event Types](/docs/webhooks/event-types)
