> ## 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` from the Node SDK (`@trycourier/courier` v7 and later, where the client is the default import). 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.
> To translate a template, write one locale at a time with `PUT /notifications/{id}/locales/{localeId}`, which merges into the existing translations. `PUT /notifications/{id}/content` and `PUT /notifications/{id}/elements/{elementId}` overwrite translations along with the content, so send each element's `id` and `locales` back, and first remove every `checksum` and any `locales` key that starts with an underscore.
> 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.

# Courier docs: send and automate customer messages

> Send and automate customer messages across email, SMS, push, Slack, chat, and in-app, all from one API.

Courier is a customer messaging orchestration platform. It helps you send and manage your product's notifications across email, SMS, push, Slack, Microsoft Teams, WhatsApp, and in-app, all in one place.

Everything you need is built in, from a visual template editor and multi-step journeys to user preferences, an in-app notification center, and analytics on every message you send.

Courier turns notifications from code you maintain into something your whole team can shape. You change a message, a workflow, or a channel without shipping a release, and your AI coding agent can build them with you through [Courier Skills](/docs/resources/skills) and the [MCP server](/docs/resources/mcp).

## Where to start

<CardGroup cols={2}>
  <Card title="Build with AI" icon="sparkles" href="/docs/get-started/build-with-ai">
    Set up Claude Code, Cursor, or Codex to build with Courier.
  </Card>

  <Card title="Send your first message" icon="paper-plane" href="/docs/get-started/send-a-message">
    Go from an API key to a delivered message, in any server language.
  </Card>

  <Card title="Build your first journey" icon="route" href="/docs/get-started/build-your-first-journey">
    Build a three-email welcome series with the Journeys API.
  </Card>

  <Card title="Add an in-app inbox" icon="inbox" href="/docs/in-app/overview">
    A real-time message center for web, iOS, and Android.
  </Card>
</CardGroup>

## Why use Courier

* **Design once, send anywhere.** Build a template in [Design Studio](/docs/design/templates/design-studio), and Courier formats it for email, SMS, push, chat, and the inbox. Your team changes wording and design without a deploy.
* **Automate the whole flow.** [Journeys](/docs/journeys/overview) run multi-step sequences like onboarding or a trial ending, with triggers, delays, branches, digests, and experiments.
* **Let users choose.** With [preferences](/docs/recipients/preferences/overview), users pick which notifications they get and on which channel. Courier checks those choices on every send.
* **Put an inbox in your app.** The [in-app inbox](/docs/in-app/overview) adds a real-time message center and toasts to web, iOS, Android, React Native, and Flutter apps.
* **Serve every customer their way.** [Tenants](/docs/tenants/overview) give each of your customers their own branding, preferences, and routing.
* **See what happened.** [Logs](/docs/monitor/logs) show every message, and [analytics](/docs/monitor/analytics) track delivery, open, and click rates per template, journey, and broadcast.
* **Keep your providers.** Courier sends through the accounts you already have, such as SendGrid, Amazon SES, Twilio, Firebase Cloud Messaging, and APNs, and can fail over to a backup.

## Explore the platform

<CardGroup cols={3}>
  <Card title="Templates" icon="palette" href="/docs/design/templates/overview">
    Design content once and render it for every channel.
  </Card>

  <Card title="Journeys" icon="route" href="/docs/journeys/overview">
    Automate multi-step flows with triggers, delays, and branches.
  </Card>

  <Card title="Broadcasts" icon="bullhorn" href="/docs/broadcasts/overview">
    Send one message to a whole list or audience.
  </Card>

  <Card title="In-app messaging" icon="inbox" href="/docs/in-app/overview">
    Embed an inbox, toasts, and a preference center in your app.
  </Card>

  <Card title="Preferences" icon="toggle-on" href="/docs/recipients/preferences/overview">
    Let users choose what they receive, per topic and channel.
  </Card>

  <Card title="Embedded designer" icon="puzzle-piece" href="/docs/design/embedded-designer/overview">
    Let your customers design their own templates in your app.
  </Card>

  <Card title="User profiles" icon="user" href="/docs/recipients/overview">
    Store each recipient's contact details and device tokens.
  </Card>

  <Card title="Lists and audiences" icon="users" href="/docs/recipients/lists-and-audiences/overview">
    Group users into static lists and dynamic audiences.
  </Card>

  <Card title="Logs and analytics" icon="chart-simple" href="/docs/monitor/overview">
    See what happened to every message, and how each template performs.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/docs/monitor/webhooks/outbound">
    Get delivery, open, and click events in your own system.
  </Card>

  <Card title="Tenants" icon="building" href="/docs/tenants/overview">
    Scope branding, preferences, and routing per customer.
  </Card>
</CardGroup>

## Developer tools

