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

# List templates

`GET /v1/templates`

Returns paginated organization email and calendar templates with their content and send metadata. Combine IDs, template types, a case-insensitive name substring, and record timestamps to narrow results; every supplied filter is applied together. Use the cursor to continue the same filtered result set.

## Query parameters

- `cursor` string — Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters.
- `limit` integer — Page size. Must be between 1 and 100; defaults to 25.
- `ids` string[], nullable — Comma-separated list of IDs; maximum 100 values.
- `types` string[], nullable — Matches templates with any listed type; combines with other filters using AND.
- `name` string — Case-insensitive substring match on template name; combines with other filters using AND.
- `created_at_gte` string, date-time — Filters records created at or after this timestamp.
- `created_at_lte` string, date-time — Filters records created at or before this timestamp.
- `updated_at_gte` string, date-time — Filters records updated at or after this timestamp.
- `updated_at_lte` string, date-time — Filters records updated at or before this timestamp.

## Response `200`

Success

- object
  - `data` Template[], required
    - `id` string, required — Canonical template ID (tpl_ followed by 32 lowercase hexadecimal UUID characters).
    - `name` string, required
    - `type` 'OTHER' | 'CANDIDATE_AVAILABILITY_REQUEST' | 'CANDIDATE_CONFIRMATION' | 'CANDIDATE_INVITE' | 'DEBRIEF_CALENDAR_INVITE' | 'INTERVIEWER_INVITE' | 'SLACK_CHANNEL_MESSAGE' | 'DEBRIEF_CONFIRMATION_CONVERSATION_MESSAGE' | 'DEBRIEF_UPDATE_CONFIRMATION_CONVERSATION_MESSAGE' | 'DEBRIEF_UPDATE_CONFIRMATION_INTERVIEWER_CALENDAR_INVITE' | 'SCHEDULE_CANCELLATION_CANDIDATE_EMAIL' | 'SCHEDULE_CANCELLATION_INTERVIEWER_EMAIL' | 'SCHEDULE_CANCELLATION_CONVERSATION_MESSAGE' | 'SCHEDULE_UPDATE_CONFIRMATION_CANDIDATE_EMAIL' | 'SCHEDULE_UPDATE_CONFIRMATION_CANDIDATE_INVITE' | 'SCHEDULE_UPDATE_CONFIRMATION_INTERVIEWER_INVITE' | 'SCHEDULE_UPDATE_CONFIRMATION_CONVERSATION_MESSAGE' | 'SELF_SCHEDULE_REQUEST_CANDIDATE_EMAIL', required
    - `subject` string, nullable, required
    - `is_organization_default` boolean, required
    - `created_at` string, date-time, required — ISO 8601 timestamp.
    - `updated_at` string, date-time, required — ISO 8601 timestamp.
    - `last_sent_at` string, date-time, nullable, required — ISO 8601 timestamp.
  - `pagination` Pagination, required
    - `next_cursor` string, nullable, required

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `409` — Conflict
- `410` — Gone
- `500` — Internal error

---

[API](https://skmtc.net/modernloop/apis/modernloop-platform-api.md) · [All operations](https://skmtc.net/modernloop/apis/modernloop-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/modernloop/modernloop-platform-api/versions/33a0f9f44e4c/schema)
