Skip to main content
POST
Idempotent on idempotencyKey (or eventId) per org. orgId/agentId in the body must match the verified widget identity when present. Bodies over 64 KB are rejected. Credential-looking keys (token, apiKey, authorization, …) are stripped from data before storage. This route accepts the widget token as token in the body for navigator.sendBeacon callers and is rate limited in its own bucket. Widget identity is verified when signing is configured; tokenless compatibility does not establish tenant ownership. See the authentication and recovery guide for credential and retry rules.

Request body

WidgetAnalyticsEvent
string
required
Event name (case-insensitive pattern match).
string
required
Also accepted as session_id. Maximum length: 256.
string
required
Also accepted as eventId; the stored event id is derived from it. Maximum length: 512.
string
string (date-time)
string
string
string
object
Stored as metadata after credential-looking keys are stripped.
string
string
string
Widget token for sendBeacon callers that cannot set headers.

Response

object
boolean
required
Fixed value: true.
string (uuid)
required
Deterministic id derived from orgId and the idempotency key.

Status codes

Using this contract

Read the source OpenAPI document for declared schemas and alternatives. This page also includes documented corrections from the spec overlays. Example IDs and values are illustrative; replace them with records from your workspace.
Last modified on November 13, 2026