| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Unique template name (only lowercase + underscores). |
language | string | Yes | Language code (e.g., en, es, fr). |
category | string | Yes | One of: MARKETING, UTILITY, AUTHENTICATION. |
header | object/null | No | Template header. Can be null, text, or media (image/video/document). |
body | object | Yes | Main message body. Supports variables ({{1}}, {{2}}). |
body.text | string | Yes | Message text (max 1024 chars). |
body.variables | array | Conditional | Required if variables exist in text. |
footer | string | No | Footer text (max 60 chars, no emojis). |
buttons | array | No | Interactive buttons (URL, Phone, Quick Reply). Max 3. |
unsubscribeButton | boolean | No | Show Unsubscribe button (MARKETING only). |
blockButton | boolean | No | Show Block button (MARKETING only). |
addSecurityRecommendation | boolean | Auth only | Include security warning (AUTHENTICATION only). |
codeExpirationMinutes | integer | Auth only | OTP validity period in minutes (1-1440, AUTHENTICATION only). |
copyCodeButton | boolean | Auth only | Add one-tap copy button (AUTHENTICATION only). |
Name Rules
welcome_message, order_confirmation_v2WelcomeMessage, order-confirmation, template 1Language Codes
enesfrdeptarHeader Rules
{{1}}Welcome {{1}}{{1}} WelcomeBody Rules
\n\n allowed, \n\n\n not allowed){{1}} and {{2}}, variables array must have exactly 2 items{{1}}, {{2}}, {{3}}, etc.Footer Rules
Button Rules
Authentication Templates
addSecurityRecommendation, codeExpirationMinutes, copyCodeButtoncodeExpirationMinutes range: 1-1440 (1 min to 24 hours)| Error Message | Cause | Solution |
|---|---|---|
| ”not_start_or_end_with_var” | Text starts/ends with variable | Remove variable from start/end |
| ”only_one_variable” | Header has more than 1 variable | Use max 1 variable in header |
| ”Variable count mismatch” | Variables array doesn’t match placeholders | Count {{1}}, {{2}} in text and provide exact number |
| ”File too large” | Media exceeds size limit | Compress file (Image: 5MB, Video: 10MB, PDF: 30MB) |
| “Invalid phone number” | Missing country code | Add country code: +1234567890 |
| ”Template name exists” | Name already used | Choose unique name |
| ”no_more_than_two_consecutive_newlines” | Too many blank lines | Use max \n\n (2 newlines) |
order_confirmation not template_1Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
ID of the workspace.
"login_otp_template"
"en"
MARKETING, UTILITY, AUTHENTICATION Option 2: Text Header
60Template created successfully