Call Lifecycle Event
Fired for post-call lifecycle events on an agent identity with an active call-lifecycle subscription. Covers call.ended, delivered once after a connected call terminates. The request body uses the standard {event_type, timestamp, data} envelope with data.call, data.contacts, data.agent_identities, and data.transcript_url. data.transcript (an abridged, middle-cut copy) is present only when the call has a persisted transcript; data.transcript_url is always present and authoritative. Unlike the synchronous phone.incoming_call callback, this is fire-and-forget and replayable: the response status is logged but does not affect call processing.
If your organization has a signing key, every webhook includes three headers:
- X-Inkbox-Request-ID — UUID for deduplication.
- X-Inkbox-Timestamp — Unix timestamp in seconds.
- X-Inkbox-Signature — sha256={HMAC-SHA256 hex digest} over {request_id}.{timestamp}.{raw_body}.
Payload
Response
Successful Response
Changes
Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.