---
title: "List message templates"
method: GET
path: "/api/messaging/whatsapp/templates"
tags: ["WhatsApp Templates"]
---

# List message templates

`GET /api/messaging/whatsapp/templates`

Lists the project's reusable WhatsApp message templates. Use it to find an approved template before sending business-initiated messages; a template must have `template_status` of `approved` before use. Use [Get a message template](/docs/apis/rest/whatsapp/retrieve-whatsapp-template) when you already have its SignalWire or Meta ID.

#### Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Numbers_.

[Learn more about API scopes](/docs/platform/your-signalwire-api-space).

## Query parameters

- `whatsapp_business_id` string, uuid — Universal Unique Identifier.
- `status` 'approved' | 'archived' | 'deleted' | 'disabled' | 'flagged' | 'in_appeal' | 'limit_exceeded' | 'locked' | 'paused' | 'pending' | 'reinstated' | 'pending_deletion' | 'rejected' — The Meta approval status of a template. A template must be `approved` before it can be used to send messages.

## Response `200`

The request has succeeded.

- WhatsAppTemplateListResponse — Response containing a list of message templates.
  - `data` WhatsAppTemplate[], required — List of message templates.
    - `id` string, uuid, required — Universal Unique Identifier.
    - `name` string, required — The template name. Lowercase letters, numbers, and underscores only.
    - `category` 'utility' | 'marketing' | 'authentication', required — The category of a WhatsApp message template.
    - `components` WhatsAppTemplateComponent[], required — The template's components (header, body, footer, buttons).
      - `type` string, required — The component type: `HEADER`, `BODY`, `FOOTER`, or `BUTTONS`.
    - `language` string, required — The template language code.
    - `parameter_format` 'named' | 'positional', required — How a template's variable placeholders are referenced.
    - `template_id` string, required — Meta's identifier for the template.
    - `template_status` 'approved' | 'archived' | 'deleted' | 'disabled' | 'flagged' | 'in_appeal' | 'limit_exceeded' | 'locked' | 'paused' | 'pending' | 'reinstated' | 'pending_deletion' | 'rejected', required — The Meta approval status of a template. A template must be `approved` before it can be used to send messages.
    - `whatsapp_business_id` string, uuid, required — Universal Unique Identifier.
    - `created_at` string, required — The date and time when the template was created.
    - `updated_at` string, required — The date and time when the template was last updated.
    - `discarded_at` string — The date and time when the template was discarded, if applicable.

## Other responses

- `400` — The request is invalid.
- `401` — Access is unauthorized.
- `500` — An internal server error occurred.

## Changes

> 138 revisions in range; 3 could not be searched.

- **2026-07-20** `14b262a4830d` — 1 info
  - endpoint added
- **2026-07-20** `6e5c9df70369` — 1 breaking
  - api path removed without deprecation
- **2026-07-16** `13da5e8c3990` — 1 info
  - endpoint added
- **2026-07-10** `0f65a5bc6e5c` — 1 breaking
  - api path removed without deprecation
- **2026-07-08** `a888562fa415` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/signalwire/apis/signalwire-rest-api/changes/api/messaging/whatsapp/templates/get.md)

---

[API](https://skmtc.dev/signalwire/apis/signalwire-rest-api.md) · [All operations](https://skmtc.dev/signalwire/apis/signalwire-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/signalwire/signalwire-rest-api/revisions/40cdd103d4fb/schema)
