Locate your Customer.io Site ID and API Secret Key in the workspace settings — the Track API uses HTTP Basic Authentication with the Site ID as the username and the Secret Key as the password.
Identify or create a person by sending PUT https://track.customer.io/api/v1/customers/{customer_id} with a JSON body containing any profile attributes (email, name, custom fields) you want to set.
Track a custom event by sending POST https://track.customer.io/api/v1/customers/{customer_id}/events with a JSON body containing name (event name) and optional data (event properties).
To trigger a campaign or journey, configure the journey in Customer.io to use the event name as its entry trigger — the POST call above will cause the person to enter the journey when the trigger conditions are met.
Verify event delivery by checking the Activity Log for the customer in the Customer.io UI or by polling the App API for recent customer activity.
Known gotchas
The Track API base URL is track.customer.io — do not confuse it with the App API at api.customer.io, which uses a Bearer token and serves different purposes.
Customer IDs are case-sensitive strings; using different casing for the same logical user will create duplicate profiles.
Anonymous events sent without a customer_id must be associated to a known customer later via an identify call, or they will remain unattributed.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp