llmsmap.ru
Назад в каталог

courier.com

проверка ИИ-оптимизации

courier.com
60из 100Средне

Проверка ИИ-оптимизации19.07.2026

Редакционное резюме ИИ

Courier добавлен по независимой проверке международного каталога. На момент аудита AI-готовность домена courier.com оценена в 60/100: llms.txt доступен. Расширенный llms-full.txt не обнаружен; карточка сформирована по фактическим данным сайта и его публичным файлам.

15 956Токены llms.txt
Токены llms-full.txt
ai.txt
sitemap.xml

Проверки ИИ-оптимизации

llms.txt

Файл найден и доступен

https://www.courier.com/docs/llms.txt
llms-full.txt

Полная версия не найдена

ai.txt

Файл ai.txt не найден

robots.txt

Файл найден

https://courier.com/robots.txt
Sitemap в robots.txt2 шт.

Найдено карт сайта: 2

Schema.org (JSON-LD)

Разметка Schema.org не найдена на главной

OpenGraph

OpenGraph теги не найдены на главной

Доступ ИИ-ботов

На основе анализа robots.txt

GPTBotНе упомянут
OAI-SearchBotНе упомянут
ChatGPT-UserНе упомянут
Google-ExtendedНе упомянут
ClaudeBotНе упомянут
Claude-SearchBotНе упомянут
Claude-UserНе упомянут
BytespiderНе упомянут
CCBotНе упомянут
PerplexityBotНе упомянут
Perplexity-UserНе упомянут
# Courier

> Courier is infrastructure for product-to-user communication. Send notifications across email, SMS, push, chat, and in-app channels through one API call.

## About

- **Type**: APIService
- **Category**: Notifications / Messaging Infrastructure
- **Language**: English
- **Audience**: Developers, SaaS platforms, product engineers
- **Pricing**: Free tier available; usage-based pricing
- **Last Updated**: 2026-05
- **Base URL**: `https://api.courier.com`
- **Auth**: `Authorization: Bearer <YOUR_API_KEY>` (workspace-scoped; Test and Production keys are separate)
- **API Version**: V2 (no version header required; latest is default)

## Core Data Model

```
message → routing (single | all) → channel (email, sms, push, inbox, chat) → provider (SendGrid, Twilio, FCM, etc.)
```

A **message** targets one or more **recipients** (user_id, email, phone_number, list_id, or audience_id). The **routing** object controls whether delivery fans out to all channels in parallel (`method: "all"`) or tries them in order as a fallback chain (`method: "single"`). Each **channel** is fulfilled by a configured **provider**.

## Agent Routing (which API to use)

| Intent | Endpoint | Notes |
|--------|----------|-------|
| One-off send | `POST /send` | Single or multi-recipient |
| Inline multi-step workflow | `POST /automations/invoke` (ad-hoc steps) | Define steps inline; no saved template needed |
| Saved automation | `POST /automations/{id}/invoke` | Trigger a pre-built automation template |
| Visual/long-running flows | `POST /journeys/{id}/invoke` | Journeys API; create via `POST /journeys` |
| Many users, one message | Bulk API (3 steps) | `POST /bulk` → add users → run |
| Dynamic segment | Audiences (`audience_id` in send) | Filter-based, auto-updating membership |
| Static group | Lists (`list_id` in send) | Manual subscribe/unsubscribe |

## Key Concepts

- **Recipient types**: `user_id` (stored profile), `email` / `phone_number` (inline), `list_id` (subscriber group), `audience_id` (dynamic segment)
- **Inline vs template**: Send with `message.content` for inline content or `message.template` for a dashboard-designed notification
- **Routing method**: `"single"` = fallback chain (try first channel, then next on failure); `"all"` = parallel delivery to every channel
- **Profile merge vs replace**: `POST /profiles/{id}` merges (PATCH semantics); `PUT /profiles/{id}` replaces the entire profile
- **Environments**: Test and Production share a workspace but use different API keys; templates must be published and migrated separately
- **Tenants**: `tenant_id` in message context sets multi-tenant scope; affects brand, preferences, and routing defaults
- **Preferences**: Users opt in/out per subscription topic; Courier enforces at send time automatically
- **Idempotency**: Include an `Idempotency-Key` header on transactional sends (OTP, order confirmations, billing) to prevent duplicates

## Critical Gotchas

- `PUT /profiles/{id}` is a **full replacement**; any fields not included are deleted. Use `POST` (merge) for partial updates.
- Bulk sending is a 3-step flow: create job → add users → run job. You cannot send in a single call.
- `routing.method: "all"` sends to **every** channel simultaneously. Most use cases want `"single"` (fallback chain).
- The `requestId` returned by `/send` is a single ID for single-recipient sends but a `requestId` per recipient for multi-recipient.
- Templates exist in draft until published. Sending with a template ID uses the last published version.
- Brand creation requires `settings` (the API returns 400 without it). Minimal valid: `{ "name": "X", "settings": { "colors": { "primary": "#000", "secondary": "#fff" } } }`.
- List subscription objects use `recipientId` (camelCase), not `recipient_id`.
- Automation cancellation uses `cancelation_token` (one "l") and a second ad-hoc invoke with `action: "cancel"`. There is no separate `/cancel` endpoint.
- Subscription topics must exist before assigning as tenant default preferences; setting a default for a non-existent topic silently fails.
- Multi-tenant sends use `message.context.tenant_id` (not `message.to.tenant_id`).

## Instructions for AI Agents

When building an integration with Courier, follow these rules:

