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

# Get email templates

`GET /email-templates`

With this endpoint you can get a paginated list of email templates.

**Sorting:**
Use `sort` and `direction` to control the order of results.
Supported sort fields: `createdAt` (default), `name`.
Supported directions: `asc`, `desc` (default).

**Filtering:**
Use `nameContains` to filter templates by name (case-insensitive partial match, max 200 characters)

**Pagination:**
This endpoint uses cursor-based pagination for efficient traversal of large datasets.
- Use the `paging.cursors.after` value from the response to get the next page
- Use the `paging.cursors.before` value from the response to get the previous page
- The `paging.hasMore` field indicates if more results are available
- Do not use both `after` and `before` parameters simultaneously
- Maximum page size is 100 items (default 50)
- If `limit` is less than 1 or greater than 100, returns 400 Bad Request

**Scopes:**
`email-templates.read`

## Query parameters

- `limit` integer
- `after` string
- `before` string
- `sort` 'createdAt' | 'name'
- `direction` 'asc' | 'desc'
- `nameContains` string

## Headers

- `Omnisend-Version` string, required

## Response `200`

List of email templates with pagination

- TemplateListResponse — List of email templates with pagination
  - `paging` PagingResponse — Cursor-based pagination metadata
    - `cursors` CursorsResponse — Cursor pointers for paginating forward and backward through results
      - `after` string, nullable — Opaque cursor for fetching the next page of results
      - `before` string, nullable — Opaque cursor for fetching the previous page of results
    - `hasMore` boolean — Whether there are more items available beyond the current page
    - `limit` integer — Maximum number of items returned per page
  - `templates` TemplateListItem[] — List of email templates
    - `createdAt` string — Template created at (read-only)
    - `id` string — Template unique identifier (read-only)
    - `name` string — Template name
    - `updatedAt` string — Template updated at (read-only)

## Other responses

- `400` — Invalid query parameters or missing brand ID
- `401` — Authentication is missing or invalid
- `403` — Insufficient permissions for this operation
- `410` — API version has been retired
- `429` — Rate limit exceeded
- `500` — Unexpected error occurred

---

[API](https://skmtc.dev/omnisend/apis/events-api.md) · [All operations](https://skmtc.dev/omnisend/apis/events-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/omnisend/events-api/revisions/50214fbc283f/schema)
