Ingest Segment messages
Accepts Segment-style `track`, `identify`, `group`, or batch payloads. Batches may be a `{ batch: [...] }` envelope or a bare array (as sent by Segment's Webhooks (Actions) destination with batching enabled). Segment is a compatibility ingress path; after mapping, messages use the same internal ingest core as native Atune capture. `track` and `identify` may omit the account when `userId` is set. Atune then uses the account the user was most recently grouped into. For a user with no account, `identify` creates none and keeps the traits until one does; `track` makes the user an account of one. Account IDs may be strings or numbers, and `company_id`, `account_id` and `group_id` are read too. In a batch, invalid messages are listed in `rejected` and the valid ones are still stored.
curl -X POST https://useatune.com/api/v1/segment \ -H "Authorization: Bearer <YOUR_API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "type": "track", "messageId": "seg-msg-001", "event": "Invoice Sent", "userId": "user_123", "properties": { "accountId": "acme", "amount": 1200 } }'Sign in to find your API key in Settings.
/api/v1/segmentAccepts Segment-style track, identify, group, or batch payloads.
Batches may be a { batch: [...] } envelope or a bare array (as sent
by Segment's Webhooks (Actions) destination with batching enabled).
Segment is a compatibility ingress path; after mapping, messages use
the same internal ingest core as native Atune capture.
track and identify may omit the account when userId is set.
Atune then uses the account the user was most recently grouped into.
For a user with no account, identify creates none and keeps the
traits until one does; track makes the user an account of one.
Account IDs may be strings or numbers, and company_id, account_id
and group_id are read too. In a
batch, invalid messages are listed in rejected and the valid ones
are still stored.
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
application/json
curl -X POST "https://example.com/api/v1/segment" \ -H "Content-Type: application/json" \ -d '{ "type": "track", "messageId": "seg-msg-001", "event": "Invoice Sent", "userId": "user_123", "properties": { "accountId": "acme", "amount": 1200 } }'{ "ok": true, "deduped": true, "source": "segment", "account": { "id": "cm123", "externalId": "acme" }, "user": null}Attach intentional identity traits POST
The only public API path that accepts PII. It writes company, name, and email traits only after the workspace has accepted the DPA.
Ask a grounded question POST
Answers a question about an account, user, feature, or portfolio from the workspace's existing signals. The endpoint returns `knows: false` instead of guessing when the bundle does not support an answer.