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

# List templates

`GET /v2/templates`

## Request

- Base URL: `https://api.synthesia.io`
- URL: `https://api.synthesia.io/v2/templates`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/synthesia/apis/synthesia-api/docs/v2/templates/get.ts> (a function with typed inputs; its response is checked against the schema)

Use the List templates endpoint to get an overview of all templates in Synthesia STUDIO, as well as the variables that may be provided when using them.

## Query parameters

- `limit` integer
- `offset` integer
- `source` string[]

## Response `200`

OK.

- TemplateListResponse
  - `templates` TemplateResponse[]
    - `callbackId` string: A callback ID that you may attach to the Video object. This is useful in the scenario where you need to store additional metadata on the video.
    - `createdAt` integer
    - `ctaSettings` CtaSettings
      - `label` string, required: Label for a call-to-action button.
      - `url` string, required: URL to navigate to, when the call-to-action button is clicked.
    - `description` string: Description of the video (used on the video's share page). Defaults to the template description.
    - `templateId` string, uuid, required: Unique identifier of the template from which to create this video. This may be retrieved from the templates page in STUDIO.
    - `templateData` object, required
    - `test` boolean: Describes if the video is a test video. Test videos do not count towards your quota but are rendered with a watermark.
    - `title` string: Title of the video (used on the video's share page). Defaults to the template title.
    - `visibility` 'private' | 'public': Describes the private settings of the video. - If public, the video's share page is active. - If private, the video's share page is not active; visitors will receive a 404 Not Found response.
    - `brandKitId` string, nullable: Brand kit ID for the video. Defaults to 'workspace_default' if not set. Use 'no_brand_kit' for no branding, or a UUID for a custom brand kit.
    - `download` string
    - `duration` string
    - `id` string, uuid
    - `lastUpdatedAt` integer
    - `variables` object[]
  - `nextOffset` integer

## Other responses

- `400`: Bad Request.
- `403`: Forbidden - Wrong API key.
- `default`: Unexpected Server error.

---

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