A message’s delivery history
ApiKeyAuthorizationBearer <token>An API key from Developers → API keys: Authorization: Bearer gauge_live_… (or pulse_k_live_…).
id*stringThe message id.
uuidGauge-Version?stringA dated version. Default 2026-10-21.
Every status the message reached, oldest first.
application/json- response
messageId*stringuuidstatus*stringhistory*array<>curl -X GET 'https://app.gauge.chat/api/v2/messages/497f6eca-6276-4993-bfeb-53cbbbba6f08/status-history'{ "messageId": "8540d774-4863-4d2b-b788-4ecb19412e85", "status": "string", "history": [ { "status": "string", "occurredAt": "string", "failureReason": "string" } ]}Download a message’s file GET
A signed download link (valid 5 minutes) for a file on a message — one a customer sent or one you sent. This is the path a webhook’s `media[].url` carries. A message carries one file today (`index` 0). 404 when there is none, or when Gauge holds no copy of it (reason `attachment_not_available`).
Send a message POST
Text, an approved template, buttons / a list, or a file (`mediaId`) on a connection, to a thread, a contact or a new recipient. 201 when the channel sent it now; 202 with `status: queued` when it is dispatched in the background (watch `message.status_updated`). Outside WhatsApp’s 24-hour window only a template may be sent (422 `unsupported_channel_action`, reason `outside_24h_window`). On WhatsApp Cloud a template sent with `to` or `contactId` starts the conversation (contact and thread created or reused); free text to someone with no conversation is 422 `outside_24h_window`. A template must be approved, in the given language and given exactly its variables (422, reason `template_not_approved` / `template_language_not_found` / `template_variable_mismatch`). A template with a header or buttons takes `template.header` (text, image, video, document or location; media by `mediaId` or a public https `link`) and `template.buttons` (by index: quick reply `payload`, dynamic URL suffix `text`, copy code `text`, flow `payload`), checked against the template (422, reason `template_header_required` / `template_header_mismatch` / `template_button_not_found` / `template_button_mismatch` / `template_button_parameter_required`). WhatsApp Web numbers have warm-up caps (429, reason `whatsapp_web_daily_cap` / `whatsapp_web_minute_cap`) and every response carries `warnings: ["whatsapp_web_unofficial"]`. The Idempotency-Key also de-duplicates the send itself, beyond the 24-hour replay window.