Data Pipelines API

Download OpenAPI specification:Download

This is a reference for the Data Pipelines API. In general, you'll consume this API through one of our source libraries—our JavaScript client library or any of our server packages. But you can also integrate directly with our REST API if you don't want to install one of our libraries or you want to support a source that we don't have a native integration with.

All endpoints begin with: https://cdp.customer.io/v1

You're looking at our US regional endpoints

The only difference in our US and European Union (EU) regions is the subdomain—e.g. cdp-eu for the EU region; there are no other differences between the two regions. If your account is based in the European Union (EU) data center, click here to show EU endpoints in our code samples and documentation below.

If you don't know your region, you can find your account region on your account's privacy page, or get your region using the API.

You're looking at our EU regional endpoints

The only difference in our US and European Union (EU) regions is the subdomain—e.g. cdp for our US region rather than cdp-eu for the EU; there are no other differences between the two regions. If your account is based in the European Union (EU) data center, you can click here to to show US endpoints in our code samples and documentation below.

If you don't know your region, you can find your account region on your account's privacy page, or get your region using the API.

API region

We host services in the United States (US) and European Union (EU, host subdomains are suffixed with -eu). Select the appropriate region for server addresses that apply to your region.

If you're in our EU region, you'll need to specify the EU URL when you initialize our server-side libraries. If you use our JavaScript client library, we'll set your region and route data/calls automatically.

Set up a REST API source

After you add a Rest API source, you'll use endpoints at https://cdp.customer.io/v1/{method}

  1. Go to the tab and click Sources.
  2. Click Add Source, pick HTTP, and click Next.
  3. Give the source a Name and copy your API Key. You'll use this key to authenticate with our API. If you don't copy the key now, you can always get it later from the Settings tab when you're done setting up your source.
  4. (Optional) Test your connection by sending a test call. You can copy your API key into an app like Postman or send a CURL request. If your request is successful, and then you click Test Connection we'll let you know if your request was successful and you've set up your HTTP implementation successfully.
  5. Click Submit.

Now you can connect your REST API source to destinations.

Try out our postman collection

We've generated a Postman collection with all of the endpoints organized as you'll find them on this page, with a starter environment (mainly to contain your API key). For our API endpoints, your API key is your username and your password is blank.

You'll notice that payloads on this page can contain significantly more information than the payloads that appear in our collection. We've limited our collections to the fields that you'll typically use when you send calls to our APIs and libraries, so it's easier to get started. But you can add additional fields to payloads—like context, integrations, and so on—if you want.

If you fork this collection, you might want to disable the Watch original collection option. We automatically update our Postman collection whenever we release changes to our documentation, even if we don't change our APIs—which happens daily! Rather than being flooded with Postman notifications, you can check out our Release Notes for updates to our APIs.