API reference

Inspect the current OpenAPI routes and shared schemas.

At a glance

Version
3.1.0
Base URL
pantheon-todo.alethiconsulting.com/pantheon-api
Auth
Bearer
Contract
api/openapi/openapi.yaml

Conventions

Base URLhttps://pantheon-todo.alethiconsulting.com/pantheon-api
AuthenticationAuthorization: Bearer PANTHEON_API_KEY
JSONSend Content-Type: application/json.
StreamingRequest text/event-stream.
IdempotencyUse an 8 to 255 character key where required.

Endpoints

MethodPathPurposeSuccessErrors
POST/v1/auth/signupSignup201422
POST/v1/auth/loginLogin200422
POST/v1/auth/logoutLogout204None
GET/v1/auth/meMe200None
GET/v1/auth/keysList Keys200None
POST/v1/auth/keysCreate Key201422
DELETE/v1/auth/keys/{key_id}Revoke Key204422
POST/v1/auth/password/changeChange Password204422
POST/v1/auth/email/verify/requestRequest Verification202401, 409, 429
POST/v1/auth/email/verify/confirmConfirm Verification200400, 422
POST/v1/auth/password/reset/requestRequest Password Reset202422, 429
POST/v1/auth/password/reset/confirmConfirm Password Reset204400, 422
POST/v1/admin/users/{user_id}/passwordAdmin Reset Password204422
GET/v1/admin/api-keysList Admin Api Keys200None
POST/v1/admin/api-keysCreate Admin Api Key201422
DELETE/v1/admin/api-keys/{key_id}Delete Admin Api Key204422
POST/v1/agentsCreate Agent201422
GET/v1/agentsList Agents200422
GET/v1/agents/{agent_id}Get Agent200422
PUT/v1/agents/{agent_id}Update Agent200422
DELETE/v1/agents/{agent_id}Delete Agent204422
GET/v1/agents/slug/{slug}Get Agent By Slug200422
GET/v1/audit/recordsList Audit Records200422
POST/v1/deploymentsCreate a deployment201422, 401, 403, 404
GET/v1/deploymentsList deployments200422, 401, 403
GET/v1/deployments/{deployment_id}Get a deployment200422, 401, 403, 404
POST/v1/deployments/{deployment_id}/activateActivate Deployment200404, 409, 422
POST/v1/admin/environmentsCreate Environment201422
GET/v1/admin/environmentsList Environments Admin200422
GET/v1/admin/environments/{env_id}Get Environment Admin200422
PUT/v1/admin/environments/{env_id}Update Environment200422
DELETE/v1/admin/environments/{env_id}Delete Environment204422
GET/v1/environmentsList Environments200422
GET/v1/environments/{env_id}Get Environment200422
POST/v1/sessions/{session_id}/eventsAppend session events200429, 422, 401, 403, 404
GET/v1/sessions/{session_id}/eventsList session events200422, 400, 401, 403, 404
GET/v1/sessions/{session_id}/events/streamStream session events200422, 400, 401, 403, 404
GET/health/componentsComponent health200None
GET/v1/sessions/{session_id}/messagesList Messages200422
GET/v1/modelsList Models200None
POST/v1/sessions/{session_id}/runs/{run_id}/resumeResume a run202429, 422, 400, 401, 403, 404, 409, 503
POST/v1/sessions/{session_id}/runsStart a run200409, 429, 422, 400, 401, 403, 404, 503
GET/v1/sessions/{session_id}/runs/{run_id}/streamStream run events200422, 401, 403, 404
POST/v1/sessions/{session_id}/runs/waitStart a run and wait200409, 429, 422, 401, 403, 404, 503
POST/v1/sessions/{session_id}/runs/{run_id}/stopStop a run200422, 401, 403, 404
POST/v1/sessions/{session_id}/runs/{run_id}/cancelCancel a run202409, 422, 401, 403, 404
POST/v1/sessions/{session_id}/sandboxProvision Sandbox201422
DELETE/v1/sessions/{session_id}/sandboxDestroy Sandbox204422
POST/v1/sessions/{session_id}/sandbox/syncSync Sandbox200422
POST/v1/sessions/{session_id}/sandbox/extend-ttlExtend Sandbox Ttl200422
POST/v1/sessions/{session_id}/files/uploadUpload File200422
GET/v1/sessions/{session_id}/files/{path}Download File200422
GET/v1/sessions/{session_id}/filesList Files200422
POST/v1/sessionsCreate Session201429, 422
GET/v1/sessionsList Sessions200422
GET/v1/sessions/{session_id}Get Session200422
POST/v1/sessions/{session_id}Update Session200422
DELETE/v1/sessions/{session_id}Delete Session204422
POST/v1/sessions/{session_id}/archiveArchive Session200422
GET/v1/skillsList Tenant Skills200None
POST/v1/skillsCreate Tenant Skill201422
GET/v1/skills/{name}Get Tenant Skill200422
PUT/v1/skills/{name}Update Tenant Skill200422
DELETE/v1/skills/{name}Delete Tenant Skill204422
POST/v1/skills/importImport Tenant Skill Md201422
POST/v1/skills/validateValidate Skill200422
POST/v1/skills/uploadImport Tenant Skill File201422
GET/v1/skills/{name}/downloadDownload Tenant Skill200422
GET/v1/skills/{name}/files/contentGet Tenant Skill File Content200422
POST/v1/skills/{name}/filesUpload Tenant Skill File200422
POST/v1/admin/tenants/{tenant_id}/skillsCreate Org Skill201422
POST/v1/admin/skills/builtinCreate Builtin Skill201422
GET/v1/sessions/{session_id}/skills/catalogGet Skill Catalog200422
PUT/v1/sessions/{session_id}/skills/enabledSet Enabled Skills200422
GET/v1/sessions/{session_id}/artifactsList Artifacts200422
GET/v1/sessions/{session_id}/artifacts/{artifact_id}Get Artifact200422
DELETE/v1/sessions/{session_id}/artifacts/{artifact_id}Delete Artifact200422
GET/v1/sessions/{session_id}/artifacts/{artifact_id}/downloadDownload Artifact200422
GET/v1/sessions/{session_id}/artifacts/{artifact_id}/files/{path}Serve Artifact Subfile200422
GET/v1/api-keysList Tenant Api Keys200None
POST/v1/api-keysCreate Tenant Api Key201422
DELETE/v1/api-keys/{key_id}Delete Tenant Api Key204422
POST/v1/admin/tenants/{tenant_id}/api-keysAdmin Create Tenant Api Key201422
GET/v1/admin/tenants/{tenant_id}/api-keysAdmin List Tenant Api Keys200422
DELETE/v1/admin/tenants/{tenant_id}/api-keys/{key_id}Admin Delete Tenant Api Key204422
POST/v1/usersCreate User201422
GET/v1/usersList Users200422
GET/v1/users/{user_id}Get User200422
PUT/v1/users/{user_id}Update User200422
DELETE/v1/users/{user_id}Delete User204422
GET/v1/admin/usersAdmin List Users200422
GET/v1/admin/users/{user_id}Admin Get User200422
PUT/v1/admin/users/{user_id}Admin Update User200422
POST/v1/admin/tenantsCreate Tenant201422
GET/v1/admin/tenantsList Tenants200422
GET/v1/admin/tenants/{tenant_id}Get Tenant200422
PUT/v1/admin/tenants/{tenant_id}Update Tenant200422
PATCH/v1/admin/tenants/{tenant_id}Update Tenant200422
DELETE/v1/admin/tenants/{tenant_id}Delete Tenant204422
POST/v1/toolsCreate a tool201422, 400, 401, 403, 409
GET/v1/toolsList tools200422, 401, 403
GET/v1/tools/{tool_id}Get tool by ID200422, 401, 403, 404
POST/v1/tools/{tool_id}/versionsCreate new tool definition version201422, 400, 401, 403, 404, 409
GET/v1/tools/{tool_id}/versionsList tool definition versions200422, 401, 403, 404
GET/v1/tools/{tool_id}/versions/{version}Get specific tool definition version200422, 401, 403, 404
POST/v1/tools/{tool_id}/versions/{version}/deprecateDeprecate a tool definition version200422, 401, 403, 404
GET/v1/usageGet Usage200422
GET/v1/admin/tenants/{tenant_id}/usageGet Admin Usage200422
GET/healthHealthcheck200None
GET/Root Healthcheck200None

