API Reference
Templates API
Submit, manage, and sync WhatsApp Message Templates via the Vobiz API - Meta-approved formats required for all proactive business-initiated outbound messaging.
GET
Templates API
Base URL:
Returns the templates for a specific channel. Filter by approval status using the
Submit a new template to Meta for approval. The request body uses Meta’s component format. Use double-brace numbered placeholders like
Each component object:
Pulls the latest template list and statuses from Meta and updates your Vobiz account. Call this after creating templates in Meta Business Manager directly, or after status changes (for example, when a template moves from
https://api.vobiz.ai/api/v1/messaging
Authentication: Every request requires X-Auth-ID: MA_XXXXXXXX and X-Auth-Token: <token> headers (a Bearer JWT is also accepted). Set Content-Type: application/json on requests with a body. Get your credentials from console.vobiz.ai.
Template create and list are always scoped to a channel under
/channels/{channelId}/templates. There is no top-level /messaging/templates route.Template categories
| Category | Use case |
|---|---|
UTILITY | Transactional - orders, receipts, alerts |
MARKETING | Promotional - offers, announcements |
AUTHENTICATION | OTP and security codes only |
List templates
status query parameter (e.g. APPROVED, PENDING_REVIEW, REJECTED, DISABLED, PAUSED).
cURL
200 OK
Create template
{{1}}, {{2}} for dynamic content in the BODY.
Request body
| Field | Required | Description |
|---|---|---|
name | Yes | Template name, lowercase_snake_case |
language | Yes | Language code (e.g. en_US) |
category | Yes | MARKETING, UTILITY, or AUTHENTICATION |
components | Yes | Array of component objects (Meta format) |
| Field | Description |
|---|---|
type | HEADER, BODY, FOOTER, or BUTTONS |
format | Optional. TEXT, IMAGE, VIDEO, or DOCUMENT (for HEADER) |
text | Component text. BODY text may use {{1}}, {{2}} placeholders |
buttons | Array of { type, text, url?, phone_number? }. type is QUICK_REPLY, URL, or PHONE_NUMBER |
example | Sample values: { "header_handle": [], "body_text": [[]] } |
cURL
201 Created
Sync templates from Meta
PENDING_REVIEW to APPROVED). Returns the number of templates synced.
cURL
200 OK
Template object
| Field | Type | Description |
|---|---|---|
id | UUID | Vobiz template ID |
account_id | string | Owning account (MA_XXXXXXXX) |
channel_id | UUID | Channel the template belongs to |
waba_id | string | Meta WhatsApp Business Account ID |
meta_template_id | string | Meta’s template ID |
name | string | Template name (lowercase_snake_case) |
language | string | Language code (e.g. en_US) |
category | string | MARKETING, UTILITY, or AUTHENTICATION |
status | string | APPROVED, PENDING_REVIEW, REJECTED, DISABLED, or PAUSED |
components | object | Meta component structure |
quality_score | string | Meta quality rating |
created_at | RFC3339 | Creation timestamp (UTC) |
updated_at | RFC3339 | Last update timestamp (UTC) |
Sending a template message
Creating a template does not send anything. To send an approved template, use the Messages API withtype: "template".
cURL