Base URL
/api/v1 prefix. A small set of browser-facing assets and redirects is mounted at the domain root instead and is not part of the API:
Authentication
Every request carries two headers. There is no OAuth flow and no bearer token.X-Sender-Tenant accepts either your workspace slug or the workspace UUID. See Authentication for how to create, rotate and revoke keys, and for the exact failure responses.
Versioning
The current API version is2026-01. It is returned as apiVersion by GET /public/me. There is no version header and no version segment in the path beyond /api/v1; new fields and endpoints are added compatibly.
The response envelope
Every successful response is wrapped in the same envelope. The shapes documented throughout this reference are the value ofdata.
success: false with a human-readable message. Some errors add a machine-readable code you can branch on:
Branch on
code where it is present, and on the HTTP status otherwise.
Never parse message, which is prose and can change.Making a request
string
Send
application/json on any request with a body.string
Optional. Up to 64 characters from
A-Z, a-z, 0-9, _ and -. If you
send a valid value it is used as the request id; otherwise one is generated.
It is echoed back on the response as X-Request-Id on every request, valid
or not. Log it and quote it to support.- Request bodies are capped at 2 MB. A larger body is rejected before it reaches the handler.
- Unknown properties are rejected. Bodies are whitelisted against the documented fields, so an unexpected or misspelled key returns
400rather than being silently ignored.
Endpoint map
Ingest and transactional
Authenticated with the same header pair, but mounted outside/public.
Public API
Reference lookups
Compact lists sized for populating dropdowns and validating input before a send.Where to start
Authentication
Create a key, set the two headers, and read the rate limits.
Validate connection
One call that proves the credentials work.
Profiles
Create, upsert, update, look up and suppress contacts.
Lists
Enumerate lists and manage membership.
Messages
Transactional email and SMS, plus delivery status.
Event ingest
Record custom events and trigger automations.
OTP API
Send and verify one-time passcodes.
Forms API
The subscribe endpoint behind embedded forms.
Webhooks
Subscribe to outbound events.
Resource dropdowns
Templates, campaigns, fields, senders and event names.
Tags
Enumerate workspace tags and create new ones.
Push subscriptions
Register a browser for web push against a profile.

