Skip to content
For LLMsView as Markdown·

Customer.io Track API

Identify people, track events and attributes, manage push notification devices, suppress/unsuppress contacts, and batch multiple operations via the Customer.io Track API.

DetailValue
CategoryAnalytics
Base URLhttps://track.customer.io/api/v1
AuthenticationBearer Token
Endpoints10
Connector keycustomer-io-track-api

Using Customer.io Track API in a workflow

  1. Go to Connections and click New Connection.
  2. Pick Customer.io Track API from the marketplace.
  3. Enter your credentials (see Authentication above for what's expected).
  4. In a workflow, drop an API Call node and select this connection.
  5. Pick the operation you need from the Operation dropdown — the full list is below.

Available endpoints

EndpointSummary
PUT /customers/{id}Create or update a person
DELETE /customers/{id}Delete a person
POST /customers/{id}/eventsTrack an event for a person
POST /eventsTrack an anonymous event
PUT /customers/{id}/devices/{device_id}Create or update a device
DELETE /customers/{id}/devices/{device_id}Delete a device
POST /customers/{id}/suppressSuppress a person
POST /customers/{id}/unsuppressUnsuppress a person
POST /batchBatch multiple operations
POST /merge_customersMerge two people

Each endpoint is documented in full below. Use the outline on the right to jump to one.

PUT /customers/{id}

Create or update a person

DetailValue
Operation IDcustomers.identify
MethodPUT
Path/customers/{id}

Parameters

NameLocationTypeRequired
idpathstringYes

Request Body

FieldType
emailstring
created_atinteger
anonymous_idstring

Using this endpoint in a workflow

  1. Add an API Call node to your workflow.
  2. Pick your Customer.io Track API connection from the Connection dropdown.
  3. In the Operation dropdown, select customers.identify.
  4. Fill in the parameter fields that appear. Use {{...}} to reference upstream values.

Required fields are marked — fill them or the call will fail at runtime.

What it returns

The API Call node writes the response to the workflow context:

{
  status: 200,
  success: true,
  data: { ...response body from the API... },
  latencyMs: 142
}

Reference response fields downstream as {{nodeId.data.path}}. The exact response shape is documented on the upstream Customer.io Track API API reference.

DELETE /customers/{id}

Delete a person

DetailValue
Operation IDcustomers.delete
MethodDELETE
Path/customers/{id}

Parameters

NameLocationTypeRequired
idpathstringYes

Using this endpoint in a workflow

  1. Add an API Call node to your workflow.
  2. Pick your Customer.io Track API connection from the Connection dropdown.
  3. In the Operation dropdown, select customers.delete.
  4. Fill in the parameter fields that appear. Use {{...}} to reference upstream values.

Required fields are marked — fill them or the call will fail at runtime.

What it returns

The API Call node writes the response to the workflow context:

{
  status: 200,
  success: true,
  data: { ...response body from the API... },
  latencyMs: 142
}

Reference response fields downstream as {{nodeId.data.path}}. The exact response shape is documented on the upstream Customer.io Track API API reference.

POST /customers/{id}/events

Track an event for a person

DetailValue
Operation IDcustomers.trackEvent
MethodPOST
Path/customers/{id}/events

Parameters

NameLocationTypeRequired
idpathstringYes

Request Body

FieldType
namestring
typestring
timestampinteger
dataobject

Using this endpoint in a workflow

  1. Add an API Call node to your workflow.
  2. Pick your Customer.io Track API connection from the Connection dropdown.
  3. In the Operation dropdown, select customers.trackEvent.
  4. Fill in the parameter fields that appear. Use {{...}} to reference upstream values.

Required fields are marked — fill them or the call will fail at runtime.

What it returns

The API Call node writes the response to the workflow context:

{
  status: 200,
  success: true,
  data: { ...response body from the API... },
  latencyMs: 142
}

Reference response fields downstream as {{nodeId.data.path}}. The exact response shape is documented on the upstream Customer.io Track API API reference.

POST /events

Track an anonymous event

DetailValue
Operation IDevents.trackAnonymous
MethodPOST
Path/events

Parameters

No parameters.

Request Body

FieldType
namestring
anonymous_idstring
dataobject

Using this endpoint in a workflow

  1. Add an API Call node to your workflow.
  2. Pick your Customer.io Track API connection from the Connection dropdown.
  3. In the Operation dropdown, select events.trackAnonymous.
  4. Fill in the parameter fields that appear. Use {{...}} to reference upstream values.

Required fields are marked — fill them or the call will fail at runtime.

What it returns

The API Call node writes the response to the workflow context:

{
  status: 200,
  success: true,
  data: { ...response body from the API... },
  latencyMs: 142
}

Reference response fields downstream as {{nodeId.data.path}}. The exact response shape is documented on the upstream Customer.io Track API API reference.

PUT /customers/{id}/devices/{device_id}

Create or update a device

DetailValue
Operation IDcustomers.upsertDevice
MethodPUT
Path/customers/{id}/devices/{device_id}

Parameters

NameLocationTypeRequired
idpathstringYes
device_idpathstringYes

Request Body

FieldType
deviceobject

Using this endpoint in a workflow

  1. Add an API Call node to your workflow.
  2. Pick your Customer.io Track API connection from the Connection dropdown.
  3. In the Operation dropdown, select customers.upsertDevice.
  4. Fill in the parameter fields that appear. Use {{...}} to reference upstream values.

Required fields are marked — fill them or the call will fail at runtime.

What it returns

The API Call node writes the response to the workflow context:

{
  status: 200,
  success: true,
  data: { ...response body from the API... },
  latencyMs: 142
}

Reference response fields downstream as {{nodeId.data.path}}. The exact response shape is documented on the upstream Customer.io Track API API reference.

DELETE /customers/{id}/devices/{device_id}

Delete a device

DetailValue
Operation IDcustomers.deleteDevice
MethodDELETE
Path/customers/{id}/devices/{device_id}

Parameters

NameLocationTypeRequired
idpathstringYes
device_idpathstringYes

Using this endpoint in a workflow

  1. Add an API Call node to your workflow.
  2. Pick your Customer.io Track API connection from the Connection dropdown.
  3. In the Operation dropdown, select customers.deleteDevice.
  4. Fill in the parameter fields that appear. Use {{...}} to reference upstream values.

Required fields are marked — fill them or the call will fail at runtime.

What it returns

The API Call node writes the response to the workflow context:

{
  status: 200,
  success: true,
  data: { ...response body from the API... },
  latencyMs: 142
}

Reference response fields downstream as {{nodeId.data.path}}. The exact response shape is documented on the upstream Customer.io Track API API reference.

POST /customers/{id}/suppress

Suppress a person

DetailValue
Operation IDcustomers.suppress
MethodPOST
Path/customers/{id}/suppress

Parameters

NameLocationTypeRequired
idpathstringYes

Using this endpoint in a workflow

  1. Add an API Call node to your workflow.
  2. Pick your Customer.io Track API connection from the Connection dropdown.
  3. In the Operation dropdown, select customers.suppress.
  4. Fill in the parameter fields that appear. Use {{...}} to reference upstream values.

Required fields are marked — fill them or the call will fail at runtime.

What it returns

The API Call node writes the response to the workflow context:

{
  status: 200,
  success: true,
  data: { ...response body from the API... },
  latencyMs: 142
}

Reference response fields downstream as {{nodeId.data.path}}. The exact response shape is documented on the upstream Customer.io Track API API reference.

POST /customers/{id}/unsuppress

Unsuppress a person

DetailValue
Operation IDcustomers.unsuppress
MethodPOST
Path/customers/{id}/unsuppress

Parameters

NameLocationTypeRequired
idpathstringYes

Using this endpoint in a workflow

  1. Add an API Call node to your workflow.
  2. Pick your Customer.io Track API connection from the Connection dropdown.
  3. In the Operation dropdown, select customers.unsuppress.
  4. Fill in the parameter fields that appear. Use {{...}} to reference upstream values.

Required fields are marked — fill them or the call will fail at runtime.

What it returns

The API Call node writes the response to the workflow context:

{
  status: 200,
  success: true,
  data: { ...response body from the API... },
  latencyMs: 142
}

Reference response fields downstream as {{nodeId.data.path}}. The exact response shape is documented on the upstream Customer.io Track API API reference.

POST /batch

Batch multiple operations

DetailValue
Operation IDbatch.send
MethodPOST
Path/batch

Parameters

No parameters.

Request Body

FieldType
batcharray

Using this endpoint in a workflow

  1. Add an API Call node to your workflow.
  2. Pick your Customer.io Track API connection from the Connection dropdown.
  3. In the Operation dropdown, select batch.send.
  4. Fill in the parameter fields that appear. Use {{...}} to reference upstream values.

Required fields are marked — fill them or the call will fail at runtime.

What it returns

The API Call node writes the response to the workflow context:

{
  status: 200,
  success: true,
  data: { ...response body from the API... },
  latencyMs: 142
}

Reference response fields downstream as {{nodeId.data.path}}. The exact response shape is documented on the upstream Customer.io Track API API reference.

POST /merge_customers

Merge two people

DetailValue
Operation IDcustomers.merge
MethodPOST
Path/merge_customers

Parameters

No parameters.

Request Body

FieldType
primaryobject
secondaryobject

Using this endpoint in a workflow

  1. Add an API Call node to your workflow.
  2. Pick your Customer.io Track API connection from the Connection dropdown.
  3. In the Operation dropdown, select customers.merge.
  4. Fill in the parameter fields that appear. Use {{...}} to reference upstream values.

Required fields are marked — fill them or the call will fail at runtime.

What it returns

The API Call node writes the response to the workflow context:

{
  status: 200,
  success: true,
  data: { ...response body from the API... },
  latencyMs: 142
}

Reference response fields downstream as {{nodeId.data.path}}. The exact response shape is documented on the upstream Customer.io Track API API reference.