---
title: "Get a message template"
method: GET
path: "/api/messaging/whatsapp/templates/{id}"
tags: ["WhatsApp Templates"]
---

# Get a message template

`GET /api/messaging/whatsapp/templates/{id}`

Retrieves a single message template by SignalWire ID or Meta template 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).

## Path parameters

- `id` string, required

## Response `200`

The request has succeeded.

- WhatsAppTemplateResponse — Response containing a single message template.
  - `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

- `401` — Access is unauthorized.
- `404` — The server cannot find the requested resource.
- `500` — An internal server error occurred.

---

[API](https://skmtc.net/signalwire/apis/signalwire-rest-api.md) · [All operations](https://skmtc.net/signalwire/apis/signalwire-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/signalwire/signalwire-rest-api/versions/05c5164b85c7/schema)