- Always check the latest SDK version on npm (`npm view trycourier version`) or PyPI (`pip index versions trycourier`) before pinning a version. Never hardcode a version from training data.
- Use `routing.method: "single"` by default. Only use `"all"` when the user explicitly wants parallel delivery to every channel.
- Use `POST /profiles/{id}` (merge) for profile updates. Only use `PUT /profiles/{id}` when the user explicitly says "replace the entire profile."
- For bulk sends, always implement the 3-step flow: `POST /bulk` to create a job, `POST /bulk/{jobId}` to add users, then `POST /bulk/{jobId}/run` to execute. There is no single-call bulk endpoint.
- Include an `Idempotency-Key` header for any transactional send (OTP codes, order confirmations, billing notifications). Omitting it risks duplicate delivery.
- When sending to a known user, prefer `user_id` as the recipient type. Only use inline `email` or `phone_number` for anonymous or one-off sends where no profile exists.
- For in-app notifications, use the `courier/inbox` channel. The Inbox SDK requires JWT authentication; generate tokens with `POST /auth/issue-token`.
- Test and Production environments use different API keys. Always confirm which environment the user intends before making API calls.
- Prefer the [Agent Quickstart](https://www.courier.com/docs/tools/agent-quickstart.md) as your primary onboarding reference; it covers the minimal setup path for sending email and inbox notifications.

## Raw API Quick-Start (copy-paste bodies)

When calling the Courier REST API directly (without an SDK), use these minimal valid request bodies.

### Send an inline email

```
POST https://api.courier.com/send
Authorization: Bearer <API_KEY>
Content-Type: application/json

{
  "message": {
    "to": { "email": "user@example.com" },
    "content": {
      "title": "Hello {{name}}",
      "body": "Your order {{order_id}} has shipped."
    },
    "routing": {
      "method": "single",
      "channels": ["email"]
    },
    "data": { "name": "Alice", "order_id": "ORD-123" }
  }
}
```

### Send using a published template

```
POST https://api.courier.com/send
Authorization: Bearer <API_KEY>
Content-Type: application/json

{
  "message": {
    "to": { "user_id": "user-123" },
    "template": "TEMPLATE_ID_OR_KEY",
    "data": { "name": "Alice" }
  }
}
```

### Create or update a user profile

```
POST https://api.courier.com/profiles/user-123
Authorization: Bearer <API_KEY>
Content-Type: application/json

{
  "profile": {
    "email": "alice@example.com",
    "phone_number": "+15551234567",
    "name": "Alice Smith"
  }
}
```

`POST` merges fields into the existing profile. Use `PUT` only for full replacement (deletes any fields not included).

## Start Here

- [Agent Quickstart](https://www.courier.com/docs/tools/agent-quickstart.md): Everything an AI coding agent needs to send email and in-app inbox notifications from a brand-new workspace.
- [Quickstart](https://www.courier.com/docs/getting-started/quickstart.md): Send your first notification with one API call.
- [Glossary](https://www.courier.com/docs/help/glossary.md): Quick reference for Courier terminology and concepts.
- [Send a Message](https://www.courier.com/docs/api-reference/send/send-a-message.md): The core API endpoint. Send a message to one or more recipients.
- [How to Manage User Profiles](https://www.courier.com/docs/tutorials/sending/how-to-manage-user-profiles.md): Create, merge, and replace user profiles with contact details and channel tokens.
- [Courier CLI](https://www.courier.com/docs/tools/cli.md): Send messages, manage users, and inspect delivery logs from the command line.
- [MCP Server](https://www.courier.com/docs/tools/mcp.md): Give AI agents full access to the Courier API from your IDE. Connect to Courier's hosted server at `https://mcp.courier.com`.
- [Courier Skills](https://www.courier.com/docs/tools/courier-skills.md): Agent skill packs that teach AI coding assistants Courier best practices.

## Send API

- [How Sending Works](https://www.courier.com/docs/platform/sending/sending-overview.md): How notifications move from your app through the Courier API to channels.
- [Send a Message](https://www.courier.com/docs/platform/sending/send-message.md): Concepts and options for the `/send` endpoint.
- [Choose a Sending Strategy](https://www.courier.com/docs/platform/sending/choosing-your-sending-strategy.md): Three ways to send notifications, from a single API call to managed workflows.
- [How To Configure Multi-Channel Routing](https://www.courier.com/docs/tutorials/sending/how-to-configure-multi-channel-routing.md): Configure routing to prioritize, fallback, or deliver across channels.
- [Channel Priority](https://www.courier.com/docs/platform/sending/channel-priority.md): Control notification routing, fallbacks, and overrides.
- [Channel Settings](https://www.courier.com/docs/platform/sending/channel-settings.md): Configure delivery rules, priorities, and integrations per channel.
- [Automated Failover](https://www.courier.com/docs/platform/sending/failover.md): Automated retries and provider/channel failover for message delivery.
- [Delivery Reliability & Retries](https://www.courier.com/docs/platform/sending/delivery-pipeline-resilience.md): Exponential backoff retry strategies for reliable delivery.
- [Send Limits](https://www.courier.com/docs/platform/sending/send-limits.md): Cap message volume by user, topic, or tenant.
- [Delays & Delivery Windows](https://www.courier.com/docs/platform/sending/delay.md): Schedule sends for specific times or after delays.
- [Responses & Error Codes](https://www.courier.com/docs/platform/sending/handling-responses-and-errors.md): Interpret send responses and handle errors.
- [How To Send Your First Message](https://www.courier.com/docs/tutorials/sending/how-to-send-your-first-message.md): Walk through the basics for sending your first notification.

## Bulk API

- [Create a bulk job](https://www.courier.com/docs/api-reference/bulk/create-a-bulk-job.md): Creates a new bulk job for sending messages to multiple recipients.
- [Add users](https://www.courier.com/docs/api-reference/bulk/add-users.md): Ingest user data into a Bulk Job.
- [Run a job](https://www.courier.com/docs/api-reference/bulk/run-a-job.md): Run a bulk job.
- [Get a Job](https://www.courier.com/docs/api-reference/bulk/get-a-job.md): Get a bulk job.
- [Get users](https://www.courier.com/docs/api-reference/bulk/get-users.md): Get Bulk Job Users.
- [How To Send Bulk Notifications](https://www.courier.com/docs/tutorials/sending/how-to-send-bulk-notifications.md): Use the Bulk API to send notifications to large user groups.
- **Required flow**: There is no single-call bulk endpoint. Always: `POST /bulk` (create) → `POST /bulk/{jobId}` (add users) → `POST /bulk/{jobId}/run` (execute).

## Users & Profiles

- [User Overview](https://www.courier.com/docs/platform/users/users-overview.md): Courier's user management system including profiles, audiences, lists, and tenants.
- [User Management](https://www.courier.com/docs/platform/users/users.md): Define notification recipients using profiles, lists, audiences, tenants, and tokens.
- [Create a profile](https://www.courier.com/docs/api-reference/user-profiles/create-a-profile.md): Merge the supplied values with an existing profile or create a new profile if one doesn't already exist.
- [Get a profile](https://www.courier.com/docs/api-reference/user-profiles/get-a-profile.md): Returns the specified user profile.
- [Replace a profile](https://www.courier.com/docs/api-reference/user-profiles/replace-a-profile.md): Full replacement of a profile. Any key-value pairs not included will be removed. For partial updates, use `POST`.
- [Update a profile](https://www.courier.com/docs/api-reference/user-profiles/update-a-profile.md): Partial merge update of a profile.
- [Delete a profile](https://www.courier.com/docs/api-reference/user-profiles/delete-a-profile.md): Deletes the specified user profile.
- [Get list subscriptions](https://www.courier.com/docs/api-reference/user-profiles/get-list-subscriptions.md): Returns the subscribed lists for a specified user.
- [Delete list subscriptions](https://www.courier.com/docs/api-reference/user-profiles/delete-list-subscriptions.md): Removes all list subscriptions for given user.
- [Subscribe to one or more lists](https://www.courier.com/docs/api-reference/user-profiles/subscribe-to-one-or-more-lists.md): Subscribes the given user to one or more lists.

## Device Tokens

- [Add multiple tokens to user](https://www.courier.com/docs/api-reference/device-tokens/add-multiple-tokens-to-user.md): Adds multiple tokens to a user and overwrites matching existing tokens.
- [Add single token to user](https://www.courier.com/docs/api-reference/device-tokens/add-single-token-to-user.md): Adds a single token to a user and overwrites a matching existing token.
- [Get all tokens](https://www.courier.com/docs/api-reference/device-tokens/get-all-tokens.md): Gets all tokens available for a user.
- [Get single token](https://www.courier.com/docs/api-reference/device-tokens/get-single-token.md): Get single token available for a token ID.
- [Update a token](https://www.courier.com/docs/api-reference/device-tokens/update-a-token.md): Apply a JSON Patch (RFC 6902) to the specified token.
- [Delete User Token](https://www.courier.com/docs/api-reference/device-tokens/delete-user-token.md): Remove a device token from a user.

## Lists & Audiences

- [Lists & Audiences](https://www.courier.com/docs/platform/users/audiences.md): Manage user groups with static lists and dynamic audiences.
- [Get all lists](https://www.courier.com/docs/api-reference/lists/get-all-lists.md): Returns all of the lists, with the ability to filter based on a pattern.
- [Get a list](https://www.courier.com/docs/api-reference/lists/get-a-list.md): Returns a list based on the list ID provided.
- [Update a list](https://www.courier.com/docs/api-reference/lists/update-a-list.md): Create or replace an existing list with the supplied values.
- [Delete a list](https://www.courier.com/docs/api-reference/lists/delete-a-list.md): Delete a list by list ID.
- [Restore a list](https://www.courier.com/docs/api-reference/lists/restore-a-list.md): Restore a previously deleted list.
- [Get the subscriptions for a list](https://www.courier.com/docs/api-reference/lists/get-the-subscriptions-for-a-list.md): Get the list's subscriptions.
- [Add subscribers to a list](https://www.courier.com/docs/api-reference/lists/add-subscribers-to-a-list.md): Subscribes additional users without modifying existing subscriptions.
- [Subscribe users to a list](https://www.courier.com/docs/api-reference/lists/subscribe-users-to-a-list.md): Subscribes the users, overwriting existing subscriptions.
- [Subscribe a single user profile to a list](https://www.courier.com/docs/api-reference/lists/subscribe-a-single-user-profile-to-a-list.md): Subscribe a user to an existing list.
- [Unsubscribe a user profile from a list](https://www.courier.com/docs/api-reference/lists/unsubscribe-a-user-profile-from-a-list.md): Delete a subscription to a list by list ID and user ID.
- [Delete an audience](https://www.courier.com/docs/api-reference/audiences/delete-an-audience.md): Deletes the specified audience.
- [Get an audience](https://www.courier.com/docs/api-reference/audiences/get-an-audience.md): Returns the specified audience by id.
- [List all audiences](https://www.courier.com/docs/api-reference/audiences/list-all-audiences.md): Get the audiences associated with the authorization token.
- [List audience members](https://www.courier.com/docs/api-reference/audiences/list-audience-members.md): Get list of members of an audience.
- [Update an audience](https://www.courier.com/docs/api-reference/audiences/update-an-audience.md): Creates or updates audience.
- [How To Create And Send To A List Or List Pattern](https://www.courier.com/docs/tutorials/sending/how-to-send-to-a-list-or-list-pattern-using-wildcarding.md): Structure list IDs for wildcarding and send to groups.
- **Field name**: List subscription objects use `recipientId` (camelCase), not `recipient_id`. Example: `{ "recipients": [{ "recipientId": "user-123" }] }`.
- **Audiences are dynamic**: Audience membership is filter-based and auto-updating. Lists are static (manual subscribe/unsubscribe).

## Tenants

- [Tenants Overview](https://www.courier.com/docs/platform/tenants/tenants-overview.md): Hierarchical groups for managing preferences, metadata, and branding.
- [Sending With Tenants](https://www.courier.com/docs/platform/tenants/sending-with-tenants.md): Send notifications to tenant members with tenant context.
- [Tenant Deep Dive](https://www.courier.com/docs/platform/tenants/tenant-deepdive.md): Tenant hierarchies, metadata, inheritance patterns, and integration details.
- [User Tenant Preferences](https://www.courier.com/docs/platform/tenants/user-tenant-preferences.md): Manage notification preferences per tenant.
- [Inbox and Tenants](https://www.courier.com/docs/platform/tenants/inbox-with-tenants.md): Send Inbox notifications to tenant-specific or global inboxes.
- [Create or Replace a Tenant](https://www.courier.com/docs/api-reference/tenants/create-or-replace-a-tenant.md): `PUT /tenants/{id}` with name, brand_id, parent_tenant_id, properties.
- [Delete a Tenant](https://www.courier.com/docs/api-reference/tenants/delete-a-tenant.md): Remove a tenant and disassociate its users.
- [Get a Tenant](https://www.courier.com/docs/api-reference/tenants/get-a-tenant.md): Retrieve tenant details by ID.
- [Get a List of Tenants](https://www.courier.com/docs/api-reference/tenants/get-a-list-of-tenants.md): List tenants in the workspace.
- [Get Users in Tenant](https://www.courier.com/docs/api-reference/tenants/get-users-in-tenant.md): List users belonging to a tenant.
- [Create or Replace Default Preferences For Topic](https://www.courier.com/docs/api-reference/tenants/create-or-replace-default-preferences-for-topic.md): Set tenant-level default preference for a subscription topic.
- [Remove Default Preferences For Topic](https://www.courier.com/docs/api-reference/tenants/remove-default-preferences-for-topic.md): Delete a tenant default preference.
- [Add a User to a Single Tenant](https://www.courier.com/docs/api-reference/user-tenants/add-a-user-to-a-single-tenant.md): Associate a user with a tenant.
- [Add a User to Multiple Tenants](https://www.courier.com/docs/api-reference/user-tenants/add-a-user-to-multiple-tenants.md): Batch add a user to multiple tenants.
- [Get tenants associated with a given user](https://www.courier.com/docs/api-reference/user-tenants/get-tenants-associated-with-a-given-user.md): List a user's tenant memberships.
- [Remove User from a Tenant](https://www.courier.com/docs/api-reference/user-tenants/remove-user-from-a-tenant.md): Disassociate a user from a tenant.
- [Remove User From All Associated Tenants](https://www.courier.com/docs/api-reference/user-tenants/remove-user-from-all-associated-tenants.md): Remove a user from every tenant.
- **Send recipe**: Multi-tenant sends use `message.context.tenant_id` (not `message.to.tenant_id`). The tenant context sets brand, preferences, and routing defaults for the message.
- **Default preferences**: Tenant-level default preferences for a subscription topic use `PUT /tenants/{id}/default_preferences/items/{topic_id}`. These live on the tenant, not the user profile. Payload: `{ "status": "OPTED_IN", "has_custom_routing": true, "custom_routing": { "channels": ["email", "push"] } }`. MCP tool: `update_tenant_preference`.

### Multi-tenant hierarchy setup (ordered checklist)

When wiring brand → parent tenant → child tenant → preferences → users → send:

1. **Create brand** — `POST /brands` with `settings` (required). MCP: `create_brand`
2. **Create parent tenant** — `PUT /tenants/{parent_id}` with `brand_id`. MCP: `create_or_update_tenant`
3. **Create child tenant** — `PUT /tenants/{child_id}` with `parent_tenant_id`. MCP: `create_or_update_tenant`
4. **Set default preferences on tenant** — `PUT /tenants/{id}/default_preferences/items/{topic_id}`. MCP: `update_tenant_preference`
5. **Add user to tenant** — `PUT /users/{user_id}/tenants/{tenant_id}`. MCP: `add_user_to_tenant`
6. **Send with tenant context** — `POST /send` with `message.context.tenant_id`. MCP: `send_message`

Child tenants inherit parent brand and preferences unless overridden. User preferences take final precedence.

## Preferences

- [Preferences Overview](https://www.courier.com/docs/platform/preferences/preferences-overview.md): Let users control which notifications they receive and how.
- [Preferences Editor](https://www.courier.com/docs/platform/preferences/preferences-editor.md): Configure subscription topics, sections, and channel settings.
- [Hosted Preference Center](https://www.courier.com/docs/platform/preferences/hosted-page.md): Deploy a Courier-hosted page for managing notification preferences.
- [Embedding Preferences](https://www.courier.com/docs/platform/preferences/embedding-preferences.md): Integrate preference management components in your React or web app.
- [User Preference Logs & Data](https://www.courier.com/docs/platform/preferences/user-preferences-logs.md): Access user preference audit trails and query current preferences.
- [Get user's preferences](https://www.courier.com/docs/api-reference/user-preferences/get-users-preferences.md): Fetch all user preferences.
- [Get user subscription topic](https://www.courier.com/docs/api-reference/user-preferences/get-user-subscription-topic.md): Fetch user preferences for a specific subscription topic.
- [Update or Create user preferences for a specific subscription topic](https://www.courier.com/docs/api-reference/user-preferences/update-or-create-user-preferences-for-a-specific-subscription-topic.md): Set user opt-in/out for a topic.
- [How To Configure Preferences via API](https://www.courier.com/docs/tutorials/preferences/how-to-configure-user-preferences.md): Read and update user notification preferences programmatically.
- [How To Embed Preferences in React](https://www.courier.com/docs/tutorials/preferences/how-to-embed-preferences-in-react.md): Add an in-app notification preference center to React.
- [How To Set Up a Hosted Preference Center](https://www.courier.com/docs/tutorials/preferences/how-to-set-up-hosted-preference-center.md): Create subscription topics and deploy a hosted preference page.
- **Subscription topics must exist before use**: Create a subscription topic in the Preferences Editor (or via API at `PUT /users/{user_id}/preferences/{topic_id}`) before assigning it as a tenant default preference. Setting a default for a non-existent topic silently fails.
- **Tenant vs user preferences**: Tenant default preferences (`PUT /tenants/{id}/default_preferences/items/{topic_id}`) set the baseline for all users in that tenant. Individual users override via `PUT /users/{id}/preferences/{topic_id}`. At send time, user preferences take precedence over tenant defaults.

## Templates & Content

- [What are Templates?](https://www.courier.com/docs/platform/content/content-overview.md): Templates define the content and structure of your notifications.
- [Design Studio Overview](https://www.courier.com/docs/platform/content/design-studio/design-studio-overview.md): Build multi-channel notifications with Design Studio.
- [Content Blocks](https://www.courier.com/docs/platform/content/design-studio/design-studio-block-basics.md): Drag-and-drop content blocks for Design Studio.
- [Manage Templates via API](https://www.courier.com/docs/platform/content/design-studio/manage-templates-api.md): Template management over the /notifications API.
- [Routing Configuration](https://www.courier.com/docs/platform/content/template-designer/routing-configuration.md): Configure reusable routing configurations.
- [Elemental Markup Overview](https://www.courier.com/docs/platform/content/elemental/elemental-overview.md): JSON-based templating format for notification content across channels.
- [Control Flow](https://www.courier.com/docs/platform/content/elemental/control-flow.md): Conditional rendering, loops, and channel-specific content in Elemental.
- [Locales](https://www.courier.com/docs/platform/content/elemental/locales.md): Localize Elemental templates for multiple languages and regions.
- [What are Brands?](https://www.courier.com/docs/platform/content/brands/brands-overview.md): Brands define the visual appearance of your notifications.
- [Brand Designer](https://www.courier.com/docs/platform/content/brands/brand-designer.md): Customize brand appearance with logos, colors, headers, footers, and custom templates.
- [Brand Snippets](https://www.courier.com/docs/platform/content/brands/brand-snippets.md): Reusable Handlebars components for notification templates.
- [Handlebars Helpers](https://www.courier.com/docs/platform/content/template-designer/handlebars-helpers.md): Logic, math, string formatting, localization, and control flow for templates.
- [Inserting Data with Variables](https://www.courier.com/docs/platform/content/variables/inserting-variables.md): Personalize notifications with variables from data, profile, tenant, or brand objects.
- [Localization](https://www.courier.com/docs/platform/content/localization.md): Send notifications in multiple languages.
- [Templates API](https://www.courier.com/docs/platform/content/templates-api.md): REST API for listing, creating, updating, and publishing notification templates.
- [Archive Notification Template](https://www.courier.com/docs/api-reference/notification-templates/archive-notification-template.md): Archive a notification template.
- [Create Notification Template](https://www.courier.com/docs/api-reference/notification-templates/create-notification-template.md): Create a notification template. Templates are created in draft state by default.
- [Get Notification Template](https://www.courier.com/docs/api-reference/notification-templates/get-notification-template.md): Retrieve a notification template by ID. Returns the published version by default.
- [List Notification Templates](https://www.courier.com/docs/api-reference/notification-templates/list-notification-templates.md): List notification templates in your workspace.
- [Publish Notification Template](https://www.courier.com/docs/api-reference/notification-templates/publish-notification-template.md): Publish a notification template.
- [Replace Notification Template](https://www.courier.com/docs/api-reference/notification-templates/replace-notification-template.md): Replace a notification template. All fields are required.
- [List Notification Template Versions](https://www.courier.com/docs/api-reference/notification-templates/list-notification-template-versions.md): List versions of a notification template.
- [How to Build Notifications with Elemental](https://www.courier.com/docs/tutorials/content/how-to-use-elemental.md): Create notification content programmatically using Courier Elemental.
- [How to Use the Templates API](https://www.courier.com/docs/tutorials/content/how-to-use-templates-api.md): Manage workspace templates with the REST API.
- [How to Brand Your Notifications](https://www.courier.com/docs/tutorials/content/how-to-create-and-use-brands.md): Create and customize Courier Brands for consistent email styling.
- [Design and Send Your First Notification](https://www.courier.com/docs/tutorials/content/how-to-design-your-first-notification.md): Create a template, configure a provider, add content, preview, publish, and send.
- [How to Internationalize Notifications](https://www.courier.com/docs/tutorials/content/internationalizing-notifications.md): Send multi-language notifications using locale-based conditions.
- **Brand create requires `settings`**: Minimal valid: `{ "name": "My Brand", "settings": { "colors": { "primary": "#000000", "secondary": "#ffffff" } } }`.

- **V2 template workflow** (5 steps): `POST /notifications` (create with name + content) → `PUT /notifications/{id}/content` (optional update) → `POST /routing-strategies` (create with name + routing) → `POST /notifications/{id}/publish` (empty body, returns 204) → `POST /send` with `"template": "nt_..."`. Shortcut: pass `"state": "PUBLISHED"` on create to skip steps 2–4. MCP equivalents: `create_notification` → `update_notification_content` → `create_routing_strategy` → `publish_notification` → `send_message`. Full JSON bodies in the "V2 Template Recipe" section under Optional below.

## Routing Strategies

- [Archive Routing Strategy](https://www.courier.com/docs/api-reference/routing-strategies/archive-routing-strategy.md): Archive a routing strategy. The strategy must not have associated notification templates.
- [Create Routing Strategy](https://www.courier.com/docs/api-reference/routing-strategies/create-routing-strategy.md): Create a routing strategy. Requires `name` and `routing` (method + channels).
- [Get Routing Strategy](https://www.courier.com/docs/api-reference/routing-strategies/get-routing-strategy.md): Retrieve a routing strategy by ID.
- [List Routing Strategies](https://www.courier.com/docs/api-reference/routing-strategies/list-routing-strategies.md): List routing strategies in your workspace.
- [Replace Routing Strategy](https://www.courier.com/docs/api-reference/routing-strategies/replace-routing-strategy.md): Replace a routing strategy. Full document replacement.
- **Shared across templates**: A single routing strategy can be linked to multiple notification templates. Updating it changes routing for all linked templates.

## Inbox

- [Get Started with Courier Inbox](https://www.courier.com/docs/platform/inbox/inbox-overview.md): Add real-time in-app notifications to web, iOS, and Android apps.
- [Authenticate Courier Inbox SDKs](https://www.courier.com/docs/platform/inbox/authentication.md): Courier Inbox and toasts use JWTs to authenticate.
- [Send an Inbox Message](https://www.courier.com/docs/platform/inbox/sending-a-message.md): Send Inbox messages with the Courier Send API.
- [Notify with Toasts](https://www.courier.com/docs/platform/inbox/notify-with-toasts.md): Small, dismissable pop-up notifications for Inbox messages.
- [Organize Messages with Tabs](https://www.courier.com/docs/platform/inbox/organize-with-tabs.md): Create tabbed views for Inbox messages.
- [How to Implement Courier Inbox](https://www.courier.com/docs/tutorials/inbox/how-to-implement-inbox.md): Add an in-app notification center powered by JWT-authenticated React components.
- [How to Organize Inbox with Tabs](https://www.courier.com/docs/tutorials/inbox/how-to-organize-inbox-with-tabs.md): Tag messages at send time and configure tabs in the Inbox SDK.
- [How to Send a JWT from Your Backend](https://www.courier.com/docs/tutorials/inbox/how-to-send-jwt.md): Generate user-scoped JWTs for Courier Inbox and Toast.
- **Auth required**: Inbox requires JWT authentication via [`POST /auth/issue-token`](https://www.courier.com/docs/api-reference/authentication/create-a-jwt.md). The token is scoped to a single user and used by client SDKs.

## Automations

- [Automation Overview](https://www.courier.com/docs/platform/automations/automations-overview.md): Build notification workflows with triggers, actions, batching, digests, and conditional logic.
- [The Automations Designer](https://www.courier.com/docs/platform/automations/designer.md): Visual builder for creating notification workflows.
- [Ad hoc Automation Steps](https://www.courier.com/docs/platform/automations/steps.md): Define automation workflows inline via API in a single request.
- [Batching](https://www.courier.com/docs/platform/automations/batching.md): Group multiple events into a single notification.
- [Automation Digests](https://www.courier.com/docs/platform/automations/digest.md): Aggregate user events into scheduled notifications.
- [If / Switch](https://www.courier.com/docs/platform/automations/control-flow.md): Conditional logic using "If" nodes to branch automation workflows.
- [Scheduling](https://www.courier.com/docs/platform/automations/scheduling.md): Schedule one-time, recurring, or cron-based automation triggers.
- [Throttle Node](https://www.courier.com/docs/platform/automations/throttle.md): Limit automation-triggered messages per user or group within a timeframe.
- [Fetch Data](https://www.courier.com/docs/platform/automations/fetch-data.md): Make HTTP requests through an automation workflow.
- [Accessing Dynamic Data](https://www.courier.com/docs/platform/automations/dynamic.md): Access dynamic data using the refs object in automations.
- [Cancelling An Automation](https://www.courier.com/docs/platform/automations/cancel.md): Cancel automations using a dynamic cancellation token.
- [Webhook Trigger](https://www.courier.com/docs/platform/automations/webhook-trigger.md): Launch automations from external systems via webhook.
- [Inbound Event Triggers](https://www.courier.com/docs/platform/automations/inbound-events.md): Trigger automations from CourierJS, Segment, and Rudderstack events.
- [Debugger](https://www.courier.com/docs/platform/automations/debugger.md): Simulate test events through automation workflows and inspect node-level data.
- [Invoke an Ad Hoc Automation](https://www.courier.com/docs/api-reference/automations/invoke-an-ad-hoc-automation.md): Invoke an ad hoc automation run.
- [Invoke an Automation](https://www.courier.com/docs/api-reference/automations/invoke-an-automation.md): Invoke an automation run from an automation template.
- [List Automations](https://www.courier.com/docs/api-reference/automations/list-automations.md): Get the list of automations.
- [Build and Send Your First Automation](https://www.courier.com/docs/tutorials/automations/how-to-automate-message-sequences.md): Create a multi-step notification workflow in the visual Automations Designer.
- [How to Cancel an Automation](https://www.courier.com/docs/tutorials/automations/how-to-cancel-an-automation.md): Stop in-flight automation runs using cancellation tokens.
- [How To Send Automations via API](https://www.courier.com/docs/tutorials/automations/how-to-send-an-automation.md): Invoke automations via the Courier API.
- [How to Send Automations with Tenant Context](https://www.courier.com/docs/tutorials/automations/how-to-send-automations-with-tenants.md): Invoke automations with tenant-specific branding, overrides, and preferences.
- **Cancel recipe**: Cancellation uses `cancelation_token` (one "l") set at invoke time, then a second `POST /automations/invoke` with `{ "automation": { "steps": [{ "action": "cancel", "cancelation_token": "<token>" }] } }`. There is no separate `/cancel` endpoint.
- **List before invoke**: Use `GET /automations` (or MCP `list_automations`) to discover template IDs before invoking. Template IDs are required for `POST /automations/{id}/invoke`.

## Journeys

Journeys are visual, multi-step messaging workflows. Lifecycle: create (draft) → publish → invoke.

- [Journeys Overview](https://www.courier.com/docs/platform/journeys/journeys-overview.md): Build customer messaging experiences with a visual workflow editor.
- [Building Journeys](https://www.courier.com/docs/platform/journeys/building-journeys.md): Compose journeys from triggers, send nodes, and function nodes.
- [Send Node](https://www.courier.com/docs/platform/journeys/nodes/send.md): Configure which channels your journey uses.
- [Starting a Journey](https://www.courier.com/docs/platform/journeys/invocation.md): Invoke a journey via the Courier API or from a Segment event.
- [Journey Templates](https://www.courier.com/docs/platform/journeys/journey-templates.md): Create and edit notification templates scoped to a journey.
- [Branch](https://www.courier.com/docs/platform/journeys/nodes/branch.md): Split a journey into conditional paths.
- [Delay](https://www.courier.com/docs/platform/journeys/nodes/delay.md): Pause journey execution for a duration or until a specific time.
- [Fetch Data](https://www.courier.com/docs/platform/journeys/nodes/fetch-data.md): Make HTTP requests during journey execution.
- [Throttle](https://www.courier.com/docs/platform/journeys/nodes/throttle.md): Limit how often a user passes through a journey point.
- [Create a Journey](https://www.courier.com/docs/api-reference/journeys/create-a-journey.md): Create a new journey in draft state. Use `POST /journeys`.
- [Invoke a Journey](https://www.courier.com/docs/api-reference/journeys/invoke-a-journey.md): Invoke a journey run from a journey template. Use `POST /journeys/{id}/invoke`.
- [List Journeys](https://www.courier.com/docs/api-reference/journeys/list-journeys.md): Get the list of journeys.
- [Publish a Journey](https://www.courier.com/docs/api-reference/journeys/publish-a-journey.md): Publish a draft journey to make it live. Use `POST /journeys/{id}/publish`.
- [How to Create Your First Journey](https://www.courier.com/docs/tutorials/journeys/how-to-create-your-first-journey.md): Build a journey from scratch with triggers, schemas, and send nodes.
- [How to Build a Multi-Step Onboarding Journey](https://www.courier.com/docs/tutorials/journeys/how-to-build-a-multi-step-onboarding-journey.md): Build an onboarding sequence with delays, fetching, branching, and sends.
- **Create flow**: Create the journey shell via `POST /journeys`, add notification templates with `POST /journeys/{id}/templates`, wire them into send nodes with `PUT /journeys/{id}`, then publish with `POST /journeys/{id}/publish`.
- **Send nodes require templates**: A journey send node must reference an existing notification template. Create the template first, then assign it to the node.

## Analytics & Monitoring

- [Analytics Overview](https://www.courier.com/docs/platform/analytics/analytics-overview.md): Track notification delivery, monitor status, and debug issues with message logs and audit trails.
- [Template Analytics](https://www.courier.com/docs/platform/analytics/analytics.md): Track send volume, delivery rates, opens, clicks, and errors per template.
- [Message Logs](https://www.courier.com/docs/platform/analytics/message-logs.md): Track each message's status with filtering by status, provider, recipient, and timeline events.
- [Audit Trail](https://www.courier.com/docs/platform/analytics/audit-trail.md): Track workspace user activity including API key changes, publishing events, and integration updates.
- [Custom Domain Tracking](https://www.courier.com/docs/platform/analytics/custom-domain-tracking.md): Use a custom tracking domain instead of ct0.app for branded link tracking in email.
- [Get all audit events](https://www.courier.com/docs/api-reference/audit-events/get-all-audit-events.md): Fetch the list of audit events.
- [Get an audit event](https://www.courier.com/docs/api-reference/audit-events/get-an-audit-event.md): Fetch a specific audit event by ID.
- [Archive message](https://www.courier.com/docs/api-reference/sent-messages/archive-message.md): Archive a sent message.
- [Cancel message](https://www.courier.com/docs/api-reference/sent-messages/cancel-message.md): Cancel a message that is currently being delivered.
- [Get message](https://www.courier.com/docs/api-reference/sent-messages/get-message.md): Fetch the status of a message you've previously sent.
- [Get message content](https://www.courier.com/docs/api-reference/sent-messages/get-message-content.md): Retrieve the rendered content of a sent message.
- [Get message history](https://www.courier.com/docs/api-reference/sent-messages/get-message-history.md): Fetch the array of events of a message you've previously sent.
- [List messages](https://www.courier.com/docs/api-reference/sent-messages/list-messages.md): Fetch the statuses of messages you've previously sent.
- [How to Debug Email Delivery Issues](https://www.courier.com/docs/tutorials/monitoring/how-to-debug-delivery-issues.md): Troubleshoot delivery problems using Courier message logs.
- **Message lifecycle**: ENQUEUED → SENT → DELIVERED (or UNDELIVERABLE). Use `GET /messages/{id}` to check status. The `requestId` from `/send` maps to one or more message IDs.

## Workspaces & Settings

- [Workspace Overview](https://www.courier.com/docs/platform/workspaces/workspaces-overview.md): Environments, API keys, templates, team access, and settings.
- [Environments, API Keys, and Assets](https://www.courier.com/docs/platform/workspaces/environments-api-keys.md): Isolated Test and Production environments with distinct API keys.
- [Roles and Permissions](https://www.courier.com/docs/platform/workspaces/roles-permissions.md): Role-based access control for workspace teammates.
- [Outbound Webhooks](https://www.courier.com/docs/platform/workspaces/outbound-webhooks.md): Receive event notifications for message updates and audience changes.
- [Workspace Security Settings](https://www.courier.com/docs/platform/workspaces/team-security.md): Manage team invites, SSO, and workspace discoverability.
- [Okta Integration](https://www.courier.com/docs/platform/workspaces/okta-integration.md): Set up Okta SSO and SCIM provisioning with Courier.
- [EU Datacenter](https://www.courier.com/docs/platform/workspaces/eu-datacenter.md): European datacenter for data residency and GDPR compliance.
- [Create a JWT](https://www.courier.com/docs/api-reference/authentication/create-a-jwt.md): Returns a new access token.
- [Safe Notification Deployment](https://www.courier.com/docs/tutorials/ops/safe-notification-deployment.md): Move templates from Test to Production safely.

## SDKs

- [Get Started with Courier SDKs](https://www.courier.com/docs/sdk-libraries/sdks-overview.md): Server-side SDKs for sending and client-side SDKs for in-app experiences.
- [Courier Node.js SDK](https://www.courier.com/docs/sdk-libraries/node.md): Send notifications from Node.js/TypeScript with typed requests and retries.
- [Courier Python SDK](https://www.courier.com/docs/sdk-libraries/python.md): Send notifications from Python with sync/async clients and Pydantic models.
- [Courier Go SDK](https://www.courier.com/docs/sdk-libraries/go.md): Send notifications from Go with typed params and automatic retries.
- [Courier Ruby SDK](https://www.courier.com/docs/sdk-libraries/ruby.md): Send notifications from Ruby with Sorbet support and retries.
- [Courier Java SDK](https://www.courier.com/docs/sdk-libraries/java.md): Send notifications from Java with builder-pattern requests.
- [Courier C# SDK](https://www.courier.com/docs/sdk-libraries/csharp.md): Send notifications from .NET with strongly typed models and async methods.
- [Courier PHP SDK](https://www.courier.com/docs/sdk-libraries/php.md): Send notifications from PHP with typed responses and retries.
- [Courier React SDK](https://www.courier.com/docs/sdk-libraries/courier-react-web.md): Customizable in-app notification center and toasts for React.
- [Courier Web Components SDK](https://www.courier.com/docs/sdk-libraries/courier-ui-inbox-web.md): In-app notification center, toasts, and preferences using Web Components.
- [Courier JS](https://www.courier.com/docs/sdk-libraries/courier-js-web.md): The API client for Courier's browser SDKs.
- [Courier Android SDK](https://www.courier.com/docs/sdk-libraries/android.md): In-app notifications, push, and preferences for Android.
- [Courier iOS SDK](https://www.courier.com/docs/sdk-libraries/ios.md): In-app notifications, push, and preferences for iOS.
- [Courier Flutter SDK](https://www.courier.com/docs/sdk-libraries/flutter.md): In-app notifications, push, and preferences for Flutter.
- [Courier React Native SDK](https://www.courier.com/docs/sdk-libraries/react-native.md): In-app notifications, push, and preferences for React Native.

## Developer Tools

- [Build with AI](https://www.courier.com/docs/tools/ai-onboarding.md): Use Courier with AI coding agents via the CLI, MCP server, agent skills, and machine-readable docs.
- [Courier and Postman](https://www.courier.com/docs/tools/courier-postman.md): Explore and test Courier's API using the official Postman collection.
- [API Reference](https://www.courier.com/docs/reference/get-started.md): Authenticate, explore endpoints, and start integrating with the Courier API.

## Brands & Translations

- [Create a new brand](https://www.courier.com/docs/api-reference/brands/create-a-new-brand.md): Create a brand. **Requires `settings`**.
- [Delete a brand](https://www.courier.com/docs/api-reference/brands/delete-a-brand.md): Delete a brand by brand ID.
- [Get a brand](https://www.courier.com/docs/api-reference/brands/get-a-brand.md): Fetch a specific brand by brand ID.
- [List brands](https://www.courier.com/docs/api-reference/brands/list-brands.md): Get the list of brands.
- [Replace a brand](https://www.courier.com/docs/api-reference/brands/replace-a-brand.md): Replace an existing brand with the supplied values.
- [Get a translation](https://www.courier.com/docs/api-reference/translations/get-a-translation.md): Get translations by locale.
- [Update translations by locale](https://www.courier.com/docs/api-reference/translations/update-translations-by-locale.md): Update a translation.

## Digests & Advanced Sending

- [Send a Message Digest](https://www.courier.com/docs/platform/sending/digest-send.md): Aggregate messages into a scheduled digest.
- [How To Send Digests](https://www.courier.com/docs/tutorials/sending/how-to-send-digests.md): Build scheduled digests using preferences, automations, and subscription topics.
- [How To Send Notifications With Segment](https://www.courier.com/docs/tutorials/sending/how-to-send-notifications-with-segment.md): Trigger automated notifications from Segment events.
- [How to Send Webhook Notifications](https://www.courier.com/docs/tutorials/ops/how-to-send-webhook-notifications.md): Deliver notification payloads to any HTTP endpoint.
- [Courier Track Event](https://www.courier.com/docs/api-reference/inbound/courier-track-event.md): Ingest events for automation triggers.
- [How to Use Test Events](https://www.courier.com/docs/tutorials/content/how-to-preview-notification.md): Preview and validate variables, branding, and content before sending.

## Resources

- [What is Courier?](https://www.courier.com/docs/welcome.md): Courier is infrastructure for product-to-user communication.
- [Courier Help Center](https://www.courier.com/docs/help/index.md): Find the answers to your questions or explore helpful resources.
- [Tutorials](https://www.courier.com/docs/tutorials/tutorials-overview.md): Step-by-step guides for designing, sending, and managing notifications with Courier.

## Optional

Low-priority reference content. Skip under tight context windows; use the section overviews above for general patterns.

### Provider Integrations

- [Integrations Overview](https://www.courier.com/docs/external-integrations/integrations-overview.md): Connect Courier to your email, in-app, SMS, push, and chat providers.
- [Email Providers](https://www.courier.com/docs/external-integrations/email/intro-to-email.md): Overview of email provider integrations.
- [Amply](https://www.courier.com/docs/external-integrations/email/amply.md)
- [AWS SES](https://www.courier.com/docs/external-integrations/email/aws-ses.md)
- [Gmail](https://www.courier.com/docs/external-integrations/email/gmail.md)
- [MailerSend](https://www.courier.com/docs/external-integrations/email/mailersend.md)
- [Mailgun](https://www.courier.com/docs/external-integrations/email/mailgun.md)
- [Mailjet](https://www.courier.com/docs/external-integrations/email/mailjet.md)
- [Mandrill](https://www.courier.com/docs/external-integrations/email/mandrill.md)
- [OneSignal Email](https://www.courier.com/docs/external-integrations/email/onesignal-email.md)
- [Postmark](https://www.courier.com/docs/external-integrations/email/postmark.md)
- [Resend](https://www.courier.com/docs/external-integrations/email/resend.md)
- [SendGrid](https://www.courier.com/docs/external-integrations/email/sendgrid.md)
- [SMTP](https://www.courier.com/docs/external-integrations/email/smtp.md)
- [SparkPost](https://www.courier.com/docs/external-integrations/email/sparkpost.md)
- [SMS Providers](https://www.courier.com/docs/external-integrations/sms/intro-to-sms.md): Overview of SMS provider integrations.
- [Africa's Talking](https://www.courier.com/docs/external-integrations/sms/africas-talking.md)
- [Azure SMS](https://www.courier.com/docs/external-integrations/sms/azure-sms.md)
- [MessageBird](https://www.courier.com/docs/external-integrations/sms/messagebird.md)
- [MessageMedia](https://www.courier.com/docs/external-integrations/sms/messagemedia.md)
- [Plivo](https://www.courier.com/docs/external-integrations/sms/plivo.md)
- [Sinch](https://www.courier.com/docs/external-integrations/sms/sinch.md)
- [SMSCentral](https://www.courier.com/docs/external-integrations/sms/smscentral.md)
- [Telnyx](https://www.courier.com/docs/external-integrations/sms/telnyx.md)
- [TextUs](https://www.courier.com/docs/external-integrations/sms/textus.md)
- [Twilio](https://www.courier.com/docs/external-integrations/sms/twilio.md)
- [Vonage](https://www.courier.com/docs/external-integrations/sms/vonage.md)
- [Push Notifications](https://www.courier.com/docs/external-integrations/push/intro-to-push.md): Overview of push notification integrations.
- [Airship](https://www.courier.com/docs/external-integrations/push/airship.md)
- [Apple Push Notifications Service (APNS)](https://www.courier.com/docs/external-integrations/push/apple-push-notification.md)
- [Beamer](https://www.courier.com/docs/external-integrations/push/beamer.md)
- [Expo](https://www.courier.com/docs/external-integrations/push/expo.md)
- [Firebase Cloud Messaging (FCM)](https://www.courier.com/docs/external-integrations/push/firebase-fcm.md)
- [MagicBell](https://www.courier.com/docs/external-integrations/push/magicbell.md)
- [NowPush](https://www.courier.com/docs/external-integrations/push/nowpush.md)
- [OneSignal Push](https://www.courier.com/docs/external-integrations/push/onesignal-push.md)
- [Pushbullet](https://www.courier.com/docs/external-integrations/push/pushbullet.md)
- [Pusher](https://www.courier.com/docs/external-integrations/push/pusher.md)
- [Pusher Beams](https://www.courier.com/docs/external-integrations/push/pusher-beams.md)
- [Chat & Direct Message Providers](https://www.courier.com/docs/external-integrations/direct-message/intro-to-direct-message.md): Overview of chat and direct message integrations.
- [Chat API](https://www.courier.com/docs/external-integrations/direct-message/chat.md)
- [Discord](https://www.courier.com/docs/external-integrations/direct-message/discord.md)
- [Facebook Messenger](https://www.courier.com/docs/external-integrations/direct-message/facebook-messenger.md)
- [Microsoft Teams](https://www.courier.com/docs/external-integrations/direct-message/microsoft-teams.md)
- [Slack](https://www.courier.com/docs/external-integrations/direct-message/slack.md)
- [Stream Chat](https://www.courier.com/docs/external-integrations/direct-message/stream-chat.md)
- [Viber](https://www.courier.com/docs/external-integrations/direct-message/viber.md)
- [WhatsApp](https://www.courier.com/docs/external-integrations/direct-message/whatsapp.md)
- [AWS SNS](https://www.courier.com/docs/external-integrations/other/aws-sns.md)
- [Custom Provider](https://www.courier.com/docs/external-integrations/other/custom-provider.md)
- [Drift](https://www.courier.com/docs/external-integrations/other/drift.md)
- [Intercom](https://www.courier.com/docs/external-integrations/other/intercom.md)
- [Opsgenie](https://www.courier.com/docs/external-integrations/other/ops-genie.md)
- [PagerDuty](https://www.courier.com/docs/external-integrations/other/pagerduty.md)
- [Splunk On Call](https://www.courier.com/docs/external-integrations/other/splunk-on-call.md)
- [Webhook Integration](https://www.courier.com/docs/external-integrations/other/webhook-integration.md)
- [Customer Data Platforms (CDP)](https://www.courier.com/docs/external-integrations/cdp/intro-to-cdp.md)
- [RudderStack](https://www.courier.com/docs/external-integrations/cdp/rudderstack.md)
- [Segment](https://www.courier.com/docs/external-integrations/cdp/segment.md)
- [Datadog](https://www.courier.com/docs/external-integrations/observability/datadog.md)
- [Observability](https://www.courier.com/docs/external-integrations/observability/intro-to-observability.md)
- [New Relic](https://www.courier.com/docs/external-integrations/observability/new-relic.md)
- [OpenTelemetry](https://www.courier.com/docs/external-integrations/observability/open-telemetry.md)

### Courier Create (Embeddable Designer)

- [Courier Create Overview](https://www.courier.com/docs/platform/create/create-overview.md): Manage and customize multi-tenant email templates in React with Courier Create.
- [Integrating the Embeddable Designer](https://www.courier.com/docs/platform/create/installation.md): Embed and customize the Template Editor in your React application.
- [Authenticating the Embeddable Designer](https://www.courier.com/docs/platform/create/authentication.md): JWT authentication for Courier Create.
- [Integrating the Embeddable Brand Editor](https://www.courier.com/docs/platform/create/brand-designer.md): Embed tenant branding management in React apps.
- [Courier Create API](https://www.courier.com/docs/platform/create/courier-create-api.md): HTTP reference for tenant template endpoints used by Design Studio.
- [Editor Properties](https://www.courier.com/docs/platform/create/provider-props.md): Configuration options for Courier Create Template and Brand Editors.
- [Create or Update a Tenant Template](https://www.courier.com/docs/api-reference/courier-create/create-or-update-a-tenant-template.md): Creates or updates a notification template for a tenant.
- [Get a Template in Tenant](https://www.courier.com/docs/api-reference/courier-create/get-a-template-in-tenant.md)
- [List Templates in Tenant](https://www.courier.com/docs/api-reference/courier-create/list-templates-in-tenant.md)
- [Publish a Tenant Template](https://www.courier.com/docs/api-reference/courier-create/publish-a-tenant-template.md): Publishes a specific version of a notification template for a tenant.
- [Get a Specific Template Version](https://www.courier.com/docs/api-reference/courier-create/get-a-specific-template-version.md): Fetches a specific version of a tenant template.
- [How to Use the Courier Create API](https://www.courier.com/docs/tutorials/content/how-to-use-courier-create-api.md): Create, iterate, and publish tenant notification templates via API.

### Journeys Admin (metrics, versioning, run inspection)

- [Run Inspection](https://www.courier.com/docs/platform/journeys/run-inspection.md): Step through individual journey runs to see what happened at every node.
- [Metrics](https://www.courier.com/docs/platform/journeys/metrics.md): Track send volume, delivery rates, opens, and clicks across journey templates.
- [Version History](https://www.courier.com/docs/platform/journeys/version-history.md): Track published versions and revert to previous journey versions.

### Elemental Elements (individual element types)

- [Elements Reference](https://www.courier.com/docs/platform/content/elemental/elements/index.md): Complete reference for all Elemental element types.
- [Export to Elemental](https://www.courier.com/docs/platform/content/elemental/export-to-elemental.md): Convert Designer-built notifications into Elemental JSON.
- [Fonts](https://www.courier.com/docs/platform/content/elemental/fonts.md)
- [Action](https://www.courier.com/docs/platform/content/elemental/elements/action.md)
- [Channel](https://www.courier.com/docs/platform/content/elemental/elements/channel.md)
- [Columns](https://www.courier.com/docs/platform/content/elemental/elements/columns.md)
- [Comment](https://www.courier.com/docs/platform/content/elemental/elements/comment.md)
- [Divider](https://www.courier.com/docs/platform/content/elemental/elements/divider.md)
- [Group](https://www.courier.com/docs/platform/content/elemental/elements/group.md)
- [HTML](https://www.courier.com/docs/platform/content/elemental/elements/html.md)
- [Image](https://www.courier.com/docs/platform/content/elemental/elements/image.md)
- [Jsonnet](https://www.courier.com/docs/platform/content/elemental/elements/jsonnet.md)
- [List](https://www.courier.com/docs/platform/content/elemental/elements/list.md)
- [Meta](https://www.courier.com/docs/platform/content/elemental/elements/meta.md)
- [Quote](https://www.courier.com/docs/platform/content/elemental/elements/quote.md)
- [Text](https://www.courier.com/docs/platform/content/elemental/elements/text.md)

### Design Studio Block Details

- [Button Blocks](https://www.courier.com/docs/platform/content/design-studio/button-blocks.md)
- [Text Blocks](https://www.courier.com/docs/platform/content/design-studio/text-blocks.md)
- [Image Blocks](https://www.courier.com/docs/platform/content/design-studio/image-blocks.md)
- [HTML Blocks](https://www.courier.com/docs/platform/content/design-studio/custom-code-blocks.md)
- [Heading Blocks](https://www.courier.com/docs/platform/content/design-studio/heading-blocks.md)
- [Divider Blocks](https://www.courier.com/docs/platform/content/design-studio/divider-blocks.md)
- [Spacer Blocks](https://www.courier.com/docs/platform/content/design-studio/spacer-blocks.md)
- [Channels](https://www.courier.com/docs/platform/content/design-studio/channels.md)
- [Template Settings](https://www.courier.com/docs/platform/content/design-studio/template-settings.md)
- [White-Labeling Email Domains](https://www.courier.com/docs/platform/content/brands/email-domain-white-labeling.md)
- [Template Approval Workflow](https://www.courier.com/docs/platform/content/template-approval-workflow.md)

### Template Designer (legacy V1)

- [Email Template CSS Classes](https://www.courier.com/docs/platform/content/brands/css-classnames.md)
- [Email Safe Formatting](https://www.courier.com/docs/platform/content/email-safe-formatting.md)
- [Handlebars Editor for Email Templates](https://www.courier.com/docs/platform/content/template-designer/handlebars-designer.md)
- [Overview](https://www.courier.com/docs/platform/content/template-designer/template-designer-overview.md)
- [Version History](https://www.courier.com/docs/platform/content/template-designer/history-compare-mode.md)
- [Test with Sample Data](https://www.courier.com/docs/platform/content/template-designer/how-to-preview-notification.md)
- [Jsonnet Webhook Designer](https://www.courier.com/docs/platform/content/template-designer/jsonnet-webhook-designer.md)
- [Customizing Email Address Fields](https://www.courier.com/docs/platform/content/template-settings/email-fields.md)
- [General Settings](https://www.courier.com/docs/platform/content/template-settings/general-settings.md)
- [Using Send Conditions](https://www.courier.com/docs/platform/content/template-settings/send-conditions.md)
- [Throw on Variable Not Found](https://www.courier.com/docs/platform/content/template-settings/variable-not-found.md)

### Content Blocks (V2 individual block types)

- [Content Block Overview](https://www.courier.com/docs/platform/content/content-blocks/content-block-basics.md)
- [Action](https://www.courier.com/docs/platform/content/content-blocks/action-blocks.md)
- [Divider](https://www.courier.com/docs/platform/content/content-blocks/divider-blocks.md)
- [Image](https://www.courier.com/docs/platform/content/content-blocks/image-blocks.md)
- [Jsonnet](https://www.courier.com/docs/platform/content/content-blocks/jsonnet-blocks.md)
- [List](https://www.courier.com/docs/platform/content/content-blocks/list-blocks.md)
- [Markdown](https://www.courier.com/docs/platform/content/content-blocks/md-blocks.md)
- [Quote](https://www.courier.com/docs/platform/content/content-blocks/quote-blocks.md)
- [Template](https://www.courier.com/docs/platform/content/content-blocks/template-blocks.md)
- [Text](https://www.courier.com/docs/platform/content/content-blocks/text-blocks.md)

### V2 Template Recipe (full JSON bodies)

Complete request bodies for the 5-step V2 notification template workflow.

**Step 1 — Create template** (required: `name`, `content`)

```
POST /notifications
{
  "notification": {
    "name": "Order Shipped",
    "tags": ["transactional"],
    "brand": null,
    "subscription": null,
    "routing": null,
    "content": {
      "version": "2022-01-01",
      "elements": [
        {
          "type": "channel",
          "channel": "email",
          "elements": [
            { "type": "meta", "title": "Your order shipped" },
            { "type": "text", "content": "Hi {{data.name}}, your order {{data.order_id}} is on its way." }
          ]
        }
      ]
    }
  },
  "state": "DRAFT"
}
```

Response includes `id` (e.g. `nt_01abc123`). Pass `"state": "PUBLISHED"` to skip steps 2–4.

**Step 2 — Update content** (optional)

```
PUT /notifications/{id}/content
{
  "content": {
    "version": "2022-01-01",
    "elements": [
      {
        "type": "channel",
        "channel": "email",
        "elements": [
          { "type": "meta", "title": "Updated Subject" },
          { "type": "text", "content": "Updated body text." }
        ]
      }
    ]
  },
  "state": "DRAFT"
}
```

**Step 3 — Create routing strategy** (required: `name`, `routing`)

```
POST /routing-strategies
{
  "name": "Email Only",
  "routing": {
    "method": "single",
    "channels": ["email"]
  }
}
```

Response includes `id` (e.g. `rs_01xyz`). Associate with template via `PUT /notifications/{id}` with `"routing": { "strategy_id": "rs_01xyz" }`.

**Step 4 — Publish**

```
POST /notifications/{id}/publish
{}
```

Empty body publishes the current draft. Returns 204.

**Step 5 — Send**

```
POST /send
{
  "message": {
    "to": { "user_id": "user-123" },
    "template": "nt_01abc123",
    "data": { "name": "Alice", "order_id": "ORD-456" }
  }
}
```

### Migration Guides

- [Migrate from Braze to Courier](https://www.courier.com/docs/tutorials/migrate/from-braze.md)
- [Migrate from Knock to Courier](https://www.courier.com/docs/tutorials/migrate/from-knock.md)
- [Migrate from Novu to Courier](https://www.courier.com/docs/tutorials/migrate/from-novu.md)
- [Migrate from OneSignal to Courier](https://www.courier.com/docs/tutorials/migrate/from-onesignal.md)
- [Migrate from SuprSend to Courier](https://www.courier.com/docs/tutorials/migrate/from-suprsend.md)

### Other Optional

- [GET Profile](https://www.courier.com/docs/platform/automations/get-profile.md)
- [Segment](https://www.courier.com/docs/platform/automations/segment.md)
- [Get Notification Content](https://www.courier.com/docs/api-reference/notification-templates/get-notification-content.md): Retrieve published or draft content of a notification template.
- [Get Submission Checks](https://www.courier.com/docs/api-reference/notification-templates/get-submission-checks.md): Retrieve the checks for a notification template submission.
- [Replace Submission Checks](https://www.courier.com/docs/api-reference/notification-templates/replace-submission-checks.md): Replace the checks for a notification template submission.
- [Cancel Submission](https://www.courier.com/docs/api-reference/notification-templates/cancel-submission.md): Cancel a notification template submission.

## API Reference

- [API Reference](https://www.courier.com/docs/reference/get-started.md): Full REST API documentation with request/response schemas for all endpoints.
Поделиться результатами
Обсудить с ИИ
Добавлен 19.07.2026
courier.com - проверка ИИ-оптимизации | llmsmap.ru