Ask a grounded question
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.
curl -X POST https://test.useatune.com/api/v1/understand \ -H "Authorization: Bearer <YOUR_API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "entity": "account:acme", "question": "Why did this account go quiet?" }'Sign in to find your API key in Settings.
/api/v1/understandAnswers 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.
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/v1/understand" \ -H "Content-Type: application/json" \ -d '{ "entity": "account:acme", "question": "Why did this account go quiet?" }'{ "knows": true, "answer": "Acme's weekly active users fell from 8 to 2 after onboarding stalled.", "confidence": 0.72, "citations": [ { "signal": "account.health.trend", "value": "weekly active users fell from 8 to 2", "when": "2026-07-24T12:00:00.000Z" } ], "recommendedNext": "Ask Acme what blocked onboarding after the first report.", "signals": { "entity": "account:acme", "support": { "knows": true, "confidence": 0.72 } }}Ingest Segment messages POST
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). A batch may be up to 512 KB and 1000 messages; each message, alone or in a batch, is limited to 16 KB (an oversized message inside a batch is listed in `rejected`). Every message counts toward the workspace write limit of 100 per 10 seconds. 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.
Next.js
Next.js installation, account resolution, and verification.