---
title: "List templates"
method: GET
path: "/ad_accounts/{ad_account_id}/templates"
tags: ["ad_accounts"]
---

# List templates

`GET /ad_accounts/{ad_account_id}/templates`

## Request

- Base URL: `https://api.pinterest.com/v5`
- URL: `https://api.pinterest.com/v5/ad_accounts/{ad_account_id}/templates`
- Auth: OAuth 2
  - Authorization code: `https://www.pinterest.com/oauth/`
  - Token URL: `https://api.pinterest.com/v5/oauth/token` scopes: `ads:read`
- TypeScript: <https://skmtc.dev/pinterest/apis/pinterest-rest-api/docs/ad_accounts/:ad_account_id/templates/get.ts> (a function with typed inputs; its response is checked against the schema)

Gets all Templates associated with an ad account ID.

## Path parameters

- `ad_account_id` string, required

## Query parameters

- `bookmark` string
- `page_size` integer
- `order` 'ASCENDING' | 'DESCENDING'

## Response `200`

The request has succeeded.

- object
  - `bookmark` string, nullable
  - `items` AccountTemplate[], required
    - `ad_account_id` string: ID of the Ad Account that owns the template
    - `ad_account_ids` string[]: IDs of the Ad Accounts that have access to this template
    - `ade_columns` AdeColumn[]: A list of ADE columns
    - `attribution_type` string: Attribution type for Brand/Category/SKU reports
    - `click_window_days` number: The length of the sliding window over which click conversions will be attributed
    - `columns` ReportingColumn[]: A list of columns to be included in the report
    - `conversion_report_time_type` 'TIME_OF_AD_ACTION' | 'TIME_OF_CONVERSION': Conversion report time type
    - `creation_source` 'ADS_API' | 'ADS_MANAGER_REPORTING_PAGE' | 'ADS_MANAGER_REPORT_BUILDER': The source of conversion events ingestion
    - `custom_column_ids` string[], nullable: A list of custom column IDs
    - `display_metadata` string: Additional metadata about this reporting template
    - `engagement_window_days` number: The length of the sliding window over which engagement conversions will be attributed
    - `filters_json` string, nullable: A JSON representation of any filters to be applied before returning report data. Each filter object should contain all of the following fields:\ "field": The column name\ "operator": The operator. Allowed operators: ["=", "!=", "in", "not_in", "~", ">", "<", "contains_substring"]\ "value": A single value or a list of values
    - `granularity` 'TOTAL' | 'DAY' | 'HOUR' | 'WEEK' | 'MONTH': Specifies the time interval at which analytics data is broken down. Determines how metrics are grouped within the requested date range. **Note:** The `HOUR` enum no longer provides data for conversion metrics, but it still returns data for non-conversion metrics. All other enums are unchanged.
    - `id` string, required: Template ID
    - `ingestion_sources` IngestionSource[], nullable: The filter on the conversion ingestion source method for conversion metrics
    - `is_default` boolean: A boolean representing if this is the default view that loads for this template type
    - `is_deleted` boolean, nullable: A boolean that indicates if the template has been deleted
    - `is_owned_by_user` boolean: A boolean value that indicates if the user owns the template
    - `is_scheduled` boolean: A boolean value that indicates if this template has been used to create a scheduled report
    - `name` string, nullable: Template Name
    - `report_end_relative_days_in_past` number: The number of days prior to the day the report will be delivered at which the report will end
    - `report_format` 'JSON' | 'CSV': Format of generated report
    - `report_level` 'ADVERTISER' | 'ADVERTISER_TARGETING' | 'CAMPAIGN' | 'CAMPAIGN_TARGETING' | 'AD_GROUP' | 'AD_GROUP_TARGETING' | 'PIN_PROMOTION' | 'PIN_PROMOTION_TARGETING' | 'KEYWORD' | 'PRODUCT_GROUP' | 'PRODUCT_GROUP_TARGETING' | 'PRODUCT_ITEM' | 'PRODUCT_ITEM_TARGETING': Level of the reporting request
    - `report_start_relative_days_in_past` number: The number of days prior to the day the report will be delivered at which the report will start
    - `reporting_time_zone` 'PINTEREST_TIME_ZONE' | 'AD_ACCOUNT_TIME_ZONE': Specify the timezone to be applied for the reporting.
    - `sort_by` unknown
    - `type` string: Type of the template
    - `updated_time` number: Time of last update in seconds since Unix epoch
    - `user_id` string: ID of the user who created the template
    - `view_window_days` number: The length of the sliding window over which view conversions will be attributed

## Other responses

- `400`: The request could not be understood by the server due to unexpected data.
- `401`: Authentication is required and has either failed or not been provided.
- `403`: The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.
- `404`: The requested resource could not be found on this server.
- `429`: The user has sent too many requests in a given amount of time and is being rate limited.
- `default`: An unexpected error response.

## Changes

- **2026-06-04** (v5) `b698c180678a`: 2 breaking, 7 info
  - for the `query` request parameter `order`, default value `ASCENDING` was added
  - the response's body type changed from no type to `object` for status `200`
  - removed `#/components/schemas/Paginated, subschema #2` from the response body `allOf` list for the response status `200`
  - added the non-success response with the status `401`
  - …5 more
- **2025-12-11** (v5) `79f62f71f05b`: 772 warning
  - added the new `APP_INSTALL_APP_ID` enum value to the `allOf[subschema #2]/items/items/columns/items/` response property for the response status `200`
  - added the new `APP_INSTALL_APP_NAME` enum value to the `allOf[subschema #2]/items/items/columns/items/` response property for the response status `200`
  - added the new `APP_OPEN_COST_PER_ACTION` enum value to the `allOf[subschema #2]/items/items/columns/items/` response property for the response status `200`
  - added the new `APP_OPEN_COST_PER_ACTION_IN_US_DOLLAR` enum value to the `allOf[subschema #2]/items/items/columns/items/` response property for the response status `200`
  - …768 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/pinterest/apis/pinterest-rest-api/changes/ad_accounts/:ad_account_id/templates/get.md)

---

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