Contact updated
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.
POST webhook: contact.updatedParameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
X-Chatway-Event | header | Yes | string | Event name for this delivery. Example: contact.updated |
X-Chatway-Webhook-Id | header | Yes | string (uuid) | Unique webhook subscription ID. Example: 9f3c2a1b-4d5e-6f70-8a9b-0c1d2e3f4a5b |
X-Chatway-Delivery-Id | header | Yes | string | Unique ID for this HTTP delivery attempt (`del_…`). Example: del_456 |
X-Chatway-Delivery-Attempt | header | Yes | string | Attempt number for this event (`1` on first try). Sent as a decimal string in the header. Example: 1 |
X-Chatway-Timestamp | header | Yes | string | Unix timestamp in seconds when the request was signed. Sent as a decimal string in the header. Example: 1785933000 |
X-Chatway-Signature | header | Yes | string | HMAC SHA256 signature prefixed with `sha256=`. Example: sha256=3c9f5e2b1a0d4c8f7e6a5b4c3d2e1f0a9b8c7d6e5f4a3b2c1d0e9f8a7b6c5d4 |
Request body
Signed JSON envelope for this event.
application/json
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, required)email (string, required)phone (string, required)source (string)— Page URL or normalized channel label.
updated_fields (array<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.
Responses
200
Return any 2xx status to acknowledge receipt.
410
Optional HTTP 410 Gone to signal the endpoint is permanently unavailable. This delivery is not retried (same as other `4xx` responses). Disable the subscription in Chatway Settings if you want deliveries to stop.
Examples
Request body example
{
"id": "evt_1234567890abcdef1234567890abcdef",
"event": "contact.updated",
"data": {
"contact": {
"id": "con_123",
"name": "John Doe",
"email": "[email protected]",
"phone": "+1XXXXXXXXXX"
},
"updated_fields": [
"email"
],
"previous_values": {
"email": "[email protected]"
},
"current_values": {
"email": "[email protected]"
}
},
"occurred_at": "2026-02-04T10:30:00Z",
"version": "2026-09"
}