Event catalogue
112 event types across 8 areas. Every payload below is generated from the code that sends it.
Subscribing
Put event types in a webhook endpoint's event_types. Each event shows the
scope your API key needs to subscribe to it, besides int:webhooks:manage;
["*"] (every event) needs int:* — see
which events a key may subscribe to. Every
delivery wraps data in the same envelope. Events marked
PII (34 of them) carry personal data and are delivered only to
endpoints OfficeHero has enabled for it — see personal data.
not sent yet marks the 4 event types OfficeHero does not
send today (compliance.nis2.csirt.submission_state_changed, identity.user.created, identity.user.deactivated, identity.user.reactivated). You can subscribe to them;
nothing arrives until they ship.
Payload fields marked optional can be absent; fields marked deprecated are internal and will
be removed. Values in the examples are synthetic. Four payloads use camelCase keys (exportRunId, …)
— that is what they send, so match them exactly
(data conventions).
Finance 25
fin.bill.approved since 2026-05-16 A supplier bill was approved for payment.
Scope to subscribe: int:fin.bills:read.
data is BillEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
supplier_id | string (uuid) | Id of the supplier. |
status | string | The record's status after the change. |
currency | string | ISO 4217 currency code. |
subtotal_minor | integer | Subtotal in minor units of currency (cents for EUR). |
tax_minor | integer | Tax in minor units of currency (cents for EUR). |
total_minor | integer | Total in minor units of currency (cents for EUR). |
paid_minor | integer | Paid in minor units of currency (cents for EUR). |
balance_minor | integer | Balance in minor units of currency (cents for EUR). |
issue_date | string (date) | null | Issue date, YYYY-MM-DD. |
due_date | string (date) | null | Due date, YYYY-MM-DD. |
approved_at | string (date-time) | null | When approved — RFC 3339, UTC. |
paid_at | string (date-time) | null | When paid — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c3ac-60f2-7915-929d-f6092fff7b01",
"type": "fin.bill.approved",
"occurred_at": "2026-09-11T07:45:12Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a6-1a2b-7c3d-9e4f-5a6b7c8d9e04",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"number": "BALK-77120",
"supplier_id": "0199c390-3c4d-7e5f-8a6b-7c8d9e0f1a05",
"status": "posted",
"currency": "EUR",
"subtotal_minor": 86000,
"tax_minor": 15480,
"total_minor": 101480,
"paid_minor": 0,
"balance_minor": 101480,
"issue_date": "2026-09-10",
"due_date": "2026-10-10",
"approved_at": "2026-09-11T07:45:12Z",
"paid_at": null,
"created_at": "2026-09-10T15:20:00Z",
"updated_at": "2026-09-11T07:45:12Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3b9-23fe-76b0-a9a6-6ee9277f865f"
}
}
} fin.bill.created since 2026-05-16 A supplier bill was recorded.
Scope to subscribe: int:fin.bills:read.
data is BillEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
supplier_id | string (uuid) | Id of the supplier. |
status | string | The record's status after the change. |
currency | string | ISO 4217 currency code. |
subtotal_minor | integer | Subtotal in minor units of currency (cents for EUR). |
tax_minor | integer | Tax in minor units of currency (cents for EUR). |
total_minor | integer | Total in minor units of currency (cents for EUR). |
paid_minor | integer | Paid in minor units of currency (cents for EUR). |
balance_minor | integer | Balance in minor units of currency (cents for EUR). |
issue_date | string (date) | null | Issue date, YYYY-MM-DD. |
due_date | string (date) | null | Due date, YYYY-MM-DD. |
approved_at | string (date-time) | null | When approved — RFC 3339, UTC. |
paid_at | string (date-time) | null | When paid — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c3ef-d50b-72c5-8c69-74c326beb6c9",
"type": "fin.bill.created",
"occurred_at": "2026-09-10T15:20:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a6-1a2b-7c3d-9e4f-5a6b7c8d9e04",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"number": "BALK-77120",
"supplier_id": "0199c390-3c4d-7e5f-8a6b-7c8d9e0f1a05",
"status": "draft",
"currency": "EUR",
"subtotal_minor": 86000,
"tax_minor": 15480,
"total_minor": 101480,
"paid_minor": 0,
"balance_minor": 101480,
"issue_date": "2026-09-10",
"due_date": "2026-10-10",
"approved_at": null,
"paid_at": null,
"created_at": "2026-09-10T15:20:00Z",
"updated_at": "2026-09-10T15:20:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3c7-3d2a-7208-aeb0-0fd1ad3d2d2d"
}
}
} fin.bill.paid since 2026-05-16 A supplier bill was fully paid.
Scope to subscribe: int:fin.bills:read.
data is BillEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
supplier_id | string (uuid) | Id of the supplier. |
status | string | The record's status after the change. |
currency | string | ISO 4217 currency code. |
subtotal_minor | integer | Subtotal in minor units of currency (cents for EUR). |
tax_minor | integer | Tax in minor units of currency (cents for EUR). |
total_minor | integer | Total in minor units of currency (cents for EUR). |
paid_minor | integer | Paid in minor units of currency (cents for EUR). |
balance_minor | integer | Balance in minor units of currency (cents for EUR). |
issue_date | string (date) | null | Issue date, YYYY-MM-DD. |
due_date | string (date) | null | Due date, YYYY-MM-DD. |
approved_at | string (date-time) | null | When approved — RFC 3339, UTC. |
paid_at | string (date-time) | null | When paid — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c37e-4e68-73ba-b6dc-442736847a12",
"type": "fin.bill.paid",
"occurred_at": "2026-10-08T10:00:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a6-1a2b-7c3d-9e4f-5a6b7c8d9e04",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"number": "BALK-77120",
"supplier_id": "0199c390-3c4d-7e5f-8a6b-7c8d9e0f1a05",
"status": "paid",
"currency": "EUR",
"subtotal_minor": 86000,
"tax_minor": 15480,
"total_minor": 101480,
"paid_minor": 101480,
"balance_minor": 0,
"issue_date": "2026-09-10",
"due_date": "2026-10-10",
"approved_at": "2026-09-11T07:45:12Z",
"paid_at": "2026-10-08T10:00:00Z",
"created_at": "2026-09-10T15:20:00Z",
"updated_at": "2026-10-08T10:00:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3e6-52dc-7941-9e3a-eddf21620ebb"
}
}
} fin.bill.updated since 2026-08-18 A draft supplier bill was modified post-creation (lines, totals, metadata).
Scope to subscribe: int:fin.bills:read.
data is BillEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
supplier_id | string (uuid) | Id of the supplier. |
status | string | The record's status after the change. |
currency | string | ISO 4217 currency code. |
subtotal_minor | integer | Subtotal in minor units of currency (cents for EUR). |
tax_minor | integer | Tax in minor units of currency (cents for EUR). |
total_minor | integer | Total in minor units of currency (cents for EUR). |
paid_minor | integer | Paid in minor units of currency (cents for EUR). |
balance_minor | integer | Balance in minor units of currency (cents for EUR). |
issue_date | string (date) | null | Issue date, YYYY-MM-DD. |
due_date | string (date) | null | Due date, YYYY-MM-DD. |
approved_at | string (date-time) | null | When approved — RFC 3339, UTC. |
paid_at | string (date-time) | null | When paid — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c3a4-5454-73fa-8572-2601ba82ece4",
"type": "fin.bill.updated",
"occurred_at": "2026-09-10T16:02:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a6-1a2b-7c3d-9e4f-5a6b7c8d9e04",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"number": "BALK-77120",
"supplier_id": "0199c390-3c4d-7e5f-8a6b-7c8d9e0f1a05",
"status": "draft",
"currency": "EUR",
"subtotal_minor": 86000,
"tax_minor": 15480,
"total_minor": 101480,
"paid_minor": 0,
"balance_minor": 101480,
"issue_date": "2026-09-10",
"due_date": "2026-10-17",
"approved_at": null,
"paid_at": null,
"created_at": "2026-09-10T15:20:00Z",
"updated_at": "2026-09-10T16:02:00Z",
"previous": {
"due_date": "2026-10-10",
"updated_at": "2026-09-10T15:20:00Z"
}
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c36c-221b-7a92-8f74-6099b94f9b5b"
}
}
} fin.datev.export.completed since 2026-05-19 A DATEV FIBU (financial accounting) export finished. It waits for someone in the company to confirm it was imported into DATEV; data identifies the export, its period, file and row count.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is DatevExportCompletedEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
exportRunId | string | Id of the export run. |
periodFrom | string | |
periodTo | string | |
variant | string | |
fileId | string | Id of the file. |
rowCount | integer | A count. |
periodLockId | string | Id of the period lock. |
{
"id": "evt_0199c3d2-1980-78b3-9247-3d72d1c8e066",
"type": "fin.datev.export.completed",
"occurred_at": "2026-09-07T14:45:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"exportRunId": "0199c37f-0d9c-7426-bfda-b713865a693c",
"periodFrom": "2026-09-01",
"periodTo": "2026-09-13",
"variant": "buchungsstapel",
"fileId": "0199c3c3-f4d9-717b-b5df-c3f4c0814fd5",
"rowCount": 3,
"periodLockId": "0199c3ac-f451-7d1e-8394-de25e62b06e9"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3c7-f550-7486-97a4-ac9008bc7b63"
}
}
} fin.einvoicing.document.accepted since 2026-05-19 An e-invoicing document was accepted by the partner network.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is EinvoicingDocumentEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
invoice_id | string (uuid) | Id of the invoice. |
route | string | |
direction | string | |
status | string | The record's status after the change. |
partner_document_id | string | null | Id of the partner document. |
issued_at | string (date-time) | null | When issued — RFC 3339, UTC. |
transmitted_at | string (date-time) | null | When transmitted — RFC 3339, UTC. |
acknowledged_at | string (date-time) | null | When acknowledged — RFC 3339, UTC. |
rejected_at | string (date-time) | null | When rejected — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c35b-5e11-74ad-a0bd-4565d42de54a",
"type": "fin.einvoicing.document.accepted",
"occurred_at": "2026-09-12T13:18:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c37c-cf5b-7961-8b26-ada2e9e1ebc4",
"invoice_id": "0199c345-1a13-79ec-a524-cd4e178042cd",
"route": "peppol",
"direction": "outbound",
"status": "submitted",
"partner_document_id": "0199c39b-bad5-779b-8c2c-0ea369b7daac",
"issued_at": "2026-09-08T11:07:00Z",
"transmitted_at": "2026-09-12T13:44:00Z",
"acknowledged_at": "2026-09-07T09:20:00Z",
"rejected_at": "2026-09-17T13:21:00Z",
"created_at": "2026-09-15T12:53:00Z",
"updated_at": "2026-09-12T13:18:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c350-bd77-73f9-8b05-767a53d21bf4"
}
}
} fin.einvoicing.document.issued since 2026-05-19 An e-invoicing document was issued (FR PA, Peppol, SdI, etc.).
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is EinvoicingDocumentEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
invoice_id | string (uuid) | Id of the invoice. |
route | string | |
direction | string | |
status | string | The record's status after the change. |
partner_document_id | string | null | Id of the partner document. |
issued_at | string (date-time) | null | When issued — RFC 3339, UTC. |
transmitted_at | string (date-time) | null | When transmitted — RFC 3339, UTC. |
acknowledged_at | string (date-time) | null | When acknowledged — RFC 3339, UTC. |
rejected_at | string (date-time) | null | When rejected — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c381-9a57-73a6-95f0-e5addeb2a423",
"type": "fin.einvoicing.document.issued",
"occurred_at": "2026-09-16T11:24:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c34d-0528-7621-b5bb-09eda4ff0569",
"invoice_id": "0199c301-cba4-7bc7-be02-95b7a45f9216",
"route": "peppol",
"direction": "outbound",
"status": "submitted",
"partner_document_id": "0199c348-03bd-701e-9477-2c76714a92b7",
"issued_at": "2026-09-22T09:02:00Z",
"transmitted_at": "2026-09-16T13:33:00Z",
"acknowledged_at": "2026-09-04T14:00:00Z",
"rejected_at": "2026-09-01T09:52:00Z",
"created_at": "2026-09-01T07:42:00Z",
"updated_at": "2026-09-16T11:24:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3e9-9dd7-70f7-8b90-5576d851cda2"
}
}
} fin.einvoicing.document.rejected since 2026-05-19 An e-invoicing document was rejected by the partner network.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is EinvoicingDocumentEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
invoice_id | string (uuid) | Id of the invoice. |
route | string | |
direction | string | |
status | string | The record's status after the change. |
partner_document_id | string | null | Id of the partner document. |
issued_at | string (date-time) | null | When issued — RFC 3339, UTC. |
transmitted_at | string (date-time) | null | When transmitted — RFC 3339, UTC. |
acknowledged_at | string (date-time) | null | When acknowledged — RFC 3339, UTC. |
rejected_at | string (date-time) | null | When rejected — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c321-63ba-7135-a168-19cf01971b62",
"type": "fin.einvoicing.document.rejected",
"occurred_at": "2026-09-11T17:49:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c355-ad71-7c2c-9517-778767cd3e6e",
"invoice_id": "0199c3da-b8a8-78dc-b528-f07d07088604",
"route": "peppol",
"direction": "outbound",
"status": "submitted",
"partner_document_id": "0199c317-c2ab-7d46-b374-a44604b57be8",
"issued_at": "2026-09-01T12:17:00Z",
"transmitted_at": "2026-09-15T16:26:00Z",
"acknowledged_at": "2026-09-14T07:07:00Z",
"rejected_at": "2026-09-16T11:30:00Z",
"created_at": "2026-09-08T13:10:00Z",
"updated_at": "2026-09-11T17:49:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c335-974e-7026-966e-6a032c0fa73d"
}
}
} fin.einvoicing.document.transmitted since 2026-05-19 An e-invoicing document was transmitted to its partner network.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is EinvoicingDocumentEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
invoice_id | string (uuid) | Id of the invoice. |
route | string | |
direction | string | |
status | string | The record's status after the change. |
partner_document_id | string | null | Id of the partner document. |
issued_at | string (date-time) | null | When issued — RFC 3339, UTC. |
transmitted_at | string (date-time) | null | When transmitted — RFC 3339, UTC. |
acknowledged_at | string (date-time) | null | When acknowledged — RFC 3339, UTC. |
rejected_at | string (date-time) | null | When rejected — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c32c-138f-73b2-9dec-e77952d69b61",
"type": "fin.einvoicing.document.transmitted",
"occurred_at": "2026-09-20T09:27:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3ed-6827-7c0a-b8f9-39492daa49ba",
"invoice_id": "0199c3cf-6e51-7d14-a9c6-17a47b46b9f0",
"route": "peppol",
"direction": "outbound",
"status": "submitted",
"partner_document_id": "0199c37b-5ce5-7fcf-aa03-163653557621",
"issued_at": "2026-09-17T17:54:00Z",
"transmitted_at": "2026-09-05T12:08:00Z",
"acknowledged_at": "2026-09-01T13:02:00Z",
"rejected_at": "2026-09-17T13:43:00Z",
"created_at": "2026-09-11T07:05:00Z",
"updated_at": "2026-09-20T09:27:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c398-33ad-705a-99c8-42a74f42a800"
}
}
} fin.einvoicing.mandate.activated since 2026-05-19 A signed e-invoicing mandate became active for issuance / receipt.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is EinvoicingMandateEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_customer_id | string | Id of the tenant customer. |
siren | string | |
jurisdiction | string | |
status | string | The record's status after the change. |
signed_at | string (date-time) | null | When signed — RFC 3339, UTC. |
activated_at | string (date-time) | null | When activated — RFC 3339, UTC. |
revoked_at | string (date-time) | null | When revoked — RFC 3339, UTC. |
provider_envelope_id | string | null | Id of the provider envelope. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c3cb-b9cb-7cff-919f-6523c035b467",
"type": "fin.einvoicing.mandate.activated",
"occurred_at": "2026-09-03T11:43:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3e7-e929-7dce-b152-5db66e9260b4",
"tenant_customer_id": "0199c38e-c1bc-7a49-89f2-1485341bcf46",
"siren": "123456789",
"jurisdiction": "https://files.example.com/d7471c8a9f6a",
"status": "submitted",
"signed_at": "2026-09-01T16:28:00Z",
"activated_at": "2026-09-12T08:38:00Z",
"revoked_at": "2026-09-04T10:02:00Z",
"provider_envelope_id": "0199c31c-ea85-75d5-8b92-149280f1d10a",
"created_at": "2026-09-13T09:51:00Z",
"updated_at": "2026-09-03T11:43:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3b6-6974-7308-81e5-ddf3195af126"
}
}
} fin.einvoicing.mandate.created since 2026-05-19 A draft e-invoicing mandate was created and awaits signature.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is EinvoicingMandateEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_customer_id | string | Id of the tenant customer. |
siren | string | |
jurisdiction | string | |
status | string | The record's status after the change. |
signed_at | string (date-time) | null | When signed — RFC 3339, UTC. |
activated_at | string (date-time) | null | When activated — RFC 3339, UTC. |
revoked_at | string (date-time) | null | When revoked — RFC 3339, UTC. |
provider_envelope_id | string | null | Id of the provider envelope. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c389-40d6-7ade-b06c-9058faf48300",
"type": "fin.einvoicing.mandate.created",
"occurred_at": "2026-09-25T15:36:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c30b-1f75-71f2-a656-c6ee68134c42",
"tenant_customer_id": "0199c363-b798-7a3c-b11f-e182287902cf",
"siren": "123456789",
"jurisdiction": "https://files.example.com/4596d09d02a8",
"status": "submitted",
"signed_at": "2026-09-23T14:37:00Z",
"activated_at": "2026-09-02T12:15:00Z",
"revoked_at": "2026-09-15T07:51:00Z",
"provider_envelope_id": "0199c340-75c0-7b32-88c0-5805f5b55c18",
"created_at": "2026-09-23T08:21:00Z",
"updated_at": "2026-09-25T15:36:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3ab-6a78-74f7-9cfc-fde906a1b0c1"
}
}
} fin.einvoicing.mandate.revoked since 2026-05-19 An e-invoicing mandate was revoked by the tenant.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is EinvoicingMandateEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_customer_id | string | Id of the tenant customer. |
siren | string | |
jurisdiction | string | |
status | string | The record's status after the change. |
signed_at | string (date-time) | null | When signed — RFC 3339, UTC. |
activated_at | string (date-time) | null | When activated — RFC 3339, UTC. |
revoked_at | string (date-time) | null | When revoked — RFC 3339, UTC. |
provider_envelope_id | string | null | Id of the provider envelope. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c391-481f-72dc-80b7-ddcd6d83c8c7",
"type": "fin.einvoicing.mandate.revoked",
"occurred_at": "2026-09-15T07:36:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3dd-5776-73ae-8da7-fbc83051bef9",
"tenant_customer_id": "0199c3bd-f1f7-70fc-9848-ca7c58984c17",
"siren": "123456789",
"jurisdiction": "https://files.example.com/3332000c2906",
"status": "submitted",
"signed_at": "2026-09-18T08:13:00Z",
"activated_at": "2026-09-23T13:13:00Z",
"revoked_at": "2026-09-23T17:56:00Z",
"provider_envelope_id": "0199c3dc-5b8c-7014-bde8-dd5bdea816c9",
"created_at": "2026-09-09T06:37:00Z",
"updated_at": "2026-09-15T07:36:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c31f-4f35-7a57-a848-c14bd0756602"
}
}
} fin.invoice.created since 2026-05-16 Sales invoice draft was created.
Scope to subscribe: int:fin.invoices:read.
data is InvoiceEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
customer_id | string (uuid) | Id of the customer. |
currency | string | ISO 4217 currency code. |
status | string | The record's status after the change. |
subtotal_minor | integer | Subtotal in minor units of currency (cents for EUR). |
tax_minor | integer | Tax in minor units of currency (cents for EUR). |
total_minor | integer | Total in minor units of currency (cents for EUR). |
paid_minor | integer | Paid in minor units of currency (cents for EUR). |
balance_minor | integer | Balance in minor units of currency (cents for EUR). |
issue_date | string (date) | null | Issue date, YYYY-MM-DD. |
due_date | string (date) | null | Due date, YYYY-MM-DD. |
issued_at | string (date-time) | null | When issued — RFC 3339, UTC. |
voided_at | string (date-time) | null | When voided — RFC 3339, UTC. |
einvoice_status | string | |
notes | string | null | Free text for people. Do not branch on it. |
sales_order_id | string (uuid) | null | Id of the sales order. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c37b-d97d-7e97-a7b9-eaa23c48a4c4",
"type": "fin.invoice.created",
"occurred_at": "2026-09-14T08:30:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a2-4b7e-7f30-9c2e-6a8d4f1b2c01",
"number": null,
"customer_id": "0199c3a1-7d4e-7b20-8a11-2f6c9d0e4a17",
"currency": "EUR",
"status": "draft",
"subtotal_minor": 125000,
"tax_minor": 22500,
"total_minor": 147500,
"paid_minor": 0,
"balance_minor": 147500,
"issue_date": "2026-09-14",
"due_date": "2026-10-14",
"issued_at": null,
"voided_at": null,
"einvoice_status": "none",
"notes": "PO 4471 — September maintenance",
"sales_order_id": "0199c398-5e6f-7a10-9b21-c3d4e5f60718",
"created_at": "2026-09-14T08:30:00Z",
"updated_at": "2026-09-14T08:30:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c32d-2001-78c6-a882-79a259562109"
}
}
} fin.invoice.overdue since 2026-05-16 Sales invoice crossed its due date without full settlement.
Scope to subscribe: int:fin.invoices:read.
data is InvoiceEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
customer_id | string (uuid) | Id of the customer. |
currency | string | ISO 4217 currency code. |
status | string | The record's status after the change. |
subtotal_minor | integer | Subtotal in minor units of currency (cents for EUR). |
tax_minor | integer | Tax in minor units of currency (cents for EUR). |
total_minor | integer | Total in minor units of currency (cents for EUR). |
paid_minor | integer | Paid in minor units of currency (cents for EUR). |
balance_minor | integer | Balance in minor units of currency (cents for EUR). |
issue_date | string (date) | null | Issue date, YYYY-MM-DD. |
due_date | string (date) | null | Due date, YYYY-MM-DD. |
issued_at | string (date-time) | null | When issued — RFC 3339, UTC. |
voided_at | string (date-time) | null | When voided — RFC 3339, UTC. |
einvoice_status | string | |
notes | string | null | Free text for people. Do not branch on it. |
sales_order_id | string (uuid) | null | Id of the sales order. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c31f-9364-7f6e-9178-ab18887faffe",
"type": "fin.invoice.overdue",
"occurred_at": "2026-10-15T00:05:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a2-4b7e-7f30-9c2e-6a8d4f1b2c01",
"number": "INV-2026-00418",
"customer_id": "0199c3a1-7d4e-7b20-8a11-2f6c9d0e4a17",
"currency": "EUR",
"status": "overdue",
"subtotal_minor": 125000,
"tax_minor": 22500,
"total_minor": 147500,
"paid_minor": 50000,
"balance_minor": 97500,
"issue_date": "2026-09-14",
"due_date": "2026-10-14",
"issued_at": "2026-09-14T08:32:10Z",
"voided_at": null,
"einvoice_status": "none",
"notes": "PO 4471 — September maintenance",
"sales_order_id": "0199c398-5e6f-7a10-9b21-c3d4e5f60718",
"created_at": "2026-09-14T08:30:00Z",
"updated_at": "2026-10-15T00:05:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c331-1429-7de9-8617-8fb93a5f94ff"
}
}
} fin.invoice.paid since 2026-05-16 Sales invoice was settled in full.
Scope to subscribe: int:fin.invoices:read.
data is InvoiceEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
customer_id | string (uuid) | Id of the customer. |
currency | string | ISO 4217 currency code. |
status | string | The record's status after the change. |
subtotal_minor | integer | Subtotal in minor units of currency (cents for EUR). |
tax_minor | integer | Tax in minor units of currency (cents for EUR). |
total_minor | integer | Total in minor units of currency (cents for EUR). |
paid_minor | integer | Paid in minor units of currency (cents for EUR). |
balance_minor | integer | Balance in minor units of currency (cents for EUR). |
issue_date | string (date) | null | Issue date, YYYY-MM-DD. |
due_date | string (date) | null | Due date, YYYY-MM-DD. |
issued_at | string (date-time) | null | When issued — RFC 3339, UTC. |
voided_at | string (date-time) | null | When voided — RFC 3339, UTC. |
einvoice_status | string | |
notes | string | null | Free text for people. Do not branch on it. |
sales_order_id | string (uuid) | null | Id of the sales order. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c321-00d8-7466-bc7f-2fd21c4f12af",
"type": "fin.invoice.paid",
"occurred_at": "2026-10-02T09:14:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a2-4b7e-7f30-9c2e-6a8d4f1b2c01",
"number": "INV-2026-00418",
"customer_id": "0199c3a1-7d4e-7b20-8a11-2f6c9d0e4a17",
"currency": "EUR",
"status": "paid",
"subtotal_minor": 125000,
"tax_minor": 22500,
"total_minor": 147500,
"paid_minor": 147500,
"balance_minor": 0,
"issue_date": "2026-09-14",
"due_date": "2026-10-14",
"issued_at": "2026-09-14T08:32:10Z",
"voided_at": null,
"einvoice_status": "none",
"notes": "PO 4471 — September maintenance",
"sales_order_id": "0199c398-5e6f-7a10-9b21-c3d4e5f60718",
"created_at": "2026-09-14T08:30:00Z",
"updated_at": "2026-10-02T09:14:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3d3-df89-7e1e-bab1-6f8b3531ef61"
}
}
} fin.invoice.sent since 2026-05-16 Sales invoice was emailed/transmitted to the customer.
Scope to subscribe: int:fin.invoices:read.
data is InvoiceEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
customer_id | string (uuid) | Id of the customer. |
currency | string | ISO 4217 currency code. |
status | string | The record's status after the change. |
subtotal_minor | integer | Subtotal in minor units of currency (cents for EUR). |
tax_minor | integer | Tax in minor units of currency (cents for EUR). |
total_minor | integer | Total in minor units of currency (cents for EUR). |
paid_minor | integer | Paid in minor units of currency (cents for EUR). |
balance_minor | integer | Balance in minor units of currency (cents for EUR). |
issue_date | string (date) | null | Issue date, YYYY-MM-DD. |
due_date | string (date) | null | Due date, YYYY-MM-DD. |
issued_at | string (date-time) | null | When issued — RFC 3339, UTC. |
voided_at | string (date-time) | null | When voided — RFC 3339, UTC. |
einvoice_status | string | |
notes | string | null | Free text for people. Do not branch on it. |
sales_order_id | string (uuid) | null | Id of the sales order. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c3bd-eb3b-76a3-9b29-dd683eb9f1c1",
"type": "fin.invoice.sent",
"occurred_at": "2026-09-14T08:32:10Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a2-4b7e-7f30-9c2e-6a8d4f1b2c01",
"number": "INV-2026-00418",
"customer_id": "0199c3a1-7d4e-7b20-8a11-2f6c9d0e4a17",
"currency": "EUR",
"status": "issued",
"subtotal_minor": 125000,
"tax_minor": 22500,
"total_minor": 147500,
"paid_minor": 0,
"balance_minor": 147500,
"issue_date": "2026-09-14",
"due_date": "2026-10-14",
"issued_at": "2026-09-14T08:32:10Z",
"voided_at": null,
"einvoice_status": "none",
"notes": "PO 4471 — September maintenance",
"sales_order_id": "0199c398-5e6f-7a10-9b21-c3d4e5f60718",
"created_at": "2026-09-14T08:30:00Z",
"updated_at": "2026-09-14T08:32:10Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c30d-6b60-705a-9f25-fc5c935d885a"
}
}
} fin.invoice.updated since 2026-05-16 Sales invoice was modified post-creation (lines, totals, metadata).
Scope to subscribe: int:fin.invoices:read.
data is InvoiceEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
customer_id | string (uuid) | Id of the customer. |
currency | string | ISO 4217 currency code. |
status | string | The record's status after the change. |
subtotal_minor | integer | Subtotal in minor units of currency (cents for EUR). |
tax_minor | integer | Tax in minor units of currency (cents for EUR). |
total_minor | integer | Total in minor units of currency (cents for EUR). |
paid_minor | integer | Paid in minor units of currency (cents for EUR). |
balance_minor | integer | Balance in minor units of currency (cents for EUR). |
issue_date | string (date) | null | Issue date, YYYY-MM-DD. |
due_date | string (date) | null | Due date, YYYY-MM-DD. |
issued_at | string (date-time) | null | When issued — RFC 3339, UTC. |
voided_at | string (date-time) | null | When voided — RFC 3339, UTC. |
einvoice_status | string | |
notes | string | null | Free text for people. Do not branch on it. |
sales_order_id | string (uuid) | null | Id of the sales order. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c3d6-cf20-7423-8782-3537aa0adee3",
"type": "fin.invoice.updated",
"occurred_at": "2026-09-14T08:31:12Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a2-4b7e-7f30-9c2e-6a8d4f1b2c01",
"number": null,
"customer_id": "0199c3a1-7d4e-7b20-8a11-2f6c9d0e4a17",
"currency": "EUR",
"status": "draft",
"subtotal_minor": 125000,
"tax_minor": 22500,
"total_minor": 147500,
"paid_minor": 0,
"balance_minor": 147500,
"issue_date": "2026-09-14",
"due_date": "2026-10-30",
"issued_at": null,
"voided_at": null,
"einvoice_status": "none",
"notes": "PO 4471 — September maintenance",
"sales_order_id": "0199c398-5e6f-7a10-9b21-c3d4e5f60718",
"created_at": "2026-09-14T08:30:00Z",
"updated_at": "2026-09-14T08:31:12Z",
"previous": {
"due_date": "2026-10-14",
"updated_at": "2026-09-14T08:30:00Z"
}
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c35a-c378-7146-97b5-86cdb620a643"
}
}
} fin.invoice.voided since 2026-05-16 Sales invoice was voided (reversed via credit note).
Scope to subscribe: int:fin.invoices:read.
data is InvoiceEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
customer_id | string (uuid) | Id of the customer. |
currency | string | ISO 4217 currency code. |
status | string | The record's status after the change. |
subtotal_minor | integer | Subtotal in minor units of currency (cents for EUR). |
tax_minor | integer | Tax in minor units of currency (cents for EUR). |
total_minor | integer | Total in minor units of currency (cents for EUR). |
paid_minor | integer | Paid in minor units of currency (cents for EUR). |
balance_minor | integer | Balance in minor units of currency (cents for EUR). |
issue_date | string (date) | null | Issue date, YYYY-MM-DD. |
due_date | string (date) | null | Due date, YYYY-MM-DD. |
issued_at | string (date-time) | null | When issued — RFC 3339, UTC. |
voided_at | string (date-time) | null | When voided — RFC 3339, UTC. |
einvoice_status | string | |
notes | string | null | Free text for people. Do not branch on it. |
sales_order_id | string (uuid) | null | Id of the sales order. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c364-697d-7de7-aec4-dd1bfd924b81",
"type": "fin.invoice.voided",
"occurred_at": "2026-09-29T13:40:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a2-4b7e-7f30-9c2e-6a8d4f1b2c01",
"number": "INV-2026-00418",
"customer_id": "0199c3a1-7d4e-7b20-8a11-2f6c9d0e4a17",
"currency": "EUR",
"status": "void",
"subtotal_minor": 125000,
"tax_minor": 22500,
"total_minor": 147500,
"paid_minor": 0,
"balance_minor": 0,
"issue_date": "2026-09-14",
"due_date": "2026-10-14",
"issued_at": "2026-09-14T08:32:10Z",
"voided_at": "2026-09-29T13:40:00Z",
"einvoice_status": "none",
"notes": "PO 4471 — September maintenance",
"sales_order_id": "0199c398-5e6f-7a10-9b21-c3d4e5f60718",
"created_at": "2026-09-14T08:30:00Z",
"updated_at": "2026-09-29T13:40:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c321-da82-7860-9222-da14360cbb6d"
}
}
} fin.payment.failed since 2026-05-16 A payment attempt failed.
Scope to subscribe: int:fin.payments:read.
data is PaymentEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
invoice_id | string (uuid) | null | Id of the invoice. |
bill_id | string (uuid) | null | Id of the bill. |
amount_minor | integer | Amount in minor units of currency (cents for EUR). |
currency | string | ISO 4217 currency code. |
direction | string | |
status | string | The record's status after the change. |
received_at | string (date-time) | null | When received — RFC 3339, UTC. |
failure_reason | string | null | Free text for people. Do not branch on it. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c3d8-5fb2-7068-bda9-58260994c0e4",
"type": "fin.payment.failed",
"occurred_at": "2026-09-21T10:05:40Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a5-0f1e-7d2c-8b3a-49586a7b8c03",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"invoice_id": "0199c3a2-4b7e-7f30-9c2e-6a8d4f1b2c01",
"bill_id": null,
"amount_minor": 50000,
"currency": "EUR",
"direction": "in",
"status": "received",
"received_at": "2026-09-21T00:00:00Z",
"failure_reason": "Card declined by issuer",
"created_at": "2026-09-21T10:05:40Z",
"updated_at": "2026-09-21T10:05:40Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c309-4484-76bf-badf-3b4bfe5a8f77"
}
}
} fin.payment.received since 2026-05-16 A payment was received against an invoice or bill.
Scope to subscribe: int:fin.payments:read.
data is PaymentEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
invoice_id | string (uuid) | null | Id of the invoice. |
bill_id | string (uuid) | null | Id of the bill. |
amount_minor | integer | Amount in minor units of currency (cents for EUR). |
currency | string | ISO 4217 currency code. |
direction | string | |
status | string | The record's status after the change. |
received_at | string (date-time) | null | When received — RFC 3339, UTC. |
failure_reason | string | null | Free text for people. Do not branch on it. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c385-9d58-783d-a0c9-8b65189c9769",
"type": "fin.payment.received",
"occurred_at": "2026-09-21T10:05:40Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a5-0f1e-7d2c-8b3a-49586a7b8c03",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"invoice_id": "0199c3a2-4b7e-7f30-9c2e-6a8d4f1b2c01",
"bill_id": null,
"amount_minor": 50000,
"currency": "EUR",
"direction": "in",
"status": "received",
"received_at": "2026-09-21T00:00:00Z",
"failure_reason": null,
"created_at": "2026-09-21T10:05:40Z",
"updated_at": "2026-09-21T10:05:40Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c309-5219-70f5-bb1b-509063c2e5bb"
}
}
} fin.payment.refunded since 2026-05-16 A payment was refunded.
Scope to subscribe: int:fin.payments:read.
data is PaymentEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
invoice_id | string (uuid) | null | Id of the invoice. |
bill_id | string (uuid) | null | Id of the bill. |
amount_minor | integer | Amount in minor units of currency (cents for EUR). |
currency | string | ISO 4217 currency code. |
direction | string | |
status | string | The record's status after the change. |
received_at | string (date-time) | null | When received — RFC 3339, UTC. |
failure_reason | string | null | Free text for people. Do not branch on it. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c33f-c841-72e9-bf0d-17723f8fffbf",
"type": "fin.payment.refunded",
"occurred_at": "2026-09-21T10:05:40Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a5-0f1e-7d2c-8b3a-49586a7b8c03",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"invoice_id": null,
"bill_id": null,
"amount_minor": 50000,
"currency": "EUR",
"direction": "refund",
"status": "received",
"received_at": "2026-09-21T00:00:00Z",
"failure_reason": null,
"created_at": "2026-09-21T10:05:40Z",
"updated_at": "2026-09-21T10:05:40Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c346-4c69-7497-9a0b-7e0c6e725443"
}
}
} fin.purchase_order.approved since 2026-05-16 A purchase order was approved and sent.
Scope to subscribe: int:fin.purchase_orders:read.
data is PurchaseOrderEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
supplier_id | string (uuid) | Id of the supplier. |
status | string | The record's status after the change. |
currency | string | ISO 4217 currency code. |
total_minor | integer | Total in minor units of currency (cents for EUR). |
expected_at | string (date-time) | null | When expected — RFC 3339, UTC. |
approved_at | string (date-time) | null | When approved — RFC 3339, UTC. |
received_at | string (date-time) | null | When received — RFC 3339, UTC. |
closed_at | string (date-time) | null | When closed — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c3f5-c51f-7142-991c-67def70c4c86",
"type": "fin.purchase_order.approved",
"occurred_at": "2026-09-08T11:00:05Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a7-2b3c-7d4e-8f5a-6b7c8d9e0f06",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"number": "PO-2026-00231",
"supplier_id": "0199c390-3c4d-7e5f-8a6b-7c8d9e0f1a05",
"status": "sent",
"currency": "EUR",
"total_minor": 101480,
"expected_at": "2026-09-25T00:00:00Z",
"approved_at": "2026-09-08T11:00:05Z",
"received_at": null,
"closed_at": null,
"created_at": "2026-09-08T10:41:30Z",
"updated_at": "2026-09-08T11:00:05Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c393-2ef8-7849-a44a-7172963d9df1"
}
}
} fin.purchase_order.closed since 2026-05-16 A purchase order was closed.
Scope to subscribe: int:fin.purchase_orders:read.
data is PurchaseOrderEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
supplier_id | string (uuid) | Id of the supplier. |
status | string | The record's status after the change. |
currency | string | ISO 4217 currency code. |
total_minor | integer | Total in minor units of currency (cents for EUR). |
expected_at | string (date-time) | null | When expected — RFC 3339, UTC. |
approved_at | string (date-time) | null | When approved — RFC 3339, UTC. |
received_at | string (date-time) | null | When received — RFC 3339, UTC. |
closed_at | string (date-time) | null | When closed — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c31b-a41b-7556-a7ef-0da4d53b5ff1",
"type": "fin.purchase_order.closed",
"occurred_at": "2026-09-30T08:00:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a7-2b3c-7d4e-8f5a-6b7c8d9e0f06",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"number": "PO-2026-00231",
"supplier_id": "0199c390-3c4d-7e5f-8a6b-7c8d9e0f1a05",
"status": "closed",
"currency": "EUR",
"total_minor": 101480,
"expected_at": "2026-09-25T00:00:00Z",
"approved_at": "2026-09-08T11:00:05Z",
"received_at": "2026-09-24T13:30:00Z",
"closed_at": "2026-09-30T08:00:00Z",
"created_at": "2026-09-08T10:41:30Z",
"updated_at": "2026-09-30T08:00:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c31a-acb2-7b53-8730-808db31f3693"
}
}
} fin.purchase_order.created since 2026-05-16 A purchase order was drafted.
Scope to subscribe: int:fin.purchase_orders:read.
data is PurchaseOrderEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
supplier_id | string (uuid) | Id of the supplier. |
status | string | The record's status after the change. |
currency | string | ISO 4217 currency code. |
total_minor | integer | Total in minor units of currency (cents for EUR). |
expected_at | string (date-time) | null | When expected — RFC 3339, UTC. |
approved_at | string (date-time) | null | When approved — RFC 3339, UTC. |
received_at | string (date-time) | null | When received — RFC 3339, UTC. |
closed_at | string (date-time) | null | When closed — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c3b1-87ad-7d86-802d-62f579c75a7d",
"type": "fin.purchase_order.created",
"occurred_at": "2026-09-08T10:41:30Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a7-2b3c-7d4e-8f5a-6b7c8d9e0f06",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"number": "PO-2026-00231",
"supplier_id": "0199c390-3c4d-7e5f-8a6b-7c8d9e0f1a05",
"status": "draft",
"currency": "EUR",
"total_minor": 101480,
"expected_at": "2026-09-25T00:00:00Z",
"approved_at": null,
"received_at": null,
"closed_at": null,
"created_at": "2026-09-08T10:41:30Z",
"updated_at": "2026-09-08T10:41:30Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3b0-a0aa-7751-be29-4ee632e5c9c5"
}
}
} fin.purchase_order.received since 2026-05-16 A goods-receipt closed (fully or partially) the PO.
Scope to subscribe: int:fin.purchase_orders:read.
data is PurchaseOrderEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
supplier_id | string (uuid) | Id of the supplier. |
status | string | The record's status after the change. |
currency | string | ISO 4217 currency code. |
total_minor | integer | Total in minor units of currency (cents for EUR). |
expected_at | string (date-time) | null | When expected — RFC 3339, UTC. |
approved_at | string (date-time) | null | When approved — RFC 3339, UTC. |
received_at | string (date-time) | null | When received — RFC 3339, UTC. |
closed_at | string (date-time) | null | When closed — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c3e2-f89a-788d-9a9c-dd413bc756c8",
"type": "fin.purchase_order.received",
"occurred_at": "2026-09-24T13:30:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a7-2b3c-7d4e-8f5a-6b7c8d9e0f06",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"number": "PO-2026-00231",
"supplier_id": "0199c390-3c4d-7e5f-8a6b-7c8d9e0f1a05",
"status": "received",
"currency": "EUR",
"total_minor": 101480,
"expected_at": "2026-09-25T00:00:00Z",
"approved_at": "2026-09-08T11:00:05Z",
"received_at": "2026-09-24T13:30:00Z",
"closed_at": null,
"created_at": "2026-09-08T10:41:30Z",
"updated_at": "2026-09-24T13:30:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c37a-f361-7611-b0f8-3de6a91e2f1d"
}
}
} Fleet 17
fm.dashcam.safety_event.detected PII since 2026-05-23 An AI dashcam safety event was ingested via a vendor webhook.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is DashcamSafetyEventEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
device_id | string | Id of the device. |
trip_id | string | null | Id of the trip. |
driver_id | string | null | Id of the driver. |
provider | string | |
provider_event_id | string | Id of the provider event. |
event_kind | string | |
severity | integer | A level such as low, medium, high or critical. |
occurred_at | string (date-time) | When occurred — RFC 3339, UTC. |
location_lat | number | null | Latitude in decimal degrees (WGS 84). |
location_lon | number | null | Longitude in decimal degrees (WGS 84). |
review_state | string | |
created_at | string (date-time) | When created — RFC 3339, UTC. |
{
"id": "evt_0199c38f-47d4-7fc9-910b-1af4652dbb46",
"type": "fm.dashcam.safety_event.detected",
"occurred_at": "2026-09-12T12:01:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c37e-593f-785d-8742-fcfc778e3b27",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"device_id": "0199c3a1-4800-7205-94c3-37612fc72a5d",
"trip_id": "0199c3cf-f5c7-7071-870f-ed7c868a6a7a",
"driver_id": "0199c33b-2617-7aba-9deb-b8029e7f334e",
"provider": "samsara",
"provider_event_id": "0199c363-8194-7f12-a4d6-9c115791c41c",
"event_kind": "harsh_braking",
"severity": 1,
"occurred_at": "2026-09-15T09:59:00Z",
"location_lat": 41.9973,
"location_lon": 21.428,
"review_state": "pending_review",
"created_at": "2026-09-19T15:09:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c365-9bf8-7286-a456-92ff5ed42606"
}
}
} fm.fuel_log.recorded PII since 2026-05-16 A fuel transaction was recorded for a vehicle.
Scope to subscribe: int:fm.fuel_logs:read.
data is FuelLogEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
vehicle_id | string (uuid) | Id of the vehicle. |
driver_id | string | null | Id of the driver. |
recorded_at | string (date-time) | When recorded — RFC 3339, UTC. |
fuel_type | string | null | |
volume_l | number | Litres. |
price_per_unit_minor | integer | null | Price per unit in minor units of currency (cents for EUR). |
total_cost_minor | integer | null | Total cost in minor units of currency (cents for EUR). |
currency | string | null | ISO 4217 currency code. |
odometer_km | integer | null | Kilometres. |
location_lat | number | null | Latitude in decimal degrees (WGS 84). |
location_lng | number | null | Longitude in decimal degrees (WGS 84). |
source | string | null | |
created_at | string (date-time) | When created — RFC 3339, UTC. |
{
"id": "evt_0199c385-89df-7544-a80b-0b8fa62f9857",
"type": "fm.fuel_log.recorded",
"occurred_at": "2026-09-21T16:10:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a9-8b9c-7dae-8f0a-2b3c4d5e6f12",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"vehicle_id": "0199c380-4d5e-7f6a-8b7c-8d9e0f1a2b08",
"driver_id": "0199c384-9cad-7ebf-9a1b-3c4d5e6f7a13",
"recorded_at": "2026-09-13T16:48:00Z",
"fuel_type": "diesel",
"volume_l": 312.5,
"price_per_unit_minor": 142,
"total_cost_minor": 44375,
"currency": "EUR",
"odometer_km": 283977,
"location_lat": 41.9973,
"location_lng": 21.428,
"source": "card",
"created_at": "2026-09-13T17:02:31Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3b3-8826-7804-8c40-be527eec25e0"
}
}
} fm.tachograph.osnma.verification_failed PII since 2026-05-19 Galileo OSNMA verification of a DTCO 4.1a GNSS record failed — possible GNSS spoof.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is TachographViolationEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
upload_id | string | Id of the upload. |
driver_employee_id | string (uuid) | null | Id of the driver employee. |
vehicle_id | string (uuid) | null | Id of the vehicle. |
rule_code | string | |
severity | string | A level such as low, medium, high or critical. |
detected_at | string (date-time) | When detected — RFC 3339, UTC. |
window_start | string | null | Window start: a timestamp as stored (2026-09-14 08:30:00+00). Unlike the *_at fields it is not normalised to RFC 3339. |
window_end | string | null | Window end: a timestamp as stored (2026-09-14 08:30:00+00). Unlike the *_at fields it is not normalised to RFC 3339. |
overage_seconds | integer | null | A duration in seconds. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
{
"id": "evt_0199c38d-24ad-716e-8931-dfb847e4cd03",
"type": "fm.tachograph.osnma.verification_failed",
"occurred_at": "2026-09-14T13:00:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c38a-2220-7788-b27f-32299eb41bae",
"upload_id": "0199c358-ba87-7707-b5fc-6a386713fc4b",
"driver_employee_id": "0199c35a-98e7-73c1-bfe1-4330d6d2ecfe",
"vehicle_id": "0199c375-0e63-79d0-93f8-12e401237886",
"rule_code": "osnma_signature_invalid",
"severity": "high",
"detected_at": "2026-09-05T08:20:00Z",
"window_start": "2026-09-16 12:07:00+00",
"window_end": "2026-09-19 09:46:00+00",
"overage_seconds": 45,
"created_at": "2026-09-05T11:12:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3a4-678d-7086-b39d-996df1cf73c3"
}
}
} fm.tachograph.threshold.exceeded PII since 2026-05-19 An operational tachograph alert threshold tripped for a driver.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is TachographThresholdEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
threshold_code | string | |
driver_employee_id | string (uuid) | null | Id of the driver employee. |
vehicle_id | string (uuid) | null | Id of the vehicle. |
severity | string | A level such as low, medium, high or critical. |
exceeded_at | string (date-time) | When exceeded — RFC 3339, UTC. |
observed_value | number | null | |
threshold_value | number | null | |
created_at | string (date-time) | When created — RFC 3339, UTC. |
{
"id": "evt_0199c36e-c0ae-7819-a667-35b50fa8eed7",
"type": "fm.tachograph.threshold.exceeded",
"occurred_at": "2026-09-23T15:00:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3db-cc71-7f24-b51a-a580333bbad8",
"threshold_code": "weekly_driving_time",
"driver_employee_id": "0199c3d4-f032-7b1f-94f6-1b76766ddc30",
"vehicle_id": "0199c3a6-2cd0-7d48-a796-30d0e31dce52",
"severity": "high",
"exceeded_at": "2026-09-01T11:51:00Z",
"observed_value": 0.42,
"threshold_value": 0.42,
"created_at": "2026-09-16T17:19:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c32b-d835-74ad-90ba-263130d15efd"
}
}
} fm.tachograph.upload.lcv_received PII since 2026-05-19 A DTCO 4.1a (LCV cohort) tachograph upload was received.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is TachographUploadEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
source_kind | string | |
driver_employee_id | string (uuid) | null | Id of the driver employee. |
vehicle_id | string (uuid) | null | Id of the vehicle. |
file_name | string | A name, for display. |
file_size_bytes | integer | A size in bytes. |
status | string | The record's status after the change. |
activity_start | string | null | Activity start: a timestamp as stored (2026-09-14 08:30:00+00). Unlike the *_at fields it is not normalised to RFC 3339. |
activity_end | string | null | Activity end: a timestamp as stored (2026-09-14 08:30:00+00). Unlike the *_at fields it is not normalised to RFC 3339. |
violation_count | integer | A count. |
uploaded_at | string (date-time) | When uploaded — RFC 3339, UTC. |
processed_at | string (date-time) | null | When processed — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c347-b508-770c-9c3d-747a5516fa6b",
"type": "fm.tachograph.upload.lcv_received",
"occurred_at": "2026-09-02T06:02:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c394-1438-7ebd-8728-d8e1e9ce3e37",
"source_kind": "driver_card",
"driver_employee_id": "0199c37e-487c-7605-8141-2d1ad69fa1e0",
"vehicle_id": "0199c342-4d77-7a44-8800-c98bcb7cb32e",
"file_name": "Northwind Transport",
"file_size_bytes": 248311,
"status": "submitted",
"activity_start": "2026-09-11 10:00:00+00",
"activity_end": "2026-09-27 09:02:00+00",
"violation_count": 3,
"uploaded_at": "2026-09-07T17:45:00Z",
"processed_at": "2026-09-09T14:09:00Z",
"created_at": "2026-09-21T09:55:00Z",
"updated_at": "2026-09-02T06:02:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c338-13da-7e75-b022-1c1d56a3e9ff"
}
}
} fm.tachograph.upload.processed PII since 2026-05-19 A tachograph file finished processing; activities and violations were derived.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is TachographUploadEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
source_kind | string | |
driver_employee_id | string (uuid) | null | Id of the driver employee. |
vehicle_id | string (uuid) | null | Id of the vehicle. |
file_name | string | A name, for display. |
file_size_bytes | integer | A size in bytes. |
status | string | The record's status after the change. |
activity_start | string | null | Activity start: a timestamp as stored (2026-09-14 08:30:00+00). Unlike the *_at fields it is not normalised to RFC 3339. |
activity_end | string | null | Activity end: a timestamp as stored (2026-09-14 08:30:00+00). Unlike the *_at fields it is not normalised to RFC 3339. |
violation_count | integer | A count. |
uploaded_at | string (date-time) | When uploaded — RFC 3339, UTC. |
processed_at | string (date-time) | null | When processed — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c3d2-2a4f-771b-8d80-9a339b20e5b5",
"type": "fm.tachograph.upload.processed",
"occurred_at": "2026-09-24T17:42:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c385-bba7-7ac2-82ea-a7bb8487f8f4",
"source_kind": "driver_card",
"driver_employee_id": "0199c372-7e25-7800-94a8-caeefe548c9d",
"vehicle_id": "0199c314-ec75-7217-9352-1a66a803106d",
"file_name": "Northwind Transport",
"file_size_bytes": 248311,
"status": "submitted",
"activity_start": "2026-09-08 11:05:00+00",
"activity_end": "2026-09-14 12:26:00+00",
"violation_count": 3,
"uploaded_at": "2026-09-27T11:14:00Z",
"processed_at": "2026-09-01T12:46:00Z",
"created_at": "2026-09-10T10:25:00Z",
"updated_at": "2026-09-24T17:42:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c37b-9378-76d5-be49-c62fcda1929d"
}
}
} fm.tachograph.upload.received PII since 2026-05-19 A tachograph file was uploaded for processing.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is TachographUploadEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
source_kind | string | |
driver_employee_id | string (uuid) | null | Id of the driver employee. |
vehicle_id | string (uuid) | null | Id of the vehicle. |
file_name | string | A name, for display. |
file_size_bytes | integer | A size in bytes. |
status | string | The record's status after the change. |
activity_start | string | null | Activity start: a timestamp as stored (2026-09-14 08:30:00+00). Unlike the *_at fields it is not normalised to RFC 3339. |
activity_end | string | null | Activity end: a timestamp as stored (2026-09-14 08:30:00+00). Unlike the *_at fields it is not normalised to RFC 3339. |
violation_count | integer | A count. |
uploaded_at | string (date-time) | When uploaded — RFC 3339, UTC. |
processed_at | string (date-time) | null | When processed — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c30a-a628-700c-8f57-ad2717cdd48f",
"type": "fm.tachograph.upload.received",
"occurred_at": "2026-09-28T10:51:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3ff-2ab3-743d-b6c6-5729860c770a",
"source_kind": "driver_card",
"driver_employee_id": "0199c355-67fb-7724-9d54-4c2931e311ee",
"vehicle_id": "0199c37b-1d58-7ac6-92ac-846810a97678",
"file_name": "Northwind Transport",
"file_size_bytes": 248311,
"status": "submitted",
"activity_start": "2026-09-25 07:01:00+00",
"activity_end": "2026-09-09 13:20:00+00",
"violation_count": 3,
"uploaded_at": "2026-09-06T08:00:00Z",
"processed_at": "2026-09-10T14:58:00Z",
"created_at": "2026-09-08T08:27:00Z",
"updated_at": "2026-09-28T10:51:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c36e-c284-78e4-a495-303528cc389b"
}
}
} fm.tachograph.violation.detected PII since 2026-05-19 A drive-rest rule violation was detected from a tachograph upload.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is TachographViolationEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
upload_id | string | Id of the upload. |
driver_employee_id | string (uuid) | null | Id of the driver employee. |
vehicle_id | string (uuid) | null | Id of the vehicle. |
rule_code | string | |
severity | string | A level such as low, medium, high or critical. |
detected_at | string (date-time) | When detected — RFC 3339, UTC. |
window_start | string | null | Window start: a timestamp as stored (2026-09-14 08:30:00+00). Unlike the *_at fields it is not normalised to RFC 3339. |
window_end | string | null | Window end: a timestamp as stored (2026-09-14 08:30:00+00). Unlike the *_at fields it is not normalised to RFC 3339. |
overage_seconds | integer | null | A duration in seconds. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
{
"id": "evt_0199c325-64bd-765c-955f-62fedc6e042b",
"type": "fm.tachograph.violation.detected",
"occurred_at": "2026-09-18T07:27:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3fb-d6c5-7f1a-b58e-a67f797fd2af",
"upload_id": "0199c327-a34e-71f0-985f-e1a0a63d90a9",
"driver_employee_id": "0199c3c5-648d-7840-a10b-6ed3993048d7",
"vehicle_id": "0199c35b-cb3b-75af-b7ab-fce285af1243",
"rule_code": "osnma_signature_invalid",
"severity": "high",
"detected_at": "2026-09-13T13:03:00Z",
"window_start": "2026-09-08 07:06:00+00",
"window_end": "2026-09-23 13:44:00+00",
"overage_seconds": 45,
"created_at": "2026-09-10T10:48:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c31d-946b-73b2-b23e-30d0c1826171"
}
}
} fm.vehicle.back_in_service since 2026-05-16 A vehicle was returned to active service.
Scope to subscribe: int:fm.vehicles:read.
data is VehicleEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
license_plate | string | null | The registration plate, as entered in OfficeHero. |
vin | string | null | Vehicle identification number (17 characters, ISO 3779). |
make | string | null | |
model | string | null | |
year | integer | null | |
color | string | null | |
fuel_type | string | null | |
tank_capacity_l | number | null | Litres. |
country_code | string | null | ISO 3166-1 alpha-2 country code. |
group_id | string | null | Id of the group. |
status | string | The record's status after the change. |
last_seen_at | string (date-time) | null | When last seen — RFC 3339, UTC. |
odometer_km | integer | null | Kilometres. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c39c-336a-7e8c-b257-1111416a578e",
"type": "fm.vehicle.back_in_service",
"occurred_at": "2026-09-15T16:00:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c380-4d5e-7f6a-8b7c-8d9e0f1a2b08",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"license_plate": "SK 4821 AB",
"vin": "XLRTE47MS0G000042",
"make": "DAF",
"model": "XF 480",
"year": 2022,
"color": "White",
"fuel_type": "diesel",
"tank_capacity_l": 430,
"country_code": "MK",
"group_id": "0199c383-7a8b-7c9d-9e0f-1a2b3c4d5e11",
"status": "active",
"last_seen_at": null,
"odometer_km": 284115,
"created_at": "2026-02-03T09:00:00Z",
"updated_at": "2026-09-15T16:00:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3d8-c2c0-77a7-8285-f1304ddca2ef"
}
}
} fm.vehicle.created since 2026-05-16 A vehicle was added to the fleet.
Scope to subscribe: int:fm.vehicles:read.
data is VehicleEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
license_plate | string | null | The registration plate, as entered in OfficeHero. |
vin | string | null | Vehicle identification number (17 characters, ISO 3779). |
make | string | null | |
model | string | null | |
year | integer | null | |
color | string | null | |
fuel_type | string | null | |
tank_capacity_l | number | null | Litres. |
country_code | string | null | ISO 3166-1 alpha-2 country code. |
group_id | string | null | Id of the group. |
status | string | The record's status after the change. |
last_seen_at | string (date-time) | null | When last seen — RFC 3339, UTC. |
odometer_km | integer | null | Kilometres. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c3e3-175f-7a40-95ca-33bc861c9e81",
"type": "fm.vehicle.created",
"occurred_at": "2026-02-03T09:00:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c380-4d5e-7f6a-8b7c-8d9e0f1a2b08",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"license_plate": "SK 4821 AB",
"vin": "XLRTE47MS0G000042",
"make": "DAF",
"model": "XF 480",
"year": 2022,
"color": "White",
"fuel_type": "diesel",
"tank_capacity_l": 430,
"country_code": "MK",
"group_id": "0199c383-7a8b-7c9d-9e0f-1a2b3c4d5e11",
"status": "active",
"last_seen_at": null,
"odometer_km": 283500,
"created_at": "2026-02-03T09:00:00Z",
"updated_at": "2026-02-03T09:00:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c310-78ec-725d-af07-b360dc0cfef9"
}
}
} fm.vehicle.out_of_service since 2026-05-16 A vehicle was marked out of service.
Scope to subscribe: int:fm.vehicles:read.
data is VehicleEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
license_plate | string | null | The registration plate, as entered in OfficeHero. |
vin | string | null | Vehicle identification number (17 characters, ISO 3779). |
make | string | null | |
model | string | null | |
year | integer | null | |
color | string | null | |
fuel_type | string | null | |
tank_capacity_l | number | null | Litres. |
country_code | string | null | ISO 3166-1 alpha-2 country code. |
group_id | string | null | Id of the group. |
status | string | The record's status after the change. |
last_seen_at | string (date-time) | null | When last seen — RFC 3339, UTC. |
odometer_km | integer | null | Kilometres. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c3ca-4e8c-7db0-bf96-58acd609ec00",
"type": "fm.vehicle.out_of_service",
"occurred_at": "2026-09-15T07:10:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c380-4d5e-7f6a-8b7c-8d9e0f1a2b08",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"license_plate": "SK 4821 AB",
"vin": "XLRTE47MS0G000042",
"make": "DAF",
"model": "XF 480",
"year": 2022,
"color": "White",
"fuel_type": "diesel",
"tank_capacity_l": 430,
"country_code": "MK",
"group_id": "0199c383-7a8b-7c9d-9e0f-1a2b3c4d5e11",
"status": "maintenance",
"last_seen_at": null,
"odometer_km": 284115,
"created_at": "2026-02-03T09:00:00Z",
"updated_at": "2026-09-15T07:10:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c398-4745-74d1-8a2f-94a3195f033a"
}
}
} fm.vehicle.updated since 2026-05-16 A vehicle was modified.
Scope to subscribe: int:fm.vehicles:read.
data is VehicleEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
license_plate | string | null | The registration plate, as entered in OfficeHero. |
vin | string | null | Vehicle identification number (17 characters, ISO 3779). |
make | string | null | |
model | string | null | |
year | integer | null | |
color | string | null | |
fuel_type | string | null | |
tank_capacity_l | number | null | Litres. |
country_code | string | null | ISO 3166-1 alpha-2 country code. |
group_id | string | null | Id of the group. |
status | string | The record's status after the change. |
last_seen_at | string (date-time) | null | When last seen — RFC 3339, UTC. |
odometer_km | integer | null | Kilometres. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c309-f044-77f7-9295-14c59cd497cf",
"type": "fm.vehicle.updated",
"occurred_at": "2026-09-15T07:10:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c380-4d5e-7f6a-8b7c-8d9e0f1a2b08",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"license_plate": "SK 4821 AB",
"vin": "XLRTE47MS0G000042",
"make": "DAF",
"model": "XF 480",
"year": 2022,
"color": "White",
"fuel_type": "diesel",
"tank_capacity_l": 430,
"country_code": "MK",
"group_id": "0199c383-7a8b-7c9d-9e0f-1a2b3c4d5e11",
"status": "active",
"last_seen_at": null,
"odometer_km": 284115,
"created_at": "2026-02-03T09:00:00Z",
"updated_at": "2026-09-15T07:10:00Z",
"previous": {
"odometer_km": 283977,
"updated_at": "2026-09-13T17:02:31Z"
}
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3aa-3477-7d96-978f-095b87bc92ef"
}
}
} fm.work_order.assigned since 2026-05-16 A work order was assigned to a user or vendor.
Scope to subscribe: int:fm.work_orders:read.
data is WorkOrderEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
vehicle_id | string (uuid) | null | Id of the vehicle. |
vendor_id | string | null | Id of the vendor. |
assigned_to | string | null | |
status | string | The record's status after the change. |
priority | string | null | A level such as low, medium, high or critical. |
scheduled_at | string (date-time) | null | When scheduled — RFC 3339, UTC. |
started_at | string (date-time) | null | When started — RFC 3339, UTC. |
completed_at | string (date-time) | null | When completed — RFC 3339, UTC. |
cancelled_at | string (date-time) | null | When cancelled — RFC 3339, UTC. |
total_cost_minor | integer | null | Total cost in minor units of currency (cents for EUR). |
currency | string | null | ISO 4217 currency code. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c30e-c7e4-789b-a796-b598512371ce",
"type": "fm.work_order.assigned",
"occurred_at": "2026-09-13T09:00:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a8-3c4d-7e5f-9a6b-7c8d9e0f1a07",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"number": "WO-2026-0153",
"vehicle_id": "0199c380-4d5e-7f6a-8b7c-8d9e0f1a2b08",
"vendor_id": "0199c381-5e6f-7a7b-9c8d-9e0f1a2b3c09",
"assigned_to": "0199c382-6f7a-7b8c-8d9e-0f1a2b3c4d10",
"status": "assigned",
"priority": "high",
"scheduled_at": "2026-09-15T00:00:00Z",
"started_at": null,
"completed_at": null,
"cancelled_at": null,
"total_cost_minor": 50500,
"currency": "EUR",
"created_at": "2026-09-12T14:02:11Z",
"updated_at": "2026-09-13T09:00:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c398-a327-7a64-9a73-197d301aa9af"
}
}
} fm.work_order.cancelled since 2026-05-16 A work order was cancelled.
Scope to subscribe: int:fm.work_orders:read.
data is WorkOrderEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
vehicle_id | string (uuid) | null | Id of the vehicle. |
vendor_id | string | null | Id of the vendor. |
assigned_to | string | null | |
status | string | The record's status after the change. |
priority | string | null | A level such as low, medium, high or critical. |
scheduled_at | string (date-time) | null | When scheduled — RFC 3339, UTC. |
started_at | string (date-time) | null | When started — RFC 3339, UTC. |
completed_at | string (date-time) | null | When completed — RFC 3339, UTC. |
cancelled_at | string (date-time) | null | When cancelled — RFC 3339, UTC. |
total_cost_minor | integer | null | Total cost in minor units of currency (cents for EUR). |
currency | string | null | ISO 4217 currency code. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c319-c289-7dd5-9185-e9876807e261",
"type": "fm.work_order.cancelled",
"occurred_at": "2026-09-14T11:00:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a8-3c4d-7e5f-9a6b-7c8d9e0f1a07",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"number": "WO-2026-0153",
"vehicle_id": "0199c380-4d5e-7f6a-8b7c-8d9e0f1a2b08",
"vendor_id": "0199c381-5e6f-7a7b-9c8d-9e0f1a2b3c09",
"assigned_to": "0199c382-6f7a-7b8c-8d9e-0f1a2b3c4d10",
"status": "cancelled",
"priority": "high",
"scheduled_at": "2026-09-15T00:00:00Z",
"started_at": null,
"completed_at": null,
"cancelled_at": "2026-09-14T11:00:00Z",
"total_cost_minor": 50500,
"currency": "EUR",
"created_at": "2026-09-12T14:02:11Z",
"updated_at": "2026-09-14T11:00:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3be-ed87-774c-82a8-3923871994bd"
}
}
} fm.work_order.completed since 2026-05-16 A work order was completed.
Scope to subscribe: int:fm.work_orders:read.
data is WorkOrderEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
vehicle_id | string (uuid) | null | Id of the vehicle. |
vendor_id | string | null | Id of the vendor. |
assigned_to | string | null | |
status | string | The record's status after the change. |
priority | string | null | A level such as low, medium, high or critical. |
scheduled_at | string (date-time) | null | When scheduled — RFC 3339, UTC. |
started_at | string (date-time) | null | When started — RFC 3339, UTC. |
completed_at | string (date-time) | null | When completed — RFC 3339, UTC. |
cancelled_at | string (date-time) | null | When cancelled — RFC 3339, UTC. |
total_cost_minor | integer | null | Total cost in minor units of currency (cents for EUR). |
currency | string | null | ISO 4217 currency code. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c37c-fd78-71ab-b7a7-ebc01183a1cf",
"type": "fm.work_order.completed",
"occurred_at": "2026-09-15T15:45:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a8-3c4d-7e5f-9a6b-7c8d9e0f1a07",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"number": "WO-2026-0153",
"vehicle_id": "0199c380-4d5e-7f6a-8b7c-8d9e0f1a2b08",
"vendor_id": "0199c381-5e6f-7a7b-9c8d-9e0f1a2b3c09",
"assigned_to": "0199c382-6f7a-7b8c-8d9e-0f1a2b3c4d10",
"status": "completed",
"priority": "high",
"scheduled_at": "2026-09-15T00:00:00Z",
"started_at": null,
"completed_at": "2026-09-15T15:45:00Z",
"cancelled_at": null,
"total_cost_minor": 50500,
"currency": "EUR",
"created_at": "2026-09-12T14:02:11Z",
"updated_at": "2026-09-15T15:45:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c383-9548-7fe4-9072-22afadb21073"
}
}
} fm.work_order.created since 2026-05-16 A work order was created.
Scope to subscribe: int:fm.work_orders:read.
data is WorkOrderEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
vehicle_id | string (uuid) | null | Id of the vehicle. |
vendor_id | string | null | Id of the vendor. |
assigned_to | string | null | |
status | string | The record's status after the change. |
priority | string | null | A level such as low, medium, high or critical. |
scheduled_at | string (date-time) | null | When scheduled — RFC 3339, UTC. |
started_at | string (date-time) | null | When started — RFC 3339, UTC. |
completed_at | string (date-time) | null | When completed — RFC 3339, UTC. |
cancelled_at | string (date-time) | null | When cancelled — RFC 3339, UTC. |
total_cost_minor | integer | null | Total cost in minor units of currency (cents for EUR). |
currency | string | null | ISO 4217 currency code. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c366-29f8-76fa-b62a-4f0b2cda3aa7",
"type": "fm.work_order.created",
"occurred_at": "2026-09-12T14:02:11Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a8-3c4d-7e5f-9a6b-7c8d9e0f1a07",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"number": "WO-2026-0153",
"vehicle_id": "0199c380-4d5e-7f6a-8b7c-8d9e0f1a2b08",
"vendor_id": "0199c381-5e6f-7a7b-9c8d-9e0f1a2b3c09",
"assigned_to": null,
"status": "scheduled",
"priority": "high",
"scheduled_at": "2026-09-15T00:00:00Z",
"started_at": null,
"completed_at": null,
"cancelled_at": null,
"total_cost_minor": 50500,
"currency": "EUR",
"created_at": "2026-09-12T14:02:11Z",
"updated_at": "2026-09-12T14:02:11Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c382-cac2-7c24-b3c9-2af1e3644f5f"
}
}
} fm.work_order.started since 2026-05-16 Work began on a work order.
Scope to subscribe: int:fm.work_orders:read.
data is WorkOrderEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
vehicle_id | string (uuid) | null | Id of the vehicle. |
vendor_id | string | null | Id of the vendor. |
assigned_to | string | null | |
status | string | The record's status after the change. |
priority | string | null | A level such as low, medium, high or critical. |
scheduled_at | string (date-time) | null | When scheduled — RFC 3339, UTC. |
started_at | string (date-time) | null | When started — RFC 3339, UTC. |
completed_at | string (date-time) | null | When completed — RFC 3339, UTC. |
cancelled_at | string (date-time) | null | When cancelled — RFC 3339, UTC. |
total_cost_minor | integer | null | Total cost in minor units of currency (cents for EUR). |
currency | string | null | ISO 4217 currency code. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c379-3189-73ab-bbc2-4f33694721a8",
"type": "fm.work_order.started",
"occurred_at": "2026-09-15T07:10:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3a8-3c4d-7e5f-9a6b-7c8d9e0f1a07",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"number": "WO-2026-0153",
"vehicle_id": "0199c380-4d5e-7f6a-8b7c-8d9e0f1a2b08",
"vendor_id": "0199c381-5e6f-7a7b-9c8d-9e0f1a2b3c09",
"assigned_to": "0199c382-6f7a-7b8c-8d9e-0f1a2b3c4d10",
"status": "in_progress",
"priority": "high",
"scheduled_at": "2026-09-15T00:00:00Z",
"started_at": "2026-09-15T07:10:00Z",
"completed_at": null,
"cancelled_at": null,
"total_cost_minor": 50500,
"currency": "EUR",
"created_at": "2026-09-12T14:02:11Z",
"updated_at": "2026-09-15T07:10:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3ac-855e-70ad-b83d-a2199d30e67c"
}
}
} HR 9
hr.employee.created PII since 2026-05-16 An employee record was created.
Scope to subscribe: int:hr.employees:read.
data is EmployeeEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
user_id | string (uuid) | null | Id of the user. |
employee_number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
email | string (email) | null | An e-mail address. |
first_name | string | null | A name, for display. |
last_name | string | null | A name, for display. |
department | string | null | |
job_title | string | null | |
employment_status | string | |
hire_date | string (date) | null | Hire date, YYYY-MM-DD. |
termination_date | string (date) | null | Termination date, YYYY-MM-DD. |
manager_id | string | null | Id of the manager. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c3c6-2856-76b0-a800-98eb884623bc",
"type": "hr.employee.created",
"occurred_at": "2023-03-27T08:15:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c385-adbe-7fc0-8b2c-4d5e6f7a8b14",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"user_id": "0199c386-becf-70d1-9c3d-5e6f7a8b9c15",
"employee_number": "E-0042",
"email": null,
"first_name": null,
"last_name": null,
"department": null,
"job_title": null,
"employment_status": "active",
"hire_date": "2023-04-03",
"termination_date": null,
"manager_id": "0199c387-cfd0-71e2-8d4e-6f7a8b9cad16",
"created_at": "2023-03-27T08:15:00Z",
"updated_at": "2023-03-27T08:15:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3ec-400c-7520-8cab-979a6bf40334"
}
}
} hr.employee.terminated PII since 2026-05-16 An employee was terminated.
Scope to subscribe: int:hr.employees:read.
data is EmployeeEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
user_id | string (uuid) | null | Id of the user. |
employee_number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
email | string (email) | null | An e-mail address. |
first_name | string | null | A name, for display. |
last_name | string | null | A name, for display. |
department | string | null | |
job_title | string | null | |
employment_status | string | |
hire_date | string (date) | null | Hire date, YYYY-MM-DD. |
termination_date | string (date) | null | Termination date, YYYY-MM-DD. |
manager_id | string | null | Id of the manager. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c3bf-7de1-7216-9ea6-50ff07251e96",
"type": "hr.employee.terminated",
"occurred_at": "2026-08-30T12:00:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c385-adbe-7fc0-8b2c-4d5e6f7a8b14",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"user_id": "0199c386-becf-70d1-9c3d-5e6f7a8b9c15",
"employee_number": "E-0042",
"email": null,
"first_name": null,
"last_name": null,
"department": null,
"job_title": null,
"employment_status": "terminated",
"hire_date": "2023-04-03",
"termination_date": "2026-10-31",
"manager_id": "0199c387-cfd0-71e2-8d4e-6f7a8b9cad16",
"created_at": "2023-03-27T08:15:00Z",
"updated_at": "2026-08-30T12:00:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c398-72e8-7a85-b952-a24eccae63ee"
}
}
} hr.employee.updated PII since 2026-05-16 An employee record was modified.
Scope to subscribe: int:hr.employees:read.
data is EmployeeEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
user_id | string (uuid) | null | Id of the user. |
employee_number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
email | string (email) | null | An e-mail address. |
first_name | string | null | A name, for display. |
last_name | string | null | A name, for display. |
department | string | null | |
job_title | string | null | |
employment_status | string | |
hire_date | string (date) | null | Hire date, YYYY-MM-DD. |
termination_date | string (date) | null | Termination date, YYYY-MM-DD. |
manager_id | string | null | Id of the manager. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c30e-05d3-7397-bbb1-7bac859fbcb6",
"type": "hr.employee.updated",
"occurred_at": "2026-08-30T12:00:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c385-adbe-7fc0-8b2c-4d5e6f7a8b14",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"user_id": "0199c386-becf-70d1-9c3d-5e6f7a8b9c15",
"employee_number": "E-0042",
"email": null,
"first_name": null,
"last_name": null,
"department": null,
"job_title": null,
"employment_status": "active",
"hire_date": "2023-04-03",
"termination_date": null,
"manager_id": "0199c387-cfd0-71e2-8d4e-6f7a8b9cad16",
"created_at": "2023-03-27T08:15:00Z",
"updated_at": "2026-08-30T12:00:00Z",
"previous": {
"manager_id": null,
"updated_at": "2026-05-04T08:00:00Z"
}
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c363-fa84-729e-801e-7d8ada723457"
}
}
} hr.leave_request.approved PII since 2026-05-16 A leave request was approved.
Scope to subscribe: int:hr.leave_requests:read.
data is LeaveRequestEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
employee_id | string (uuid) | Id of the employee. |
leave_type_id | string | null | Id of the leave type. |
status | string | The record's status after the change. |
start_date | string (date) | Start date, YYYY-MM-DD. |
end_date | string (date) | End date, YYYY-MM-DD. |
duration_hours | number | null | A duration in hours (decimal: 7.5 is 7 h 30 min). |
reason | string | null | Free text for people. Do not branch on it. |
approved_by | string | null | Id of the user who approved it. |
approved_at | string (date-time) | null | When approved — RFC 3339, UTC. |
rejected_by | string | null | Id of the user who rejected it. |
rejected_at | string (date-time) | null | When rejected — RFC 3339, UTC. |
cancelled_at | string (date-time) | null | When cancelled — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c34d-e8df-7488-8028-39a23ad1d42e",
"type": "hr.leave_request.approved",
"occurred_at": "2026-09-22T09:30:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3aa-d0e1-72f3-9e5f-7a8b9cadbe17",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"employee_id": "0199c385-adbe-7fc0-8b2c-4d5e6f7a8b14",
"leave_type_id": "0199c388-e1f2-7304-8f60-8b9cadbecf18",
"status": "approved",
"start_date": "2026-10-05",
"end_date": "2026-10-09",
"duration_hours": 40,
"reason": "Family holiday",
"approved_by": "0199c387-cfd0-71e2-8d4e-6f7a8b9cad16",
"approved_at": "2026-09-22T09:30:00Z",
"rejected_by": null,
"rejected_at": null,
"cancelled_at": null,
"created_at": "2026-09-20T18:04:12Z",
"updated_at": "2026-09-22T09:30:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3e9-2b16-7676-bc8d-2279cd4f3669"
}
}
} hr.leave_request.cancelled PII since 2026-05-16 A leave request was cancelled.
Scope to subscribe: int:hr.leave_requests:read.
data is LeaveRequestEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
employee_id | string (uuid) | Id of the employee. |
leave_type_id | string | null | Id of the leave type. |
status | string | The record's status after the change. |
start_date | string (date) | Start date, YYYY-MM-DD. |
end_date | string (date) | End date, YYYY-MM-DD. |
duration_hours | number | null | A duration in hours (decimal: 7.5 is 7 h 30 min). |
reason | string | null | Free text for people. Do not branch on it. |
approved_by | string | null | Id of the user who approved it. |
approved_at | string (date-time) | null | When approved — RFC 3339, UTC. |
rejected_by | string | null | Id of the user who rejected it. |
rejected_at | string (date-time) | null | When rejected — RFC 3339, UTC. |
cancelled_at | string (date-time) | null | When cancelled — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c386-fce8-7d89-b096-c22a53141fc6",
"type": "hr.leave_request.cancelled",
"occurred_at": "2026-09-22T09:30:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3aa-d0e1-72f3-9e5f-7a8b9cadbe17",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"employee_id": "0199c385-adbe-7fc0-8b2c-4d5e6f7a8b14",
"leave_type_id": "0199c388-e1f2-7304-8f60-8b9cadbecf18",
"status": "cancelled",
"start_date": "2026-10-05",
"end_date": "2026-10-09",
"duration_hours": 40,
"reason": "Family holiday",
"approved_by": null,
"approved_at": null,
"rejected_by": null,
"rejected_at": null,
"cancelled_at": "2026-09-23T07:00:00Z",
"created_at": "2026-09-20T18:04:12Z",
"updated_at": "2026-09-22T09:30:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c32e-a96a-7c18-b1cd-bc32013c1a0a"
}
}
} hr.leave_request.rejected PII since 2026-05-16 A leave request was rejected.
Scope to subscribe: int:hr.leave_requests:read.
data is LeaveRequestEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
employee_id | string (uuid) | Id of the employee. |
leave_type_id | string | null | Id of the leave type. |
status | string | The record's status after the change. |
start_date | string (date) | Start date, YYYY-MM-DD. |
end_date | string (date) | End date, YYYY-MM-DD. |
duration_hours | number | null | A duration in hours (decimal: 7.5 is 7 h 30 min). |
reason | string | null | Free text for people. Do not branch on it. |
approved_by | string | null | Id of the user who approved it. |
approved_at | string (date-time) | null | When approved — RFC 3339, UTC. |
rejected_by | string | null | Id of the user who rejected it. |
rejected_at | string (date-time) | null | When rejected — RFC 3339, UTC. |
cancelled_at | string (date-time) | null | When cancelled — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c3ed-cbed-7010-97e2-0a9a277eb24e",
"type": "hr.leave_request.rejected",
"occurred_at": "2026-09-22T09:30:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3aa-d0e1-72f3-9e5f-7a8b9cadbe17",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"employee_id": "0199c385-adbe-7fc0-8b2c-4d5e6f7a8b14",
"leave_type_id": "0199c388-e1f2-7304-8f60-8b9cadbecf18",
"status": "rejected",
"start_date": "2026-10-05",
"end_date": "2026-10-09",
"duration_hours": 40,
"reason": "Family holiday",
"approved_by": null,
"approved_at": null,
"rejected_by": "0199c387-cfd0-71e2-8d4e-6f7a8b9cad16",
"rejected_at": "2026-09-22T09:30:00Z",
"cancelled_at": null,
"created_at": "2026-09-20T18:04:12Z",
"updated_at": "2026-09-22T09:30:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3eb-8b90-7172-bfee-05f5997ae323"
}
}
} hr.leave_request.submitted PII since 2026-05-16 A leave request was submitted by an employee.
Scope to subscribe: int:hr.leave_requests:read.
data is LeaveRequestEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
employee_id | string (uuid) | Id of the employee. |
leave_type_id | string | null | Id of the leave type. |
status | string | The record's status after the change. |
start_date | string (date) | Start date, YYYY-MM-DD. |
end_date | string (date) | End date, YYYY-MM-DD. |
duration_hours | number | null | A duration in hours (decimal: 7.5 is 7 h 30 min). |
reason | string | null | Free text for people. Do not branch on it. |
approved_by | string | null | Id of the user who approved it. |
approved_at | string (date-time) | null | When approved — RFC 3339, UTC. |
rejected_by | string | null | Id of the user who rejected it. |
rejected_at | string (date-time) | null | When rejected — RFC 3339, UTC. |
cancelled_at | string (date-time) | null | When cancelled — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c3ad-952f-7fc5-a7a9-ed9935f0bb75",
"type": "hr.leave_request.submitted",
"occurred_at": "2026-09-20T18:04:12Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3aa-d0e1-72f3-9e5f-7a8b9cadbe17",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"employee_id": "0199c385-adbe-7fc0-8b2c-4d5e6f7a8b14",
"leave_type_id": "0199c388-e1f2-7304-8f60-8b9cadbecf18",
"status": "pending",
"start_date": "2026-10-05",
"end_date": "2026-10-09",
"duration_hours": 40,
"reason": "Family holiday",
"approved_by": null,
"approved_at": null,
"rejected_by": null,
"rejected_at": null,
"cancelled_at": null,
"created_at": "2026-09-20T18:04:12Z",
"updated_at": "2026-09-20T18:04:12Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c323-04c1-79b7-9742-98409068ed95"
}
}
} hr.timesheet.approved PII since 2026-05-16 A timesheet was approved.
Scope to subscribe: int:hr.timesheets:read.
data is TimesheetEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
employee_id | string (uuid) | Id of the employee. |
period_start | string (date) | Period start, YYYY-MM-DD. |
period_end | string (date) | Period end, YYYY-MM-DD. |
status | string | The record's status after the change. |
total_hours | number | null | A duration in hours (decimal: 7.5 is 7 h 30 min). |
regular_hours | number | null | A duration in hours (decimal: 7.5 is 7 h 30 min). |
overtime_hours | number | null | A duration in hours (decimal: 7.5 is 7 h 30 min). |
submitted_at | string (date-time) | null | When submitted — RFC 3339, UTC. |
approved_by | string | null | Id of the user who approved it. |
approved_at | string (date-time) | null | When approved — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c37b-9724-7574-8644-a2bcaa1cb0ba",
"type": "hr.timesheet.approved",
"occurred_at": "2026-09-14T08:10:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3ab-f203-7415-9071-9cadbecfd019",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"employee_id": "0199c385-adbe-7fc0-8b2c-4d5e6f7a8b14",
"period_start": "2026-09-07",
"period_end": "2026-09-13",
"status": "approved",
"total_hours": 41.5,
"regular_hours": null,
"overtime_hours": null,
"submitted_at": "2026-09-13T16:00:00Z",
"approved_by": "0199c387-cfd0-71e2-8d4e-6f7a8b9cad16",
"approved_at": "2026-09-14T08:10:00Z",
"created_at": "2026-09-07T06:00:00Z",
"updated_at": "2026-09-14T08:10:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c373-6cec-76f9-91aa-b1680974770d"
}
}
} hr.timesheet.submitted PII since 2026-05-16 A timesheet was submitted for approval.
Scope to subscribe: int:hr.timesheets:read.
data is TimesheetEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
employee_id | string (uuid) | Id of the employee. |
period_start | string (date) | Period start, YYYY-MM-DD. |
period_end | string (date) | Period end, YYYY-MM-DD. |
status | string | The record's status after the change. |
total_hours | number | null | A duration in hours (decimal: 7.5 is 7 h 30 min). |
regular_hours | number | null | A duration in hours (decimal: 7.5 is 7 h 30 min). |
overtime_hours | number | null | A duration in hours (decimal: 7.5 is 7 h 30 min). |
submitted_at | string (date-time) | null | When submitted — RFC 3339, UTC. |
approved_by | string | null | Id of the user who approved it. |
approved_at | string (date-time) | null | When approved — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c3fa-6bca-7e8a-9d65-7e67b30397dd",
"type": "hr.timesheet.submitted",
"occurred_at": "2026-09-13T16:00:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3ab-f203-7415-9071-9cadbecfd019",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"employee_id": "0199c385-adbe-7fc0-8b2c-4d5e6f7a8b14",
"period_start": "2026-09-07",
"period_end": "2026-09-13",
"status": "submitted",
"total_hours": 41.5,
"regular_hours": null,
"overtime_hours": null,
"submitted_at": "2026-09-13T16:00:00Z",
"approved_by": null,
"approved_at": null,
"created_at": "2026-09-07T06:00:00Z",
"updated_at": "2026-09-13T16:00:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c319-ec87-76d5-b971-65bcd856bab3"
}
}
} Support 5
support.ticket.closed since 2026-05-16 A support ticket was closed.
Scope to subscribe: int:support.tickets:read.
data is TicketEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
subject | string | Free text for people. Do not branch on it. |
status | string | The record's status after the change. |
priority | string | null | A level such as low, medium, high or critical. |
category_id | string | null | Id of the category. |
opened_by | string | null | Id of the user who opened it. |
assigned_to | string | null | |
first_response_at | string (date-time) | null | When first response — RFC 3339, UTC. |
resolved_at | string (date-time) | null | When resolved — RFC 3339, UTC. |
closed_at | string (date-time) | null | When closed — RFC 3339, UTC. |
last_activity_at | string (date-time) | null | When last activity — RFC 3339, UTC. |
source | string | null | |
tags | string[] | Labels, as entered in OfficeHero. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c3bd-4955-7edf-8f67-8f6e7fc83b20",
"type": "support.ticket.closed",
"occurred_at": "2026-09-30T10:00:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3ac-0314-7526-8182-adbecfd0e120",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"number": "1287",
"subject": "Invoice INV-2026-00418 shows the wrong VAT rate",
"status": "closed",
"priority": "normal",
"category_id": "0199c389-1425-7637-9293-becfd0e1f221",
"opened_by": "0199c38b-3647-7859-94b5-d0e1f2031423",
"assigned_to": "0199c38a-2536-7748-83a4-cfd0e1f20322",
"first_response_at": "2026-09-22T09:41:00Z",
"resolved_at": "2026-09-23T10:00:00Z",
"closed_at": "2026-09-30T10:00:00Z",
"last_activity_at": "2026-09-30T10:00:00Z",
"source": "email",
"tags": [
"billing",
"vat"
],
"created_at": "2026-09-22T09:12:55Z",
"updated_at": "2026-09-30T10:00:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3d6-dfa4-7968-a244-07997d88ad04"
}
}
} support.ticket.created since 2026-05-16 A support ticket was created.
Scope to subscribe: int:support.tickets:read.
data is TicketEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
subject | string | Free text for people. Do not branch on it. |
status | string | The record's status after the change. |
priority | string | null | A level such as low, medium, high or critical. |
category_id | string | null | Id of the category. |
opened_by | string | null | Id of the user who opened it. |
assigned_to | string | null | |
first_response_at | string (date-time) | null | When first response — RFC 3339, UTC. |
resolved_at | string (date-time) | null | When resolved — RFC 3339, UTC. |
closed_at | string (date-time) | null | When closed — RFC 3339, UTC. |
last_activity_at | string (date-time) | null | When last activity — RFC 3339, UTC. |
source | string | null | |
tags | string[] | Labels, as entered in OfficeHero. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c366-b018-7b55-9d7e-a4e564687491",
"type": "support.ticket.created",
"occurred_at": "2026-09-22T09:12:55Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3ac-0314-7526-8182-adbecfd0e120",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"number": "1287",
"subject": "Invoice INV-2026-00418 shows the wrong VAT rate",
"status": "open",
"priority": "normal",
"category_id": "0199c389-1425-7637-9293-becfd0e1f221",
"opened_by": "0199c38b-3647-7859-94b5-d0e1f2031423",
"assigned_to": null,
"first_response_at": null,
"resolved_at": null,
"closed_at": null,
"last_activity_at": "2026-09-22T09:12:55Z",
"source": "email",
"tags": [
"billing",
"vat"
],
"created_at": "2026-09-22T09:12:55Z",
"updated_at": "2026-09-22T09:12:55Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c306-48b3-7a3d-b883-3ad9e36a395a"
}
}
} support.ticket.reopened since 2026-05-16 A previously resolved/closed ticket was reopened.
Scope to subscribe: int:support.tickets:read.
data is TicketEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
subject | string | Free text for people. Do not branch on it. |
status | string | The record's status after the change. |
priority | string | null | A level such as low, medium, high or critical. |
category_id | string | null | Id of the category. |
opened_by | string | null | Id of the user who opened it. |
assigned_to | string | null | |
first_response_at | string (date-time) | null | When first response — RFC 3339, UTC. |
resolved_at | string (date-time) | null | When resolved — RFC 3339, UTC. |
closed_at | string (date-time) | null | When closed — RFC 3339, UTC. |
last_activity_at | string (date-time) | null | When last activity — RFC 3339, UTC. |
source | string | null | |
tags | string[] | Labels, as entered in OfficeHero. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c301-6e48-793d-be2e-c6bc66f62495",
"type": "support.ticket.reopened",
"occurred_at": "2026-09-24T08:00:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3ac-0314-7526-8182-adbecfd0e120",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"number": "1287",
"subject": "Invoice INV-2026-00418 shows the wrong VAT rate",
"status": "open",
"priority": "normal",
"category_id": "0199c389-1425-7637-9293-becfd0e1f221",
"opened_by": "0199c38b-3647-7859-94b5-d0e1f2031423",
"assigned_to": "0199c38a-2536-7748-83a4-cfd0e1f20322",
"first_response_at": "2026-09-22T09:41:00Z",
"resolved_at": null,
"closed_at": null,
"last_activity_at": "2026-09-24T08:00:00Z",
"source": "email",
"tags": [
"billing",
"vat"
],
"created_at": "2026-09-22T09:12:55Z",
"updated_at": "2026-09-24T08:00:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c334-65ae-7afb-b3cd-3b6100cff8d5"
}
}
} support.ticket.replied since 2026-05-16 A reply the customer can see was added to a support ticket (internal notes do not send this event).
Scope to subscribe: int:support.tickets:read.
data is TicketEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
subject | string | Free text for people. Do not branch on it. |
status | string | The record's status after the change. |
priority | string | null | A level such as low, medium, high or critical. |
category_id | string | null | Id of the category. |
opened_by | string | null | Id of the user who opened it. |
assigned_to | string | null | |
first_response_at | string (date-time) | null | When first response — RFC 3339, UTC. |
resolved_at | string (date-time) | null | When resolved — RFC 3339, UTC. |
closed_at | string (date-time) | null | When closed — RFC 3339, UTC. |
last_activity_at | string (date-time) | null | When last activity — RFC 3339, UTC. |
source | string | null | |
tags | string[] | Labels, as entered in OfficeHero. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c340-eb86-7910-9ded-ee9d87c209de",
"type": "support.ticket.replied",
"occurred_at": "2026-09-22T11:02:17Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3ac-0314-7526-8182-adbecfd0e120",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"number": "1287",
"subject": "Invoice INV-2026-00418 shows the wrong VAT rate",
"status": "awaiting_staff",
"priority": "normal",
"category_id": "0199c389-1425-7637-9293-becfd0e1f221",
"opened_by": "0199c38b-3647-7859-94b5-d0e1f2031423",
"assigned_to": "0199c38a-2536-7748-83a4-cfd0e1f20322",
"first_response_at": "2026-09-22T09:41:00Z",
"resolved_at": null,
"closed_at": null,
"last_activity_at": "2026-09-22T11:02:17Z",
"source": "email",
"tags": [
"billing",
"vat"
],
"created_at": "2026-09-22T09:12:55Z",
"updated_at": "2026-09-22T11:02:17Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c360-5a7c-71de-9c5e-1098595cbb2c"
}
}
} support.ticket.resolved since 2026-05-16 A support ticket was resolved.
Scope to subscribe: int:support.tickets:read.
data is TicketEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
number | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
subject | string | Free text for people. Do not branch on it. |
status | string | The record's status after the change. |
priority | string | null | A level such as low, medium, high or critical. |
category_id | string | null | Id of the category. |
opened_by | string | null | Id of the user who opened it. |
assigned_to | string | null | |
first_response_at | string (date-time) | null | When first response — RFC 3339, UTC. |
resolved_at | string (date-time) | null | When resolved — RFC 3339, UTC. |
closed_at | string (date-time) | null | When closed — RFC 3339, UTC. |
last_activity_at | string (date-time) | null | When last activity — RFC 3339, UTC. |
source | string | null | |
tags | string[] | Labels, as entered in OfficeHero. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c3fa-2751-71bc-a74b-07cb1a60b25e",
"type": "support.ticket.resolved",
"occurred_at": "2026-09-23T10:00:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3ac-0314-7526-8182-adbecfd0e120",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"number": "1287",
"subject": "Invoice INV-2026-00418 shows the wrong VAT rate",
"status": "resolved",
"priority": "normal",
"category_id": "0199c389-1425-7637-9293-becfd0e1f221",
"opened_by": "0199c38b-3647-7859-94b5-d0e1f2031423",
"assigned_to": "0199c38a-2536-7748-83a4-cfd0e1f20322",
"first_response_at": "2026-09-22T09:41:00Z",
"resolved_at": "2026-09-23T10:00:00Z",
"closed_at": null,
"last_activity_at": "2026-09-23T10:00:00Z",
"source": "email",
"tags": [
"billing",
"vat"
],
"created_at": "2026-09-22T09:12:55Z",
"updated_at": "2026-09-23T10:00:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c33f-1693-72ba-a11c-f22d1d153c81"
}
}
} Files 5
files.document.deleted since 2026-05-16 A document was soft-deleted.
Scope to subscribe: int:files.documents:read.
data is DocumentEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
name | string | A name, for display. |
mime_type | string | null | The media type of the file, e.g. application/pdf. |
size_bytes | integer | A size in bytes. |
status | string | The record's status after the change. |
folder_id | string | null | Id of the folder. |
uploaded_by | string | null | Id of the user who uploaded it. |
uploaded_at | string (date-time) | null | When uploaded — RFC 3339, UTC. |
shared_with | string[] | |
shared_expires_at | string (date-time) | null | When shared expires — RFC 3339, UTC. |
deleted_at | string (date-time) | null | When deleted — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c3a6-4bd8-7426-82a9-6cf90fb2cb4d",
"type": "files.document.deleted",
"occurred_at": "2026-09-30T12:00:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3ad-4758-796a-85c6-e1f203142524",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"name": "SK-4821-AB-insurance-2026.pdf",
"mime_type": "application/pdf",
"size_bytes": 248311,
"status": "deleted",
"folder_id": "0199c38c-5869-7a7b-96d7-f20314253625",
"uploaded_by": "0199c38a-2536-7748-83a4-cfd0e1f20322",
"uploaded_at": "2026-01-15T10:20:00Z",
"shared_with": [],
"shared_expires_at": null,
"deleted_at": "2026-09-30T12:00:00Z",
"created_at": "2026-01-15T10:20:00Z",
"updated_at": "2026-09-30T12:00:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c338-adce-7d51-a0b1-c0ef41921aa2"
}
}
} files.document.uploaded since 2026-05-16 A document was uploaded.
Scope to subscribe: int:files.documents:read.
data is DocumentEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
name | string | A name, for display. |
mime_type | string | null | The media type of the file, e.g. application/pdf. |
size_bytes | integer | A size in bytes. |
status | string | The record's status after the change. |
folder_id | string | null | Id of the folder. |
uploaded_by | string | null | Id of the user who uploaded it. |
uploaded_at | string (date-time) | null | When uploaded — RFC 3339, UTC. |
shared_with | string[] | |
shared_expires_at | string (date-time) | null | When shared expires — RFC 3339, UTC. |
deleted_at | string (date-time) | null | When deleted — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c35a-ba11-7452-9bc2-1f9d25b61b73",
"type": "files.document.uploaded",
"occurred_at": "2026-03-02T08:00:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3ad-4758-796a-85c6-e1f203142524",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"name": "SK-4821-AB-insurance-2026.pdf",
"mime_type": "application/pdf",
"size_bytes": 248311,
"status": "ready",
"folder_id": "0199c38c-5869-7a7b-96d7-f20314253625",
"uploaded_by": "0199c38a-2536-7748-83a4-cfd0e1f20322",
"uploaded_at": "2026-01-15T10:20:00Z",
"shared_with": [],
"shared_expires_at": null,
"deleted_at": null,
"created_at": "2026-01-15T10:20:00Z",
"updated_at": "2026-03-02T08:00:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c32d-3bb8-7d50-b0f2-8995fb1e562e"
}
}
} files.esign.completed PII since 2026-05-28 A document e-signature was completed by all signers.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is ESignCallbackEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
provider | string | |
provider_ref | string | |
state | string | The record's status after the change. |
completed_at | string (date-time) | null | When completed — RFC 3339, UTC. |
origin_domain | string | |
origin_row_id | string | Id of the origin row. |
occurred_at | string (date-time) | When occurred — RFC 3339, UTC. |
{
"id": "evt_0199c340-a0ae-773a-9f70-14496e1af831",
"type": "files.esign.completed",
"occurred_at": "2026-09-09T07:03:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"provider": "dropbox_sign",
"provider_ref": "sig-req-0042",
"state": "submitted",
"completed_at": "2026-09-14T08:52:00Z",
"origin_domain": "sign.example.com",
"origin_row_id": "0199c3e7-c321-7ef9-8ac0-dceef7e42cc3",
"occurred_at": "2026-09-04T17:29:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c360-a8a6-7f89-9e95-975e5e8aadc3"
}
}
} files.esign.declined PII since 2026-05-28 A document e-signature request was declined, expired, or errored.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is ESignCallbackEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
provider | string | |
provider_ref | string | |
state | string | The record's status after the change. |
completed_at | string (date-time) | null | When completed — RFC 3339, UTC. |
origin_domain | string | |
origin_row_id | string | Id of the origin row. |
occurred_at | string (date-time) | When occurred — RFC 3339, UTC. |
{
"id": "evt_0199c313-e5c6-73e5-a34a-162c46b1f9fd",
"type": "files.esign.declined",
"occurred_at": "2026-09-04T09:41:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"provider": "dropbox_sign",
"provider_ref": "sig-req-0042",
"state": "submitted",
"completed_at": "2026-09-17T06:25:00Z",
"origin_domain": "sign.example.com",
"origin_row_id": "0199c38c-6c2e-7255-b74b-2cdf1365c686",
"occurred_at": "2026-09-10T07:13:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c313-95af-738e-a61b-43421c8687b1"
}
}
} Messaging 1
messaging.message.sent PII since 2026-05-16 A message was sent in a conversation.
Scope to subscribe: int:messaging.messages:read (not offered in Settings → API keys; int:* covers it — ask support).
data is MessageEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
conversation_id | string | Id of the conversation. |
sender_id | string | null | Id of the sender. |
body | string | Free text for people. Do not branch on it. |
parent_message_id | string | null | Id of the parent message. |
sent_at | string (date-time) | When sent — RFC 3339, UTC. |
type | string |
{
"id": "evt_0199c3c2-e861-7446-a025-5ffaed0978ef",
"type": "messaging.message.sent",
"occurred_at": "2026-09-17T13:11:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c39d-fead-71c6-b585-6652c46513db",
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"conversation_id": "0199c38d-0fcd-7b25-8ad2-6c044bb3b288",
"sender_id": "0199c3f2-97ee-713c-9550-5611064caa5e",
"body": "Synthetic example text.",
"parent_message_id": "0199c373-b8c6-7d6e-9ac0-db634650077e",
"sent_at": "2026-09-21T10:07:00Z",
"type": "text"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3b6-1c8e-7211-b712-26dc3549b6a9"
}
}
} Identity 3
identity.user.created PII not sent yet since 2026-05-16 A user account was created.
Scope to subscribe: int:identity.users:read (not offered in Settings → API keys; int:* covers it — ask support).
data is UserEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
email | string (email) | An e-mail address. |
first_name | string | null | A name, for display. |
last_name | string | null | A name, for display. |
status | string | The record's status after the change. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
deactivated_at | string (date-time) | null | When deactivated — RFC 3339, UTC. |
deleted_reason | string | null | Free text for people. Do not branch on it. |
membership | object | |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c3cc-bff1-7897-9d7c-437959896f95",
"type": "identity.user.created",
"occurred_at": "2026-09-07T09:34:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3b3-0919-7918-b142-5dd3f007e6ba",
"email": "ana.petrovska@example.com",
"first_name": "Ana",
"last_name": "Petrovska",
"status": "submitted",
"created_at": "2026-09-28T17:52:00Z",
"deactivated_at": "2026-09-21T10:38:00Z",
"deleted_reason": "Synthetic example text.",
"membership": {
"id": "0199c37c-8e6d-778d-b5b4-0d442ecd5efb",
"primary_role": "tenant_admin",
"status": "submitted",
"joined_at": "2026-09-11T11:44:00Z",
"revoked_at": "2026-09-26T12:29:00Z"
}
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3d4-3a8c-7543-a09d-ab8551aa91d8"
}
}
} identity.user.deactivated PII not sent yet since 2026-05-16 A user account was deactivated (soft-delete).
Scope to subscribe: int:identity.users:read (not offered in Settings → API keys; int:* covers it — ask support).
data is UserEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
email | string (email) | An e-mail address. |
first_name | string | null | A name, for display. |
last_name | string | null | A name, for display. |
status | string | The record's status after the change. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
deactivated_at | string (date-time) | null | When deactivated — RFC 3339, UTC. |
deleted_reason | string | null | Free text for people. Do not branch on it. |
membership | object | |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c347-53d8-7f8d-a797-96f6e46abfb0",
"type": "identity.user.deactivated",
"occurred_at": "2026-09-18T15:44:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3f7-dbe6-73ee-a99e-5929bd70d3a9",
"email": "ana.petrovska@example.com",
"first_name": "Ana",
"last_name": "Petrovska",
"status": "submitted",
"created_at": "2026-09-21T14:09:00Z",
"deactivated_at": "2026-09-24T06:14:00Z",
"deleted_reason": "Synthetic example text.",
"membership": {
"id": "0199c3f7-e1ea-7046-9ec0-75d6ff75e9f9",
"primary_role": "tenant_admin",
"status": "submitted",
"joined_at": "2026-09-17T11:28:00Z",
"revoked_at": "2026-09-05T11:13:00Z"
}
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c35a-8116-7ed3-b310-cea924931c3d"
}
}
} identity.user.reactivated PII not sent yet since 2026-05-16 A previously deactivated user account was reactivated.
Scope to subscribe: int:identity.users:read (not offered in Settings → API keys; int:* covers it — ask support).
data is UserEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
email | string (email) | An e-mail address. |
first_name | string | null | A name, for display. |
last_name | string | null | A name, for display. |
status | string | The record's status after the change. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
deactivated_at | string (date-time) | null | When deactivated — RFC 3339, UTC. |
deleted_reason | string | null | Free text for people. Do not branch on it. |
membership | object | |
previous | object | optional The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
{
"id": "evt_0199c37d-09f1-74d2-9e1d-3b100e21b2d1",
"type": "identity.user.reactivated",
"occurred_at": "2026-09-16T15:41:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c396-b5ed-7002-b9ae-dcaf5b7b1845",
"email": "ana.petrovska@example.com",
"first_name": "Ana",
"last_name": "Petrovska",
"status": "submitted",
"created_at": "2026-09-22T15:59:00Z",
"deactivated_at": "2026-09-10T06:58:00Z",
"deleted_reason": "Synthetic example text.",
"membership": {
"id": "0199c313-bed9-70ca-9406-d9dc7a0ee345",
"primary_role": "tenant_admin",
"status": "submitted",
"joined_at": "2026-09-09T13:20:00Z",
"revoked_at": "2026-09-17T10:29:00Z"
}
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3d3-4a87-7a37-8516-45d5cf60f575"
}
}
} Compliance 47
compliance.ai_act.bias.evaluated since 2026-05-20 A quarterly bias evaluation of a high-risk or limited-risk AI system found a demographic-parity result past the breach threshold (Regulation (EU) 2024/1689, Articles 10 and 15).
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is AiActBiasEvaluatedEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
system_code | string | |
system_id | string | Id of the system. |
assessment_id | string | Id of the assessment. |
protected_attribute | string | |
metric_name | string | A name, for display. |
metric_value | number | |
threshold | number | |
breach | boolean | |
period_from | string (date) | Period from, YYYY-MM-DD. |
period_to | string (date) | Period to, YYYY-MM-DD. |
evaluated_at | string (date-time) | When evaluated — RFC 3339, UTC. |
{
"id": "evt_0199c313-7c2e-7d7d-99f7-5a6ba3068f7e",
"type": "compliance.ai_act.bias.evaluated",
"occurred_at": "2026-09-11T08:08:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"system_code": "credit-scoring-v2",
"system_id": "0199c39f-fa02-7b3d-86d5-c5bf5950a3ea",
"assessment_id": "0199c37f-fdcc-734d-bead-f4637d425bfd",
"protected_attribute": "gender",
"metric_name": "Northwind Transport",
"metric_value": 0.42,
"threshold": 0.42,
"breach": false,
"period_from": "2026-09-09",
"period_to": "2026-09-22",
"evaluated_at": "2026-09-06T12:10:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c32a-a059-7bd4-ae0c-dcb4d81a7c73"
}
}
} compliance.ai_act.decision.overridden since 2026-05-19 A human-oversight reviewer overrode an AI-system decision.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is AiActDecisionEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
system_id | string | Id of the system. |
decision_kind | string | |
outcome | string | |
human_oversight_exercised | boolean | |
overridden_by | string | null | Id of the user who overridden it. |
overridden_at | string (date-time) | null | When overridden — RFC 3339, UTC. |
recorded_at | string (date-time) | When recorded — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
{
"id": "evt_0199c3d2-62c6-7cd1-873b-07a1a19a747b",
"type": "compliance.ai_act.decision.overridden",
"occurred_at": "2026-09-19T06:40:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3bb-294b-7104-98e7-211ec4aa7c95",
"system_id": "0199c3ca-dcdc-7362-9488-885aff2f79b7",
"decision_kind": "credit_limit",
"outcome": "approved",
"human_oversight_exercised": true,
"overridden_by": "0199c322-bbdf-7978-a468-5d5389b4e8df",
"overridden_at": "2026-09-26T17:03:00Z",
"recorded_at": "2026-09-03T10:16:00Z",
"created_at": "2026-09-21T17:46:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c361-9e90-79d2-9c71-9c2849169000"
}
}
} compliance.ai_act.decision.recorded since 2026-05-19 A high-risk AI system decision was logged in the register (Art. 26/86).
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is AiActDecisionEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
system_id | string | Id of the system. |
decision_kind | string | |
outcome | string | |
human_oversight_exercised | boolean | |
overridden_by | string | null | Id of the user who overridden it. |
overridden_at | string (date-time) | null | When overridden — RFC 3339, UTC. |
recorded_at | string (date-time) | When recorded — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
{
"id": "evt_0199c308-e12c-7263-a6e1-72d5acffbce3",
"type": "compliance.ai_act.decision.recorded",
"occurred_at": "2026-09-20T10:21:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c388-1afe-7028-bbd2-68f95c88b36b",
"system_id": "0199c318-7397-76e8-8d38-1f65c5dbb398",
"decision_kind": "credit_limit",
"outcome": "approved",
"human_oversight_exercised": true,
"overridden_by": "0199c31a-e27f-7371-aae7-cde337ea2115",
"overridden_at": "2026-09-04T17:31:00Z",
"recorded_at": "2026-09-11T10:14:00Z",
"created_at": "2026-09-06T09:53:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c35b-6218-7df7-abd0-c2fb5b88bd98"
}
}
} compliance.ai_act.decision_chain.integrity_violation since 2026-05-19 The daily check of an AI system's decision log found a break in its hash chain: a missing entry, or a hash that does not match the entry before it (Regulation (EU) 2024/1689, Article 12). data gives what was checked, the number of gaps and their kinds (chain_index_gap, prev_hash_mismatch, chain_hash_mismatch).
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is AiActDecisionChainIntegrityEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
chainsChecked | integer | A count. |
rowsChecked | integer | A count. |
gapsCount | integer | A count. |
gapReasons | string[] | |
detectedAt | string (date-time) | When detected — RFC 3339, UTC. |
{
"id": "evt_0199c302-6af3-7c0f-b440-8a13416224c5",
"type": "compliance.ai_act.decision_chain.integrity_violation",
"occurred_at": "2026-09-13T11:24:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"chainsChecked": 1,
"rowsChecked": 1,
"gapsCount": 3,
"gapReasons": [
"missing_predecessor"
],
"detectedAt": "2026-09-26T16:04:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3b7-28e6-7f51-bbe4-1f8344599d33"
}
}
} compliance.ai_act.dossier.artifact_regenerated since 2026-05-20 The three documents of an AI Act Annex IV conformity dossier (transparency disclosure, Annex IV technical documentation and declaration of conformity) were generated again on request.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is AiActDossierArtifactRegeneratedEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
assessment_id | string | Id of the assessment. |
regenerated_by_user_id | string | Id of the regenerated by user. |
regenerated_at | string (date-time) | When regenerated — RFC 3339, UTC. |
artifact_kinds | string[] |
{
"id": "evt_0199c321-250d-7924-944e-137bf77c43b0",
"type": "compliance.ai_act.dossier.artifact_regenerated",
"occurred_at": "2026-09-21T14:31:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"assessment_id": "0199c348-f563-768d-947e-a453c02826cb",
"regenerated_by_user_id": "0199c3ef-2dc9-7e68-aef8-556b364d07c1",
"regenerated_at": "2026-09-12T08:02:00Z",
"artifact_kinds": [
"technical_documentation"
]
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c358-e329-7ccf-912a-0c8bbdd486aa"
}
}
} compliance.ai_act.dossier.completed since 2026-05-19 An Annex-IV conformity dossier was marked complete (Art. 11).
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is AiActDossierEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
system_name | string | A name, for display. |
risk_tier | string | A level such as low, medium, high or critical. |
dossier_status | string | |
last_reviewed_at | string (date-time) | null | When last reviewed — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c30f-41bf-782e-829b-0784748f5964",
"type": "compliance.ai_act.dossier.completed",
"occurred_at": "2026-09-11T16:32:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c383-fce8-70c6-a124-b08121b67c73",
"system_name": "Northwind Transport",
"risk_tier": "high",
"dossier_status": "submitted",
"last_reviewed_at": "2026-09-14T16:53:00Z",
"created_at": "2026-09-13T10:32:00Z",
"updated_at": "2026-09-11T16:32:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c30e-c638-7ec8-8b7b-ef9df6dbd762"
}
}
} compliance.ai_act.drift_detected since 2026-05-19 An AI system's behaviour over the last 7 days drifted from its 30-day baseline (post-market monitoring, Regulation (EU) 2024/1689, Article 17).
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is AiActDriftEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
incident_id | string | Id of the incident. |
system_id | string | Id of the system. |
current_period_from | string (date) | Current period from, YYYY-MM-DD. |
current_period_to | string (date) | Current period to, YYYY-MM-DD. |
baseline_period_from | string (date) | Baseline period from, YYYY-MM-DD. |
baseline_period_to | string (date) | Baseline period to, YYYY-MM-DD. |
current_decisions | integer | |
baseline_decisions | integer | |
current_avg_total_tokens | number | null | |
baseline_avg_total_tokens | number | null | |
current_p95_total_tokens | integer | |
baseline_p95_total_tokens | integer | |
anomaly_reasons | string[] | |
detected_at | string (date-time) | When detected — RFC 3339, UTC. |
{
"id": "evt_0199c396-6143-7df1-8507-53a8497af806",
"type": "compliance.ai_act.drift_detected",
"occurred_at": "2026-09-16T06:40:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"incident_id": "0199c3bc-0d02-7bba-ba11-22ec93545be8",
"system_id": "0199c3db-bf40-72d7-8f2f-f427b2f87add",
"current_period_from": "2026-09-24",
"current_period_to": "2026-09-27",
"baseline_period_from": "2026-09-14",
"baseline_period_to": "2026-09-08",
"current_decisions": 1,
"baseline_decisions": 1,
"current_avg_total_tokens": 0.42,
"baseline_avg_total_tokens": 0.42,
"current_p95_total_tokens": 3,
"baseline_p95_total_tokens": 3,
"anomaly_reasons": [
"approval_rate_shift"
],
"detected_at": "2026-09-10T11:04:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c324-dda7-7651-8274-ca8bf3938e9e"
}
}
} compliance.ai_act.incident.created since 2026-05-19 A post-market monitoring incident was opened (Art. 73).
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is AiActIncidentEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
system_id | string | Id of the system. |
severity | string | A level such as low, medium, high or critical. |
category | string | The category the record was filed under in OfficeHero. |
status | string | The record's status after the change. |
detected_at | string (date-time) | null | When detected — RFC 3339, UTC. |
resolved_at | string (date-time) | null | When resolved — RFC 3339, UTC. |
notified_body_reported_at | string (date-time) | null | When notified body reported — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c368-2cc3-7834-8994-36aec57b3dae",
"type": "compliance.ai_act.incident.created",
"occurred_at": "2026-09-16T16:22:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c37c-dc41-7fe8-b6cf-fe752fd24ace",
"system_id": "0199c341-c21d-7235-9b00-03da78790668",
"severity": "high",
"category": "serious_incident",
"status": "submitted",
"detected_at": "2026-09-21T12:33:00Z",
"resolved_at": "2026-09-04T14:01:00Z",
"notified_body_reported_at": "2026-09-12T11:48:00Z",
"created_at": "2026-09-23T09:56:00Z",
"updated_at": "2026-09-16T16:22:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3dc-d76b-700c-9ffc-91238ef29e42"
}
}
} compliance.ai_act.incident.resolved since 2026-05-19 A post-market monitoring incident was closed.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is AiActIncidentEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
system_id | string | Id of the system. |
severity | string | A level such as low, medium, high or critical. |
category | string | The category the record was filed under in OfficeHero. |
status | string | The record's status after the change. |
detected_at | string (date-time) | null | When detected — RFC 3339, UTC. |
resolved_at | string (date-time) | null | When resolved — RFC 3339, UTC. |
notified_body_reported_at | string (date-time) | null | When notified body reported — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c320-46e2-73b3-ba24-607026ef76ab",
"type": "compliance.ai_act.incident.resolved",
"occurred_at": "2026-09-08T16:12:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c39d-db0e-751f-a7e3-29fc96b46ca9",
"system_id": "0199c381-8f7a-73cf-bf23-5b7699591a6d",
"severity": "high",
"category": "serious_incident",
"status": "submitted",
"detected_at": "2026-09-22T15:48:00Z",
"resolved_at": "2026-09-23T09:33:00Z",
"notified_body_reported_at": "2026-09-28T16:45:00Z",
"created_at": "2026-09-24T10:49:00Z",
"updated_at": "2026-09-08T16:12:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c317-3061-7ced-9df6-876d04a4838f"
}
}
} compliance.ai_act.oversight_backlog_escalated since 2026-05-19 A high-risk AI system's queue of decisions awaiting human review grew past its escalation threshold, and the company's administrators were alerted (Regulation (EU) 2024/1689, Article 14).
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is AiActOversightBacklogEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
system_id | string | Id of the system. |
system_name | string | A name, for display. |
overdue_count | integer | A count. |
threshold_count | integer | A count. |
sla_days | integer | A number of days. |
escalated_at | string (date-time) | When escalated — RFC 3339, UTC. |
{
"id": "evt_0199c3a3-2eaf-7f8b-a82d-351f75a5d4d8",
"type": "compliance.ai_act.oversight_backlog_escalated",
"occurred_at": "2026-09-22T10:21:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"system_id": "0199c349-0395-786e-8880-88312fbfe213",
"system_name": "Northwind Transport",
"overdue_count": 3,
"threshold_count": 3,
"sla_days": 5,
"escalated_at": "2026-09-25T12:41:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3f8-4d0d-7dfe-abac-04c1c870d443"
}
}
} compliance.ai_act.system.registered since 2026-05-19 An OfficeHero-shipped high-risk AI system was registered in the EU AI database (Regulation (EU) 2024/1689 Article 71).
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is AiActSystemRegisteredEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
system_code | string | |
system_display_name | string | A name, for display. |
risk_class | string | |
domain | string | |
annex_iii_area | string | null | |
eu_registration_status | string | |
eu_registration_id | string | null | Id of the eu registration. |
endpoint | string (uri) | An absolute URL. |
submitted_at | string (date-time) | When submitted — RFC 3339, UTC. |
{
"id": "evt_0199c3c0-b8e1-7484-a686-40966e1abec1",
"type": "compliance.ai_act.system.registered",
"occurred_at": "2026-09-25T07:26:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"system_code": "credit-scoring-v2",
"system_display_name": "Northwind Transport",
"risk_class": "high_risk",
"domain": "employment",
"annex_iii_area": "employment_workers_management",
"eu_registration_status": "submitted",
"eu_registration_id": "0199c3c4-9cab-76ac-a6e1-afa0aab6f380",
"endpoint": "https://ai.example.com/v1/score",
"submitted_at": "2026-09-15T16:01:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c36a-fae9-7d43-8930-0cbbf256d6b1"
}
}
} compliance.fr_einvoicing.document.inbound_received PII since 2026-05-19 A French e-invoice addressed to the company arrived from the public invoicing portal (PPF) and was recorded. Sent once per PPF reference: a document the portal delivers again does not send it twice.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is FrEinvoicingInboundReceivedEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
document_id | string (uuid) | Id of the document. |
document_type | string | |
ppf_reference | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
supplier_id | string (uuid) | null | Id of the supplier. |
supplier_name | string | null | A name, for display. |
total_minor | integer | null | Total in minor units of currency (cents for EUR). |
currency | string | null | ISO 4217 currency code. |
issue_date | string (date) | null | Issue date, YYYY-MM-DD. |
received_at | string (date-time) | When received — RFC 3339, UTC. |
delivery_channel | string | |
peer_pa_siren | string | null |
{
"id": "evt_0199c3bc-4096-7d0a-a2a6-0d0c9ef3e740",
"type": "compliance.fr_einvoicing.document.inbound_received",
"occurred_at": "2026-09-07T11:22:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"document_id": "0199c341-c676-77ea-9139-bc51fa84ea46",
"document_type": "invoice",
"ppf_reference": "NR-2026-0042",
"supplier_id": "0199c3f8-46dc-714c-beff-3bb0f97dd041",
"supplier_name": "Northwind Transport",
"total_minor": 125000,
"currency": "EUR",
"issue_date": "2026-09-01",
"received_at": "2026-09-26T09:07:00Z",
"delivery_channel": "peppol",
"peer_pa_siren": "987654321"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c34a-a01c-7dec-99e6-2c7ee5f71744"
}
}
} compliance.fr_einvoicing.ereporting.submitted since 2026-05-20 A French e-reporting declaration (B2C, intra-EU B2B or extra-EU transactions) was sent to the public invoicing portal (PPF) and reached a final state: submitted or rejected.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is FrEinvoicingEreportingSubmittedEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
submission_id | string | Id of the submission. |
report_type | string | |
period_from | string (date) | Period from, YYYY-MM-DD. |
period_to | string (date) | Period to, YYYY-MM-DD. |
total_transactions | integer | |
total_amount_minor | integer | Total amount in minor units of currency (cents for EUR). |
currency | string | ISO 4217 currency code. |
state | string | The record's status after the change. |
ppf_reference | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
rejection_reason | string | null | Free text for people. Do not branch on it. |
submitted_at | string (date-time) | When submitted — RFC 3339, UTC. |
{
"id": "evt_0199c352-d9db-7f03-8582-cdade93265ed",
"type": "compliance.fr_einvoicing.ereporting.submitted",
"occurred_at": "2026-09-10T13:18:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"submission_id": "0199c3ae-2e02-7ed1-a998-e2765568d9ea",
"report_type": "transaction",
"period_from": "2026-09-15",
"period_to": "2026-09-05",
"total_transactions": 3,
"total_amount_minor": 125000,
"currency": "EUR",
"state": "submitted",
"ppf_reference": "NR-2026-0042",
"rejection_reason": "Synthetic example text.",
"submitted_at": "2026-09-28T15:51:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c30c-402d-7fd1-8a28-7d0c30cb00c3"
}
}
} compliance.fr_einvoicing.incident.opened since 2026-05-19 A French e-invoicing incident was opened: an SLA breach, repeated rejections, a signing-key compromise, or one raised by hand.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is FrEinvoicingIncidentEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
document_id | string (uuid) | null | Id of the document. |
severity | string | A level such as low, medium, high or critical. |
category | string | The category the record was filed under in OfficeHero. |
title | string | Free text for people. Do not branch on it. |
detected_at | string (date-time) | When detected — RFC 3339, UTC. |
acknowledged_at | string (date-time) | null | When acknowledged — RFC 3339, UTC. |
resolved_at | string (date-time) | null | When resolved — RFC 3339, UTC. |
regulator_notified_at | string (date-time) | null | When regulator notified — RFC 3339, UTC. |
regulator_reference | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c310-80af-7fa2-9846-aace2997aa4b",
"type": "compliance.fr_einvoicing.incident.opened",
"occurred_at": "2026-09-17T08:28:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3e9-dfdc-7da7-bcce-a6c58bb9252c",
"document_id": "0199c37c-a09b-7adb-b2a1-a8c4ba5b8b4f",
"severity": "high",
"category": "transmission_failure",
"title": "Brake inspection overdue for SK 4821 AB",
"detected_at": "2026-09-27T15:43:00Z",
"acknowledged_at": "2026-09-04T13:38:00Z",
"resolved_at": "2026-09-01T10:27:00Z",
"regulator_notified_at": "2026-09-08T17:48:00Z",
"regulator_reference": "NR-2026-0042",
"created_at": "2026-09-27T13:58:00Z",
"updated_at": "2026-09-17T08:28:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3e5-b3c5-7280-a9f2-da6b56f09839"
}
}
} compliance.fr_einvoicing.incident.regulator_notified since 2026-05-19 A French e-invoicing incident was reported to the tax authority (DGFiP) and the authority's case reference was recorded.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is FrEinvoicingIncidentEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
document_id | string (uuid) | null | Id of the document. |
severity | string | A level such as low, medium, high or critical. |
category | string | The category the record was filed under in OfficeHero. |
title | string | Free text for people. Do not branch on it. |
detected_at | string (date-time) | When detected — RFC 3339, UTC. |
acknowledged_at | string (date-time) | null | When acknowledged — RFC 3339, UTC. |
resolved_at | string (date-time) | null | When resolved — RFC 3339, UTC. |
regulator_notified_at | string (date-time) | null | When regulator notified — RFC 3339, UTC. |
regulator_reference | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c396-47fa-7d90-b9f8-e7225b694ce8",
"type": "compliance.fr_einvoicing.incident.regulator_notified",
"occurred_at": "2026-09-01T12:37:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c39c-7717-7969-8b76-4a19f0520c88",
"document_id": "0199c3c3-cbcf-741f-ae34-2d9f678fbef8",
"severity": "high",
"category": "transmission_failure",
"title": "Brake inspection overdue for SK 4821 AB",
"detected_at": "2026-09-28T12:00:00Z",
"acknowledged_at": "2026-09-09T11:57:00Z",
"resolved_at": "2026-09-16T13:22:00Z",
"regulator_notified_at": "2026-09-03T10:17:00Z",
"regulator_reference": "NR-2026-0042",
"created_at": "2026-09-27T14:42:00Z",
"updated_at": "2026-09-01T12:37:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3c1-bca1-7108-bf62-1524ef6c6f9a"
}
}
} compliance.fr_einvoicing.incident.resolved since 2026-05-19 A French e-invoicing incident was resolved.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is FrEinvoicingIncidentEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
document_id | string (uuid) | null | Id of the document. |
severity | string | A level such as low, medium, high or critical. |
category | string | The category the record was filed under in OfficeHero. |
title | string | Free text for people. Do not branch on it. |
detected_at | string (date-time) | When detected — RFC 3339, UTC. |
acknowledged_at | string (date-time) | null | When acknowledged — RFC 3339, UTC. |
resolved_at | string (date-time) | null | When resolved — RFC 3339, UTC. |
regulator_notified_at | string (date-time) | null | When regulator notified — RFC 3339, UTC. |
regulator_reference | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c3d8-bcd6-774d-8951-2ae6f242ca43",
"type": "compliance.fr_einvoicing.incident.resolved",
"occurred_at": "2026-09-27T11:52:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c383-0a6d-71a4-8c42-55f11f3de474",
"document_id": "0199c3e4-08de-7d42-acf5-3fd728947417",
"severity": "high",
"category": "transmission_failure",
"title": "Brake inspection overdue for SK 4821 AB",
"detected_at": "2026-09-18T11:26:00Z",
"acknowledged_at": "2026-09-28T09:01:00Z",
"resolved_at": "2026-09-20T08:11:00Z",
"regulator_notified_at": "2026-09-20T10:23:00Z",
"regulator_reference": "NR-2026-0042",
"created_at": "2026-09-22T06:05:00Z",
"updated_at": "2026-09-27T11:52:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c392-98aa-7e5f-b1b6-3511e347d898"
}
}
} compliance.fr_einvoicing.mandate.reactivated since 2026-05-19 A suspended French e-invoicing mandate was reactivated: the company can issue e-invoices and submit e-reporting again.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is EinvoicingMandateEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_customer_id | string | Id of the tenant customer. |
siren | string | |
jurisdiction | string | |
status | string | The record's status after the change. |
signed_at | string (date-time) | null | When signed — RFC 3339, UTC. |
activated_at | string (date-time) | null | When activated — RFC 3339, UTC. |
revoked_at | string (date-time) | null | When revoked — RFC 3339, UTC. |
provider_envelope_id | string | null | Id of the provider envelope. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c369-7834-79fa-9b72-7eb9a2e882d4",
"type": "compliance.fr_einvoicing.mandate.reactivated",
"occurred_at": "2026-09-19T09:31:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3f9-0512-71df-8346-a64fa509cda6",
"tenant_customer_id": "0199c399-c792-7e27-b2f8-fa3619559155",
"siren": "123456789",
"jurisdiction": "https://files.example.com/c810edf572a8",
"status": "submitted",
"signed_at": "2026-09-27T08:17:00Z",
"activated_at": "2026-09-24T10:21:00Z",
"revoked_at": "2026-09-08T13:21:00Z",
"provider_envelope_id": "0199c32f-915b-79ea-9aa1-3ee3298fac25",
"created_at": "2026-09-28T12:35:00Z",
"updated_at": "2026-09-19T09:31:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c34c-3ceb-7c80-b393-f448cac5c453"
}
}
} compliance.fr_einvoicing.mandate.signed since 2026-05-20 The company's legal signatory signed its French e-invoicing mandate electronically. The signed mandate is kept for the 10-year regulatory retention period.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is EinvoicingMandateEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
tenant_customer_id | string | Id of the tenant customer. |
siren | string | |
jurisdiction | string | |
status | string | The record's status after the change. |
signed_at | string (date-time) | null | When signed — RFC 3339, UTC. |
activated_at | string (date-time) | null | When activated — RFC 3339, UTC. |
revoked_at | string (date-time) | null | When revoked — RFC 3339, UTC. |
provider_envelope_id | string | null | Id of the provider envelope. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c32a-3352-7c19-bed7-3ee2ab124da4",
"type": "compliance.fr_einvoicing.mandate.signed",
"occurred_at": "2026-09-20T09:59:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3d7-a18b-72fb-8ea5-f6737d84104f",
"tenant_customer_id": "0199c3fd-c2d9-7ef0-87dd-d9538229f987",
"siren": "123456789",
"jurisdiction": "https://files.example.com/159d83e8f72e",
"status": "submitted",
"signed_at": "2026-09-18T12:58:00Z",
"activated_at": "2026-09-17T09:42:00Z",
"revoked_at": "2026-09-21T06:37:00Z",
"provider_envelope_id": "0199c35c-9c97-78bf-938b-0d284e1faecf",
"created_at": "2026-09-21T12:14:00Z",
"updated_at": "2026-09-20T09:59:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c37a-362a-72c3-9f06-886eebd2e80c"
}
}
} compliance.fr_einvoicing.outbound_delivery.attempted since 2026-05-19 An attempt to deliver one of the company's French e-invoices (to the buyer's platform or to the public invoicing portal, PPF) finished. Sent for every attempt, whatever the outcome; data carries the attempt's state and HTTP status.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is FrEinvoicingOutboundDeliveryEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
attempt_id | string | Id of the attempt. |
document_id | string (uuid) | Id of the document. |
attempt_n | integer | |
target_kind | string | |
target_identifier | string | null | |
idempotency_key | string | |
state | string | The record's status after the change. |
failure_reason | string | null | Free text for people. Do not branch on it. |
http_status | integer | null | |
started_at | string (date-time) | When started — RFC 3339, UTC. |
completed_at | string (date-time) | null | When completed — RFC 3339, UTC. |
next_retry_at | string (date-time) | null | When next retry — RFC 3339, UTC. |
{
"id": "evt_0199c366-e15c-77d8-80f9-c533228a6ffe",
"type": "compliance.fr_einvoicing.outbound_delivery.attempted",
"occurred_at": "2026-09-05T17:56:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"attempt_id": "0199c3b4-c8dd-7ff1-bd6a-2f157e39b732",
"document_id": "0199c343-ad01-7590-8a69-83bafd5d7186",
"attempt_n": 1,
"target_kind": "peppol_participant",
"target_identifier": "0225:123456789",
"idempotency_key": "0199c3f4-42c4-7ebe-bd74-aeec05a20bc0",
"state": "submitted",
"failure_reason": "Synthetic example text.",
"http_status": 200,
"started_at": "2026-09-26T11:55:00Z",
"completed_at": "2026-09-08T12:43:00Z",
"next_retry_at": "2026-09-20T10:04:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c388-2989-7dc2-9c69-a2dc9637e1a4"
}
}
} compliance.fr_einvoicing.outbound_delivery.permanently_failed since 2026-05-19 Delivery of one of the company's French e-invoices was given up: every retry failed, and so did the fallback to the public invoicing portal (PPF) where it applies. Alert your finance team and show the failure on the invoice.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is FrEinvoicingOutboundDeliveryEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
attempt_id | string | Id of the attempt. |
document_id | string (uuid) | Id of the document. |
attempt_n | integer | |
target_kind | string | |
target_identifier | string | null | |
idempotency_key | string | |
state | string | The record's status after the change. |
failure_reason | string | null | Free text for people. Do not branch on it. |
http_status | integer | null | |
started_at | string (date-time) | When started — RFC 3339, UTC. |
completed_at | string (date-time) | null | When completed — RFC 3339, UTC. |
next_retry_at | string (date-time) | null | When next retry — RFC 3339, UTC. |
{
"id": "evt_0199c37b-ed7c-772b-97ad-745fc3b2368a",
"type": "compliance.fr_einvoicing.outbound_delivery.permanently_failed",
"occurred_at": "2026-09-23T13:32:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"attempt_id": "0199c381-cd24-703f-ae47-b4d4de550d60",
"document_id": "0199c390-01b8-75bd-ae04-aa22c5b6ec86",
"attempt_n": 1,
"target_kind": "peppol_participant",
"target_identifier": "0225:123456789",
"idempotency_key": "0199c390-2205-7048-9b50-76591aab6b76",
"state": "submitted",
"failure_reason": "Synthetic example text.",
"http_status": 200,
"started_at": "2026-09-06T07:26:00Z",
"completed_at": "2026-09-24T13:41:00Z",
"next_retry_at": "2026-09-02T11:12:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3db-14a8-7f5f-993d-bfcc82ce5f54"
}
}
} compliance.fr_einvoicing.serious_incident.opened since 2026-05-20 A serious French e-invoicing incident (Article 72: signing-key compromise, data breach, public-portal outage or a cluster of rejections) was opened. It starts the 72-hour deadline for notifying the tax authority (DGFiP).
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is FrEinvoicingIncidentEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
document_id | string (uuid) | null | Id of the document. |
severity | string | A level such as low, medium, high or critical. |
category | string | The category the record was filed under in OfficeHero. |
title | string | Free text for people. Do not branch on it. |
detected_at | string (date-time) | When detected — RFC 3339, UTC. |
acknowledged_at | string (date-time) | null | When acknowledged — RFC 3339, UTC. |
resolved_at | string (date-time) | null | When resolved — RFC 3339, UTC. |
regulator_notified_at | string (date-time) | null | When regulator notified — RFC 3339, UTC. |
regulator_reference | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c36a-e4e8-7603-9073-504d395ab1a9",
"type": "compliance.fr_einvoicing.serious_incident.opened",
"occurred_at": "2026-09-25T17:04:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3ab-6abe-7222-b7a0-a9fa7337a5a4",
"document_id": "0199c358-faef-7344-9dc0-6b8f62068d29",
"severity": "high",
"category": "transmission_failure",
"title": "Brake inspection overdue for SK 4821 AB",
"detected_at": "2026-09-20T12:15:00Z",
"acknowledged_at": "2026-09-15T09:54:00Z",
"resolved_at": "2026-09-06T14:24:00Z",
"regulator_notified_at": "2026-09-17T06:23:00Z",
"regulator_reference": "NR-2026-0042",
"created_at": "2026-09-09T09:01:00Z",
"updated_at": "2026-09-25T17:04:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3a4-77ff-70c5-9c11-ca1d42facf81"
}
}
} compliance.nis2.article21.attestation_changed since 2026-05-20 The attestation of a NIS2 Article 21(2) risk-management measure changed: not_attested → attested → lapsed, or withdrawn back to not_attested. Directive (EU) 2022/2555, Article 21.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is Nis2Article21AttestationChangedEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
measure_id | string | Id of the measure. |
from_state | string | The status before the change. |
to_state | string | The status after the change. |
attested_at | string (date-time) | null | When attested — RFC 3339, UTC. |
reason | string | Free text for people. Do not branch on it. |
changed_by | string | Id of the user who changed it. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c3e4-fad3-7eeb-be19-82727af171d1",
"type": "compliance.nis2.article21.attestation_changed",
"occurred_at": "2026-09-20T11:11:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c3ff-91e5-7b3c-b510-c391d24e4ece",
"measure_id": "0199c3f7-ba77-7072-8086-743a4d3ada23",
"from_state": "detected",
"to_state": "notified",
"attested_at": "2026-09-24T11:58:00Z",
"reason": "Synthetic example text.",
"changed_by": "0199c3ee-9157-78f0-9072-879265f80f0e",
"created_at": "2026-09-13T06:40:00Z",
"updated_at": "2026-09-20T11:11:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c36e-d509-7382-a366-e8b1253613af"
}
}
} compliance.nis2.board.accountability_changed since 2026-05-21 An entry in the company's NIS2 management-body accountability register changed: a board member, a training record (completed, exempted, cancelled or expired), a board decision or the annual attestation. Directive (EU) 2022/2555, Article 20.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is Nis2BoardAccountabilityChangedEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
entry_kind | string | |
entry_id | string | Id of the entry. |
member_id | string | null | Id of the member. |
topic | string | null | |
from_state | string | null | The status before the change. |
to_state | string | null | The status after the change. |
severity | string | null | A level such as low, medium, high or critical. |
occurred_at | string (date-time) | null | When occurred — RFC 3339, UTC. |
previous | object | The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
actor_user_id | string (uuid) | Id of the actor user. |
occurred_event_at | string (date-time) | When occurred event — RFC 3339, UTC. |
{
"id": "evt_0199c329-0d01-797d-b70c-f10fa3968a27",
"type": "compliance.nis2.board.accountability_changed",
"occurred_at": "2026-09-06T08:16:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"entry_kind": "member",
"entry_id": "0199c381-6f1c-7677-be0a-ad6d90065f31",
"member_id": "0199c367-5256-70cd-bc6d-436e9af962d4",
"topic": "incident_reporting",
"from_state": "detected",
"to_state": "notified",
"severity": "high",
"occurred_at": "2026-09-10T16:29:00Z",
"previous": [],
"actor_user_id": "0199c38b-1bf8-7839-9c60-b229b5816162",
"occurred_event_at": "2026-09-06T17:38:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c37e-a1d7-7232-a9de-425bbd9be8eb"
}
}
} compliance.nis2.csirt.submission_state_changed not sent yet since 2026-05-21 A submission of a NIS2 incident report to the national CSIRT changed state: accepted, a dry run, failed, waiting for a retry, or final after a retry. Directive (EU) 2022/2555, Articles 23, 13(3) and 14(4).
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is Nis2CsirtSubmissionStateChangedEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
notification_id | string | Id of the notification. |
incident_id | string | Id of the incident. |
adapter_code | string | |
csirt_member_state | string | |
notification_kind | string | |
previous_status | string | null | The status before the change. |
new_status | string | The status after the change. |
csirt_reference | string | null | A human-readable number or reference, as shown in OfficeHero or by the authority. |
error_message | string | null | Free text for people. Do not branch on it. |
attempt_number | integer | |
occurred_event_at | string (date-time) | When occurred event — RFC 3339, UTC. |
{
"id": "evt_0199c368-12f5-71bc-9940-fe01b8c43cfe",
"type": "compliance.nis2.csirt.submission_state_changed",
"occurred_at": "2026-09-04T12:37:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"notification_id": "0199c3dd-a026-7337-b6d3-2a319961773c",
"incident_id": "0199c3da-c175-728e-808e-0fecbfcda8ac",
"adapter_code": "de_bsi",
"csirt_member_state": "DE",
"notification_kind": "early_warning",
"previous_status": "submitted",
"new_status": "submitted",
"csirt_reference": "NR-2026-0042",
"error_message": "Synthetic example text.",
"attempt_number": 1,
"occurred_event_at": "2026-09-25T10:22:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3fb-ac78-7e7a-9677-8fef99882ba5"
}
}
} compliance.nis2.incident.state_changed since 2026-05-20 A NIS2 incident moved to the next stage of its Article 23 reporting (drafted → submitted_early_warning → detailed_notification_sent → final_report_sent → closed). Directive (EU) 2022/2555, Article 23.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is Nis2IncidentStateChangedEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
severity | string | A level such as low, medium, high or critical. |
category | string | The category the record was filed under in OfficeHero. |
from_state | string | The status before the change. |
to_state | string | The status after the change. |
discovered_at | string (date-time) | When discovered — RFC 3339, UTC. |
closed_at | string (date-time) | null | When closed — RFC 3339, UTC. |
reason | string | Free text for people. Do not branch on it. |
transitioned_by | string | Id of the user who transitioned it. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c39b-8d40-7bb6-ab36-623974427381",
"type": "compliance.nis2.incident.state_changed",
"occurred_at": "2026-09-27T10:52:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c341-f897-7027-9ea0-6e390401fd3c",
"severity": "high",
"category": "availability",
"from_state": "detected",
"to_state": "notified",
"discovered_at": "2026-09-14T17:34:00Z",
"closed_at": "2026-09-15T16:16:00Z",
"reason": "Synthetic example text.",
"transitioned_by": "0199c3bb-7f74-7658-aec5-2ff094635a68",
"created_at": "2026-09-15T08:26:00Z",
"updated_at": "2026-09-27T10:52:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c341-c3c1-773d-bfb3-d257a3c58462"
}
}
} compliance.nis2.supply_chain.entry_state_changed since 2026-05-21 An entry in the company's NIS2 supply-chain register changed: a supplier's status, a recorded risk assessment, a missed review, or cross-border coordination with a national CSIRT. Directive (EU) 2022/2555, Articles 22, 13(3) and 14(4).
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is Nis2SupplyChainEntryStateChangedEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
entry_kind | string | |
entry_id | string | Id of the entry. |
supplier_id | string (uuid) | Id of the supplier. |
assessment_id | string | null | Id of the assessment. |
supplier_name | string | A name, for display. |
supplier_criticality | string | A level such as low, medium, high or critical. |
from_lifecycle_state | string | The status before the change. |
to_lifecycle_state | string | The status after the change. |
severity | string | null | A level such as low, medium, high or critical. |
occurred_at | string (date-time) | null | When occurred — RFC 3339, UTC. |
previous | object | The fields that changed, with their values before the change. On *.updated events; an empty diff is sent as [], and some payloads omit the key when nothing changed. |
actor_user_id | string (uuid) | Id of the actor user. |
occurred_event_at | string (date-time) | When occurred event — RFC 3339, UTC. |
{
"id": "evt_0199c3e0-d37f-7592-b049-bcb329a10311",
"type": "compliance.nis2.supply_chain.entry_state_changed",
"occurred_at": "2026-09-04T13:52:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"entry_kind": "supplier",
"entry_id": "0199c375-7bba-781f-93f2-1127574730d6",
"supplier_id": "0199c38a-b57d-7969-bb6f-4b34996c5a62",
"assessment_id": "0199c3b4-12f7-73da-81c2-878d5750994d",
"supplier_name": "Northwind Transport",
"supplier_criticality": "high",
"from_lifecycle_state": "onboarding",
"to_lifecycle_state": "active",
"severity": "high",
"occurred_at": "2026-09-04T17:44:00Z",
"previous": [],
"actor_user_id": "0199c3a3-60af-77de-8fba-e289f4bea339",
"occurred_event_at": "2026-09-04T17:31:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c311-15c1-7fd1-8d64-3a4d07beb151"
}
}
} compliance.pay_transparency.assessment.closed since 2026-05-19 A joint pay assessment was closed with a gap-pct finding.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is PayTransparencyAssessmentEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
establishment_group_id | string | Id of the establishment group. |
period_start | string (date) | Period start, YYYY-MM-DD. |
period_end | string (date) | Period end, YYYY-MM-DD. |
status | string | The record's status after the change. |
gap_pct | number | null | A percentage (12.5 is 12.5 %). |
opened_at | string (date-time) | null | When opened — RFC 3339, UTC. |
closed_at | string (date-time) | null | When closed — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c390-1aab-772d-bdd4-156c1150cddb",
"type": "compliance.pay_transparency.assessment.closed",
"occurred_at": "2026-09-25T09:37:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c36d-b782-70b9-a6f1-e5e3d7a92be7",
"establishment_group_id": "0199c3c1-3ed3-7635-b9bb-ede38b0a83d4",
"period_start": "2026-09-18",
"period_end": "2026-09-02",
"status": "submitted",
"gap_pct": 0.42,
"opened_at": "2026-09-04T11:01:00Z",
"closed_at": "2026-09-28T16:48:00Z",
"created_at": "2026-09-06T17:53:00Z",
"updated_at": "2026-09-25T09:37:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3fa-9e7e-7e9a-a2f7-929f33ae43a4"
}
}
} compliance.pay_transparency.assessment.opened since 2026-05-19 A joint pay assessment was opened for an establishment group.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is PayTransparencyAssessmentEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
establishment_group_id | string | Id of the establishment group. |
period_start | string (date) | Period start, YYYY-MM-DD. |
period_end | string (date) | Period end, YYYY-MM-DD. |
status | string | The record's status after the change. |
gap_pct | number | null | A percentage (12.5 is 12.5 %). |
opened_at | string (date-time) | null | When opened — RFC 3339, UTC. |
closed_at | string (date-time) | null | When closed — RFC 3339, UTC. |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c3b8-f8b4-7296-bed4-b7e7cdb13e25",
"type": "compliance.pay_transparency.assessment.opened",
"occurred_at": "2026-09-21T15:51:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c357-4206-7327-a237-a170ca641995",
"establishment_group_id": "0199c315-f8c1-728b-b67b-054c0b8a1c6f",
"period_start": "2026-09-10",
"period_end": "2026-09-02",
"status": "submitted",
"gap_pct": 0.42,
"opened_at": "2026-09-12T16:30:00Z",
"closed_at": "2026-09-05T09:19:00Z",
"created_at": "2026-09-21T14:11:00Z",
"updated_at": "2026-09-21T15:51:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c383-a10b-7822-a74b-ef11d6a833ae"
}
}
} compliance.pay_transparency.benchmark.published since 2026-05-19 A new anonymised (k-anonymous) cross-company pay benchmark was published for a bucket (position, country, region and quarter) the company opted into (EU Pay Transparency Directive 2023/970).
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is PayTransparencyBenchmarkEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
position_canonical_id | string | Id of the position canonical. |
country_code | string | ISO 3166-1 alpha-2 country code. |
region | string | |
period_quarter | string | |
sample_tenant_count | integer | A count. |
sample_employee_count | integer | A count. |
p25_eur | number | An amount in euros, in major units (not cents). |
p50_eur | number | An amount in euros, in major units (not cents). |
p75_eur | number | An amount in euros, in major units (not cents). |
published_at | string (date-time) | When published — RFC 3339, UTC. |
dp_noise_epsilon | number | null |
{
"id": "evt_0199c3e0-f6ef-7e81-b16b-e240c20de2ce",
"type": "compliance.pay_transparency.benchmark.published",
"occurred_at": "2026-09-28T16:51:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"position_canonical_id": "0199c338-46be-72a4-a71b-14cb2a9924a5",
"country_code": "MK",
"region": "MK-SK",
"period_quarter": "2026-Q3",
"sample_tenant_count": 3,
"sample_employee_count": 3,
"p25_eur": 0.42,
"p50_eur": 0.42,
"p75_eur": 0.42,
"published_at": "2026-09-07T17:26:00Z",
"dp_noise_epsilon": 21.428
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3f9-5001-7ced-8e97-56cadd89c446"
}
}
} compliance.pay_transparency.evidence_chain.integrity_violation since 2026-05-20 The daily check of the company's pay-transparency evidence chain found a record that no longer matches its stored anchor (EU Pay Transparency Directive 2023/970, Article 9).
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is PayTransparencyEvidenceChainIntegrityEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
anchor_id | string | Id of the anchor. |
period_from | string (date) | Period from, YYYY-MM-DD. |
period_to | string (date) | Period to, YYYY-MM-DD. |
anchored_root | string | |
current_merkle_root | string | |
anchored_sample_count | integer | A count. |
current_sample_count | integer | A count. |
failure_reason | string | Free text for people. Do not branch on it. |
detected_at | string (date-time) | When detected — RFC 3339, UTC. |
{
"id": "evt_0199c3cc-e434-7354-ba52-87f14e0bd86e",
"type": "compliance.pay_transparency.evidence_chain.integrity_violation",
"occurred_at": "2026-09-02T14:04:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"anchor_id": "0199c395-e383-7339-b3c9-07259dcaee1a",
"period_from": "2026-09-15",
"period_to": "2026-09-13",
"anchored_root": "5afd4096b6a01ba2eac2f180139fce6da3ae84904e9e6a08bf7a04ae111362d5",
"current_merkle_root": "ff8c96f50268acc83868edd7e04b1cdb88f85e72d2785be53f9ecba191ebe219",
"anchored_sample_count": 3,
"current_sample_count": 3,
"failure_reason": "Synthetic example text.",
"detected_at": "2026-09-20T09:25:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c321-a78a-7d10-b691-0fddaf49305f"
}
}
} compliance.pay_transparency.regulator.audit_queried since 2026-05-19 A regulator read the company's pay-transparency evidence audit (EU Pay Transparency Directive 2023/970, Article 9).
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is PayTransparencyRegulatorAuditEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
tenant_id | string (uuid) | Your company's id — the same as the envelope's tenant.id. |
actor_user_id | string (uuid) | Id of the actor user. |
since_iso | string | null | Since iso: the ISO 8601 timestamp the request carried. |
until_iso | string | null | Until iso: the ISO 8601 timestamp the request carried. |
rows_returned | integer | |
verified | boolean | |
gap_count | integer | A count. |
queried_at | string (date-time) | When queried — RFC 3339, UTC. |
{
"id": "evt_0199c315-9f44-75ea-8a16-c1ed4f11a900",
"type": "compliance.pay_transparency.regulator.audit_queried",
"occurred_at": "2026-09-28T11:22:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"tenant_id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"actor_user_id": "0199c312-2727-7fb2-bdbb-a0a347e83eb4",
"since_iso": "2026-09-21T15:30:00Z",
"until_iso": "2026-09-26T15:24:00Z",
"rows_returned": 1,
"verified": true,
"gap_count": 3,
"queried_at": "2026-09-19T12:59:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3b3-982b-75e6-b52e-acbeaf06cd20"
}
}
} compliance.pay_transparency.report.published since 2026-05-20 A pay-transparency report for the company (for example Germany's EntgTranspG report or France's Index Égalité) was finalised and published as HTML, PDF and JSON-LD to tamper-proof storage (EU Pay Transparency Directive 2023/970, Article 9).
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is PayTransparencyReportPublishedEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
report_id | string | Id of the report. |
country_code | string | ISO 3166-1 alpha-2 country code. |
obligation_id | string | Id of the obligation. |
period_from | string (date) | Period from, YYYY-MM-DD. |
period_to | string (date) | Period to, YYYY-MM-DD. |
public_slug | string | |
published_at | string (date-time) | When published — RFC 3339, UTC. |
dp_noise_epsilon | number | null |
{
"id": "evt_0199c337-3602-7d82-aea5-422c574d24d8",
"type": "compliance.pay_transparency.report.published",
"occurred_at": "2026-09-18T17:44:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"report_id": "0199c343-1d44-7921-a636-23bc62172cf1",
"country_code": "MK",
"obligation_id": "0199c378-3737-7c40-9ee1-181588697840",
"period_from": "2026-09-17",
"period_to": "2026-09-15",
"public_slug": "9f3c2a7e4b1d6058c3e2f1a0b9d8c7e6",
"published_at": "2026-09-26T07:50:00Z",
"dp_noise_epsilon": 21.428
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3f7-9939-79e5-a96a-2f5170117103"
}
}
} compliance.pay_transparency.rti.responded PII since 2026-05-19 A right-to-information pay request was answered with the redacted band.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is PayInformationRequestEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
employee_id | string (uuid) | Id of the employee. |
role_code | string | null | |
status | string | The record's status after the change. |
submitted_at | string (date-time) | When submitted — RFC 3339, UTC. |
responded_at | string (date-time) | null | When responded — RFC 3339, UTC. |
response_band_code | string | null | |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c307-b89a-7530-bdb5-0216edcaf959",
"type": "compliance.pay_transparency.rti.responded",
"occurred_at": "2026-09-10T13:17:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c300-b7fc-7723-8ee5-34fe7deab15c",
"employee_id": "0199c351-4b31-70d6-838b-76e41470ebe0",
"role_code": "driver",
"status": "submitted",
"submitted_at": "2026-09-16T06:13:00Z",
"responded_at": "2026-09-02T10:30:00Z",
"response_band_code": "band_c",
"created_at": "2026-09-22T15:59:00Z",
"updated_at": "2026-09-10T13:17:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c36d-6b75-7b4e-9197-07c9cfeca290"
}
}
} compliance.pay_transparency.rti.submitted PII since 2026-05-19 An employee submitted a right-to-information pay request (Art. 7).
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is PayInformationRequestEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
employee_id | string (uuid) | Id of the employee. |
role_code | string | null | |
status | string | The record's status after the change. |
submitted_at | string (date-time) | When submitted — RFC 3339, UTC. |
responded_at | string (date-time) | null | When responded — RFC 3339, UTC. |
response_band_code | string | null | |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c34a-0f69-7e96-abe5-6f22f2eef38a",
"type": "compliance.pay_transparency.rti.submitted",
"occurred_at": "2026-09-05T13:21:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c309-9bd9-7646-9c9c-e21315ee1ff4",
"employee_id": "0199c3af-0974-7435-a3a1-ba5f7a5fec21",
"role_code": "driver",
"status": "submitted",
"submitted_at": "2026-09-21T12:31:00Z",
"responded_at": "2026-09-27T15:19:00Z",
"response_band_code": "band_c",
"created_at": "2026-09-04T15:26:00Z",
"updated_at": "2026-09-05T13:21:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c362-055d-7b69-aa56-5eeb48309987"
}
}
} compliance.pay_transparency.uk_gpgr.status_changed since 2026-05-20 A UK gender pay gap report filed on gov.uk reached a final status, accepted or rejected (checked daily).
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is UkGpgrStatusChangedEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
submission_id | string | Id of the submission. |
reporting_year | integer | |
submission_reference | string | A human-readable number or reference, as shown in OfficeHero or by the authority. |
previous_status | string | The status before the change. |
new_status | string | The status after the change. |
environment | string | |
government_receipt | string | null | |
message | string | null | Free text for people. Do not branch on it. |
observed_at | string (date-time) | When observed — RFC 3339, UTC. |
{
"id": "evt_0199c35a-4580-7d82-a9a2-9766d8d02e43",
"type": "compliance.pay_transparency.uk_gpgr.status_changed",
"occurred_at": "2026-09-14T16:28:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"submission_id": "0199c35e-537c-702e-8b66-887c35663141",
"reporting_year": 2026,
"submission_reference": "NR-2026-0042",
"previous_status": "submitted",
"new_status": "submitted",
"environment": "production",
"government_receipt": "GPG-2026-004217",
"message": "Synthetic example text.",
"observed_at": "2026-09-06T14:37:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3a6-d435-7f55-8274-0efec9ae32cc"
}
}
} compliance.pay_transparency.uk_gpgr.submitted since 2026-05-20 A UK gender pay gap report was filed on gov.uk and acknowledged with a tracking reference (Equality Act 2010 (Gender Pay Gap Information) Regulations 2017).
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is UkGpgrSubmittedEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
submission_id | string | Id of the submission. |
reporting_year | integer | |
employer_size | string | |
submission_reference | string | A human-readable number or reference, as shown in OfficeHero or by the authority. |
environment | string | |
submitted_at | string (date-time) | When submitted — RFC 3339, UTC. |
{
"id": "evt_0199c32f-9065-7242-a9aa-f95b2e47d690",
"type": "compliance.pay_transparency.uk_gpgr.submitted",
"occurred_at": "2026-09-27T16:22:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"submission_id": "0199c3e6-97e7-78b6-8cb4-56a285c29b79",
"reporting_year": 2026,
"employer_size": "250-499",
"submission_reference": "NR-2026-0042",
"environment": "production",
"submitted_at": "2026-09-28T15:36:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3e4-35db-73a1-aa93-0fd5585eb177"
}
}
} compliance.uk_mtd.itsa.oauth_granted since 2026-05-21 A taxpayer completed HMRC's consent flow and a UK Making Tax Digital (ITSA) authorisation was granted. The taxpayer is identified by taxpayer_id; the National Insurance number is never sent.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is UkMtdItsaOauthGrantStateEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
grant_id | string | Id of the grant. |
taxpayer_id | string | Id of the taxpayer. |
environment | string | |
transition | string | |
previous_status | string | null | The status before the change. |
new_status | string | The status after the change. |
scopes | string[] | |
expires_at | string (date-time) | null | When expires — RFC 3339, UTC. |
failure_reason | string | null | Free text for people. Do not branch on it. |
attempt_number | integer | |
occurred_event_at | string (date-time) | When occurred event — RFC 3339, UTC. |
{
"id": "evt_0199c378-6074-7dbd-b351-f04df84e8c3c",
"type": "compliance.uk_mtd.itsa.oauth_granted",
"occurred_at": "2026-09-03T17:35:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"grant_id": "0199c3d8-1da9-7207-a3fa-0b805fb19d62",
"taxpayer_id": "0199c36b-bf8a-7f3b-b984-b7528f5a48b8",
"environment": "sandbox",
"transition": "granted",
"previous_status": "submitted",
"new_status": "submitted",
"scopes": [
"int:fin.invoices:read"
],
"expires_at": "2026-09-14T06:19:00Z",
"failure_reason": "Synthetic example text.",
"attempt_number": 1,
"occurred_event_at": "2026-09-05T15:25:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3d5-cf59-7c2b-878b-a9c141819be6"
}
}
} compliance.uk_mtd.itsa.oauth_refresh_failed since 2026-05-21 A UK Making Tax Digital (ITSA) authorisation could not be renewed five times in a row and is now failed. Sent once, when it fails, not for every attempt. The taxpayer is identified by taxpayer_id; the National Insurance number is never sent.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is UkMtdItsaOauthGrantStateEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
grant_id | string | Id of the grant. |
taxpayer_id | string | Id of the taxpayer. |
environment | string | |
transition | string | |
previous_status | string | null | The status before the change. |
new_status | string | The status after the change. |
scopes | string[] | |
expires_at | string (date-time) | null | When expires — RFC 3339, UTC. |
failure_reason | string | null | Free text for people. Do not branch on it. |
attempt_number | integer | |
occurred_event_at | string (date-time) | When occurred event — RFC 3339, UTC. |
{
"id": "evt_0199c3b6-ee64-7bcb-a1f8-24b86666be90",
"type": "compliance.uk_mtd.itsa.oauth_refresh_failed",
"occurred_at": "2026-09-17T13:35:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"grant_id": "0199c3df-75c1-7406-886b-4132015c22e8",
"taxpayer_id": "0199c3a3-e46c-7a43-a4de-520ed3ef9ed2",
"environment": "sandbox",
"transition": "granted",
"previous_status": "submitted",
"new_status": "submitted",
"scopes": [
"int:fin.invoices:read"
],
"expires_at": "2026-09-23T17:31:00Z",
"failure_reason": "Synthetic example text.",
"attempt_number": 1,
"occurred_event_at": "2026-09-22T10:25:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3be-27b6-7ed8-9863-8dbe0fbc505f"
}
}
} compliance.uk_mtd.itsa.oauth_refreshed since 2026-05-21 A UK Making Tax Digital (ITSA) authorisation was renewed with HMRC (on its schedule, or when it was about to be used). The taxpayer is identified by taxpayer_id; the National Insurance number is never sent.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is UkMtdItsaOauthGrantStateEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
grant_id | string | Id of the grant. |
taxpayer_id | string | Id of the taxpayer. |
environment | string | |
transition | string | |
previous_status | string | null | The status before the change. |
new_status | string | The status after the change. |
scopes | string[] | |
expires_at | string (date-time) | null | When expires — RFC 3339, UTC. |
failure_reason | string | null | Free text for people. Do not branch on it. |
attempt_number | integer | |
occurred_event_at | string (date-time) | When occurred event — RFC 3339, UTC. |
{
"id": "evt_0199c350-a3d7-7427-8770-a20b749c4c27",
"type": "compliance.uk_mtd.itsa.oauth_refreshed",
"occurred_at": "2026-09-02T17:28:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"grant_id": "0199c3a7-179f-71d3-91e0-9f17f12da57d",
"taxpayer_id": "0199c32a-6e7c-7ef5-bf28-a77f3ad73fd4",
"environment": "sandbox",
"transition": "granted",
"previous_status": "submitted",
"new_status": "submitted",
"scopes": [
"int:fin.invoices:read"
],
"expires_at": "2026-09-21T06:25:00Z",
"failure_reason": "Synthetic example text.",
"attempt_number": 1,
"occurred_event_at": "2026-09-21T10:50:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c361-65a4-7740-a156-542530c4ba17"
}
}
} compliance.uk_mtd.itsa.oauth_revoked since 2026-05-21 A UK Making Tax Digital (ITSA) authorisation was revoked in OfficeHero. The taxpayer is identified by taxpayer_id; the National Insurance number is never sent.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is UkMtdItsaOauthGrantStateEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
grant_id | string | Id of the grant. |
taxpayer_id | string | Id of the taxpayer. |
environment | string | |
transition | string | |
previous_status | string | null | The status before the change. |
new_status | string | The status after the change. |
scopes | string[] | |
expires_at | string (date-time) | null | When expires — RFC 3339, UTC. |
failure_reason | string | null | Free text for people. Do not branch on it. |
attempt_number | integer | |
occurred_event_at | string (date-time) | When occurred event — RFC 3339, UTC. |
{
"id": "evt_0199c345-1212-7d85-aa65-86e860f0d0e6",
"type": "compliance.uk_mtd.itsa.oauth_revoked",
"occurred_at": "2026-09-13T16:45:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"grant_id": "0199c38b-1c73-7000-b920-d0734d98a748",
"taxpayer_id": "0199c30f-87f7-7b87-ae0f-b5a35adef884",
"environment": "sandbox",
"transition": "granted",
"previous_status": "submitted",
"new_status": "submitted",
"scopes": [
"int:fin.invoices:read"
],
"expires_at": "2026-09-23T16:48:00Z",
"failure_reason": "Synthetic example text.",
"attempt_number": 1,
"occurred_event_at": "2026-09-16T16:14:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3c9-59f0-722b-9fa6-a515942f0005"
}
}
} compliance.uk_mtd.itsa.penalty_received PII since 2026-05-19 HMRC issued a Making Tax Digital (ITSA) penalty (Finance Act 2021, Schedules 24–26) and it was recorded against a taxpayer and period; data says whether it was matched to one of the company's submissions.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is UkMtdItsaPenaltyReceivedEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
replayId | string | Id of the replay. |
nino | string | |
taxYear | string | |
periodKey | string | |
hmrcPenaltyReference | string | A human-readable number or reference, as shown in OfficeHero or by the authority. |
penaltyKind | string | |
amountMinor | integer | Amount in minor units of currency (cents for EUR). |
linkedSubmissionId | string | null | Id of the linked submission. |
replayStatus | string |
{
"id": "evt_0199c35d-063c-76eb-83a6-baa26cf44485",
"type": "compliance.uk_mtd.itsa.penalty_received",
"occurred_at": "2026-09-26T06:34:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"replayId": "0199c3a4-c243-79aa-9c3a-d7116fd627d8",
"nino": "QQ123456C",
"taxYear": "2025-26",
"periodKey": "25A1",
"hmrcPenaltyReference": "NR-2026-0042",
"penaltyKind": "late_submission",
"amountMinor": 125000,
"linkedSubmissionId": "0199c38c-d6d3-7de2-a43a-c9b2d8ae081f",
"replayStatus": "submitted"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c324-fdbe-7bcf-a5ea-0fb040536563"
}
}
} compliance.uk_mtd.itsa.submission_accepted PII since 2026-05-20 HMRC accepted a Making Tax Digital (ITSA) submission (a quarterly update or a final declaration). data carries the HMRC receipt id and whether it was a sandbox (practice) or a production filing.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is UkMtdItsaSubmissionAcceptedEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
submissionId | string | Id of the submission. |
nino | string | |
taxYear | string | |
periodKey | string | |
submissionKind | string | |
hmrcReceiptId | string | Id of the hmrc receipt. |
hmrcEnvironment | string |
{
"id": "evt_0199c3ef-36d5-72e6-81c4-a138bbb4c0fc",
"type": "compliance.uk_mtd.itsa.submission_accepted",
"occurred_at": "2026-09-16T15:43:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"submissionId": "0199c344-dee1-76d3-8e9a-f1c054738740",
"nino": "QQ123456C",
"taxYear": "2025-26",
"periodKey": "25A1",
"submissionKind": "quarterly_update",
"hmrcReceiptId": "0199c3e0-4829-7bd5-9852-4b25121e402b",
"hmrcEnvironment": "production"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3a6-6da5-7725-be39-4101bb719658"
}
}
} compliance.whistleblowing.handler_training_due PII since 2026-05-19 A whistleblowing handler is due (or overdue) for periodic confidentiality training (Directive 2019/1937 Art. 9(1)(c)).
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is WhistleblowingHandlerTrainingEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
handler_user_id | string | Id of the handler user. |
role | string | |
last_trained_at | string (date-time) | null | When last trained — RFC 3339, UTC. |
days_since_training | integer | null | |
reminder_threshold_days | integer | A number of days. |
detected_at | string (date-time) | When detected — RFC 3339, UTC. |
{
"id": "evt_0199c346-be30-74c8-bf5a-0d9f47c39628",
"type": "compliance.whistleblowing.handler_training_due",
"occurred_at": "2026-09-03T16:17:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"handler_user_id": "0199c33a-d873-7856-aa0a-55d4477d738c",
"role": "handler",
"last_trained_at": "2026-09-14T08:55:00Z",
"days_since_training": 5,
"reminder_threshold_days": 5,
"detected_at": "2026-09-28T06:15:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3e2-6653-73ea-a7cb-80ea297b7ae0"
}
}
} compliance.whistleblowing.report.acknowledged PII since 2026-05-19 A whistleblowing report was acknowledged to the reporter (Art. 9 §1(b)).
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is WhistleblowingReportEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
anonymous | boolean | |
reporter_employee_id | string | null | Id of the reporter employee. |
channel | string | |
category | string | The category the record was filed under in OfficeHero. |
status | string | The record's status after the change. |
received_at | string (date-time) | When received — RFC 3339, UTC. |
acknowledged_at | string (date-time) | null | When acknowledged — RFC 3339, UTC. |
sla_breached_at | string (date-time) | null | When sla breached — RFC 3339, UTC. |
handler_employee_ids | string[] | |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c303-5ae0-7dc3-9644-a8a111416948",
"type": "compliance.whistleblowing.report.acknowledged",
"occurred_at": "2026-09-22T06:56:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c361-0c48-72d3-9999-d7d7404a0d68",
"anonymous": true,
"reporter_employee_id": "0199c39a-2245-76d1-bae1-de3fe54b466b",
"channel": "api",
"category": "financial_misconduct",
"status": "submitted",
"received_at": "2026-09-22T06:01:00Z",
"acknowledged_at": "2026-09-26T08:08:00Z",
"sla_breached_at": "2026-09-25T11:43:00Z",
"handler_employee_ids": [
"0199c322-7143-7b41-b03b-1027a7094bc3"
],
"created_at": "2026-09-25T11:13:00Z",
"updated_at": "2026-09-22T06:56:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c348-af80-7c48-9d27-042a7d9c033f"
}
}
} compliance.whistleblowing.report.handler_assigned PII since 2026-05-19 A handler cohort was assigned to a whistleblowing report.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is WhistleblowingReportEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
anonymous | boolean | |
reporter_employee_id | string | null | Id of the reporter employee. |
channel | string | |
category | string | The category the record was filed under in OfficeHero. |
status | string | The record's status after the change. |
received_at | string (date-time) | When received — RFC 3339, UTC. |
acknowledged_at | string (date-time) | null | When acknowledged — RFC 3339, UTC. |
sla_breached_at | string (date-time) | null | When sla breached — RFC 3339, UTC. |
handler_employee_ids | string[] | |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c3a5-68d2-7c57-92cc-02bd7e1c55d2",
"type": "compliance.whistleblowing.report.handler_assigned",
"occurred_at": "2026-09-09T17:14:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c300-288c-7881-a3cc-8f1a8de4d698",
"anonymous": true,
"reporter_employee_id": "0199c3c6-1bc1-7294-a15e-d6c644b581c0",
"channel": "api",
"category": "financial_misconduct",
"status": "submitted",
"received_at": "2026-09-28T16:36:00Z",
"acknowledged_at": "2026-09-08T07:29:00Z",
"sla_breached_at": "2026-09-07T06:36:00Z",
"handler_employee_ids": [
"0199c374-a2b3-7293-9238-76c7c95350f4"
],
"created_at": "2026-09-12T09:16:00Z",
"updated_at": "2026-09-09T17:14:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c3b7-606f-78bc-9130-5cd0e6a376ac"
}
}
} compliance.whistleblowing.report.received PII since 2026-05-19 A whistleblowing report was received via intake.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is WhistleblowingReportEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
anonymous | boolean | |
reporter_employee_id | string | null | Id of the reporter employee. |
channel | string | |
category | string | The category the record was filed under in OfficeHero. |
status | string | The record's status after the change. |
received_at | string (date-time) | When received — RFC 3339, UTC. |
acknowledged_at | string (date-time) | null | When acknowledged — RFC 3339, UTC. |
sla_breached_at | string (date-time) | null | When sla breached — RFC 3339, UTC. |
handler_employee_ids | string[] | |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c3fe-388a-709a-8758-27b7defce3a2",
"type": "compliance.whistleblowing.report.received",
"occurred_at": "2026-09-02T06:38:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c30a-ff2b-78a2-9866-207734951a0c",
"anonymous": true,
"reporter_employee_id": "0199c34f-a3fd-76d6-befb-8777652a6d6f",
"channel": "api",
"category": "financial_misconduct",
"status": "submitted",
"received_at": "2026-09-14T13:14:00Z",
"acknowledged_at": "2026-09-10T14:27:00Z",
"sla_breached_at": "2026-09-27T16:47:00Z",
"handler_employee_ids": [
"0199c300-053d-7f6e-b3f7-689e0794b1ed"
],
"created_at": "2026-09-08T17:43:00Z",
"updated_at": "2026-09-02T06:38:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c306-2391-7b04-a1cc-6c53ad0747fc"
}
}
} compliance.whistleblowing.report.sla_breached PII since 2026-05-19 A whistleblowing report breached its statutory response SLA.
Scope to subscribe: int:* (not offered in Settings → API keys — ask support).
data is WhistleblowingReportEventData.
Open in the reference →
| Field | Type | |
|---|---|---|
id | string (uuid) | The record's id (a UUID). |
anonymous | boolean | |
reporter_employee_id | string | null | Id of the reporter employee. |
channel | string | |
category | string | The category the record was filed under in OfficeHero. |
status | string | The record's status after the change. |
received_at | string (date-time) | When received — RFC 3339, UTC. |
acknowledged_at | string (date-time) | null | When acknowledged — RFC 3339, UTC. |
sla_breached_at | string (date-time) | null | When sla breached — RFC 3339, UTC. |
handler_employee_ids | string[] | |
created_at | string (date-time) | When created — RFC 3339, UTC. |
updated_at | string (date-time) | When updated — RFC 3339, UTC. |
{
"id": "evt_0199c3c5-91ec-7f72-b124-873650edb389",
"type": "compliance.whistleblowing.report.sla_breached",
"occurred_at": "2026-09-02T12:44:00Z",
"tenant": {
"id": "0199c39f-1a2b-7c3d-8e4f-5a6b7c8d9e01",
"slug": "northwind-transport"
},
"schema_version": "2026-05-16",
"data": {
"id": "0199c39a-2400-75e5-9549-a42163a6909e",
"anonymous": true,
"reporter_employee_id": "0199c325-861e-7a54-b30c-4dc255d1d581",
"channel": "api",
"category": "financial_misconduct",
"status": "submitted",
"received_at": "2026-09-24T15:51:00Z",
"acknowledged_at": "2026-09-27T09:27:00Z",
"sla_breached_at": "2026-09-26T15:18:00Z",
"handler_employee_ids": [
"0199c318-9fd2-7722-9509-6cb3ec17312b"
],
"created_at": "2026-09-17T16:10:00Z",
"updated_at": "2026-09-02T12:44:00Z"
},
"metadata": {
"request_id": null,
"actor": {
"type": "user",
"id": "0199c39b-a1df-76c0-83c7-7d8c6f4481e2"
}
}
}