Developer portal
record.updated.v1
One or more fields on a record were changed.
record.updated.v1v1at-least-once deliveryFires when
After any save that mutates field values on an existing record. Fires once per save, not once per changed field.
Payload fields
Envelope fields are shared across all event types. Event-specific data is nested under data.
| Field | Type | Required | Description |
|---|---|---|---|
eventId | string (uuid) | required | Unique per delivery attempt. Use for deduplication. |
event | string | required | Fully-qualified event name, e.g. record.created.v1. |
tenantId | string (uuid) | required | Tenant that owns the affected resource. |
firedAt | string (date-time) | required | ISO-8601 UTC timestamp when the event was emitted. |
data.recordId | string (uuid) | required | ID of the updated record. |
data.moduleKey | string | required | Composer module key. |
data.changedFieldKeys | string[] | required | Keys of the field blocks whose values changed in this save. |
Sample payload
{
"eventId": "22222222-3333-4444-5555-666666666666",
"event": "record.updated.v1",
"tenantId": "00000000-1111-2222-3333-444444444444",
"firedAt": "2026-04-18T12:35:00.000Z",
"data": {
"recordId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"moduleKey": "incidents",
"changedFieldKeys": [
"severity",
"description"
]
}
}Verify the signature
Every delivery includes X-QEHS-Signature: sha256=<hex> and X-Job-ID headers. Verify before trusting the body. See the webhooks signature docs for a full verification example.