---
updatedAt: 2026-09-10T15:50:00.000Z
agentTools:
  projectIndex: https://docs.synthesia.io/llms.txt
---

# List templates

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.

# OpenAPI definition

```json
{
  "info": {
    "description": "Synthesia public API endpoints",
    "title": "Synthesia API",
    "version": "2.0.0"
  },
  "servers": [
    {
      "url": "https://api.synthesia.io",
      "description": "Synthesia public API URL."
    }
  ],
  "paths": {
    "/v2/templates": {
      "get": {
        "summary": "List templates",
        "description": "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.",
        "tags": [
          "Templates"
        ],
        "security": [
          {
            "api_key": []
          }
        ],
        "parameters": [
          {
            "in": "query",
            "name": "limit",
            "description": "This parameter lets you specify the amount of videos to return in your API call. The maximum amount of videos you can have returned to you via this parameter is 100.",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 1,
              "maximum": 100
            },
            "required": false
          },
          {
            "in": "query",
            "name": "offset",
            "description": "Used to page through the videos. Every call to this endpoint will return the next offset value. This value is used in the offset parameter of the next call to get the next page of videos.",
            "schema": {
              "type": "integer",
              "default": 0,
              "minimum": 0
            },
            "required": false
          },
          {
            "in": "query",
            "name": "source",
            "description": "Filter templates by source. Possible values: `synthesia`, `workspace`, `shared_with_me`",
            "schema": {
              "type": "array",
              "default": [
                "synthesia",
                "workspace"
              ],
              "items": {
                "type": "string",
                "enum": [
                  "workspace",
                  "synthesia"
                ]
              }
            },
            "required": false,
            "explode": true,
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TemplateListResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - Wrong API key.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "default": {
            "description": "Unexpected Server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    }
  },
  "openapi": "3.0.2",
  "components": {
    "schemas": {
      "CtaSettings": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "description": "Label for a call-to-action button.",
            "example": [
              "Learn More",
              "Sign up"
            ]
          },
          "url": {
            "type": "string",
            "pattern": "^(?:(?:(?:https?|ftp):)?//)?(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)+(?:[a-z\\u00a1-\\uffff]{2,}\\.?))(?::\\d{2,5})?(?:[/?#]\\S*)?$",
            "description": "URL to navigate to, when the call-to-action button is clicked.",
            "example": [
              "https://example.com",
              "https://signup.example.com"
            ]
          }
        },
        "required": [
          "label",
          "url"
        ]
      },
      "TemplateResponse": {
        "type": "object",
        "properties": {
          "callbackId": {
            "type": "string",
            "description": "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": {
            "type": "integer"
          },
          "ctaSettings": {
            "$ref": "#/components/schemas/CtaSettings"
          },
          "description": {
            "type": "string",
            "description": "Description of the video (used on the video's share page). Defaults to the template description."
          },
          "templateId": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier of the template from which to create this video. This may be retrieved from the templates page in STUDIO."
          },
          "templateData": {
            "type": "object"
          },
          "test": {
            "type": "boolean",
            "default": false,
            "description": "Describes if the video is a test video. Test videos do not count towards your quota but are rendered with a watermark."
          },
          "title": {
            "type": "string",
            "description": "Title of the video (used on the video's share page). Defaults to the template title."
          },
          "visibility": {
            "type": "string",
            "default": "private",
            "enum": [
              "private",
              "public"
            ],
            "description": "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": {
            "type": "string",
            "nullable": true,
            "description": "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": {
            "type": "string"
          },
          "duration": {
            "type": "string"
          },
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "lastUpdatedAt": {
            "type": "integer"
          },
          "variables": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "required": [
          "templateData",
          "templateId"
        ]
      },
      "TemplateListResponse": {
        "type": "object",
        "properties": {
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TemplateResponse"
            }
          },
          "nextOffset": {
            "type": "integer"
          }
        }
      },
      "Error": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string"
          },
          "context": {
            "type": "string"
          }
        },
        "required": [
          "error"
        ]
      }
    },
    "securitySchemes": {
      "api_key": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization"
      }
    }
  }
}
```

# Sibling pages

* [Retrieve a template](https://docs.synthesia.io/reference/retrieve-a-template.md)