The dashboard is a client of the same API you get. Start sessions from CI and scripts, read typed results back, and let agents spawn agents.
Put an LLM decision-maker anywhere in your SDLC with no infra to manage. Spawn a session from any workflow and get typed, structured output back.
The CLI from new config to a watched live session
Call the REST API to start sessions from your own services and internal tools. Spawn an agent from a deploy hook or a webhook handler, poll for status, and read the result back programmatically.
One request in, a structured result back
Declare a JSON schema in the agent's YAML and every session exits through it. Downstream automation gets guaranteed shapes, and a session that cannot match the schema fails loudly instead of shipping malformed output.
structured_output: type: json_schema json_schema: type: object properties: findings: type: array items: type: object properties: title: { type: string } severity: { enum: [low, medium, high] } required: [title, severity] required: [findings]The output schema declared in the agent's YAML
An agent with a schema is a function with a contract, so agents chain into pipelines: agent to webhook to script to agent, with no defensive glue. The CLI ships inside every sandbox, so agents can spawn and orchestrate agents.
Agents chained stage by stage into a pipeline
Everything the API and the CLI expose, so anything the dashboard does your scripts can do too.
Every endpoint lives at api.ellipsis.dev and returns JSON. The dashboard and the CLI are clients of the same public API.
The full specification is published at www.ellipsis.dev/openapi.v1.json. The reference docs and the SDKs are generated from it.
API keys act as your organization for scripts and automations. User tokens from agent login act as you and attribute sessions to you.
ELLIPSIS_API_TOKEN is read by both the API examples and the CLI, so one exported key serves scripts and the terminal.
Every error returns one envelope with a stable code field. Switch on the code, never the message text, and quote the request_id to support.
Start agent sessions, search and read everything they leave behind, stream live output, and stop or replay them.
Start a code review of a pull request and list every review with its outcome.
Manage saved agent configs, the defaults that pick one per repository, and the templates new agents start from.
Sandbox secrets, files, alerts, analytics, identity, budget, usage, and models are all endpoints.
Outbound webhooks push session lifecycle events to your systems. Access is by request while the feature is in a gated preview.
brew install ellipsis-dev/cli/agent ships one binary named agent, with a device-code login and --json on most commands.
npx skills add ellipsis-dev/cli teaches Claude Code, Cursor, or Codex to start, watch, and search sessions for you.
Create an API key in the dashboard, export it as ELLIPSIS_API_TOKEN, and call the REST API or the agent CLI. The API guides walk through triggering agents from your own scripts and CI end to end.
Create an API key under Platform, then API keys in the dashboard and send it as a bearer token on every request. The secret starts with ellipsis_key_ and is shown only once. API keys act as your organization; the CLI instead uses a user token from agent login that acts as you personally.
Yes. The full spec is published at www.ellipsis.dev/openapi.v1.json. The API reference documents every endpoint and is generated from the same specification the SDKs are built from.
Outbound webhooks are in a gated preview, enabled per account on request from the Webhooks page in the dashboard. Until your account is enabled, poll GET /v1/sessions and act on status changes, or hold the session stream for a running session and react to frames as they arrive.
brew install ellipsis-dev/cli/agent installs the open-source agent binary. agent login runs a device-code flow that opens a verification URL and stores the token in ~/.ellipsis/config.json, and agent ping confirms the API is reachable and the credential is valid.
Yes. Create an API key and export it as ELLIPSIS_API_TOKEN; the CLI reads it and skips the login. Credentials resolve highest wins: an explicit argument, then ELLIPSIS_API_TOKEN, then the stored token from agent login.
Every error returns one envelope with a stable code field, such as session_finished or rate_limited. Switch on the code, never on the message text, and treat unknown codes by their HTTP status. Internal server errors include a request_id to quote when contacting support.