GET /sessions
List cloud agent sessions, newest first.
Optionally filtered by config (id or `ellipsis.name`), source, time window, attributed author, repository, and whether the session is still going.
curl "https://api.ellipsis.dev/v1/sessions" \
-H "Authorization: Bearer $ELLIPSIS_API_KEY"{
"has_more": false,
"next_cursor": "string",
"sessions": [
{
"agent": {
"config": {
"budget": {
"day": 0,
"month": 0,
"session": 0,
"week": 0
},
"claude": {
"effort": "low",
"fallback_model": "string",
"max_turns": 0,
"model": "claude-opus-5",
"settings": {},
"system": "string"
},
"codex": {
"model": "gpt-5.6-terra",
"system": "string"
},
"ellipsis": {
"description": "string",
"enabled": true,
"interactive": true,
"metadata": {},
"name": "string",
"version": "v1"
},
"environment": {
"compute": {},
"hooks": {},
"image": {},
"repositories": [],
"variables": []
},
"input": {
"json_schema": {},
"message": "string"
},
"mcp_servers": [],
"output": {
"json_schema": {}
},
"permissions": {
"ellipsis": true,
"github": {}
},
"skills": [],
"trigger": "string"
},
"config_id": "string",
"override": {},
"source": "explicit"
},
"attribution": {
"id": "string",
"type": "github_user",
"user": {
"avatar_url": "string",
"id": 0,
"login": "string",
"type": "User"
}
},
"budget": {
"cents": 0,
"source": "system"
},
"context_repository": "string",
"cost": {
"fee": 0,
"llm": 0,
"sandbox_cpu": 0,
"sandbox_memory": 0,
"total": 0
},
"created_at": "2026-01-01T00:00:00Z",
"exit_status": "completed",
"git": {
"repos": []
},
"harness": "claude_code",
"id": "string",
"last_activity_at": "2026-01-01T00:00:00Z",
"last_message_at": "2026-01-01T00:00:00Z",
"metadata": {},
"parent": {
"kind": "continuation",
"replayed_from_session_id": "string",
"session_id": "string"
},
"prompt": "string",
"prompting": {
"blocked_reason": "mention_surface",
"detail": "string",
"enabled": false,
"surface_name": "string"
},
"session_state": "idle",
"source": "react",
"status": "scheduled",
"status_reason": "string",
"stopped": {
"at": "2026-01-01T00:00:00Z",
"by": 0,
"by_user": {
"avatar_url": "string",
"id": 0,
"login": "string",
"type": "User"
}
},
"summary": {
"created_at": "2026-01-01T00:00:00Z",
"description": "string"
},
"surface": {
"run": "scheduled",
"session": "alive",
"status": "string"
},
"tokens": {
"cache_creation": 0,
"cache_read": 0,
"input": 0,
"model": "",
"output": 0,
"total": 0
},
"updated_at": "2026-01-01T00:00:00Z"
}
]
}import os
from ellipsis import Ellipsis
client = Ellipsis(api_key=os.environ["ELLIPSIS_API_TOKEN"])
for item in client.sessions.list():
print(item){
"has_more": false,
"next_cursor": "string",
"sessions": [
{
"agent": {
"config": {
"budget": {
"day": 0,
"month": 0,
"session": 0,
"week": 0
},
"claude": {
"effort": "low",
"fallback_model": "string",
"max_turns": 0,
"model": "claude-opus-5",
"settings": {},
"system": "string"
},
"codex": {
"model": "gpt-5.6-terra",
"system": "string"
},
"ellipsis": {
"description": "string",
"enabled": true,
"interactive": true,
"metadata": {},
"name": "string",
"version": "v1"
},
"environment": {
"compute": {},
"hooks": {},
"image": {},
"repositories": [],
"variables": []
},
"input": {
"json_schema": {},
"message": "string"
},
"mcp_servers": [],
"output": {
"json_schema": {}
},
"permissions": {
"ellipsis": true,
"github": {}
},
"skills": [],
"trigger": "string"
},
"config_id": "string",
"override": {},
"source": "explicit"
},
"attribution": {
"id": "string",
"type": "github_user",
"user": {
"avatar_url": "string",
"id": 0,
"login": "string",
"type": "User"
}
},
"budget": {
"cents": 0,
"source": "system"
},
"context_repository": "string",
"cost": {
"fee": 0,
"llm": 0,
"sandbox_cpu": 0,
"sandbox_memory": 0,
"total": 0
},
"created_at": "2026-01-01T00:00:00Z",
"exit_status": "completed",
"git": {
"repos": []
},
"harness": "claude_code",
"id": "string",
"last_activity_at": "2026-01-01T00:00:00Z",
"last_message_at": "2026-01-01T00:00:00Z",
"metadata": {},
"parent": {
"kind": "continuation",
"replayed_from_session_id": "string",
"session_id": "string"
},
"prompt": "string",
"prompting": {
"blocked_reason": "mention_surface",
"detail": "string",
"enabled": false,
"surface_name": "string"
},
"session_state": "idle",
"source": "react",
"status": "scheduled",
"status_reason": "string",
"stopped": {
"at": "2026-01-01T00:00:00Z",
"by": 0,
"by_user": {
"avatar_url": "string",
"id": 0,
"login": "string",
"type": "User"
}
},
"summary": {
"created_at": "2026-01-01T00:00:00Z",
"description": "string"
},
"surface": {
"run": "scheduled",
"session": "alive",
"status": "string"
},
"tokens": {
"cache_creation": 0,
"cache_read": 0,
"input": 0,
"model": "",
"output": 0,
"total": 0
},
"updated_at": "2026-01-01T00:00:00Z"
}
]
}import { Ellipsis } from '@ellipsis-dev/sdk';
const client = new Ellipsis({
apiKey: process.env.ELLIPSIS_API_TOKEN!,
});
for await (const item of client.sessions.list()) {
console.log(item);
}{
"has_more": false,
"next_cursor": "string",
"sessions": [
{
"agent": {
"config": {
"budget": {
"day": 0,
"month": 0,
"session": 0,
"week": 0
},
"claude": {
"effort": "low",
"fallback_model": "string",
"max_turns": 0,
"model": "claude-opus-5",
"settings": {},
"system": "string"
},
"codex": {
"model": "gpt-5.6-terra",
"system": "string"
},
"ellipsis": {
"description": "string",
"enabled": true,
"interactive": true,
"metadata": {},
"name": "string",
"version": "v1"
},
"environment": {
"compute": {},
"hooks": {},
"image": {},
"repositories": [],
"variables": []
},
"input": {
"json_schema": {},
"message": "string"
},
"mcp_servers": [],
"output": {
"json_schema": {}
},
"permissions": {
"ellipsis": true,
"github": {}
},
"skills": [],
"trigger": "string"
},
"config_id": "string",
"override": {},
"source": "explicit"
},
"attribution": {
"id": "string",
"type": "github_user",
"user": {
"avatar_url": "string",
"id": 0,
"login": "string",
"type": "User"
}
},
"budget": {
"cents": 0,
"source": "system"
},
"context_repository": "string",
"cost": {
"fee": 0,
"llm": 0,
"sandbox_cpu": 0,
"sandbox_memory": 0,
"total": 0
},
"created_at": "2026-01-01T00:00:00Z",
"exit_status": "completed",
"git": {
"repos": []
},
"harness": "claude_code",
"id": "string",
"last_activity_at": "2026-01-01T00:00:00Z",
"last_message_at": "2026-01-01T00:00:00Z",
"metadata": {},
"parent": {
"kind": "continuation",
"replayed_from_session_id": "string",
"session_id": "string"
},
"prompt": "string",
"prompting": {
"blocked_reason": "mention_surface",
"detail": "string",
"enabled": false,
"surface_name": "string"
},
"session_state": "idle",
"source": "react",
"status": "scheduled",
"status_reason": "string",
"stopped": {
"at": "2026-01-01T00:00:00Z",
"by": 0,
"by_user": {
"avatar_url": "string",
"id": 0,
"login": "string",
"type": "User"
}
},
"summary": {
"created_at": "2026-01-01T00:00:00Z",
"description": "string"
},
"surface": {
"run": "scheduled",
"session": "alive",
"status": "string"
},
"tokens": {
"cache_creation": 0,
"cache_read": 0,
"input": 0,
"model": "",
"output": 0,
"total": 0
},
"updated_at": "2026-01-01T00:00:00Z"
}
]
}{
"properties": {
"has_more": {
"default": false,
"type": "boolean"
},
"next_cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"sessions": {
"items": {
"properties": {
"agent": {
"properties": {
"config": {
"additionalProperties": false,
"properties": {
"budget": {
"additionalProperties": false,
"properties": {
"day": {
"type": "object"
},
"month": {
"type": "object"
},
"session": {
"type": "object"
},
"week": {
"type": "object"
}
},
"type": "object"
},
"claude": {
"additionalProperties": false,
"properties": {
"effort": {
"type": "object"
},
"fallback_model": {
"type": "object"
},
"max_turns": {
"type": "object"
},
"model": {
"type": "string"
},
"settings": {
"type": "object"
},
"system": {
"type": "object"
}
},
"type": "object"
},
"codex": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
]
},
"ellipsis": {
"additionalProperties": false,
"properties": {
"description": {
"type": "object"
},
"enabled": {
"type": "boolean"
},
"interactive": {
"type": "boolean"
},
"metadata": {
"type": "object"
},
"name": {
"type": "object"
},
"version": {
"type": "string"
}
},
"type": "object"
},
"environment": {
"additionalProperties": false,
"properties": {
"compute": {
"type": "object"
},
"hooks": {
"type": "object"
},
"image": {
"type": "object"
},
"repositories": {
"type": "array"
},
"variables": {
"type": "array"
}
},
"type": "object"
},
"input": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
]
},
"mcp_servers": {
"default": [],
"items": {
"type": "object"
},
"type": "array"
},
"output": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
]
},
"permissions": {
"additionalProperties": false,
"properties": {
"ellipsis": {
"type": "object"
},
"github": {
"type": "object"
}
},
"type": "object"
},
"skills": {
"default": [],
"items": {
"type": "object"
},
"type": "array"
},
"trigger": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
"config_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"override": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
]
},
"source": {
"enum": [
"explicit",
"inline",
"template",
"repo_default",
"account_default",
"platform_default",
"trigger",
"builtin"
],
"type": "string"
}
},
"required": [
"config",
"source"
],
"type": "object"
},
"attribution": {
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"type": {
"anyOf": [
{
"enum": [
"github_user",
"linear_user",
"slack_user",
"api_key"
],
"type": "string"
},
{
"type": "null"
}
]
},
"user": {
"anyOf": [
{
"properties": {
"avatar_url": {
"type": "string"
},
"id": {
"type": "integer"
},
"login": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"login",
"type",
"avatar_url"
],
"type": "object"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
"budget": {
"properties": {
"cents": {
"default": 0,
"type": "integer"
},
"source": {
"enum": [
"system",
"account",
"config",
"run"
],
"type": "string"
}
},
"type": "object"
},
"context_repository": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"cost": {
"properties": {
"fee": {
"default": 0,
"type": "integer"
},
"llm": {
"default": 0,
"type": "integer"
},
"sandbox_cpu": {
"default": 0,
"type": "integer"
},
"sandbox_memory": {
"default": 0,
"type": "integer"
},
"total": {
"default": 0,
"type": "integer"
}
},
"type": "object"
},
"created_at": {
"format": "date-time",
"type": "string"
},
"exit_status": {
"anyOf": [
{
"enum": [
"completed",
"budget_hit",
"payment_required",
"tool_call_failed",
"lifecycle_hook_failed",
"missing_repo_access",
"missing_token_permissions",
"missing_sandbox_variables",
"blocked",
"contact_email_required",
"cancelled",
"interrupted",
"error",
"stopped"
],
"type": "string"
},
{
"type": "null"
}
]
},
"git": {
"anyOf": [
{
"properties": {
"repos": {
"default": [],
"items": {
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
{
"type": "null"
}
]
},
"harness": {
"enum": [
"claude_code",
"codex"
],
"type": "string"
},
"id": {
"type": "string"
},
"last_activity_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"last_message_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"metadata": {
"additionalProperties": {
"type": "string"
},
"default": {},
"type": "object"
},
"parent": {
"properties": {
"kind": {
"anyOf": [
{
"enum": [
"continuation",
"resume"
],
"type": "string"
},
{
"type": "null"
}
]
},
"replayed_from_session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
"prompt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"prompting": {
"properties": {
"blocked_reason": {
"anyOf": [
{
"enum": [
"mention_surface",
"ephemeral_trigger",
"non_interactive",
"harness_single_turn",
"closed"
],
"type": "string"
},
{
"type": "null"
}
]
},
"detail": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"enabled": {
"type": "boolean"
},
"surface_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"enabled"
],
"type": "object"
},
"session_state": {
"anyOf": [
{
"enum": [
"idle",
"running",
"closed"
],
"type": "string"
},
{
"type": "null"
}
]
},
"source": {
"enum": [
"react",
"manual",
"api",
"cli",
"mention",
"cron"
],
"type": "string"
},
"status": {
"enum": [
"scheduled",
"creating_sandbox",
"running",
"retrying",
"completed",
"error",
"cancelled",
"stopped"
],
"type": "string"
},
"status_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"stopped": {
"properties": {
"at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"by": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"by_user": {
"anyOf": [
{
"properties": {
"avatar_url": {
"type": "string"
},
"id": {
"type": "integer"
},
"login": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"login",
"type",
"avatar_url"
],
"type": "object"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
"summary": {
"anyOf": [
{
"properties": {
"created_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"description": {
"type": "string"
}
},
"required": [
"description"
],
"type": "object"
},
{
"type": "null"
}
]
},
"surface": {
"anyOf": [
{
"properties": {
"run": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"session": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"session",
"run",
"status"
],
"type": "object"
},
{
"type": "null"
}
]
},
"tokens": {
"properties": {
"cache_creation": {
"default": 0,
"type": "integer"
},
"cache_read": {
"default": 0,
"type": "integer"
},
"input": {
"default": 0,
"type": "integer"
},
"model": {
"default": "",
"type": "string"
},
"output": {
"default": 0,
"type": "integer"
},
"total": {
"default": 0,
"type": "integer"
}
},
"type": "object"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"required": [
"id",
"created_at",
"updated_at",
"harness",
"source",
"status",
"prompting",
"agent"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"sessions"
],
"type": "object"
}Request
A saved config id, or the agent's `ellipsis.name`.
50integerA GitHub account id (see GET /v1/integrations/github/members); scopes the list to sessions attributed to that developer.
"owner/name" (exact) or a bare repo name, matched the same way as on GET /v1/sessions/search. Sessions whose repository is named only inside their agent config — dashboard starts, cron — do not match.
falsebooleanKeep only sessions whose conversation is still going — live or sleeping — dropping the ones that completed, errored, or were stopped or cancelled. A session parked between turns counts as unfinished.