Skip to main content
POST
Create template

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
name
string
required
language
string
default:en
required
body
string
required

Default template body. Used when no channel-specific body is set.

smsBody
string

Channel-specific body for SMS. Falls back to body if not set.

telegramBody
string

Channel-specific body for Telegram. Falls back to body if not set.

instagramBody
string

Channel-specific body for Instagram. Falls back to body if not set.

whatsappCategory
enum<string>

WhatsApp template category.

Available options:
UTILITY,
MARKETING,
AUTHENTICATION
headerType
enum<string>

Type of header for the template.

Available options:
text,
image,
video,
document
headerContent
string

Header content (text string or media URL).

Footer text for the template.

Maximum string length: 60
variables
string[]
buttons
object[]

Template buttons (max 3).

Maximum array length: 3
addSecurityRecommendation
boolean

Add 'Do not share this code' disclaimer. Only for AUTHENTICATION templates.

codeExpirationMinutes
integer

Code expiration time in minutes. Only for AUTHENTICATION templates.

Required range: 1 <= x <= 90

Response

Template created.

id
string
required
name
string
required

Template name. For WhatsApp, must match the approved template name in Meta.

Example:

"order_confirmation"

language
string
required

Language code.

Example:

"en"

body
string
required

Default template body with variables: positional ({{1}}, {{2}}) or named ({{customer_name}}, {{contact.first_name}}). Templates created in Zavu are submitted to Meta as positional; templates imported from a WhatsApp Business Account keep their original format (named or positional). Used when no channel-specific body is set.

Example:

"Hi {{1}}, your order {{2}} has shipped."

category
enum<string>
required

WhatsApp template category.

Available options:
UTILITY,
MARKETING,
AUTHENTICATION
smsBody
string

Channel-specific body for SMS messages. Falls back to body if not set.

telegramBody
string

Channel-specific body for Telegram messages. Falls back to body if not set.

instagramBody
string

Channel-specific body for Instagram messages. Falls back to body if not set.

status
enum<string>
default:draft
Available options:
draft,
pending,
approved,
rejected
variables
string[]

List of variable names for documentation.

headerType
string

Type of header (text, image, video, document).

headerContent
string

Header content (text or media URL).

Footer text for the template.

buttons
object[]

Template buttons.

addSecurityRecommendation
boolean

Add 'Do not share this code' disclaimer. Only for AUTHENTICATION templates.

codeExpirationMinutes
integer

Code expiration time in minutes. Only for AUTHENTICATION templates.

Required range: 1 <= x <= 90
whatsapp
object

WhatsApp-specific template information.

createdAt
string<date-time>
updatedAt
string<date-time>