omitzero semantics and returns parsed response types.
Available on
GitHub
and pkg.go.dev.
Installation
Quick start
Authentication
Get your API key from in the Courier dashboard. Set it as an environment variable:Sending notifications
Design your notification in , then reference it by ID:Available resources
The SDK covers the full Courier API. Every method is typed and carries Go docstrings.Common operations
Checking message status
Managing user profiles
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. Useclient.Auth.IssueToken:
Configuration
Error handling
When the API returns a non-success status code, the SDK returns an error that can be unwrapped to access status and details:Retries
The SDK retries failed requests up to 2 times with exponential backoff. Configure globally or per-request:Timeouts
The SDK sets no request timeout by default. Add one with a context deadline (or theoption.WithRequestTimeout client option):
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 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.