Base URL
All endpoints live under/api/v1:
Every request is authenticated with an organization API key sent as a
Bearer token. The organization is derived from the key. You never pass an
org id. See Authentication.
What you can do
Segments
Saved audiences built from your people and their data. Discover what’s
filterable, validate and preview a filter, create and update segments, and
page through their members.
Initiatives
One outreach mission: an audience, an objective, and the flow that carries
it out. Create one, link its templates, launch it, manage participants, and
read back a summary of what it collected.
Journeys
The workflow behind an initiative. Author it end to end: open a draft, add
and connect nodes, set the trigger, validate, publish.
Extracted data
The typed fields each conversation should yield, and how to read them back
per participant or in aggregate.
WhatsApp templates
The pre-approved openers a conversation starts with. List your WhatsApp
numbers, then list, read, and create templates.
Common use cases
-
Reach a group end to end. Build a segment of the people you want
(
POST /api/v1/segments), then evaluate it (POST /api/v1/segments/{slug}/evaluate), because a new segment has no members until you do. Create an initiative (POST /api/v1/initiatives), link the opening template (POST /api/v1/initiatives/{id}/templates), and set the extraction schema now rather than later, since it does not apply to conversations that already ran. Then launch (POST /api/v1/initiatives/{id}/launch). When the initiative is set to WhatsApp, launching publishes its journey for you, so you do not need a separate publish call. You do have to build that journey first, since a new initiative does not come with one. If it does not validate, the launch fails withjourney_not_readyand lists what to fix. Then enroll your participants, which only works once the initiative is live. The step people skip is the evaluate. A segment has no members until it runs once, so an initiative launched behind a fresh segment reaches nobody. -
Read back what was said, as data. Poll an initiative’s data summary
(
GET /api/v1/initiatives/{id}/data/summary) and read individual participant transcripts (GET /api/v1/initiatives/{id}/participants/{participantId}/messages). See extraction for the typed fields behind that summary. - Automate it from your own systems. Drive audiences and initiatives from your backend, on a schedule or in response to events.
Conventions
- One record or many. Most write endpoints process one record; the
/batchvariants accept up to 1000 at once. - Pagination. List endpoints return a
nextCursor; pass it back ascursorto page forward. - Errors. Every error responds with
{ "error": { "code", "message" } }and an HTTP status. See Rate limits & errors.