Schemas

The checked-in OpenAPI file is the field-level source of truth.

SchemaRequired fieldsProperties
CreateToolRequestdescription, input_schema, output_schema, name, display_namedescription, executor, input_schema, output_schema, side_effect, confirmation, name, display_name
ToolDetailtool, definitiontool, definition
CreateAgentRequestname, slugname, slug, model, system_prompt, tools, tool_requirements, mcp_servers, skills, environment_id, requires_sandbox, metadata
AgentResponseid, name, slug, modelid, name, slug, model, system_prompt, tools, tool_requirements, mcp_servers, skills, environment_id, requires_sandbox, metadata, status, version, created_at, updated_at
CreateDeploymentRequestagent_idagent_id, agent_version, tool_definition_ids, model, environment_id, application_tool_response_deadline_seconds
DeploymentResponseid, agent_id, agent_revision_id, agent_version, model, requires_sandbox, application_tool_response_deadline_seconds, prompt_policy_version, prompt_policy_hash, content_hash, source, status, active, created_atid, agent_id, agent_revision_id, agent_version, model, environment_id, requires_sandbox, application_tool_response_deadline_seconds, prompt_policy_version, prompt_policy_hash, content_hash, source, status, active, tool_bindings, created_at
CreateSessionRequestNoneagent_slug, deployment_id, prefer_latest_agent_version, user_id, environment_id, model, title, metadata
SessionResponseid, modelid, user_id, agent, agent_id, agent_slug, deployment, deployment_snapshot_id, deployment_source, environment_id, requires_sandbox, model, status, title, metadata, sandbox_id, sandbox_status, usage, created_at, updated_at, archived_at
CreateRunRequestNoneevents, model
RunResponserun_id, statusrun_id, status, model_used, artifacts, required_event_ids
ResumeRequesteventsevents
ResumeAcceptedrun_id, status, accepted_events, remaining_event_idsrun_id, status, accepted_events, remaining_event_ids
EventResponseid, typeid, type, content, parent_event_id, run_id, model_used, seq, metadata, created_at, sequence, workspace_id, session_id, in_reply_to_event_id, data
ErrorEnvelopeerrorerror
SessionBusyErrorEnvelopeerrorerror
UsageResponsefrom, to, totals, dailysandbox_seconds_estimated, from, to, totals, daily
UsageTotalsNonesessions_created, runs_total, input_tokens, output_tokens, sandbox_seconds, tool_calls, runs_by_status
DailyUsagedatesessions_created, runs_total, input_tokens, output_tokens, sandbox_seconds, tool_calls, date
TenantRateLimitEnvelopeerrorerror
TenantRateLimitDetailslimit, window_seconds, retry_afterlimit, window_seconds, retry_after

Use the contract

Generate clients from api/openapi/openapi.yaml.

Read Get an API key for account setup and Usage and limits for tenant reporting.

Use the Quickstart to test the generated client against a complete flow.

Pitfalls

  • New route examples are thin: Read Events, Errors, and Sessions and runs.
  • A schema changes: Regenerate both SDKs from the same checked-in OpenAPI contract.