Sessions
List records
GET /v1/sessions/{session_id}/records- Permission
read:sessions- Tokens
- API key, CLI user token, Session token
Read complete platform and native harness records. Partial text deltas are live-only.
Path parameters
session_idstringrequired
Query parameters
cursorstring
limitinteger
{
"earliest_feed_seq": int,
"has_more": bool,
"next_cursor": str,
}
1
import os
2
3
from ellipsis import Ellipsis
4
5
client = Ellipsis(api_key=os.environ["ELLIPSIS_API_TOKEN"])
6
7
for item in client.sessions.records("session_example"):
8
print(item)
1
import { Ellipsis } from '@ellipsis-dev/sdk';
2
3
const client = new Ellipsis({
4
apiKey: process.env.ELLIPSIS_API_TOKEN!,
5
});
6
7
for await (const item of await client.sessions.records("session_example")) {
8
console.log(item);
9
}
1
curl "https://api.ellipsis.dev/v1/sessions/{session_id}/records" \
2
-H "Authorization: Bearer $ELLIPSIS_API_TOKEN"
Response
earliest_feed_seqinteger
The retention head: the lowest feed_seq still stored, or null when the session has no stored records.
has_moredefault
falsebooleanWhether more results exist past this page.
messagesdefault
[]array<SessionMessage>The open inbox slice (pending rows only): queued messages not yet consumed by a turn. Delivered history comes from the records themselves.
next_cursorstring
Pass as `cursor` to fetch the next page. Null on the last page. Opaque , echo it back rather than parsing it.
recordsarray<SessionRecord>required
The session's records (transcript + lifecycle), ordered by feed_seq. Clients render each by (source, record_format, record_type). Pagination is opt-in (`cursor` + `limit`); a bare call returns the full retained transcript.