QEHSQEHS

Developer portal

record.updated.v1

One or more fields on a record were changed.

record.updated.v1v1at-least-once delivery

Fires 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.

FieldTypeRequiredDescription
eventIdstring (uuid)requiredUnique per delivery attempt. Use for deduplication.
eventstringrequiredFully-qualified event name, e.g. record.created.v1.
tenantIdstring (uuid)requiredTenant that owns the affected resource.
firedAtstring (date-time)requiredISO-8601 UTC timestamp when the event was emitted.
data.recordIdstring (uuid)requiredID of the updated record.
data.moduleKeystringrequiredComposer module key.
data.changedFieldKeysstring[]requiredKeys 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.