Customer.io Campaigns API

Retrieve information about campaigns, campaign actions, and campaign metrics in your workspace.

Business capability
Marketing Management BC-400

Operations 13

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /v1/campaigns List campaigns · List campaigns #
Ask an LLM
“What campaigns do I have in my workspace?”
“How do I find a campaign's ID?”
Tell an agent
List all my campaigns.
Show every campaign with its metadata.
GET /v1/campaigns/{campaign_id} Get a campaign · Get a campaign #
Ask an LLM
“How do I look up one campaign's settings and trigger?”
“Is a specific campaign currently active?”
Tell an agent
Get campaign {campaign_id}.
Show the metadata for campaign {campaign_id}.
GET /v1/campaigns/{campaign_id}/metrics Get campaign metrics · Get campaign metrics #
Ask an LLM
“How is my campaign performing on sends, opens and clicks?”
“Can I get campaign metrics for a date range in my timezone?”
Tell an agent
Get version {version} metrics for campaign {campaign_id}.
Show campaign {campaign_id} metrics from {start} to {end} using API version {version}.
GET /v1/campaigns/{campaign_id}/metrics/links Get link click metrics for a campaign · Get campaign link metrics #
Ask an LLM
“Which links across my campaign get clicked most?”
“Can I see only unique link clicks for a campaign?”
Tell an agent
Show link click metrics for campaign {campaign_id}.
Get unique link clicks for campaign {campaign_id} by {period}.
GET /v1/campaigns/{campaign_id}/actions List the actions in a campaign workflow · List campaign actions #
Ask an LLM
“What steps are in my campaign workflow?”
“How do I get the action IDs of the tiles in a campaign?”
Tell an agent
List the actions in campaign {campaign_id}.
Show the workflow tiles of campaign {campaign_id}.
GET /v1/campaigns/{campaign_id}/messages List deliveries sent by a campaign · Get campaign message metadata #
Ask an LLM
“Who received messages from my campaign last week?”
“Can I include draft messages when listing a campaign's deliveries?”
Tell an agent
List deliveries from campaign {campaign_id}.
Show campaign {campaign_id} deliveries of type {type} between {start_ts} and {end_ts}.
GET /v1/campaigns/{campaign_id}/actions/{action_id} Get one action in a campaign · Get a campaign action #
Ask an LLM
“How do I read the content of one message in a campaign?”
“Can I see the settings of a specific campaign workflow tile?”
Tell an agent
Get action {action_id} in campaign {campaign_id}.
Show the message body of campaign {campaign_id} action {action_id}.
PUT /v1/campaigns/{campaign_id}/actions/{action_id} Update a message in a campaign · Update a campaign action #
Ask an LLM
“How do I change the email body of a campaign message through the API?”
“Can I update the HTTP request in a campaign webhook action?”
Tell an agent
Update the content of action {action_id} in campaign {campaign_id}.
Replace the message body of campaign {campaign_id} action {action_id}.
GET /v1/campaigns/{campaign_id}/actions/{action_id}/language/{language} Get a translated campaign message · Get a translation of a campaign message #
Ask an LLM
“How do I see the German version of a campaign message?”
“Can I fetch one language translation of a campaign action?”
Tell an agent
Get the {language} translation of action {action_id} in campaign {campaign_id}.
Show campaign {campaign_id} action {action_id} in {language}.
PUT /v1/campaigns/{campaign_id}/actions/{action_id}/language/{language} Update a translated campaign message · Update a translation of a campaign message #
Ask an LLM
“How do I edit the Japanese translation of a campaign message?”
“Can I change one language variant of a campaign action without affecting the default?”
Tell an agent
Update the {language} translation of campaign {campaign_id} action {action_id}.
Replace the {language} body of action {action_id} in campaign {campaign_id}.
GET /v1/campaigns/{campaign_id}/actions/{action_id}/metrics Get metrics for one campaign action · Get campaign action metrics #
Ask an LLM
“How is one message in my campaign performing?”
“Can I get sends and opens for a single campaign tile over a date range?”
Tell an agent
Get version {version} metrics for action {action_id} in campaign {campaign_id}.
Show campaign {campaign_id} action {action_id} metrics from {start} to {end}, version {version}.
GET /v1/campaigns/{campaign_id}/journey_metrics Get campaign journey metrics · Get campaign journey metrics #
Ask an LLM
“How many people triggered, entered and were messaged by my campaign?”
“Can I see campaign journey metrics at hourly or daily resolution?”
Tell an agent
Get journey metrics for campaign {campaign_id} from {start} to {end} at {resolution} resolution.
Show how many people entered campaign {campaign_id} between {start} and {end}, grouped by {resolution}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/customer-io:customer-io-campaigns-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

customer-io-campaigns-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: Customer.io App Campaigns API
  description: Our App API provides ways to trigger messages and retrieve information about people, campaigns, broadcasts, and more.
servers:
- url: https://api.customer.io
  description: The base URL for broadcasts, transactional messages, and data-retrieval APIs. These endpoints use bearer authorization, and require a [token that you generate in the UI](https://fly.customer.io/settings/api_credentials?keyType=app).
- url: https://api-eu.customer.io
  description: The base URL for broadcasts, transactional messages, and data-retrieval APIs (EU region). These endpoints use bearer authorization, and require a [token that you generate in the UI](https://fly.customer.io/settings/api_credentials?keyType=app).
tags:


# --- truncated at 32 KB (375 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/customer-io/refs/heads/main/openapi/customer-io-campaigns-api-openapi.yml