WA.cr APP - API v2
  1. Messages
WA.cr APP - API v2
  • API v2 Documentation
    • Account
      • Get Account Info
      • Get Usage Statistics
      • Get Plan Limits
    • Authentication (OTP Verification)
      • Send OTP/Verification Code
      • Resend OTP
      • Verify OTP
      • Check OTP Status
      • List Authentication Templates
    • Comments
      • Get Comments
      • Add Comment
    • Contacts
      • List Contacts
      • Create Contact
      • Get Contact
      • Update Contact
      • Delete Contact
      • Batch Create Contacts
      • Batch Delete Contacts
    • Groups
      • List Groups
      • Create Group
      • Get Group
      • Update Group
      • Delete Group
      • Add Contacts to Group
      • Remove Contacts from Group
    • Messages
      • Send Text Message
        POST
      • Send Template Message
        POST
      • Send Media Message
        POST
      • Send Interactive Message
        POST
      • List Messages
        GET
      • Get Message
        GET
    • Sources
      • List Sources
      • Create Source
      • Get Source
      • Update Source
      • Delete Source
    • Statuses
      • List Statuses
      • Create Status
      • Get Status
      • Update Status
      • Delete Status
    • Templates
      • List Templates
      • Sync Templates from WhatsApp
      • Get Template
  1. Messages

Send Template Message

POST
/messages/template
Send a pre-approved WhatsApp template message. Template messages can be sent at any time, regardless of the 24-hour customer service window.
Required Scope: messages:send

Request Body#

Supports both JSON (application/json) and multipart form-data (for file uploads).

Required Fields#

FieldTypeRequiredValidationDescription
phonestringYesRecipient phone number with country code
template_namestringYesMust exist as APPROVED templateTemplate name
languagestringYesmax:10Template language code (e.g., en, en_GB)

Optional Fields#

FieldTypeDescription
contact_idintegerExisting contact ID (skips auto-creation)

Header Media (for IMAGE/VIDEO/DOCUMENT header templates)#

FieldTypeDescription
header_image_urlurlImage URL for IMAGE header
header_image_filefileImage file upload (max 5MB)
header_video_urlurlVideo URL for VIDEO header
header_video_filefileVideo file upload (max 16MB)
header_document_urlurlDocument URL for DOCUMENT header
header_document_filefileDocument file upload (max 100MB)
header_document_namestringDocument display name (max 255 chars)
header_field_1stringText header parameter (for TEXT header with {{1}})

Body Parameters#

FieldTypeDescription
field_1 to field_10stringBody parameters matching template placeholders {{1}} to {{10}}. Supports merge fields like @{contact_first_name}

Button Parameters#

FieldTypeDescription
button_0 to button_2stringButton parameters for dynamic URL buttons

OTP/Authentication#

FieldTypeDescription
auto_generate_otpbooleanAuto-generate OTP code (for AUTHENTICATION templates)
otp_field_numberintegerWhich field receives the OTP (default: 1, must be 6)

Template Validation#

The endpoint validates that all required template parameters are provided:
TEXT header: header_field_1 required if template has header parameters
IMAGE header: header_image_url or header_image_file required
VIDEO header: header_video_url or header_video_file required
DOCUMENT header: header_document_url or header_document_file required
Body: field_1 through field_N required for each body parameter

Response Fields#

FieldTypeDescription
message_idstringWhatsApp message ID
contact_idintegerContact ID
phonestringCleaned phone number
template_namestringTemplate name used
languagestringTemplate language
statusstringMessage status (sent)
sent_atstringISO 8601 send timestamp
chat_idintegerInternal chat interaction ID
chat_message_idinteger|nullInternal chat message record ID

Additional Error Responses#

StatusError CodeDescription
403FEATURE_NOT_AVAILABLEWhatsApp templates not available in plan
404NOT_FOUNDTemplate not found or not approved
422VALIDATION_ERRORMissing required template parameters

Common Error Responses (All Send Endpoints)#

StatusError CodeDescription
401UNAUTHORIZEDInvalid or missing API token
403INSUFFICIENT_SCOPEToken missing messages:send scope
403FEATURE_LIMIT_EXCEEDEDContact limit or conversation limit reached
403CONTACT_OPTED_OUTContact has opted out of receiving messages
404NOT_FOUNDContact not found (when contact_id provided)
422VALIDATION_ERRORRequest validation failed or missing config for auto-contact creation
422WHATSAPP_NOT_CONFIGUREDWhatsApp not configured for this account
429RATE_LIMIT_EXCEEDEDToo many requests
500MESSAGE_SEND_FAILEDFailed to send via WhatsApp API
500INTERNAL_ERRORUnexpected server error

Validation Error Messages#

FieldMessage
phonePhone number is required
template_nameTemplate name is required
languageTemplate language is required

Request

Authorization
Bearer Token
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
or
Header Params

Responses

🟢200
application/json
Successful response
Body

Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/messages/template' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json'
Response Response Example
{}
Modified at 2026-02-25 01:06:20
Previous
Send Text Message
Next
Send Media Message
Built with