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

# List templates

`GET /templates`

## Request

- Base URL: `https://api.grapesjs.com/v1`
- URL: `https://api.grapesjs.com/v1/templates`
- Auth: HTTP bearer

Returns public and/or workspace templates with page-based pagination.

## Query parameters

- `page` integer
- `pageSize` integer
- `source` 'public' | 'workspace' | 'all'
- `type` 'web' | 'email'
- `q` string

## Response `200`

Templates listed successfully

- ListTemplatesResult
  - `items` TemplateSummary[], required: Templates in the current page.
    - `id` string, required: Template ID.
    - `source` 'public' | 'workspace', required
    - `name` string, required: Template name.
    - `description` string, nullable, required: Short template description.
    - `type` 'web' | 'email', required
    - `createdAt` string, date-time, required: Template creation date and time.
    - `updatedAt` string, date-time, required: Last template update date and time.
    - `previewUrl` string, nullable: URL of the template preview image.
    - `publishedUrl` string, nullable: Published template URL. `null` means the template is not published.
    - `lastPublishedAt` string, date-time, nullable, required: Last publish date and time.
  - `total` integer, required: Total number of matching templates.
  - `page` integer, required: Current page index.
  - `pageSize` integer, required: Number of items per page.

## Other responses

- `400`: Invalid request
- `401`: Unauthorized
- `500`: Server error

---

[API](https://skmtc.dev/grapesjs/apis/studio-platform-api.md) - [All operations](https://skmtc.dev/grapesjs/apis/studio-platform-api/llms.txt) - [OpenAPI document](https://skmtc.dev/grapesjs/apis/studio-platform-api/revisions/acc4ffe35e2d?raw)
