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

# List email templates

`GET /email_templates`

Lists templates sorted newest first by `created_at desc, id desc`.

## Query parameters

- `page_size` integer
- `page_cursor` string

## Response `200`

Paginated list of templates.

- EmailTemplateListResponse
  - `data` EmailTemplate[], required
    - `record_type` 'email_template', required
    - `id` string, uuid, required
    - `name` string, required
    - `subject` string, nullable, required
    - `html_body` string, nullable, required
    - `text_body` string, nullable, required
    - `variables` string[], required — Legacy unstructured variable names. This path remains supported unchanged.
    - `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
  - `meta` EmailPaginationMeta, required
    - `page_size` integer, required
    - `page_cursor` string — Cursor for the next page, when more results are available.

## Other responses

- `401` — Not authorized (10006).

## Changes

> 92 revisions in range; 1 not diffed.

- **2026-09-23** `16bfa298dc71` — 3 info
  - added the required property `data/items/autoescape` to the response with the `200` status
  - added the required property `data/items/strict_variables` to the response with the `200` status
  - added the required property `data/items/variable_schema` to the response with the `200` status
- **2026-09-22** `9621f6123ebc` — 2 warning
  - added the new `10011` enum value to the `errors/items/code` response property for the response status `401`
  - added the new `domain_graduation_limit_exceeded` enum value to the `errors/items/code` response property for the response status `401`
- **2026-07-16** `2fb3b617430a` — 2 warning, 1 info
  - added the new `recipient_suppressed` enum value to the `errors/items/code` response property for the response status `401`
  - added the new `reputation_suspended` enum value to the `errors/items/code` response property for the response status `401`
  - added the optional property `suppressed` to the response with the `401` status
- **2026-07-12** `b3c5aebde44c` — 2 warning
  - added the new `10027` enum value to the `errors/items/code` response property for the response status `401`
  - added the new `10036` enum value to the `errors/items/code` response property for the response status `401`
- **2026-07-07** `6ef0ae248bf7` — 1 info
  - endpoint added

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

---

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