Skip to main content
POST
Create a template

Authorizations

Authorization
string
header
required

An API key of one app, sent as Authorization: Bearer <key>. Keys start with fk_test_ (test mode: sandbox senders and test data only) or fk_live_ (live mode). Keep live keys on your server; never ship them in an app or page.

Headers

Idempotency-Key
string

A unique string (up to 255 characters) that makes this request safe to retry. A repeat with the same key within 24 hours returns the first answer instead of acting again. See "Idempotency" in the introduction.

Required string length: 1 - 255
Flow-Version
string<date>

The API version to use, as a date. Without it, the version pinned to your app when it was created is used.

Example:

"2026-11-01"

Body

application/json

A template to submit to Meta.

sender
string
required

A sender ID, snd_ and a ULID.

Pattern: ^snd_[0-9A-HJKMNP-TV-Z]{26}$
Example:

"snd_01JB8Z4Q3V6W0R2N7C5H1M9K4T"

name
string
required

Lowercase letters, digits and underscores.

Pattern: ^[a-z0-9_]{1,512}$
language
string
required

The template's language, as Meta names it (en, en_US, hi).

category
enum<string>
required

Meta's category for the template, which sets its price.

Available options:
marketing,
utility,
authentication
components
object[]
required

The template's parts. A body is required.

Minimum array length: 1

Response

The template was submitted.

A WhatsApp message template, mirrored from Meta with its approval status.

id
string
required

A template ID, tpl_ and a ULID.

Pattern: ^tpl_[0-9A-HJKMNP-TV-Z]{26}$
Example:

"tpl_01JB8Z9X2D4F6H8K0M2P4R6T8V"

sender
string
required

A sender ID, snd_ and a ULID.

Pattern: ^snd_[0-9A-HJKMNP-TV-Z]{26}$
Example:

"snd_01JB8Z4Q3V6W0R2N7C5H1M9K4T"

name
string
required

The template's name at Meta.

language
string
required

The template's language, as Meta names it.

category
enum<string>
required

Meta's category for the template, which sets its price.

Available options:
marketing,
utility,
authentication
status
enum<string>
required

A template's approval status at Meta.

Available options:
pending,
approved,
rejected,
paused,
disabled
components
object[]
required

The template's parts, as submitted.

created_at
string<date-time>
required

When the template was submitted.

rejection_reason
string

Meta's reason, when the template was rejected.