How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Customer.io Pipelines API

The Customer.io Pipelines (CDP) API is the Segment-spec data ingestion interface Customer.io recommends for new integrations — identify, track, page, screen, group, alias and batch, all POST-only, with deletes and other state changes expressed as semantic events rather than HTTP verbs. This entry points at the OpenAPI 3.1.0 document Customer.io publishes itself. Authorization is HTTP basic with the CDP API key as the username and a blank password.

Customer.io Pipelines API is one of 27 APIs that Customer.io publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include CDP, Data Ingestion, Customer Data, and Event Tracking. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 7 operations across 7 paths, and defines 57 schemas. It is described by OpenAPI 3.1.0, at version 1.0.0.

Requests are made against 2 base URLs: https://cdp.customer.io/v1, https://cdp-eu.customer.io/v1.

7 operations 7 paths 57 schemas 7 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
1.0.0
Base URL
https://cdp.customer.io/v1
Authentication
HTTP Basic
Resource Areas
1

Authentication & Security 1

Customer.io Pipelines API declares 1 security scheme for authenticating requests. It accepts HTTP basic authentication (Basic-Auth).

  • Basic-Auth — The Data Pipelines API uses a basic authentication scheme with your API key. Because basic authorization typically expects a username and password combination,…

Paths & Operations 7

Across 7 paths, the API surfaces 7 operations — 7 POST. Each is listed below with its method, path, parameters, and response codes.

Operations 7
POST
/identify
Add and Update People
identify 1 param body → 200
POST
/track
Track events
track 1 param body → 200
POST
/page
Track pageviews
page 1 param body → 200
POST
/screen
Track mobile screenviews
screen 1 param body → 200
POST
/group
Create objects and relationships
group 1 param body → 200
POST
/alias
Merge profiles
alias 1 param body → 200
POST
/batch
Batch requests
batch 1 param body → 200

Schemas 57

The contract defines 57 schemas that model the data the API accepts and returns. The most detailed are identify_bad (11 properties), alias_bad (10 properties), etl_tracks_destination (9 properties), etl_tracks (9 properties). Each schema is shown below with its type and property counts.

user
The person you want to attribute activity to—an anonymousId or a userId. When you identify a person and associate an anonymousId with a userId, we'll associate…
previousId
string
The anonymousId or userId value that you want to merge into the canonical profile.
alias
object
3 properties 2 required
alias_all
identify
track
page
screen
groupId
string
ID of the group
group
userId
string
The unique identifier for a person. This value should be unique across systems, so you recognize the same person in your sources and destinations.
anonymousId
string
A unique substitute for a User ID in cases when you don’t have an absolutely unique identifier. Our libraries generate this value automatically to help you tra…
all_common_fields
page_common_fields
mobile_common_fields
context
A dictionary of context about a source call/event, like the user’s IP address or locale. Context is automatically collected by our source libraries.
integrations
object
Contains a list of booleans indicating the integrations that are enabled (true) or disabled (false). By default, all integrations are enabled (returning an emp…
common_fields
object
8 properties
context_common
object
Contains contextual information about the event.
5 properties
context_page
object
Contains information about the current page in the browser. This is automatically collected by our JavaScript source.
7 properties
context_non_mobile
A dictionary of context about a source call/event, like the user’s IP address or locale. Context is automatically collected by our source libraries.
context_mobile
A dictionary of context about a source call/event, like the user’s IP address or locale. Context is automatically collected by our source libraries.
batch
object
3 properties
identify_bad
object
11 properties
track_bad
page_bad
screen_bad
objectTypeId
string
If you use Customer.io Journeys as a destination, this value is the type of group/object your group belongs to; object type IDs are stringified integers. If yo…
group_bad
alias_bad
object
10 properties 3 required
errors
array
An array of errors, where each object represents a different error.
id
string
A unique identifier for a Data Pipelines event, ensuring that each individual event is unique.
received_at
string
The ISO-8601 timestamp when Data Pipelines receives an event.
sent_at
string
The ISO-8601 timestamp when a library sends an event to Data Pipelines.
received_at_unix
integer
The Unix timestamp (in seconds) when Data Pipelines receives an event.
sent_at_unix
integer
The Unix timestamp (in seconds) when a library sends an event to Data Pipelines.
etl_identify
object
7 properties
etl_group
object
8 properties
etl_tracks
object
9 properties
etl_alias
object
5 properties
etl_page
object
7 properties
etl_screen
object
7 properties
etl_identify_destination
object
7 properties
etl_group_destination
object
8 properties
etl_tracks_destination
object
9 properties
etl_alias_destination
object
5 properties
etl_page_destination
object
7 properties
etl_screen_destination
object
7 properties
create_update_device
object
Add or update a device. If a device (represented by device.token) exists, does not exist, we'll create it. If the device token already exists, we'll update the…
3 properties 3 required
delete_device
object
Delete a device.
3 properties 3 required
delete_person
object
Remove a person from your Customer.io environment.
3 properties 2 required
relationship_deleted
object
Remove a relationship between a person and an object in Customer.io.
3 properties 3 required
group_deleted
object
Remove a group (also called an "object") from Customer.io Journeys.
3 properties 3 required
suppress_person
object
Remove a person from your Customer.io workspace and prevent them from being added back.
4 properties 2 required
unsuppress_person
object
Allow a userId to be added back to your Customer.io workspace.
4 properties 2 required
report_delivery_event
object
Reports delivery events for messages.
3 properties 2 required
report_content_event
object
Reports impressions and clicks for anonymous messages.
3 properties 2 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

customer-io-pipelines-api-openapi.json Raw ↑

Other APIs Customer.io publishes across the network.

Customer.io Track API
Customer.io Activities API
Customer.io Alias API
Customer.io Batch API
Customer.io Broadcasts API
Customer.io Campaigns API
Customer.io Collections API
Customer.io Customers API
Customer.io Devices API
Customer.io Entity API
Customer.io Events API
Customer.io Exports API
Where this information came from

This is an independent, third-party profile of Customer.io Pipelines API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.