Attach intentional identity traits
The only public API path that accepts PII. It writes company, name, and email traits only after the workspace has accepted the DPA.
curl -X POST https://useatune.com/api/identify \ -H "Authorization: Bearer <YOUR_API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "accountId": "acme", "userId": "user_123", "traits": { "name": "Kari Nordmann", "email": "kari@acme.example", "company": "Acme AS" } }'Sign in to see this sample with your own workspace API key.
/api/identifyThe only public API path that accepts PII. It writes company, name, and email traits only after the workspace has accepted the DPA.
Authorization
bearerAuth Workspace API key from Atune settings or onboarding.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/identify" \ -H "Content-Type: application/json" \ -d '{ "accountId": "acme", "userId": "user_123", "traits": { "name": "Kari Nordmann", "email": "kari@acme.example", "company": "Acme AS" } }'{ "ok": true, "account": { "id": "cm123", "externalId": "acme" }, "user": { "id": "cm456" }}Capture a behavior event POST
Stores one behavior event for an account. Scoring is not triggered here; the scheduled recompute job remains the sole writer of health and inbox outcomes.
Ingest Segment messages POST
Accepts Segment-style `track`, `identify`, `group`, or batch payloads. Segment is a compatibility ingress path; after mapping, messages use the same internal ingest core as native Atune capture.