Create a webhook endpoint
Starts sending the chosen events to url. The response carries the signing secret ONCE. The endpoint receives only conversations the key’s member can see. Subscribing to message, conversation or contact events also needs messages:read, conversations:read or contacts:read on the key. For WhatsApp Web connections you are responsible for send volume and the ban risk. Deliveries are at-least-once: dedupe on the event id (also in Gauge-Event-Id). Order is NOT guaranteed, not even within one conversation — use occurredAt and the snapshot in the payload. A non-2xx answer is retried after 30 s, 5 min, 1 h and 6 h. An endpoint failing every delivery for 3 days is switched off and its owner is told.
ApiKeyAuthorizationBearer <token>An API key from Developers → API keys: Authorization: Bearer gauge_live_… (or pulse_k_live_…).
Gauge-Version?stringA dated version. Default 2026-10-21.
Idempotency-Key*stringRequired on every POST. Retries with the same key replay the first response for 24 h.
1 <= length <= 255application/json- body
url*stringurilength <= 2048events*array<>1 <= itemsconnectionIds?array<>|1 <= items <= 50projectId?|uuidapiVersion?"2026-10-21""2026-10-21"enabled?booleanThe endpoint, with its signing secret (shown once).
application/json- response
id*stringuuidurl*stringevents*array<string>Exact event names, family.* prefixes, or *.
connectionIds*array<>|Only events on these connections; null for every connection.
projectId*|Only events of this App; null for every App and none.
uuidapiVersion*|The payload version. Null on endpoints created before API v2 (support events only).
enabled*booleandisabledReason*|Set when Gauge switched the endpoint off after failing for days.
"consecutive_failures"disabledAt*|date-timeownerMemberId*|Whose visibility the endpoint has: it only receives conversations this member can see.
uuidcreatedAt*stringdate-timesecretRotatedAt*|date-timepreviousSecretExpiresAt*|date-timelastDeliveryStatus*|"pending""delivering""delivered""failed""dead"lastDeliveryAt*|date-timesuccessRate24h*|0 <= value <= 1secret*stringThe signing secret. Shown once: store it now.
curl -X POST 'https://app.gauge.chat/backend/v2/webhook-endpoints' \ -H 'Idempotency-Key: string' \ -H 'Content-Type: application/json' \ -d '{ "url": "http://example.com", "events": [ "string" ]}'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "url": "string", "events": [ "string" ], "connectionIds": [ "727129f8-6680-44ef-a207-d136cf0c29f0" ], "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8", "apiVersion": "string", "enabled": true, "disabledReason": "consecutive_failures", "disabledAt": "2019-08-24T14:15:22Z", "ownerMemberId": "a8961912-4bf3-4418-9ed8-fe7fa367bf97", "createdAt": "2019-08-24T14:15:22Z", "secretRotatedAt": "2019-08-24T14:15:22Z", "previousSecretExpiresAt": "2019-08-24T14:15:22Z", "lastDeliveryStatus": "pending", "lastDeliveryAt": "2019-08-24T14:15:22Z", "successRate24h": 0, "secret": "string"}