Skip to main content
GET
/
ask
/
sessions
/
{id}
curl "https://api.bota.dev/v1/ask/sessions/as_abc123" \
  -H "Authorization: Bearer sk_live_..."
{
  "id": "as_abc123",
  "scope": { "type": "library", "recording_ids": [], "recording_title": null },
  "title": "What did I commit to this week?",
  "message_count": 4,
  "last_message_at": "2026-05-20T10:23:45Z",
  "last_model": "gemini-2.0-flash",
  "last_provider": "gemini",
  "created_at": "2026-05-20T10:20:00Z",
  "updated_at": "2026-05-20T10:23:45Z"
}
Retrieve a single AI Ask session. To fetch its conversation history, use List Messages.

Authentication

Requires an API key. The session is looked up within the key’s project; an unknown session returns 404. An end-user-scoped key can only retrieve its own sessions.
curl "https://api.bota.dev/v1/ask/sessions/as_abc123" \
  -H "Authorization: Bearer sk_live_..."

Path Parameters

id
string
required
Session identifier (as_*).

Response

Returns the session object.
{
  "id": "as_abc123",
  "scope": { "type": "library", "recording_ids": [], "recording_title": null },
  "title": "What did I commit to this week?",
  "message_count": 4,
  "last_message_at": "2026-05-20T10:23:45Z",
  "last_model": "gemini-2.0-flash",
  "last_provider": "gemini",
  "created_at": "2026-05-20T10:20:00Z",
  "updated_at": "2026-05-20T10:23:45Z"
}

Response Fields

FieldTypeDescription
idstringSession identifier (as_*)
scopeobject{ type, recording_ids, recording_title }. type is recording / library / selected / folder; recording_ids lists the in-scope recordings (one for recording, the chosen set for selected, empty for library); recording_title is the cached title for recording scope
titlestringSession title
message_countintegerNumber of messages in the session
last_message_atstringTimestamp of the most recent message
last_model / last_providerstring | nullModel and provider of the last assistant turn
created_at / updated_atstringTimestamps