Courier’s routing templates allow you to create reusable routing configurations that can be applied across templates in Design Studio. Routing templates define the logic for determining which channel(s) to send a notification through based on conditions you specify.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.

Creating a Routing Template
Click onAdd routing scheme in the maing routing page to create a new routing template from the modal.
Basic Scheme
The Basic scheme sends notifications to all enabled channels simultaneously.
Advanced Scheme
The Advanced scheme provides cascading fallback logic. Notifications are sent to a required channel first, then fall back to other channels if delivery fails.
| Section | Behavior |
|---|---|
| Always send to | Required channel(s) that always receive the notification |
| If the last above fails, send to | Fallback channels tried in order until one succeeds |
Reusing Routing Strategies
Unlike the classic designer where routing is configured per-template, routing strategies are saved independently and reusable:- Create a routing strategy once (e.g., “Primary” with email + SMS fallback)
- Apply it to multiple templates from the routing dropdown
- Edit the strategy to update all templates using it
Managing Routing Strategies with the REST API
You can list, create, retrieve, update, and archive routing strategies programmatically. This is useful for infrastructure-as-code workflows, CI/CD pipelines, and any scenario where you manage templates through the API rather than Design Studio.For full request/response schemas and SDK examples in all languages, see the Routing Strategies API Reference.
List Strategies
Returns metadata only (name, tags, timestamps); use the get endpoint for full routing content.cursor value from paging to fetch the next page.
Create a Strategy
Provide aname and a routing object at minimum. The routing.method controls delivery behavior:
| Method | Behavior |
|---|---|
single | Try channels in order; stop after the first successful delivery |
all | Send to all listed channels simultaneously |
id (e.g., rs_01abc123). Use this as routing.strategy_id when creating or updating templates.
Get Full Details
The list endpoint returns metadata only. To see the complete routing, channels, and providers configuration, retrieve a single strategy by ID.cURL
Replace a Strategy
PUT /routing-strategies/{id} does a full document replacement. Send the complete desired state; any fields you omit are cleared.
cURL
Archive a Strategy
Archiving removes a routing strategy. The strategy must not be linked to any templates; unlink all templates first or the request returns409 Conflict.
cURL
Using a Strategy with Templates
Every notification template references a routing strategy throughrouting.strategy_id. When you create or replace a template via POST /notifications or PUT /notifications/{id}, include the strategy ID:
Emergency Provider Switchover
Because a single routing strategy can be shared across many templates, updating one strategy immediately changes the provider order for every template that references it. You can use this to do a fast provider switchover without touching individual templates:cURL
message.channels.{channel}.providers in the send request:
What’s Next
Design Studio Overview
Introduction to Design Studio
Templates API
Manage templates programmatically
Channel Priority
How Courier selects delivery channels
Routing Strategies API Reference
Full endpoint schemas and SDK examples