<CardGroup cols={2}>
  <Card title="SDKs" icon="cubes" href="/docs/sdk-libraries/sdks-overview">
    Server and client libraries for your language.
  </Card>

  <Card title="CLI" icon="terminal" href="/docs/resources/cli">
    Operate the Courier API from your terminal.
  </Card>

  <Card title="MCP" icon="microchip-ai" href="/docs/resources/mcp">
    Give an AI agent access to the Courier API.
  </Card>

  <Card title="API Reference" icon="code" href="/docs/reference/api-overview">
    Every endpoint, with request and response schemas.
  </Card>
</CardGroup>

## FAQ

<AccordionGroup>
  <Accordion title="What channels and providers does Courier support?">
    Courier delivers across email, SMS, push, an in-app inbox, and chat apps including Slack, Microsoft Teams, and WhatsApp. You bring your own provider accounts, such as SendGrid, Postmark, Amazon SES, Twilio, or Firebase Cloud Messaging, and [connect them](/docs/integrations/overview) once. Courier routes each message to the right provider, and fails over to a backup if one is unavailable. See [how sending works](/docs/send/overview).
  </Accordion>

  <Accordion title="Do I bring my own providers, or does Courier send messages for me?">
    You bring your own providers. Courier sits on top of the delivery services you already use, so you keep your sender reputation, domains, and provider pricing. Courier adds routing, failover, templating, preferences, and analytics, and bills separately per send.
  </Accordion>

  <Accordion title="How much does Courier cost?">
    Courier has three plans and bills on notifications sent, not team size or channels. The Developer plan is free for up to 10,000 sends per month. The Business plan is pay-as-you-go at \$0.005 per send. Enterprise is custom-priced with volume discounts. See [Courier pricing](https://www.courier.com/pricing) for the full comparison.
  </Accordion>

  <Accordion title="Is Courier built for developers, product teams, or marketers?">
    Courier is built for all three, and for AI agents. You can work in code with the REST API, SDKs, and CLI, or without code in [Design Studio](/docs/design/templates/design-studio) and [journeys](/docs/journeys/overview). AI coding agents work through the MCP server and CLI.
  </Accordion>

  <Accordion title="Can Courier handle both transactional notifications and lifecycle marketing?">
    Courier runs both on the same platform. Transactional notifications include password resets, receipts, and alerts. Lifecycle marketing includes onboarding, re-engagement, and announcement sequences. [Journeys](/docs/journeys/overview) automate multi-step flows with triggers, delays, branches, batching, and digests.
  </Accordion>

  <Accordion title="What are Journeys?">
    Journeys are visual, multi-step workflows that automate when and how messages send. You add triggers, delays, branches, and send steps. Batch and digest nodes bundle activity into a single notification. Build and edit them in the dashboard, or manage them through the [Journeys API](/docs/journeys/overview).
  </Accordion>

  <Accordion title="How do notification preferences work?">
    Users control what they receive, per topic and per channel. Host a ready-made [preference page](/docs/guides/build-a-preference-center#hosted-page), or embed preference components in your app. Courier enforces those choices automatically on every send. See [preferences](/docs/recipients/preferences/overview).
  </Accordion>

  <Accordion title="How do I see whether a message was delivered?">
    Every send gets a log entry with its status, timeline, the content sent, and the provider's response. Search [logs](/docs/monitor/logs) in the dashboard by recipient, template, or status, or subscribe to [outbound webhooks](/docs/monitor/webhooks/outbound) to get each status change in your own system.
  </Accordion>

  <Accordion title="Does Courier support multi-tenant applications?">
    Courier supports multi-tenant apps with tenants, which scope branding, routing, and preferences per customer or workspace. One integration serves many end customers, each with their own look and delivery rules. See [multi-tenancy](/docs/tenants/overview).
  </Accordion>

  <Accordion title="Does Courier provide an API and SDKs?">
    Courier is API-first, with a REST API for sending, users, preferences, and more. Server SDKs cover Node, Python, Go, Ruby, Java, PHP, and C#. Client SDKs cover React, JavaScript, iOS, Android, React Native, and Flutter, for building in-app inboxes and embedding preferences. Start from the [API reference](/docs/reference/api-overview) or [SDK libraries](/docs/sdk-libraries/sdks-overview).
  </Accordion>

  <Accordion title="Can I use Courier with AI coding agents?">
    Courier offers a [CLI](/docs/resources/cli), an [MCP server](/docs/resources/mcp), and [agent skills](/docs/resources/skills). AI coding agents use them to send messages, manage users, and build notification workflows from your development environment. See [Build with AI](/docs/get-started/build-with-ai) to get set up.
  </Accordion>

  <Accordion title="Is Courier SOC 2 compliant?">
    Courier maintains SOC 2 Type II, HIPAA, and PCI DSS programs, and supports GDPR and CCPA obligations. The [Security Portal](https://security.courier.com/) holds the current reports for a vendor review. See [Compliance](/docs/workspaces/compliance).
  </Accordion>

  <Accordion title="Can I self-host Courier?">
    Courier is a managed cloud platform, with no self-hosted or on-premise option. If data residency is the concern, the [EU datacenter](/docs/workspaces/datacenters) keeps notification data in Europe.
  </Accordion>
</AccordionGroup>
