> ## Documentation Index
> Fetch the complete documentation index at: https://www.courier.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Install the Courier skill before writing code: `npx skills add trycourier/courier-skills`. It carries the verified SDK shapes and the rules you cannot get wrong.
> Authenticate every request with `Authorization: Bearer <API_KEY>`. A workspace has several environments and each has its own keys, which are plain `pk_` strings with no environment prefix. Start with Test.
> Send with `client.send.message`, the default import of the v7 Node SDK. Reference a template by its `nt_` id or its alias.
> A send accepts a bare Elemental element list, but storing content on a template requires the top-level elements wrapped in a channel element.
> Templates and journeys can be built in the Courier app or created through the API. Either way they live in the workspace and are referenced by ID when you send.
> The hosted MCP server is https://mcp.courier.com. For a briefing on what Courier is and when to use it, read https://www.courier.com/llms.txt.
> Prefer the Guides tab for how-do-I questions and the Docs tab for how-does-it-behave questions. The API reference lives under /api-reference.

# Glossary

> Courier terms and every generated ID prefix, defined in plain language.

export const Guide = ({href, children, name, bare}) => {
  const label = children || name || href;
  if (bare) {
    return <a href={href}>{label}</a>;
  }
  return <a className="cx-endpoint" data-kind="guide" href={href}>
      <span className="cx-endpoint-label">{label}</span>
      <span className="cx-endpoint-method">GUIDE</span>
    </a>;
};

export const Doc = ({href, children, name, bare}) => {
  const label = children || name || href;
  if (bare) {
    return <a href={href}>{label}</a>;
  }
  return <a className="cx-endpoint" data-kind="doc" href={href}>
      <span className="cx-endpoint-label">{label}</span>
      <span className="cx-endpoint-method">DOC</span>
    </a>;
};

Most terms link to the page that explains them.

## ID prefixes

An ID Courier generates carries a prefix naming what it is. An ID you supply does not, so a `list_id`, `audience_id`, `tenant_id`, or `user_id` is whatever string you chose. Reading a prefix tells you which resource an ID belongs to without looking it up.

| Prefix  | Resource                   |
| ------- | -------------------------- |
| `nt_`   | Notification template      |
| `rs_`   | Routing strategy           |
| `env_`  | Workspace environment      |
| `elem_` | Element                    |
| `ptl_`  | Partial, or shared content |
| `pc_`   | Provider configuration     |
| `exp_`  | Experiment                 |
| `bst_`  | Broadcast                  |
| `wrk_`  | Workspace                  |
| `bnd_`  | Brand                      |
| `jry_`  | Journey                    |
| `ps_`   | Preference section         |
| `pt_`   | Preference topic           |

Those thirteen are the whole set. **A prefix that is not on this list is not a Courier ID format.** An example showing one for a resource you supply the ID for is wrong, not a variant.

## A

**<Doc href="/docs/workspaces/overview#environments-and-api-keys">API Key</Doc>** - A secret token that authenticates requests to Courier's REST API.

**<Doc href="/docs/recipients/lists-and-audiences/audiences">Audience</Doc>** - A user group defined by filter rules, updated automatically.

**<Doc href="/docs/journeys/overview">Automation</Doc>** - A multi-step workflow with conditional logic, delays, digests, and send steps.

## B

**<Doc href="/docs/journeys/nodes">Batching</Doc>** - An automation step that groups several triggers into one action.

**<Doc href="/docs/design/brands">Brand</Doc>** - A visual template that styles email notifications with your logo, colors, and layout.

**<Guide href="/docs/guides/announce-to-a-list">Bulk Send</Guide>** - Sending one notification to many recipients through a job-based API workflow.

## C

**<Doc href="/docs/integrations/overview">Channel</Doc>** - A communication method: email, SMS, push, in-app inbox, or direct message (Slack, Discord).

**<Doc href="/docs/send/routing#channel-priority">Channel Priority</Doc>** - The order Courier tries channels when delivering a notification.

**<Doc href="/docs/design/templates/design-studio">Conditions</Doc>** - Logic that turns content blocks, channels, or whole notifications on and off based on data.

**<Doc href="/docs/design/templates/design-studio">Content Block</Doc>** - A reusable, responsive component (text, image, action button) used inside a template.

**<Doc href="/docs/design/embedded-designer/overview">Courier Create</Doc>** - An embeddable designer that lets your users edit notification templates inside your app.

## D

**<Guide href="/docs/guides/send-a-daily-digest#set-up-a-topic-digest">Digest category</Guide>** - A split within one digest, such as tasks against comments. Its retain rule picks which events appear: first, last, or highest or lowest by a sort key.

**<Doc href="/docs/send/delay-and-schedule">Delay</Doc>** - An automation step that waits for a duration, or until a specific time.

**Delivery** - The final step, where a provider gets the message to the recipient.

**<Doc href="/docs/design/templates/design-studio">Designer</Doc>** - Courier's visual editor for notification templates.

**Device Token** - An identifier for one app on one device, issued by Apple (APNs) or Google (FCM).

**<Doc href="/docs/guides/send-a-daily-digest">Digest</Doc>** - Batching several notifications into one message, to cut notification fatigue.

**<Doc href="/docs/send/statuses">DIGESTED</Doc>** - The status of a send held for a digest rather than delivered. It means the recipient is on a digest schedule for that topic.

**<Doc href="/docs/design/templates/overview">Draft / Published</Doc>** - The two states of a notification template.

## E

**<Doc href="/docs/design/elemental/overview">Elemental</Doc>** - A JSON syntax for describing notification content across every channel.

