Skip to main content
templates:* manages models; whatsapp:send, sms:send, etc. send. Having templates:create is not enough to dispatch.
Each scope unlocks a type of Templates operation. Use only what your integration needs.

How to send the key

Recommended
Alternative
The API Key belongs to one workspace. You cannot reach another workspace with the same key.

Two scope families

Having templates:create is not enough to send. On send, each requested channel needs that channel’s send scope.

Common combinations

Send only

whatsapp:send, sms:send, email:send, rcs:send, etc. (depending on channels used)

Manage models only

templates:read, templates:create, templates:update, templates:delete

Full app

All templates:* plus send scopes for the template’s channels

Read only

templates:read
An empty scopes list on creation means ADMIN access. In production, always restrict.

Management scopes (templates:*)

List templates and fetch detail by ID.
Create a new template in the workspace.
Edit an existing template (channels, copy, variable defaults, translations).
Delete a template.

Send scopes (per channel)

On Send by template, validate the scope for each channel in channels: Delivery status (sent, delivered, failed) comes from channel webhooks, not a send-template webhook. Meta approval status (approved, rejected, paused, category) comes from template.* events, see Webhook events.

Common errors

Details in the API reference on the Templates tab.

Next steps