Skip to main content
POST

Authorizations

Authorization
string
header
required

Use a Bearer token to access these API endpoints. Example: "Bearer {your-token}"

Body

application/json
name
string
required

Template name. Must be lowercase snake_case, unique per (name, language) within the WABA. 1-512 chars.

Example:

"order_confirmation"

language
string
required

ISO language tag accepted by Meta (en_US, tr, es_ES, pt_BR, etc.).

Example:

"en_US"

category
enum<string>
required

Meta category. Determines pricing and approval requirements.

Available options:
MARKETING,
UTILITY,
AUTHENTICATION
Example:

"UTILITY"

waba_id
string
required

The WhatsApp Business Account id this template belongs to. The template will be submitted under this WABA.

Example:

"123456789012345"

components
object[]
required

Meta components array. Must contain exactly one BODY. May contain at most one HEADER (text/image/video/document), one FOOTER, and one BUTTONS group (max 10 buttons). Each item is a WaComponent — see oneOf variants for the exact shape required per type.

Minimum array length: 1

TEXT header. Up to 60 chars. May contain at most one {{1}} placeholder; if present, example.header_text is required.

Response

Template submitted to Meta and stored locally. data.status is typically PENDING.

success
boolean
Example:

true

message
string
Example:

"Template created successfully"

data
object

WhatsApp message template stored locally and synced with Meta. Status reflects Meta's approval state.