---
title: "List email templates"
method: GET
path: "/email_templates"
tags: ["Email Templates"]
---

# List email templates

`GET /email_templates`

## Request

- Base URL: `https://api.telnyx.com/v2`
- URL: `https://api.telnyx.com/v2/email_templates`
- Auth: HTTP bearer

Lists templates sorted newest first by `created_at desc, id desc`. Optional filters match a case-insensitive literal name/subject query, stored body presence, and the `strict_variables` and `autoescape` settings. Filters intersect, remain scoped to the authenticated account, and apply before cursor pagination. Invalid filter names or values return 400.

## Query parameters

- `page_size` integer
- `page_cursor` string
- `filter[query]` string
- `filter[content_type]` 'html_and_text' | 'html_only' | 'text_only' | 'no_body'
- `filter[strict_variables]` 'true' | 'false'
- `filter[autoescape]` 'true' | 'false'

## Response `200`

Paginated list of templates.

- EmailTemplateListResponse
  - `data` EmailTemplate[], required
    - `record_type` 'email_template', required
    - `id` string, uuid, required
    - `name` string, required
    - `html_body` string, nullable, required
    - `text_body` string, nullable, required
    - `variables` string[], required: Persisted variable names. In `explicit` mode this array preserves the exact provided order, duplicates, and string contents; in `automatic` mode it is derived from the stored subject and bodies.
    - `variables_mode` 'automatic' | 'explicit', required: `automatic` when variable names are derived from template content; `explicit` when `variables` is the exact manually managed array.
    - `strict_variables` boolean, required: Whether strict variable validation is enabled for this template. When `true`, sends and renders that are missing a variable marked `required: true` in `variable_schema` fail with 422 naming the variable.
    - `autoescape` boolean, required: Whether HTML autoescaping is enabled for this template. When `true`, only rendered `html_body` expression output is HTML-escaped at the output boundary; `subject` and `text_body` are never autoescaped.
    - `variable_schema` object, nullable, required: Structured variable requirements, or `null` when the template uses only the legacy `variables` array.
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `subject` string, nullable, required
  - `meta` EmailPaginationMeta, required
    - `page_size` integer, required
    - `page_cursor` string: Cursor for the next page, when more results are available.

## Other responses

- `400`: Bad Request / Validation Failed (10015).
- `401`: Not authorized (10006).

## Changes

- **2026-10-15** `a72569d69430`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/team-telnyx/apis/telnyx-api/changes/email_templates/get.md)

---

[API](https://skmtc.dev/team-telnyx/apis/telnyx-api.md) - [All operations](https://skmtc.dev/team-telnyx/apis/telnyx-api/llms.txt) - [OpenAPI document](https://skmtc.dev/team-telnyx/apis/telnyx-api/revisions/0f17b8167873?raw)
