Changelog
We treat /v1 as a forever-stable surface. Breaking changes get a new
prefix (/v2) and a long deprecation window. Additions and bug fixes
land in /v1 continuously.
2026-10 — Number health and anti-ban
- Auto-protect is off by default since 2026-10-29 (
auto_protectdefaults tofalsein/v1/channels/{id}/pacing). The gateway warns about a number's health and only slows its messages to new people when you switch auto-protect on. - Number health (
GET /v1/channels/{id}/health,channel.healthwebhook) and auto-protect: messages to people who never wrote to a number are spaced out by its health. Replies are never delayed. - WhatsApp's own limits per number (
GET /v1/channels/{id}/limits,channel.limitswebhook). - Send pacing (
GET/PUT /v1/channels/{id}/pacing) and a proxy per number (/v1/channels/{id}/proxy, error codesproxy_*). - The gateway never refuses a send over a number's health or WhatsApp's limits. A send to someone new while WhatsApp blocks new chats returns
202withwarnings(new_chat_restricted,new_chat_capped); the earlier429 new_chat_restrictedis gone. - Proxy tests over the per-minute budget answer
429 proxy_test_limit.
2026-05 — MVP launch
- Public OpenAPI 3.1 spec at
/openapi.json. llms.txt+llms-full.txtat the marketing root.- Stripe-style Scalar API reference under
/docs/api. - 117 operations documented across 85 paths in the OpenAPI 3.1 spec.
- Webhook event catalog: 25 events.
- Stable error code set: 26 codes (see Errors).
2026-04 — Webhook signing v1
- HMAC-SHA256 signing on every outbound delivery.
- Headers:
X-WhatIsUp-Signature,X-WhatIsUp-Event,X-WhatIsUp-Event-Id,X-WhatIsUp-Correlation-Id. - 8 retry attempts with capped exponential backoff (1s base, 5min ceiling).
- Durable delivery queue with a per-host concurrency cap.
- Webhook envelope carries
api_version: "v1". (The2026-04string in earlier revisions of these docs was never emitted by the gateway.)
2026-03 — Channel lifecycle hardening
- Strict state-machine transitions enforced server-side
(
invalid_lifecycle_transitionerror code). - Optimistic concurrency on lifecycle writes
(
concurrent_modificationerror code). POST /v1/channels/{id}/pair-codeas a QR alternative.
2026-02 — Groups + Communities
- Full Whapi-shape group surface (16 endpoints).
- Communities (6 endpoints).
- Inbound group webhook events.
2026-01 — Initial public beta
- Channels, messages, contacts, chats, presence, profile, media, webhooks, API keys, rate limits, status, SSE events.
- Pair-by-QR.
- Plan: Trial / Starter / Pro.
What's next
- Header-based
Idempotency-Key(P1). - Newsletter posting UX docs (P1).
- Sandbox / test-mode environment (P2).
- Calls list + history (P2).
- Stories list + view tracking (P3).
Track the full gap analysis in our internal WhatsApp capability matrix.