Use this API to retrieve details of all page templates available for a data source.
page_size results (up to 100) under the templates key. Each element of the array is a JSON object with the following attributes:
| Key | Data Type | Meaning |
|---|---|---|
id | String (UUIDv4 format) | The ID of the template. |
name | String | The display name of the template. |
is_default | Boolean | Whether that template is the data source’s default. |
has_more boolean field is set to true, and the next_cursor is set to the ID of the next template to use as the start_cursor of your next API request.
Only templates under the data source identified by the data_source_id in the URL are returned. Also, the bot must have access to the template for it to appear in this API. However, in most cases, as long as the bot is connected to the data source’s parent database (check the “Connections” list under the 3-dot menu), this access also extends to all of the child templates.
Templates are also valid Notion pages, so you can retrieve a template’s full properties and content using the Retrieve a page API. This also means that opening a template in the Notion app and copying its URL is an alternative way to get its ID.Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
The API version to use for this request. The latest version is 2025-09-03.
2025-09-03 ID of a Notion data source.
Filter templates by name (case-insensitive substring match).
If supplied, this endpoint will return a page of results starting after the cursor provided. If not supplied, this endpoint will return the first page of results.
The number of items from the full list desired in the response. Maximum: 100
1 <= x <= 100Array of templates available in this data source.
100Whether there are more templates available beyond this page.
Cursor to use for the next page of results. Null if there are no more results.