**<Doc href="/docs/workspaces/overview#environments-and-api-keys">Environment</Doc>** - A test or production instance of a workspace, so development never touches live notifications.

**Event** - A trigger identifier, usually the template ID passed in a send request's `template` field.

## F

**<Doc href="/docs/send/routing#failover">Failover</Doc>** - Automatic switching to a backup provider when the primary one fails.

**<Doc href="/docs/in-app/overview">Feed</Doc>** - A filtered stream of messages in the Inbox component.

## G

**<Doc href="/docs/send/statuses#send-limits">Guardrails</Doc>** - Send limits that prevent accidental sends to large audiences, or too many messages to one user.

## H

**<Doc href="/docs/design/templates/variables">Handlebars</Doc>** - A templating language for dynamic values, conditionals, and loops in templates.

## I

**<Doc href="/docs/reference/api-overview#idempotency">Idempotency Key</Doc>** - An identifier sent with a request to prevent duplicate processing.

**<Doc href="/docs/in-app/overview">Inbox</Doc>** - Courier's in-app notification center component for web and mobile.

**Inline Content** - Content defined in the Send API request body instead of a stored template.

**<Doc href="/docs/integrations/overview">Integration</Doc>** - A connection between Courier and a provider (SendGrid, Twilio) that delivers your messages.

**<Guide href="/docs/guides/send-a-daily-digest#which-schedule-a-user-is-on">Instant</Guide>** - A digest schedule that delivers immediately, so a user on it opts out of digesting. Making it the topic default means every user who never chose a schedule delivers immediately.

## J

**<Doc href="/docs/integrations/direct-message/overview">Jsonnet</Doc>** - A data templating language for transforming data in content blocks and the <Doc href="/docs/design/templates/data-mapping">webhook designer</Doc>.

**<Doc href="/docs/in-app/authenticate-users">JWT (JSON Web Token)</Doc>** - A token for client-side authentication, required by Inbox and other frontend SDKs.

## L

**<Doc href="/docs/recipients/lists-and-audiences/lists">List</Doc>** - A static group of users you manage by hand, unlike an audience.

**<Doc href="/docs/design/elemental/locales">Locale</Doc>** - A language or regional variant (`en-US`, `fr-FR`) for localized content.

**<Doc href="/docs/monitor/overview">Logs</Doc>** - A timeline of sent messages with delivery status, provider responses, and rendered content.

## M

**<Doc href="/docs/resources/mcp">MCP (Model Context Protocol)</Doc>** - A protocol that lets AI agents work with Courier.

**Message** - One notification sent to one recipient.

**<Doc href="/docs/monitor/overview">Message Status</Doc>** - The delivery state of a message: enqueued, sent, delivered, opened, clicked, or undeliverable.

## N

**Notification** - A reusable message template with <Doc href="/docs/design/templates/variables">variables</Doc>, sendable on one or more channels.

## O

**Override** - A change to the request body Courier sends a provider, for provider options the designer does not expose.

**<Doc href="/docs/monitor/webhooks/outbound">Outbound Webhook</Doc>** - A webhook Courier fires on events like sent or delivered, to sync delivery data elsewhere.

## P

**<Doc href="/docs/recipients/preferences/overview">Preferences</Doc>** - User-controlled settings for which notifications they get, and on which channels.

**<Doc href="/docs/recipients/overview#the-profile-object">Profile</Doc>** - A JSON object storing a user's contact information, device tokens, and custom attributes.

**<Doc href="/docs/integrations/overview">Provider</Doc>** - The downstream service (Twilio, SendGrid) that delivers notifications to recipients.

## R

**Recipient** - The end user who receives notifications, identified by their <Doc href="/docs/recipients/overview#the-profile-object">profile</Doc>.

**<Doc href="/docs/send/routing">Routing</Doc>** - The logic that picks which channels and providers deliver a notification.

## S

**<Doc href="/docs/design/templates/design-studio">Send Conditions</Doc>** - Rules evaluated at send time that decide whether a notification goes out.

**<Guide href="/docs/guides/send-a-daily-digest#schedules">Schedule</Guide>** - When a topic's digests release, as a recurrence such as daily, weekly, or monthly. It lives on the preference topic, and each user picks the one they are on in the preference center.

**<Doc href="/docs/send/statuses#send-limits">Send Limit</Doc>** - A cap on notifications sent to a user, topic, or tenant per time period.

**<Doc href="/docs/recipients/preferences/overview">Subscription Topic</Doc>** - A notification category ("Marketing", "Order Updates") users can opt in or out of.

## T

**<Doc href="/docs/design/templates/design-studio">Template</Doc>** - A reusable message design, built in the Designer and sent to many recipients.

**<Doc href="/docs/design/templates/api#approval-workflow">Template Approval</Doc>** - A review step required before a template can be published to production.

**<Doc href="/docs/tenants/overview">Tenant</Doc>** - A customer organization in a multi-tenant app, with its own branding, preferences, and data.

**<Doc href="/docs/journeys/nodes">Throttle</Doc>** - An automation step that caps how often a notification triggers for a scope (per-user, global, or dynamic key).

**<Doc href="/docs/in-app/add-toasts">Toast</Doc>** - A pop-up the Inbox SDK components show when a new message arrives.

**Trigger** - An action or event that starts an <Doc href="/docs/journeys/overview">automation</Doc> or sends a notification.

## V

**<Doc href="/docs/design/templates/variables">Variable</Doc>** - A template placeholder (`{name}`, `{order_id}`) replaced with real data at send time.

## W

**<Doc href="/docs/workspaces/overview">Workspace</Doc>** - The top-level container for all your Courier resources, environments, team members, and settings.
