---
title: "Find all message templates."
url: https://docs.gleap.ai/en/reference/rest-api/find-message-templates
method: GET
path: "/message-templates"
api: "API Reference"
tag: "Message templates"
operationId: "FindMessageTemplates"
updatedAt: "2026-11-01T18:40:15.677Z"
language: en
---

# Find all message templates.

`GET https://api.gleap.io/v3/message-templates`

Find the message templates of a project that are visible to the calling agent (public templates plus templates shared with them), ordered by `lexorank`.

## Authorization

- `Authorization` (header, required): `Bearer <token>`

## Query parameters

- `limit` (number<double>): -   Maximum number of templates to return; unlimited when omitted (with `searchTerm`: default 25, max 50).
- `skip` (number<double>): -   Number of templates to skip.
- `searchTerm` (string): -   Matches the template title first, then body text. Search results are capped (default 25, max 50) and include `matchedIn` and `matchSnippet`.
- `visibility` (string): -   `public` for public templates only, `private` for non-public templates shared with the caller; omit for both.
- `withCount` (boolean): -   Return `{ data, totalCount }` instead of a plain array.
- `forUsage` (boolean): -   Apply usage restrictions: exclude templates limited to teams the caller is not a member of. Sent by the template pickers; the settings pages omit it so restricted templates stay manageable.
- `ticketType` (string): -   Exclude templates limited to other ticket types.
- `tag` (string): -   Only templates carrying this tag.

## Headers

- `project` (string, required)

## Example request

```bash
curl --request GET \
  --url https://api.gleap.io/v3/message-templates \
  --header 'Authorization: Bearer <token>' \
  --header 'project: <project>'
```

## Responses

### 200 (`application/json`)

Ok

```json
[]
```
