Read a chat
The conversation so far. Poll incrementally by passing the last `cursor` you saw as `after`.
The conversation so far. Poll incrementally by passing the last cursor you saw as after.
Authorization
api_key sessions:readAn atk_-prefixed API key, created under Settings → API keys.
In: header
Scope: sessions:read
Path Parameters
Session id
uuidQuery Parameters
Return only entries after this cursor. Omit for the whole history.
int64Maximum number of entries to return, newest-truncated. Defaults to everything after after.
0 <= valueResponse Body
application/json
application/json
application/json
curl -X GET "https://example.com/v1/sessions/497f6eca-6276-4993-bfeb-53cbbbba6f08/messages"[ { "created_at": "2019-08-24T14:15:22Z", "cursor": 0, "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "role": "user", "seq": 0, "session_id": "1ffd059c-17ea-40a8-8aef-70fd0307db82", "text": "string" }]Delete a session DELETE
Removes the chat and everything hanging off it: its timeline, files, todos, and sub-agent sessions.
Send a message POST
Queues the agent's next turn and returns immediately with `202` — the agent runs server-side, so the reply survives you disconnecting. There is no turn handle to poll: wait for `session.settled` on `GET /v1/events`, then read the reply with `GET /v1/sessions/{session_id}/messages`. This is also how you answer a job whose state went `ambiguous` — post to the job's `primary_session_id`.