---
title: "List email templates"
method: GET
path: "/api/v1/journeys/email-templates"
tags: ["Journeys"]
---

# List email templates

`GET /api/v1/journeys/email-templates`

## Request

- Base URL: `https://www.useboom.ai`
- URL: `https://www.useboom.ai/api/v1/journeys/email-templates`
- Auth: HTTP bearer

Everything a SEND_EMAIL node needs: the PUBLISHED email templates it can use, the org's email readiness, and the senders available as From / Reply-To overrides. Email has no channelId — it sends from the org's verified domain — which is why it is not in journeys_message_channels. Publish refuses a SEND_EMAIL node unless readiness.verified and readiness.hasSender are both true (or the node sets a fromSenderIdOverride whose sender is usableAsFrom).

## Response `200`

Success

- object
  - `readiness` object, required
    - `configured` boolean, required: An email domain has been added for this org.
    - `verified` boolean, required: That domain passed DNS verification.
    - `domain` string, nullable, required
    - `hasSender` boolean, required: A default From resolves: a default sender on the verified domain, or the legacy domain fromAddress.
  - `senders` object[], required
    - `id` string, required
    - `displayName` string, required
    - `address` string, required
    - `isDefault` boolean, required
    - `usableAsFrom` boolean, required: On the verified domain, so valid as fromSenderIdOverride. An off-domain sender is Reply-To only.
  - `data` object[], required
    - `id` string, required: Use as the node's templateId.
    - `name` string, required
    - `subject` string, required
    - `variables` object[], required: Placeholders the template uses. `key` is what a node's `bindings` map from; `path` is what it resolves to when left unbound.
      - `key` string, required
      - `path` string, required
    - `fromSenderId` string, nullable, required
    - `replyToSenderId` string, nullable, required

## Other responses

- `400`: Validation failed or the request cannot proceed.
- `401`: Missing, malformed, or revoked API key.
- `404`: The resource does not exist in this organization.
- `409`: Conflicts with the current state (duplicates, wrong lifecycle state).
- `422`: The request is well-formed but semantically invalid.
- `429`: Rate limit exceeded — retry after `Retry-After`.
- `500`: Internal server error.
- `503`: Transient error — retry with a narrower request.

## Changes

- **2026-11-03** `7c7a773b12ce`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/useboom/apis/boom-api/changes/api/v1/journeys/email-templates/get.md)

---

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