Skip to content
API PlatformDevelopers

Webhook events · sla

sla.breached/2

SLA breached. An SLA clock went past its due time.

Payload

We POST this JSON to your endpoint. Answer any 2xx within 30 seconds. The same id arrives again on a retry — skip ones you have handled.

Payload fields
FieldTypeWhat it is
idrequiredstringEvent id. The same on every retry: use it to skip duplicates.pattern ^evt_[0-9A-HJKMNP-TV-Z]{26}$
typerequiredstringEvent type.always sla.breached
versionrequiredstringPayload version.always 2
api_versionrequiredstringThe endpoint's API version.
occurred_atrequiredstringWhen it happened.date-time
company_idrequiredintegerYour workspace id.
datarequiredobject
breach_idinteger or nullBreach id.
conversation_idrequiredintegerConversation id.
company_idrequiredintegerWorkspace id.
metricrequiredstringWhich clock.one of: first_response, next_response, resolution
due_atrequiredstringWhen it was due.
ownerobject or nullWho owed the clock.
idrequiredintegerId.
namerequiredstring or nullName.
contactobject or nullThe contact.
idrequiredintegerId.
namerequiredstring or nullName.
breached_atrequiredstringISO 8601.
late_secondsinteger or nullHow late, in seconds.

Example

{
  "id": "evt_01J8Z7BZQ4F6G8J2K5N7Q9S1VC",
  "type": "sla.breached",
  "version": "2",
  "api_version": "2026-10-01",
  "occurred_at": "2026-09-24T09:20:00Z",
  "company_id": 1001,
  "data": {
    "breach_id": 551,
    "conversation_id": 77410,
    "company_id": 1001,
    "metric": "first_response",
    "due_at": "2026-09-24T09:26:40Z",
    "owner": {
      "id": 1203,
      "name": "Priya Nair"
    },
    "contact": {
      "id": 48213,
      "name": "Jane Doe"
    },
    "breached_at": "2026-09-24T09:26:41Z",
    "late_seconds": 0
  }
}

Headers

  • Webhook-Signature: t=…,v1=… — how to check it
  • Webhook-Id (also Webhook-Event-Id): the event id, the same on every retry — skip ones you have handled
  • Webhook-Delivery-Id: this delivery attempt, new on every try