This version of our edge API has only two endpoints, but supports the majority of our traditional v1 track operations and then some based on the `type` and `action` keys that you set in your request. You can use the `/batch` call to send multiple requests at the same time. Unlike the v1 API, you can also make requests affecting objects and deliveries. Objects are a grouping mechanism for people—like an account people belong to or an online course that they enroll in. Deliveries are events based on messages sent from Customer.io.The chart below lists the type of `action` you can perform for each `type`. Our requests below are broken out by `type`; use the `action` dropdown to see the specific payload structure for each action.| Action | Person | Object | Delivery | | :-- | :--: | :--: | :--: || identify | ✅ | ✅ | || delete | ✅ | ✅ | || event | ✅ | | ✅ || screen | ✅ | | || page | ✅ | | || add_relationships | ✅ | ✅ | || delete_relationships | ✅ | ✅ | || add_device | ✅ | | | | delete_device | ✅ | | || merge | ✅ | | || suppress | ✅ | | || unsuppress | ✅ | | |
Customer.io Track V2 API is one of 42 APIs that Customer.io publishes on the APIs.io network, described by a machine-readable OpenAPI specification.
The published artifact set on APIs.io includes an OpenAPI specification and API documentation.
This API exposes
2 operations
across 2 paths,
and defines 36 schemas.
It is described by OpenAPI 3.2.0, at version 1.0.0.
Requests are made against 2 base URLs: https://track.customer.io, https://track-eu.customer.io.
2 operations2 paths36 schemas2 POST
Metadata
The identity and technical contract details declared by the specification.
Specification
OpenAPI 3.2.0
API Version
1.0.0
Base URL
https://track.customer.io
Authentication
HTTP Basic
Resource Areas
1
Authentication & Security 1
Customer.io Track V2 API declares
1 security scheme
for authenticating requests.
It accepts HTTP basic authentication (Tracking-API-Key).
Tracking-API-Key — The Track API uses a basic authentication scheme. Your credentials are your Site ID and your API key, Base-64 encoded in the format siteid:apikey. You can find…
Paths & Operations 2
Across 2 paths, the API surfaces 2 operations — 2 POST. Each is listed below with its method, path, parameters, and response codes.
track_v2 2
This version of our edge API has only two endpoints, but supports the majority of our traditional v1 track operations and then some based on the type and action keys that you set…
POST
/api/v2/entity
Make a single request
entitybody→ 200400401
POST
/api/v2/batch
Send multiple requests
batchbody→ 200207400401
Schemas 36
The contract defines 36 schemas that model the data the API accepts and returns. The most detailed are delivery_operations (5 properties), person_merge (4 properties), device_object_common (3 properties), person_common (2 properties). Each schema is shown below with its type and property counts.
object_delete
Delete an object. This also removes relationships from people.
object_delete_relationships
Delete relationships between an object and one or more people.
person_screen
A mobile "screenview" event attributed to a person. Our screen and page event types are more specific than our standard event, and help you track and target pe…
person_add_relationships
Associate multiple objects with a person.
object_identify_anonymous
The identifyanonymous action lets you relate an object to a person who hasn't yet identified themselves by anonymousid. When you identify the person, their ano…
identify_person
Add or update a person.
person_suppress
Suppress a person's identifier(s) in Customer.io, so that you can't message a person or add their identifiers back to your workspace. This is separate from sup…
errors
array
An array of errors, where each object represents a different error.
delivery_operations
object
The "delivery" type lets you attribute metrics to messages that don't self-report back to Customer.io, like push and in-app notifications.
5 properties5 required
person_unsuppress
Unsuppress a person's identifier(s) in Customer.io, so that you can message a person or add their identifiers back to your workspace. This does not unsuppress…
relationship_attributes
object
The attributes associated with a relationship. Passing null or an empty string removes the attribute from the relationship.
cio_id
string
A unique identifier set by Customer.io, used to reference a person if you want to update their identifiers.
person_delete
Delete a person from your workspace.
cio_subscription_preferences
object
A person's [subscription center](/journeys/channels/subscriptions/center/) preferences. Use JSON dot notation, such as ciosubscriptionpreferences.topics.topic…
1 property
person_merge
object
Merges secondary into primary, then deletes secondary. The operation is not reversible, and primary must already exist. See [merging duplicate people](/journey…
4 properties4 required
object_identify
object
The action determines the type of operation you want to perform with an object. If identifiers.objectid does not exist, we'll create a new object; if it exists…
v2_cio_relationships
array
The people you want to associate with an object. Each object in the array represents a person.
object_common
object_relationships
array
Each object in the array represents a relationship you want to add to, or remove from, a person.
person_page
A web "pageview" event attributed to a person. Our screen and page event types are more specific than our standard event, and help you track and target people…
person_delete_device
Delete devices that belong to a person.
object_operations
object_attributes
object
Data that belongs to the object. Pass null or an empty string to remove an attribute. Some attributes have special meaning—see [reserved attributes](/journeys/…
object_common_identify
object
2 properties2 required
device_object_common
object
Device information common to the v1 and v2 APIs.
3 properties1 required
anonymous_id
string
An identifier for an anonymous event, like a cookie. If set as an attribute on a person, any events bearing the same anonymous value are associated with this p…
object_identifiers
object
1 property
not_nullable_email_address
string
The email address of the customer.
not_nullable_customer_id
string
The ID of a customer profile, analogous to a "person" in the UI.
object_add_relationships
Add relationships between an object and one or more people.
person_add_device
Assign devices to a person.
person_event
A custom event attributed to a person. You can use events to trigger campaigns, or reference event information using liquid in your messages.
object_type_id
string
The object type an object belongs to—like "Companies" or "Accounts". Object type IDs are string-formatted integers that begin at 1 and increment for each new t…
person_operations
person_delete_relationships
Remove multiple object relationships from a person.
person_common
object
2 properties2 required
Specification
The full machine-readable OpenAPI contract behind this narrative.
Every API here is available over the API and to AI agents over MCP. APIs is not yet its own endpoint on the v1 API. Reach this content through network search and the tag graph, or the MCP server below.
Installs https://mcp.apievangelist.com/mcp in Claude, Cursor, VS Code and the rest — one button, every client.
MCP tools for apis
4 tools reach this content
search_api_evangelistSearch every content type across the network at once.
find_relatedThe shared-tag relevance graph — what else covers this.
get_tagEverything one tag labels, across all content types.
guide_topicPRO — a curated bundle for a topic: area, guidance, rules, papers, stories, services.
A second provider on the same verified email joins the account you already have.
Your account
ⓘWhere this information came from
This is an independent, third-party profile of Customer.io Track V2 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.