Projects

List sessions in a project

Changed on

Lists the project's sessions that are readable through the public API, newest first. Requires access to the project as an owner, reader, or writer (including organization access). A missing, trashed, deleted, or inaccessible project returns 404 project_not_found.

This is the intersection of project contents and your API-visible sessions: reports and systematic reviews must be owned by you; research-agent sessions must be owned by you or shared directly with you. Project access alone does not grant session access on this API. The result can therefore contain fewer sessions than the project's web interface.

Supports the same type, status, source, limit, and cursor parameters and sessions, nextCursor, totalCount response as GET /sessions. Default page size 50, maximum 100. Membership and filters apply before pagination and counting; totalCount is the matching total across all pages. Pass nextCursor as cursor until it is null. Unknown query parameters return 400.

Only supported session types are included: reports, systematic reviews, and top-level research-agent sessions. Removed/deleted sessions, subagents, files, artifacts, and collections are excluded. Both notebook and imported review project entries are supported.

Example

curl "https://elicit.com/api/v2/projects/{projectId}/sessions?limit=100" \
  -H "Authorization: Bearer elk_live_your_key_here"
get/projects/{projectId}/sessions

Request

  • Base URL
    https://elicit.com/api/v2
  • URL
    https://elicit.com/api/v2/projects/{projectId}/sessions
  • Auth
    HTTP bearer

Path parameters

projectIdstring uuid required

The project ID (UUID) from GET /projects or POST /projects

Example:9c1f6a7e-5d24-4a3b-9f0e-1b2c3d4e5f60

Query parameters

limitinteger

Maximum number of sessions to return (default: 50, max: 100)

Example:20
cursorstring

Opaque pagination cursor from a previous response's nextCursor field. Omit for the first page.

Example:2025-06-15T14:30:00.000Z_5ad08bfb-cbe0-4911-a8c3-309760d33029
source'user' | 'api' | 'mcp' | 'agent_session'

Filter by how the session was created

Example:api
type'report' | 'systematicReview' | 'agent'

Filter to a single session type

Example:report
status'processing' | 'pausedForInsufficientQuota' | 'completed' | 'failed' | 'unknown'

Filter by session status

Example:completed

Response

One page of API-visible sessions in the project.

nextCursorstring nullable required

Opaque cursor for the next page; pass it back as cursor. Null if there are no more results.

totalCountinteger required

Total sessions matching the filters across all pages.

Example response

{
  "sessions": [
    {
      "sessionId": "5ad08bfb-cbe0-4911-a8c3-309760d33029",
      "title": "What are the effects of GLP-1 receptor agonists on cardiovascular outcomes?",
      "url": "https://elicit.com/review/5ad08bfb-cbe0-4911-a8c3-309760d33029",
      "source": "api",
      "createdAt": "2025-06-15T14:30:00.000Z",
      "links": {
        "self": "https://elicit.com/api/v2/sessions/reports/5ad08bfb-cbe0-4911-a8c3-309760d33029",
        "resume": "https://elicit.com/api/v2/sessions/5ad08bfb-cbe0-4911-a8c3-309760d33029/resume"
      }
    }
  ],
  "nextCursor": "2025-06-15T14:30:00.000Z_5ad08bfb-cbe0-4911-a8c3-309760d33029"
}

Changes