Customer.io REST API
Automated messaging platform for marketers and developers
Customer.io is a versatile marketing automation platform that enables developers to send targeted emails, push notifications, SMS, and in-app messages based on user behavior and attributes. The API provides comprehensive control over customer data, event tracking, campaign management, and message delivery, making it ideal for building personalized customer engagement workflows. Developers use Customer.io to integrate behavioral messaging into their applications, sync customer data from multiple sources, and create sophisticated multi-channel communication strategies.
https://track.customer.io/api/v1
API Endpoints
| Method | Endpoint | Description |
|---|---|---|
| PUT | /customers/{id} | Create or update a customer profile with attributes and metadata |
| DELETE | /customers/{id} | Delete a customer and all associated data from your workspace |
| POST | /customers/{id}/events | Track custom events for a customer to trigger campaigns and workflows |
| POST | /api/campaigns/{campaign_id}/triggers | Trigger a campaign for specific customers with custom data |
| GET | /api/campaigns | List all campaigns in your workspace with filtering options |
| POST | /api/send/email | Send a transactional email to a customer using a template |
| POST | /api/send/push | Send a push notification to a customer's registered devices |
| GET | /api/customers/{id}/messages | Retrieve message delivery history for a specific customer |
| POST | /customers/{id}/segments/{segment_id} | Add a customer to a manual segment for targeted messaging |
| DELETE | /customers/{id}/segments/{segment_id} | Remove a customer from a manual segment |
| GET | /api/segments | List all segments in your workspace with membership counts |
| POST | /api/v1/merge_customers | Merge two customer profiles, combining their data and history |
| POST | /customers/{id}/suppress | Suppress a customer from receiving messages across all channels |
| POST | /customers/{id}/unsuppress | Remove suppression status and re-enable messaging for a customer |
| GET | /api/exports/customers | Export customer data in CSV or JSON format for analysis |
Sponsor this page
AvailableReach developers actively building with Customer.io. See live pageview data and self-serve checkout — your slot goes live in minutes.
View inventory & pricing →Code Examples
# Create or update a customer
curl -X PUT https://track.customer.io/api/v1/customers/user123 \
-u site_id:api_key \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"created_at": 1234567890,
"first_name": "John",
"plan": "premium"
}'
# Track a custom event
curl -X POST https://track.customer.io/api/v1/customers/user123/events \
-u site_id:api_key \
-H "Content-Type: application/json" \
-d '{
"name": "purchase_completed",
"data": {
"amount": 99.99,
"product": "Premium Plan"
}
}'
Use Customer.io from Claude / Cursor / ChatGPT
Get a hosted MCP endpoint for Customer.io. Paste your Customer.io API key, copy back one URL, drop it into Claude Desktop, Cursor, or any AI client that supports remote MCP. Your AI calls Customer.io directly with your credentials — no local install, works on mobile.
track_customer_event
Track behavioral events for customers to trigger automated campaigns and update customer profiles based on user actions
update_customer_attributes
Create or update customer profiles with attributes, preferences, and segmentation data for personalized messaging
send_transactional_message
Send transactional emails, SMS, or push notifications with dynamic content based on customer data and events
manage_customer_segments
Add or remove customers from segments to control campaign targeting and message delivery
retrieve_message_history
Query customer message delivery history, engagement metrics, and campaign performance data for analysis
Connect in 60 seconds
Paste your Customer.io key → get an MCP URL → paste into Claude/Cursor. Hosted by IOX, encrypted at rest.
Connect Customer.io to your AI →