---
title: "Contact updated"
method: POST
path: "contact.updated"
---

# Contact updated

`POST contact.updated` (webhook)

Incoming webhook deliveries are authenticated with HMAC signature headers (`X-Chatway-Signature` and `X-Chatway-Timestamp`), not your Chatway API key.

An existing contact was updated.

Use contact.updated to keep an existing CRM record synchronized. Find the record using `data.contact.id`, then inspect data.updated_fields and the matching entries in data.previous_values and data.current_values. For example, an email change should update the existing contact rather than create a second record under the new address. Use [Get Chat Contact](https://developers.chatway.app/operations/contacts.show) to retrieve a fresh profile and [Contact created](https://developers.chatway.app/webhooks/webhook.contact_created) for the initial contact notification.

For signature verification and retries, see [Webhooks overview](https://developers.chatway.app/webhooks/guides.webhooks_overview).

## Headers

- `X-Chatway-Event` string, required
- `X-Chatway-Webhook-Id` string, uuid, required
- `X-Chatway-Delivery-Id` string, required
- `X-Chatway-Delivery-Attempt` string, required
- `X-Chatway-Timestamp` string, required
- `X-Chatway-Signature` string, required

## Payload

- object
  - `id` string, required: Stable event ID (`evt_…`). Same across HTTP retries for this notification.
  - `event` string, required: Event name. For this webhook, always `contact.updated`.
  - `data` object, required: Payload for contact.updated.
    - `contact` object, required
      - `id` string, uuid, required
      - `name` string, nullable, required: Contact name. Always present; null when unknown.
      - `email` string, nullable, required: Contact email. Always present; null when unknown.
      - `phone` string, nullable, required: Contact phone. Always present; null when unknown.
    - `updated_fields` string[], required
    - `previous_values` object, required: Map of field names to values before the update.
    - `current_values` object, required: Map of field names to values after the update.
  - `occurred_at` string, date-time, required: When the business event occurred.
  - `version` string, required: Payload schema version.

## Acknowledgement `200`

Return any 2xx status to acknowledge receipt.

## Other responses

- `410`: Optional HTTP 410 Gone to signal the endpoint is permanently unavailable. Like every non-2xx response below 500 (including `408` and `429`), it is not retried. It does not disable the subscription; turn the webhook off in Chatway Settings if you want deliveries to stop.

---

[API](https://skmtc.dev/chatway/apis/chatway-developer-docs.md) · [All operations](https://skmtc.dev/chatway/apis/chatway-developer-docs/llms.txt) · [OpenAPI document](https://skmtc.dev/chatway/apis/chatway-developer-docs/revisions/ca1a1da291cc?raw)
