---
title: "List the lifecycle email catalog"
method: GET
path: "/v1/admin/emails"
tags: ["admin"]
---

# List the lifecycle email catalog

`GET /v1/admin/emails`

## Request

- Base URL: `https://api.patricia.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.patricia.app/v1/admin/emails`
- Auth: HTTP bearer

Every lifecycle email with the routing metadata a staff operator needs to pick one, so the admin console offers a picker instead of asking for a typed id. Read-only. Internal admin users only, since only the console needs it.

## Response `200`

Successful Response

- EmailCatalogList: The whole lifecycle catalog plus whether test sending is armed in this environment.
  - `items` EmailCatalogEntry[], required
    - `id` string, required
    - `stage` string, required
    - `category` string, required
    - `priority` string, required
    - `audience` string, required
    - `timing` string, required
    - `trigger` string, required
    - `subject` string, required
    - `variables` string[], required
    - `has_rule` boolean, required: Whether a trigger rule owns this email (drives entry/send conditions).
  - `count` integer, required
  - `test_send_enabled` boolean, required: False when API_EMAIL_TEST_SEND_ENABLED is off, so the console can say so instead of 404ing.

## Other responses

- `401`: Unauthorized
- `403`: Permission denied (PERMISSION_DENIED) or email not verified (EMAIL_NOT_VERIFIED)
- `422`: Validation error

---

[API](https://skmtc.dev/patricia/apis/patricia-api.md) · [All operations](https://skmtc.dev/patricia/apis/patricia-api/llms.txt) · [OpenAPI document](https://skmtc.dev/patricia/apis/patricia-api/revisions/0dfb44495ea1?raw)
