WhatsApp Templates API

2. Authentication & scopes

Public Developer API for Meta template lifecycle on Cloud WhatsApp accounts. Same Meta engine as the Washeej dashboard. Access requires explicit template scopes; Device/QR management is rejected. Provider Meta delete stays deferred.

Auth

Use client-id / client-secret (IP whitelist) or OAuth Bearer. Washeej resolves Meta tokens — never send WABA secrets.

Scopes

  • templates:read — list, detail, validate, capabilities (validate is local-only; still requires lifecycle enablement)
  • templates:write — create, edit, delete (explicit; not auto-granted to legacy null keys)
  • templates:sync — sync (explicit)
  • templates:send or messages:send — send
  • webhooks:manage or messages:webhook — register endpoints
  • account:read / whatsapp_accounts:read — account listing

Missing scope → 403 insufficient_scope. Feature not assigned → 403 feature_disabled.