List Sessions

Updated at:

Lists sessions with pagination, sorted by created_at in descending order. Supports filtering by agent, status, and creation time range.

Prerequisites

Endpoint and authentication configuration must be completed. For details, see Overview and authentication.

Endpoint

GET /sessions

Query parameters

ParameterRequiredTypeDefaultDescription
agent_idNostringFilter by agent
statuses[]NostringFilter by multiple statuses; can be repeated. Example: ?statuses[]=idle&statuses[]=running
created_at[gte] / created_at[lte]NostringCreation time range, ISO 8601
limitNoint20Number of items per page, maximum 100
pageNostringOmit on the first request; pass next_page from the previous response for subsequent requests

Request example

curl "$AGENTSTUDIO_URL/sessions?agent_id=agent_xxx&statuses[]=idle&limit=20" \
  -H "Authorization: Bearer $DASHSCOPE_API_KEY"
for session in client.sessions.list(
    limit=20,
    agent_id="agent_xxx",
    statuses=["idle"],
):
    print(session.id, session.status, session.title)
CursorPage<Session> page = client.sessions().list(SessionListParam.builder()
    .limit(20)
    .agentId("agent_xxx")
    .statuses(Arrays.asList("idle"))
    .build());
for (Session s : page.getData()) {
    System.out.println(s.getId() + " " + s.getStatus() + " " + s.getTitle());
}

Response example

{
  "data": [
    {
      "id": "sesn_xxx",
      "type": "session",
      "status": "idle",
      "stop_reason": null,
      "agent": {
        "id": "agent_xxx",
        "type": "agent",
        "version": 1,
        "name": "data-analyst",
        "model": {"id": "qwen3-max"},
        "system": "你是数据分析专家,使用 pandas 处理 CSV 文件。",
        "tools": []
      },
      "environment_id": "env_xxx",
      "title": "Q3 销售数据分析",
      "metadata": {"biz_ticket_id": "1234"},
      "archived_at": null,
      "created_at": "2026-05-28T08:23:11.456000Z",
      "updated_at": "2026-05-28T08:23:25.789000Z",
      "environment_variables": {"API_BASE_URL": "https://api.example.com", "LOG_LEVEL": "info"}
    }
  ],
  "next_page": "xxx",
  "request_id": "xxx"
}

The response contains data (an array of Session objects) and next_page (cursor for the next page). Session object fields are as follows:

Session object fields

FieldTypeDescription
idstringSession ID, format sesn_&lt;ULID&gt;
typestringFixed as session
statusstringSession status: idle / running / terminated
stop_reasonobject | nullThe reason the session returned to idle. A discriminated union: null (running, or idle and just created) | {"type": "end_turn"} | {"type": "retries_exhausted"} | {"type": "requires_action", "pending_batch_id": "...", "pending_call_ids": [...]}. Only meaningful when status is idle; see Retrieve Session for full details
agentobjectAgent configuration snapshot, including id/version/name/model/system/tools, etc.
environment_idstringThe bound environment ID
title / metadatastring / objectSession title and custom business metadata
archived_atstring | nullArchive time; null when not archived
created_at / updated_atstringCreation/last update time, ISO 8601
environment_variablesobjectEnvironment variables injected into the session runtime as string key-value pairs; sandbox code can read them directly by name