---
title: "Get template by id"
method: GET
path: "/v1/whatsapp/templates/id/{templateId}"
tags: ["WhatsApp"]
---

# Get template by id

`GET /v1/whatsapp/templates/id/{templateId}`

## Request

- Base URL: `https://zernio.com/api`
- URL: `https://zernio.com/api/v1/whatsapp/templates/id/{templateId}`
- Auth: HTTP bearer

Retrieve one template variant by its Meta id, the id every variant of a family has on its own
and the one the `whatsapp.template.status_updated` webhook carries.

## Path parameters

- `templateId` string, required

## Query parameters

- `accountId` string, required

## Response `200`

Template retrieved successfully

- object
  - `success` boolean
  - `template` object
    - `id` string: Meta template id. Unique per language variant; usable on /v1/whatsapp/templates/id/{templateId}.
    - `name` string
    - `status` string
    - `category` string
    - `language` string: The variant actually returned.
    - `components` object[]
    - `message_send_ttl_seconds` integer: Only when a custom TTL is set; absent while the category default applies.
    - `rejected_reason` string: Only when status is REJECTED.
    - `quality_score` object: Post-approval quality (GREEN/YELLOW/RED), when Meta reports one.

## Other responses

- `400`: Invalid request
- `401`: Missing or invalid API key. `code` is `missing_credentials` when no Authorization header was sent and `invalid_credentials` when the key is unknown, revoked or expired.
- `404`: Account not found.
- `502`: Meta rejected the request (including an id the account cannot access) or was unreachable. Meta 4xx statuses are forwarded as-is.

## Changes

- **2026-10-06** `f8c8f34fb41a`: 2 warning
  - added the new `account` enum value to the `details/budgetScope` response property for the response status `400`
  - added the new `account` enum value to the `details/budgetScope` response property for the response status `401`
- **2026-10-02** `d556591af3f6`: 8 info
  - added the optional property `code` to the response with the `401` status
  - added the optional property `details` to the response with the `401` status
  - added the optional property `docUrl` to the response with the `400` status
  - added the optional property `docUrl` to the response with the `401` status
  - …4 more
- **2026-09-30** `16a7b9d5373e`: 1 info
  - removed the `platform` enum value from the `details/budgetScope` response property for the response status `400`
- **2026-09-25** `2c04683ce694`: 4 info
  - added the optional property `details/adAccountId` to the response with the `400` status
  - added the optional property `details/createdObjects` to the response with the `400` status
  - added the optional property `details/stage` to the response with the `400` status
  - added the optional property `details/unconfirmedWrite` to the response with the `400` status
- **2026-09-16** `3e6ddf2a99ea`: 1 info
  - added the optional property `details/budgetScope` to the response with the `400` status

[Operation history](https://skmtc.dev/zernio/apis/zernio-api/changes/v1/whatsapp/templates/id/:templateId/get.md)

---

[API](https://skmtc.dev/zernio/apis/zernio-api.md) · [All operations](https://skmtc.dev/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zernio/apis/zernio-api/revisions/4e74db179e73?raw)
