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 Track V2 API

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 operations 2 paths 36 schemas 2 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
entity body → 200400401
POST
/api/v2/batch
Send multiple requests
batch body → 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 properties 5 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 properties 4 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 properties 2 required
device_object_common
object
Device information common to the v1 and v2 APIs.
3 properties 1 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 properties 2 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

customer-io-track-v2-api-openapi.yml 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 Exports API
Customer.io Group API
Customer.io Identify API
Customer.io Messages API
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.