VoxLink.ai

API Reference

Get Templates

List WhatsApp message templates for a specific sender

Updated 24 Mar 2026

This endpoint returns all message templates associated with a specific WhatsApp sender. Templates are required for initiating conversations or messaging users outside the 24-hour messaging window.

Path Parameters

senderIdintegerrequired

The ID of the WhatsApp sender (obtained from the Get Senders endpoint)

Query Parameters

statusstring

Filter templates by approval status. Default: approved. Use all to return all templates regardless of status.

Response Fields

dataarray

idinteger

  The unique identifier of the template. Use this when sending template messages.

namestring

  The template name as registered with Meta (e.g., `order_confirmation`, `appointment_reminder`)

languagestring

  The template language code (e.g., `en`, `es`, `pt_BR`)

categorystring

  The template category: `marketing`, `utility`, or `authentication`

statusstring

  The approval status: `approved`, `pending`, or `rejected`

body_textstring

  The template body text, with variable placeholders shown as `{{1}}`, `{{2}}`, etc.

variablesarray

  List of variable names defined for the template. Empty array if the template has no variables.

has_variablesboolean

  Whether this template requires variables to be provided when sending

Error Responses

404 Not Found

successboolean

  `false`

errorstring

  `Sender not found`

error_codestring

  `SENDER_NOT_FOUND`
curl -X GET "https://app.voxlink.ai/api/user/whatsapp/senders/12/templates" \
  -H "Authorization: Bearer YOUR_API_KEY"
curl -X GET "https://app.voxlink.ai/api/user/whatsapp/senders/12/templates?status=all" \
  -H "Authorization: Bearer YOUR_API_KEY"
const senderId = 12;

const response = await fetch(
  `https://app.voxlink.ai/api/user/whatsapp/senders/${senderId}/templates`,
  {
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY'
    }
  }
);

const data = await response.json();
console.log(data.data); // Array of templates
import requests

sender_id = 12

response = requests.get(
    f'https://app.voxlink.ai/api/user/whatsapp/senders/{sender_id}/templates',
    headers={'Authorization': 'Bearer YOUR_API_KEY'}
)

templates = response.json()['data']
for template in templates:
    print(f"{template['name']} ({template['language']}): {template['body_text']}")
{
  "data": [
    {
      "id": 45,
      "name": "appointment_reminder",
      "language": "en",
      "category": "utility",
      "status": "approved",
      "body_text": "Hi {{1}}, this is a reminder for your appointment on {{2}} at {{3}}. Reply YES to confirm or NO to reschedule.",
      "variables": ["customer_name", "date", "time"],
      "has_variables": true
    },
    {
      "id": 46,
      "name": "welcome_message",
      "language": "en",
      "category": "marketing",
      "status": "approved",
      "body_text": "Welcome to Acme Corp! We're excited to have you. How can we help you today?",
      "variables": [],
      "has_variables": false
    }
  ]
}
{
  "success": false,
  "error": "Sender not found",
  "error_code": "SENDER_NOT_FOUND"
}

Notes

  • Only approved templates are returned by default. Templates with pending or rejected status cannot be used to send messages.
  • Template approval status is synced with Meta every 4 hours automatically.
  • Variables in body_text are shown as {{1}}, {{2}}, etc. The variables array provides human-readable names for each placeholder.
  • Templates are required when messaging a user for the first time or outside the 24-hour messaging window.

Related guides