Changelog
What changed in the Gauge API, newest first. Additive changes, new endpoints, and anything you need to act on.
Breaking changes only ship behind a new Gauge-Version date and are
announced here first, with a Deprecation and Sunset period.
21 October 2026: start WhatsApp Cloud conversations with a template
Additive, on API version 2026-10-21.
POST /v2/messageswithtoorcontactIdand an approvedtemplatenow starts a WhatsApp Cloud conversation: Gauge creates or reuses the contact and the conversation and sends the template. The connection reportsstartConversations: truewhen templates are enabled. Start a conversation with a template.- Free text to someone on WhatsApp Cloud with no conversation answers
422with reasonoutside_24h_window(it answeredcannot_start_conversationsbefore). - New
422reasons, checked before anything is written:template_not_approved,template_language_not_found,template_variable_mismatch(previously a template that was not approved, or a missing variable, was refused without areason; extra variables were ignored and are now refused).
21 October 2026: messaging and webhooks on /v2
Additive, on API version 2026-10-21.
New
- Messaging: contacts (with upsert by channel identity, tags, merge and GDPR erasure), conversations (filters, status, assignment, team, topic, tags, notes, read), messages (text, templates, buttons and lists, files, quoted replies, metadata), media uploads, and templates.
POST /v2/messagesanswers201when sent during the request and202withstatus: queuedwhen dispatched in the background; theIdempotency-Keyalso de-duplicates the send beyond 24 hours.- WhatsApp Web warm-up caps (
429,whatsapp_web_minute_cap/whatsapp_web_daily_cap) and thewhatsapp_web_unofficialwarning on every send. GET /v2/messages/{id}/attachments/{index}: a signed download of any file on a message.503 media_unavailableon file uploads and downloads where a deployment has no public storage.- Message events:
message.received,message.sent,message.status_updated(includingsentfor queued messages),conversation.created,conversation.updated,contact.created,contact.updated, delivered by the owner's visibility. - Webhooks from code:
/v2/webhook-endpointsand the 30-day event log/v2/events, with redelivery (20 an hour per workspace, shared with the console). - The
Gauge-Signatureheader (t=<ms>,v1=<hex>) andGauge-Event-Id,Gauge-Event-Type,Gauge-Delivery-Attempt,Gauge-Webhook-Idon every delivery; thex-pulse-*headers stay.
Changed
- An endpoint failing every delivery for 3 days is switched off and its owner told.
- A delivery body is capped at 64 KB; a longer message is truncated with a
fetchUrl. - Test keys and App-pinned keys are refused on the messaging routes.
21 October 2026: API version 2026-10-21
The first dated version of /v2.
New
GET /v2/me: who a key is, its scopes, environment and rate-limit budget.GET /v2/connectionsandGET /v2/connections/{id}: connected channels with their effective API capabilities, and a ban-riskwarningon WhatsApp Web.GET /v2/openapi.json: a generated OpenAPI 3.1 document with sharedErrorandPageschemas, anoperationIdand tags on every operation, and the webhook catalogue.- One error envelope and a closed list of error codes on
/v1and/v2. X-Request-Idon every response, and bring your own UUID or ULID.- Idempotency keys, required on every
/v2POST. - Rate limits per key and per workspace, with
RateLimit-*headers. - Scopes by area (
messages:write,contacts:read, …), capped by the member's role when a key is created and when it is used. - Per-key IP allowlists, and a request log in Developers → Logs.
Changed
- API access requires the Growth or Scale plan (
402 plan_requiredotherwise). - A key stops working when its member leaves the workspace (
401 key_owner_inactive). /v1/conversationsand/v1/contactsnow respect the member's own and team visibility, as the console does.- Webhook
*subscriptions receive the public catalogue only, and payloads carry only each event's documented fields.
Coming next
- SMS and voice over the API, after a compliance review.
@silquetech/gauge-sdk, the official Node SDK.