Skip to main content
For Node.js and TypeScript we recommend the official SDK. It handles authentication, idempotency and typed errors. Every endpoint page on this reference shows a raw request in cURL, JavaScript, Python, Ruby, PHP and Go.

Base URL

All requests go to:
HTTPS is required. Requests and responses are JSON; send Content-Type: application/json on every request with a body. Timestamps are ISO 8601 in UTC. Ids are prefixed by type: em_ emails, sm_ SMS, tpl_ templates, dom_ domains, sup_ suppressions, whk_ webhook endpoints, whd_ deliveries, evt_ events.

Authentication

Send your API key as a bearer token. See authentication.

Request headers

Response headers

Response codes

Every error uses one envelope with a stable code. See errors.

Test mode

Keys that start with sk_test_ validate everything and return ids, but never send, never use your allowance and never contact a provider. See test mode.

Versioning

The API is versioned in the path (/v1). Fields are only added, never removed or renamed, within a version. New event types and error codes may appear; treat unknown values as “other” rather than failing.