Skip to main content
GET
/
user
/
whatsapp
/
senders
/
{senderId}
/
templates
curl -X GET "https://app.autocalls.ai/api/user/whatsapp/senders/12/templates" \
  -H "Authorization: Bearer YOUR_API_KEY"
curl -X GET "https://app.autocalls.ai/api/user/whatsapp/senders/12/templates?status=all" \
  -H "Authorization: Bearer YOUR_API_KEY"
const senderId = 12;

const response = await fetch(
  `https://app.autocalls.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.autocalls.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"
}
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

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

Query Parameters

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

Response Fields

data
array

Error Responses

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

const response = await fetch(
  `https://app.autocalls.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.autocalls.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.