Courier API Documentation

website·Indexed Apr 16, 2026

https://www.courier.com/docs/

Official documentation for the Courier notification platform. Covers API reference for managing audiences, brands, automations, audit events, and bulk jobs. Includes guides for authentication via JWT, the @trycourier/courier JavaScript SDK, tenant template management, and device token handling.

Tokens
424.7K
Snippets
1.7K
Records
2.4K
Agent score
50%

What's inside Courier

  1. Overview of Courier Create API for Tenant Templates

    The Courier Create API provides REST endpoints for managing tenant-specific notification templates used by the Design Studio (Elemental). It supports creating, updating, listing, reading, versioning, and publishing templates within a specific tenant. For workspace-wide templates, use the separate Templates API instead. The API uses Elemental content schema for defining notification structure.
  2. Overview of Courier Content Block Types and Capabilities

    Courier content blocks are modular components used to build notifications across channels. Each block type supports specific rendering and data capabilities:

    • Text: Rich text with support for inline conditions, variables, and formatting.
    • Image: Visual content that renders based on channel-specific requirements.
    • Action: Interactive elements like buttons and links for user engagement.
    • List: Dynamic arrays rendered as styled lists.
    • Markdown: Formatted content using plain text syntax.
    • Template: Custom HTML, CSS, and Handlebars templates for advanced customization.
    • Quote: Highlighted text and citations.
    • Divider: Visual separators between content sections.

    Data for these blocks can be sourced from the data object passed to the notification or merged from the recipient profile. For conditional logic within blocks, refer to the Content Block Conditions documentation.

  3. Overview of Courier Inbox and Toasts

    Courier Inbox enables real-time in-app notifications for web, iOS, and Android apps. It uses JWTs for authentication and supports features like dismissable toasts, tabbed message organization, and React component integration. To use Inbox, you must authenticate SDKs using JWTs generated from your backend, send messages via the Courier Send API, and optionally organize messages into tabs by tagging them at send time.
    # Example: Generate a user-scoped JWT from your backend
    # See: How to Send a JWT from Your Backend
    # The JWT is then used to authenticate the Courier Inbox SDK
  4. Overview of Courier Design Studio features and capabilities

    Courier Design Studio is a redesigned notification builder that replaces the Classic Designer. It enables building multi-channel notifications with an improved editing experience. Key capabilities include reusable routing configurations, full version history with side-by-side comparison, enhanced preview with test events, inline block editing with a drag-and-drop sidebar, and vertical channel tabs with visual previews.
  5. Overview of Courier Notification Infrastructure

    Courier is an infrastructure platform for product-to-user communication that unifies notification delivery across email, SMS, push, chat, and in-app channels through a single API. It handles the entire notification lifecycle: routing messages to the correct channels and providers, rendering templates, enforcing user preferences, managing retries and failover, and delivering in real-time. Key capabilities include a unified Send API, an in-app notification center (Courier Inbox), visual and code-based template design, automated workflows, and tenant management for B2B scenarios.
  6. Overview of available SDK resources and operations

    The Courier Node.js SDK provides typed access to all Courier API resources. Key namespaces include client.send for sending messages, client.messages for status/history, client.profiles for user profiles, client.users for preferences and tokens, client.auth for JWT tokens, client.bulk for large-scale sending, client.lists for subscription management, client.audiences for segments, client.tenants for multi-tenancy, client.automations for workflows, client.brands for settings, client.notifications for templates, and client.translations for localization.
    // Resource mapping
    client.send          // Send messages
    client.messages      // Retrieve status, history, content
    client.profiles      // Create, update, retrieve user profiles
    client.users         // Manage preferences, tenants, push tokens
    client.auth          // Issue JWT tokens
    client.bulk          // Bulk sending via jobs
    client.lists         // Manage subscription lists
    client.audiences     // Define and query segments
    client.tenants       // Manage tenants
    client.automations   // Invoke workflows
    client.brands        // Manage brand settings
    client.notifications // List templates
    client.translations  // Manage localized content
  7. Overview of Courier Templates and Channel Support

    Courier templates define the content, structure, and behavior of notifications across all supported channels (email, SMS, push, chat, and in-app). A single template can be created once and sent across multiple channels. Templates support modular content blocks, routing and failover logic, customized branding, and dynamic variables pulled from user profiles, event payloads, tenant information, and brand settings.
  8. Overview of Courier Observability Integrations

    Courier provides observability integrations for Enterprise Tier customers to gain insights into message delivery. Supported providers include Datadog, New Relic, and OpenTelemetry. These integrations allow tracking of metrics such as account creation, user relationships, automation triggers, message delivery states, channel performance, inbox connections, and list subscriptions.
  9. Overview of Courier Elemental Elements

    Courier Elemental provides a comprehensive set of reusable content elements to build structured, cross-channel notification templates. Each element type supports rich properties, conditional logic, and localization. The elements are categorized into Channel & Structure, Content, Layout, and Advanced elements. For detailed documentation on specific elements, refer to their dedicated pages.
  10. Overview of Design Studio Content Blocks

    Content blocks are the building blocks for notification content in Courier's Design Studio. They allow you to drag and drop elements onto a canvas to construct messages. The core available blocks include Heading (for titles), Text (paragraphs with formatting/variables), Image (with alt text/links), Button (call-to-action), Spacer (vertical spacing), Divider (horizontal lines), and HTML (raw HTML for advanced layouts). Additional blocks like columns, blockquotes, and lists may be available depending on your workspace configuration.
  11. Overview of Courier Elemental Elements

    Courier Elemental provides a comprehensive set of reusable content elements to build structured, cross-channel notification templates. Each element type supports rich properties, conditional logic, and localization. The elements are categorized into four main groups: Channel & Structure, Content, Layout, and Advanced elements. To use a specific element, refer to its dedicated documentation page for detailed examples, properties, and use cases.
  12. Overview of Courier Chat and Direct Message Providers

    Courier integrates with chat and direct message platforms to deliver notifications to users in their existing apps. Each provider requires specific profile fields to identify the recipient (e.g., Slack user ID, Discord channel ID, phone number).
    Available Providers:
    - Slack: Workspace messaging with Block Kit, threading, webhooks, slash commands.
    - Microsoft Teams: Enterprise messaging via Teams apps/bots with Adaptive Cards.
    - Discord: Direct messages or channel messages via a bot.
    - WhatsApp: Messaging via Twilio with template verification.
    - Facebook Messenger: Messaging via Page-Scoped IDs.