> ## Documentation Index
> Fetch the complete documentation index at: https://docs.useboom.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# API

> The REST API for acting on your customer data: build audiences, run initiatives, author the flow behind them, and read back what the conversations produced.

The Boom REST API turns the customer data in your [CDP](/cdp/overview) into
conversations: define who you want to reach, create the initiative that reaches
them, author the [journey](/journeys) that carries it out, and read back the
structured data those conversations produced.

What each initiative is for is up to you. The same endpoints run a win-back, a
support line, a research round, an onboarding nudge, lead qualification, or a
document collection. Every endpoint here is also available as an
[MCP tool](/use-mcp) with the same name and schema, see
[one uniform surface](/one-surface).

## Base URL

All endpoints live under `/api/v1`:

```
https://www.useboom.ai/api/v1
```

<Info>
  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](/authentication).
</Info>

## What you can do

<CardGroup cols={2}>
  <Card title="Segments" icon="blend">
    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.
  </Card>

  <Card title="Initiatives" icon="rocket">
    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.
  </Card>

  <Card title="Journeys" icon="route" href="/journeys">
    The workflow behind an initiative. Author it end to end: open a draft, add
    and connect nodes, set the trigger, validate, publish.
  </Card>

  <Card title="Extracted data" icon="table" href="/extraction">
    The typed fields each conversation should yield, and how to read them back
    per participant or in aggregate.
  </Card>

  <Card title="WhatsApp templates" icon="message-square-text">
    The pre-approved openers a conversation starts with. List your WhatsApp
    numbers, then list, read, and create templates.
  </Card>
</CardGroup>

## 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](/extraction) now rather than later, since it does not
  apply to conversations that already ran. Then launch
  (`POST /api/v1/initiatives/{id}/launch`).

  Launching publishes the initiative's [journey](/journeys) for you, on WhatsApp
  and email alike, 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 with `journey_not_ready` and lists what
  to fix. A launch that fails for any reason leaves the journey unpublished.
  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](/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 `/batch`
  variants accept up to 1000 at once.
* **Pagination.** List endpoints return a `nextCursor`; pass it back as `cursor`
  to page forward.
* **Errors.** Every error responds with `{ "error": { "code", "message" } }` and
  an HTTP status. See [Rate limits & errors](/rate-limits-and-errors).

## Getting data in

Acting on data assumes the data is already in Boom. To push or sync people,
objects, events, and relationships, see the [CDP](/cdp/overview).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.