Customer.io Send Messages API

Use these endpoints to send broadcasts or transactional messages to your audience. They use the same authentication method, but review the limits for both types of workflows to make sure you'll successfully trigger your messages. You can't trigger campaigns through our APIs. ## API triggered broadcast limits While [API triggered broadcasts](#operation/triggerBroadcast) are limited to 1 request every 10 seconds, they're also limited by the number of triggers you can have queued at a time, as shown in the table below. | Data Type | Limit | Description | | -- | -- | -- | | Trigger Payload | 25MB | Max length of the entire Trigger call, larger calls are typically to support `per_user_data` | | Trigger Data | 50000 bytes | Max length of the data section in the Trigger call | | Recipient List1 | 10000 recipients | Max number of ids or emails included in the Trigger call | | Custom Per User Data1 | 10000 entries | Max number of entries in `per_user_data` | | Custom Per User Data1 | 2MB | Max length per user in the file referenced by `data_file_url`. | | Custom Per User Data1 | 10GB | Max length of the entire size of the file referenced by `data_file_url` | | Trigger Queue | 5 triggers | Max number of triggers waiting to be processed consecutively | 1For larger data sets, use `data_file_url` to supply a link to a file that contains your merge data. Attempting to send too much data in a single API call will fail. ## Transactional Message Limits The `/send-*` endpoints are limited to 100 requests per second. | Data Type | Limit | Description | | -- | -- | -- | | Payload | 1MB | Max length of the payload, excepting attachments | | Attachments (email) | 2MB | Maximum size of attachments | | Recipients | 15 | Total number of recipients across the `to`, `cc`, and `bcc` fields. |

Operations 8

POST /v1/campaigns/{broadcast_id}/triggers Send an API-triggered broadcast #
POST /v1/newsletters/{newsletter_id}/send Send a newsletter #
POST /v1/newsletters/{newsletter_id}/schedule Schedule a newsletter #
POST /v1/send/email Send a transactional email #
POST /v1/send/in_app Send a transactional in-app message #
POST /v1/send/inbox_message Send a transactional inbox message #
POST /v1/send/push Send a transactional push #
POST /v1/send/sms Send a transactional SMS #

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-send-messages-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-send-messages-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: Customer.io App Send Messages 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 (239 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/customer-io/refs/heads/main/openapi/customer-io-send-messages-api-openapi.yml