Installation
Quick start
Authentication
Get your API key from in the Courier dashboard. Set it as an environment variable:Sending notifications
With a template
Design your notification in , then reference it by ID:To multiple recipients
Send to several recipients in one call:Available resources
The SDK covers the full Courier API.Common operations
Checking message status
After sending, use therequestId to check delivery status or get the full event timeline:
Managing user profiles
Profiles store the recipient data Courier delivers to: email, phone, and custom fields. Create the profile before sending to auser_id.
create merges with any existing profile. replace overwrites it and drops any field you leave out.Issuing JWT tokens
Courier’s (React, JavaScript, mobile) authenticate users with a JWT your backend issues. covers the token flow, the scope strings, and token refresh. Useauth.issueToken:
scope string controls what the token can access. Common scopes:
TypeScript types
Every request and response has a TypeScript definition. Import them directly:Configuration
Error handling
The SDK throws typed errors for API failures. All errors extendCourier.APIError:
Retries
The SDK retries failed requests up to 2 times with exponential backoff. It retries connection failures, 408, 409, 429, and 5xx responses.Timeouts
Requests time out after 60 seconds by default. Configure globally or per-request:APIConnectionTimeoutError. The SDK retries timed-out requests by default.
Logging
Enable debug logging with theCOURIER_LOG environment variable or the logLevel client option:
debug level the SDK logs every HTTP request and response, headers and bodies included. You can also pass a custom logger (pino, winston, etc.):
Raw response access
Access HTTP headers or the underlyingResponse object:
Journeys
are multi-step workflows: send, delay, branch, throttle, digest, and more. Invoke one by ID or alias to start a run. Cancel runs by ID, or by a shared cancelation token.cancel takes exactly one of run_id or cancelation_token (spelled with one “l”). Build and manage journeys from code with client.journeys.create, list, publish, and archive. See .More operations
A few more resources from the full :API Reference
Full REST API docs with request/response examples.
Send API
Learn about the Send endpoint, routing, and message options.
Quickstart
Send your first notification in under two minutes.
GitHub
Source code, issues, and changelog.
Idempotent sends
Pass an idempotency key and Courier replays the first response for that key instead of sending again. The SDK sets theIdempotency-Key header for you. covers the scoping rule and the replay window.