---
title: "List WhatsApp templates (Beta)"
method: GET
path: "/v2/whatsapp/templates"
tags: ["WhatsApp"]
---

# List WhatsApp templates (Beta)

`GET /v2/whatsapp/templates`

## Request

- Base URL: `https://api.transmitmessage.com`
- URL: `https://api.transmitmessage.com/v2/whatsapp/templates`
- Auth: API key in header `x-api-key`

Beta — this endpoint may change before general availability.

Retrieves the WhatsApp templates registered on your account, with their full content, so you can choose
a template to send and show its content in your own tools.

Templates are returned newest first. Templates in every status are returned; only `APPROVED` templates
can be sent.

**Filtering:**
- All filters are exact matches, and they combine: a template must match every filter you supply.

**Pagination:**
- Page-based. Use `page` and `limit`, and `meta.pagination.total_count` to work out the number of pages.

## Query parameters

- `page` integer
- `limit` integer
- `status` 'PENDING' | 'APPROVED' | 'REJECTED' | 'PAUSED' | 'DISABLED' | 'FLAGGED' | 'LOCKED' | 'ARCHIVED' | 'IN_APPEAL' | 'LIMIT_EXCEEDED'
- `category` 'MARKETING' | 'UTILITY' | 'AUTHENTICATION'
- `language` string
- `name` string

## Response `200`

OK

- object
  - `data` object, required: Container for the list of WhatsApp templates.
    - `templates` WhatsappTemplate[], required: Array of WhatsApp templates.
      - `id` string, uuid, required: Unique identifier for the template.
      - `name` string, required: Template name as registered with WhatsApp. Use this value as the template name when you send a message.
      - `language` string, required: Template language code, such as `en` or `en_US`.
      - `status` string, required: Current review status of the template, as reported by WhatsApp. Only `APPROVED` templates can be sent. WhatsApp adds new values from time to time, so treat any value not listed here as not sendable. - `PENDING` — submitted and waiting for WhatsApp to review it - `APPROVED` — approved and ready to send - `REJECTED` — rejected by WhatsApp - `PAUSED` — paused by WhatsApp because of quality issues; it may be reinstated - `DISABLED` — permanently disabled by WhatsApp after repeated pauses; create a new template instead - `FLAGGED` — flagged by WhatsApp for low quality; it may be paused if quality doesn't improve - `LOCKED` — locked by WhatsApp and can't be edited - `ARCHIVED` — archived in WhatsApp Manager; unarchiving restores its previous status - `IN_APPEAL` — a rejection is being appealed - `LIMIT_EXCEEDED` — your WhatsApp Business Account has reached WhatsApp's template limit
      - `category` 'MARKETING' | 'UTILITY' | 'AUTHENTICATION', required: Template category. - `MARKETING` — promotional content - `UTILITY` — transactional updates, such as order or appointment notices - `AUTHENTICATION` — one-time passcodes
      - `parameter_format` 'POSITIONAL' | 'NAMED', required: How the template's placeholders are written, which decides how you supply values when you send it. - `POSITIONAL` — numbered placeholders such as `{{1}}`. Text values in the body can be sent with `content_type: template` as an ordered list. - `NAMED` — named placeholders such as `{{first_name}}`. Send with `content_type: custom` and give each text value for a named placeholder its `parameter_name`.
      - `components` object[], required: The template's content, in WhatsApp's component format. Each item has a `type`: - `HEADER` — optional title. `format` is `TEXT`, `IMAGE`, `VIDEO` or `DOCUMENT`. For media headers, `example.header_handle[0]` is the URL of the template's media. - `BODY` — the message text, with any placeholders. - `FOOTER` — optional short text below the body. - `BUTTONS` — optional quick-reply, URL, phone number or copy-code buttons. - `CAROUSEL` — a set of `cards`, each with its own `components`.
  - `request` object: Optional metadata (e.g. requestId, traceId)
  - `meta` object, required: Metadata for the list templates response including pagination details.
    - `pagination` PagePaginationMeta, required: Pagination metadata for page-based pagination. Reusable across all paginated API endpoints that use page/limit pagination.
      - `type` 'page', required: The pagination strategy being used.
      - `page` integer, required: The current page number (1-based).
      - `limit` integer, required: The maximum number of results per page.
      - `total_count` integer, required: The total number of results across all pages.

## Other responses

- `400`: Input Validation Error
- `401`: Unauthorized
- `500`: Internal Server Error

## Changes

- **2026-11-05** `6ad9a1c0cd6b`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/kudosity/apis/transmit-message-api/changes/v2/whatsapp/templates/get.md)

---

[API](https://skmtc.dev/kudosity/apis/transmit-message-api.md) - [All operations](https://skmtc.dev/kudosity/apis/transmit-message-api/llms.txt) - [OpenAPI document](https://skmtc.dev/kudosity/apis/transmit-message-api/revisions/6ad9a1c0cd6b?raw)
