Skip to main content
The Boom CDP is how you get customer data into the platform: the people you serve, the typed records that describe your business (orders, loans, …), the things those people do, and the relationships between them. Once the data is in, you act on it with the REST API. Every endpoint here is also an MCP tool with the same name and schema.

Base URL

All CDP endpoints live under /api/v1/cdp:
Every request is authenticated with an organization API key sent as a Bearer token — the organization is derived from the key. See Authentication.

Building blocks

People

Individuals, keyed by your own externalId, with optional firstName, lastName, email, and phoneNumber (E.164), plus a free-form attributes object.

Custom objects

Typed records (an order, a loan, …) keyed by (type, externalId). Types are defined per organization.

Attributes

Free-form key/value data on people and objects. New keys are auto-registered in your attribute catalog, so they show up as filters in Segments.

Events

Append-only behavioral records (a payment_made, a checkout_started) tied to a person or object. Record one at a time or in bulk.

Relationships

Links between a person and an object, or between two objects — a customer who placed an order, an order that has_line_item.

Types

The catalogs behind the data: custom-object types and relationship types. Register these to get the ids you reference elsewhere.

Common use cases

  • Identify a person. Upsert a person by your own externalId with their contact fields and attributes — the same call updates rather than duplicates.
  • Record behavior. Send events as they happen, one at a time or via the /batch endpoint (up to 1000).
  • Model your domain. Register custom-object and relationship types, upsert objects, and link them to people.
  • Bulk import. Backfill history through the /batch endpoints instead of one request per record.

Conventions

  • Writes are upserts. The same externalId twice updates rather than duplicates. attributes are fully replaced on update — always send the complete set.
  • One record or many. The /batch variants accept up to 1000 records.
  • Errors. { "error": { "code", "message" } } + HTTP status. See Rate limits & errors.

Learn more

Events

How events are shaped, recorded, and read back.

Relationship types

The catalog of allowed link shapes and how to register one.

Connect your database

Sync people and objects straight from PostgreSQL or MySQL — no API integration.