Skip to content

Faster Public API polling

Added Changed

Added

  • GET /v1/{phone_number_id}/conversations accepts optional updated_since (ISO 8601) — returns only rows with updated_at strictly after the timestamp.
  • List responses include a weak ETag header. Send it back as If-None-Match on the next poll to receive 304 Not Modified when the page is unchanged.
  • Short-lived Redis cache (8 s TTL, invalidated on conversation writes) for repeated identical list queries.
  • GET /v1/{phone_number_id}/messages/{id} — short-lived Redis cache (5–60 s TTL by status, invalidated on status transitions) and weak ETag / 304 Not Modified for high-frequency status polls. No request changes required — existing pollers benefit automatically.

Changed

  • Business plan orgs now map to the Business HTTP API tier (1 200 write/min, 12 000 read/min on /v1/*). Previously the plan name fell through to the Starter/default bucket (600 read/min). This does not change Send Rate Limit (quota.messages_per_second) — that quota remains whatever you set under Admin → Plans → Entitlements.

See Polling list endpoints for integration recipes.