WhatsApp templates
Business-initiated WhatsApp messages are sent from a template — a pre-approved message that WhatsApp has reviewed for its category. A template carries fixed text plus {{n}} variables, so a send only supplies the values that change (an OTP code, an order number) and WhatsApp assembles the final message. Today every WhatsApp send names a template; free-text and other message types will follow.
Templates are Bird-managed today. The WhatsApp MVP is a catalogue of templates Bird has registered with WhatsApp; you send from it rather than authoring your own. The Templates page shows what's available and exactly how each one renders.

Browsing templates in the dashboard
The Templates tab, under WhatsApp, lists every template available to your workspace. Search by name and filter by status or category to find one.
Each row shows the fields you need to pick and send a template:
- Status — the template's WhatsApp review state. Approved templates are live and sendable; Pending, Rejected, Paused, Disabled, In appeal, Pending deletion, and Limit exceeded track a template's standing with WhatsApp.
- Name — the template reference (for example bird_otp). This is what you pass as template.name when sending.
- Language — the language the template is registered in (e.g. en, pt_BR).
- Category — authentication, utility, or marketing. The category governs how WhatsApp treats the message, which sender number Bird uses, and, with the destination country, the price.
- WABA — the WhatsApp Business Account the template belongs to; Bird-managed templates are marked accordingly.
Click a row to open the template's detail.
The template detail
The detail view renders the template the way a recipient sees it — a WhatsApp-style message bubble with the body text, any {{n}} variables highlighted, and the template's buttons — so you can confirm the wording and layout before you send.
Alongside the preview is a ready-to-run cURL example: a complete POST /v1/whatsapp/messages call for that template, pointed at your region's host, with a components array pre-filled with the template's example values. Copy it, swap in your API key and real values, and send.
Listing templates from the API
GET /v1/whatsapp/templates returns the catalogue. Reading templates needs an API key with the whatsapp_management scope:
Codevoorbeeld
curl https://us1.platform.bird.com/v1/whatsapp/templates \
-H "Authorization: Bearer bk_us1_..."Each template carries its name (the reference you send by), language, category, status, and its components — the header, body, and button parts, each with the example values that show how its {{n}} variables are filled. Read a template's components to know which parameters a send must supply.
Sending with a template
Name the template in the send's template object and fill its variables through components — see Sending WhatsApp messages for the full payload:
Codevoorbeeld
curl -X POST https://us1.platform.bird.com/v1/whatsapp/messages \
-H "Authorization: Bearer bk_us1_..." \
-H "Content-Type: application/json" \
-d '{
"to": "+15551234567",
"template": {
"name": "bird_otp",
"language": "en",
"components": [
{ "type": "body", "parameters": [{ "type": "text", "text": "481920" }] }
]
}
}'Next steps
- Sending WhatsApp messages — the full send payload the template object slots into
- WhatsApp messages — find a sent message and follow its lifecycle
- WhatsApp pricing — how category and destination set the price