---
title: "Get a template"
method: GET
path: "/templates/{id}"
tags: ["Templates"]
---

# Get a template

`GET /templates/{id}`

## Request

- Base URL: `https://sending.dev/api/v1`
- URL: `https://sending.dev/api/v1/templates/{id}`
- Auth: HTTP bearer

Content included: use it to re-read a template before fixing it and to know which variables it expects before using it in a send. Required scope: `templates:read` or `templates:write`.

## Path parameters

- `id` string, required: Template ID.

## Response `200`

Template detail.

- object
  - `template` Template, required
    - `id` string, uuid, required
    - `name` string, required
    - `channel` 'email' | 'whatsapp' | 'telegram', required: Derived primary channel (email wins when enabled).
    - `channels` string[], required
    - `format` 'markdown' | 'html' | 'text' | 'blocks', required
    - `subject` string, nullable, required
    - `variables` string[], required: {{...}} variables found in the content. Derived, not declared.
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
    - `body` string, required
    - `channelText` object, nullable, required: Text overrides for chat channels.
      - `whatsapp` string
      - `telegram` string

## Other responses

- `401`: Missing or invalid token.
- `403`: Insufficient scope.
- `404`: Resource not found.

---

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