Skip to main content
POST

Overview

This endpoint is WABA-scoped, so today it covers WhatsApp Official only.Instagram and Messenger also have pre-approved templates — the Utility Template, page-scoped. Support for them in Omni Z-API is being implemented. See the comparison of the three template types.
Creates a new message template and submits it for Meta approval. The template starts with PENDING status and is updated to APPROVED or REJECTED after review. Use the Sync templates endpoint to force a status update.
The template name must be in snake_case, with no spaces or special characters. Once created, the name cannot be changed.
The wabaId is obtained from the List WABAs endpoint.

Authorizations

Authorization
string
header
required

Secret Key generated in the Omni Z-API Security panel

Path Parameters

wabaId
string
required

WABA ID (obtained via List WABAs)

Example:

"428083093730937"

Body

application/json
name
string
required

Template name (snake_case, no spaces)

category
enum<string>
required

Template category

Available options:
UTILITY,
MARKETING,
AUTHENTICATION
language
string
required

Template language (e.g. en_US, pt_BR)

components
object[]
required

Template components (HEADER, BODY, FOOTER, BUTTONS)

Response

Template created and submitted for approval

id
string

Created template ID

status
enum<string>

Initial status (usually PENDING)

Available options:
PENDING,
APPROVED,
REJECTED
category
enum<string>

Created template category

Available options:
UTILITY,
MARKETING,
AUTHENTICATION