---
title: "List project templates"
method: GET
path: "/project/v1/templates"
tags: ["templates"]
---

# List project templates

`GET /project/v1/templates`

List project templates with cursor-based pagination. Returns templates in descending order by update time.

## Query parameters

- `projectId` string, required
- `limit` integer
- `cursor` string
- `displayMode` 'email' | 'web' | 'document'
- `name` string

## Response `200`

Default Response

- object
  - `data` object[], required
    - `id` string — Template ID
    - `name` string — Template name
    - `displayMode` 'email' | 'web' | 'document' — Template type/display mode
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
  - `next_cursor` string, nullable — Cursor for the next page. Null if no more results.
  - `has_more` boolean, required — Whether there are more results after this page

## Other responses

- `400` — Default Response
- `401` — Default Response
- `403` — Default Response
- `404` — Default Response

## Changes

- **2026-01-19** `42ce261f6dec` — 2 warning, 12 info
  - removed the optional property `data/items/body` from the response with the `200` status
  - removed the optional property `data/items/subject` from the response with the `200` status
  - added the new optional `query` request parameter `cursor`
  - added the new optional `query` request parameter `displayMode`
  - …10 more
- **2026-01-13** `343ccfa7da7d` — 1 breaking
  - added the new required `query` request parameter `projectId`
- **2025-12-09** `9c0284025bec` — 1 breaking, 1 info
  - api path removed without deprecation
  - endpoint added

[Change history](https://skmtc.dev/unlayer/apis/unlayer-api/changes/project/v1/templates/get.md)

---

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