API Reference

The Aegis API creates, observes, steers, and approves durable automation runs through the local app. This reference documents methods, paths, scopes, request bodies, and response contracts.

Base URL

Local development defaults to:

http://127.0.0.1:4317

The host and port come from AGENT_HARNESS_HOST and AGENT_HARNESS_PORT. Binding beyond localhost should use bearer-token authentication and a private network boundary.

Authentication

Most API routes require the operator token when AGENT_HARNESS_TOKEN is configured:

Authorization: Bearer <operator-token>
Content-Type: application/json

GET /health is unauthenticated for local process checks. Static UI assets are served without API auth only in localhost local-public mode.

AGENT_HARNESS_AGENT_TOKEN enables a narrower headless-agent token. Agent tokens can inspect allowed state and add steering input, but cannot approve high-risk actions, mutate operator-owned configuration, read secret metadata, or use blocked/destructive operations.

Response Contracts

JSON responses are validated in development and test modes against Zod contracts in src/shared/contracts.ts. Contract validation can also be enabled with:

AGENT_HARNESS_VALIDATE_CONTRACTS=1

Key contract discovery endpoints include GET /agent-client/contract for headless-agent boundaries and GET /agent-profiles for the active coordinator and specialist profile registry.

Errors use a simple JSON envelope:

{
  "error": "Human-readable error message"
}

Typical status codes are 200 for reads and updates, 201 for created records, 202 for accepted webhook work, 400 for invalid input, 401 for missing auth, 403 for token scope denial, 404 for missing routes or records, and 500 for unexpected server errors.

Scope Legend

Scope Meaning
Public Available without API token.
Operator Requires the operator token when auth is enabled.
Agent readable Allowed for the scoped headless-agent token.
Agent steering Allowed for headless agents when the operation only routes work or adds guidance.
Human only Requires a human approval decision.
Internal Used by the bundled dashboard or local host integration; not a stable external contract.

Core Shapes

Create Coordinator Run

POST /coordinator/runs creates a coordinator-led run with a delegation plan and planned task sessions.

{
  "request": "Inspect this repository and propose a small docs patch.",
  "repoPath": "/path/to/project",
  "worker": {
    "provider": "codex",
    "model": "gpt-5.3-codex"
  },
  "verifier": {
    "command": "npm test"
  }
}

Approval Decision

POST /approvals/:id/approve and POST /approvals/:id/reject accept the same decision body. Repo-write approvals require evidence review fields before the runtime can apply the prepared bundle.

{
  "actorType": "human",
  "reviewerNote": "Reviewed the diff and verifier output.",
  "reviewedEvidence": true,
  "reviewedHashes": true,
  "reviewedPolicyClass": true
}

Memory Record

POST /memory creates durable context for coordinator and run prompts.

{
  "type": "decision",
  "scope": "project",
  "content": "Use static docs pages for API reference.",
  "source": {
    "kind": "conversation",
    "id": "conversation_..."
  }
}

System And Local Service

Method Path Scope Response Contract Notes
GET /health Public Health object Local process readiness check.
GET /agent-client/contract Operator, agent readable headlessAgentClientContractSchema Lists operation classes and agent-token boundaries.
GET /control-plane/status Operator, agent readable controlPlaneStatusSchema Server config, worker state, queue health, recent failures, provider status, and links. Agent responses redact provider credential details.
GET /control-plane/logs?stream=stdout\|stderr Operator Log tail object Bounded local stdout/stderr tail.
GET /control-plane/backup-manifest Operator backupManifestSchema Exports migration metadata without raw secret values.
POST /control-plane/restore-verification Operator restoreVerificationReportSchema Verifies candidate restored data read-only before migration cutover.
GET /events Operator Server-sent events Control-plane event stream.

Notifications

Method Path Scope Response Contract Notes
GET /notifications Operator, agent readable notificationInboxSnapshotSchema Inbox derived from approvals, run failures, trace events, and outputs.
POST /notifications/:id/read Operator notificationInboxSnapshotSchema Marks one notification read.
POST /notifications/:id/unread Operator notificationInboxSnapshotSchema Marks one notification unread.
POST /notifications/:id/dismiss Operator notificationInboxSnapshotSchema Hides one notification without mutating the source record.
POST /notifications/:id/archive Operator notificationInboxSnapshotSchema Archives one notification.
POST /notifications/:id/delete Operator notificationInboxSnapshotSchema Deletes notification state only.
POST /notifications/read-all Operator notificationInboxSnapshotSchema Marks all inbox items read.

Coordinator And Conversations

Method Path Scope Response Contract Notes
GET /coordinator/command-center Operator, agent readable commandCenterSnapshotSchema Aggregate dashboard state for active runs, blockers, pending approvals, and recent failures.
GET /coordinator/conversations Operator, agent readable conversationSessionSchema[] Lists coordinator chat sessions.
POST /coordinator/conversations Operator conversationDetailsSchema Creates a new conversation. Body: createConversationSessionInputSchema.
GET /coordinator/conversations/:id Operator, agent readable conversationDetailsSchema Reads a conversation with events and run links.
PATCH /coordinator/conversations/:id Operator conversationDetailsSchema Renames, archives, or updates session metadata. Body: updateConversationSessionInputSchema.
GET /coordinator/conversations/:id/runtime-events Operator, agent readable conversationRuntimeEventRecordSchema[] Supports cursor and limit. Use cursor=latest to start after the current tail.
GET /coordinator/conversations/:id/runtime-events/stream Operator Server-sent events Live runtime events for one conversation.
GET /coordinator/conversations/:id/plans Operator, agent readable coordinatorPlanRecordSchema[] Durable coordinator plans.
GET /coordinator/conversations/:id/artifact?path=... Operator, agent readable Artifact object Reads one conversation-scoped artifact.
GET /coordinator/conversations/:id/design-docs Operator, agent readable coordinatorDesignDocRecordSchema[] Design documents created during planning.
GET /coordinator/conversations/:id/execution-graphs Operator, agent readable coordinatorExecutionGraphRecordSchema[] Execution graph records for planned work.
GET /coordinator/conversations/:id/turns Operator, agent readable coordinatorTurnTranscriptSchema[] Model/tool turn transcripts.
GET /coordinator/conversations/:id/summary Operator, agent readable conversationSummarySchema Reads the current durable summary.
POST /coordinator/conversations/:id/summary Operator conversationSummarySchema Creates or refreshes a summary memory record.
POST /coordinator/conversations/:id/pre-run-checklist Operator, agent steering preRunChecklistSchema Records the coordinator’s preflight interpretation before queueing work. Body: coordinatorMessageInputSchema.
POST /coordinator/conversations/:id/attachments Operator conversationAttachmentSchema[] Stores uploaded conversation attachments. Body: createConversationAttachmentsInputSchema.
POST /coordinator/conversations/:id/events Operator, agent steering conversationDetailsSchema Appends durable user/coordinator/system events. Body: appendConversationEventInputSchema.
POST /coordinator/conversations/:id/messages Operator, agent steering coordinatorMessageResultSchema Processes a coordinator message through the intent layer. Body: coordinatorMessageInputSchema.
POST /coordinator/conversations/:id/research-assets Operator conversationDetailsSchema Saves generated or imported research assets. Body: saveConversationResearchAssetInputSchema.

Runs, Task Sessions, And Approvals

Method Path Scope Response Contract Notes
POST /coordinator/runs Operator, agent steering Queued run object Creates a coordinator-led run. Body: createCoordinatorRunInputSchema.
POST /runs Operator, agent steering Queued run object Creates a direct workflow run. Body: createRunInputSchema.
GET /runs Operator, agent readable Run summary array Lists active runs.
POST /runs/archive Operator { archived: number } Archives terminal active runs.
POST /runs/:id/delete Operator { deleted: string } Local destructive cleanup endpoint.
POST /runs/:id/retry Operator, agent steering Queued run object Queues a new run from source configuration; optional body can include corrected request fields.
GET /runs/:id Operator, agent readable Run details object Reads run state, jobs, tasks, approvals, traces, and summary.
GET /runs/:id/workspace Operator, agent readable runWorkspaceSnapshotSchema Aggregate run workspace for dashboard and headless inspection.
GET /runs/:id/artifact-index Operator, agent readable artifactIndexSnapshotSchema Artifact metadata with purpose, preview type, hashes, labels, related approvals, and evaluations.
GET /runs/:id/delegation-plan Operator, agent readable Delegation plan object Coordinator-authored specialist plan.
GET /runs/:id/task-sessions Operator, agent readable Task session summary array Lists specialist task sessions attached to a run.
POST /runs/:id/coordinator-report Operator, agent steering Coordinator report object Records a status report without approving high-risk work.
POST /runs/:id/pause Operator Run object Pauses a running or queued run.
POST /runs/:id/resume Operator Run object Resumes a paused run.
POST /runs/:id/cancel Operator Run object Cancels a run.
POST /runs/:id/task-cards/:taskId/retry Operator, agent steering Task card result Retries one task card. Body may include reason.
POST /runs/:id/task-cards/:taskId/escalate Operator, agent steering Task card result Escalates one task card. Body may include reason.
POST /runs/:id/task-cards/:taskId/block Operator, agent steering Task card result Blocks one task card. Body may include reason.
GET /runs/:id/timeline Operator, agent readable Timeline object Stage and trace timeline.
GET /runs/:id/audit Operator, agent readable Audit export object Archival audit package.
GET /runs/:id/audit-view Operator, agent readable auditViewSnapshotSchema Dashboard-readable narrative audit view.
GET /runs/:id/replay-packet Operator, agent readable runReplayPacketSchema Compact reproduction packet and dry-run replay plan.
GET /runs/:id/artifacts Operator, agent readable Artifact path array Lists run artifacts.
GET /runs/:id/artifact?path=... Operator, agent readable Artifact object Reads one artifact body.
GET /runs/:id/artifact-file?path=... Operator Binary response Downloads one artifact file.
POST /runs/:id/research-notes Operator researchNoteSchema Saves a run-scoped research note. Body: saveResearchNoteInputSchema.
POST /runs/:id/research-assets Operator researchAssetSchema Creates a research asset. Body: createResearchAssetInputSchema.
GET /task-sessions/:id Operator, agent readable taskSessionDetailsSchema Reads role/profile context, guidance, artifacts, evaluations, and trace slices.
POST /task-sessions/:id/guidance Operator, agent steering taskSessionDetailsSchema Appends steering guidance consumed at the next task boundary. Body: addTaskGuidanceInputSchema.
POST /task-sessions/:id/stop Operator taskSessionDetailsSchema Requests stop for one task session.
GET /approvals/queue Operator, agent readable approvalQueueSnapshotSchema Pending approvals with evidence, hashes, related run/session context, and authority status.
POST /approvals/:id/approve Human only Approval result Approves an approval checkpoint. Body: approvalDecisionInputSchema.
POST /approvals/:id/reject Human only Approval result Rejects an approval checkpoint. Body: approvalDecisionInputSchema.

Project Context And Research Utilities

Method Path Scope Response Contract Notes
GET /projects/context Operator, agent readable projectContextDocumentSchema[] or projectContextDocumentWithContentSchema[] Lists or searches project context documents. Query: projectPath, status, documentType, includeArchived, query, limit.
POST /projects/context Operator projectContextDocumentSchema Creates a project context document. Body: createProjectContextDocumentInputSchema.
GET /projects/context/:id Operator, agent readable projectContextDocumentWithContentSchema Reads one context document.
PATCH /projects/context/:id Operator projectContextDocumentSchema Updates one context document. Body: updateProjectContextDocumentInputSchema.
POST /projects/context/:id/archive Operator projectContextDocumentSchema Archives one context document.
POST /research/source-metadata Operator Metadata object Fetches metadata for a source URL. Body: { "url": "..." }.
POST /research/source-search Operator Search result array Searches public research sources. Body: query, optional limit.
POST /research/source-preview Operator Preview object Builds a preview for one source URL.

Secrets, OAuth, And Connector Credentials

Secret values are write-only. API responses return metadata, hashes, redacted previews, storage class, and material status only. Scoped headless-agent tokens cannot read secret records or connector credential metadata.

Method Path Scope Response Contract Notes
GET /secrets Operator secretRecordSchema[] Query by kind, provider, or status.
POST /secrets Operator secretRecordSchema Stores or rotates local secret material. Body: setSecretInputSchema.
GET /secrets/status Operator secretStatusSchema[] Verifies local material presence without revealing values.
GET /secrets/:id Operator secretRecordSchema Reads secret metadata only.
GET /secrets/:id/status Operator secretStatusSchema Checks one secret’s local material.
POST /secrets/:id/delete Operator secretRecordSchema Deletes local material and marks metadata deleted.
GET /oauth/accounts Operator oauthConnectorAccountSchema[] Query by provider, connectorId, or status.
GET /oauth/apps/:connectorId Operator oauthAppConfigSchema Reads connector OAuth app metadata.
POST /oauth/apps/:connectorId Operator oauthAppConfigSchema Saves connector OAuth app config. Body: oauthAppConfigInputSchema.
POST /oauth/apps/:connectorId/start Operator oauthAuthorizationStartResultSchema Starts OAuth for a configured connector app.
POST /oauth/start Operator oauthAuthorizationStartResultSchema Starts generic OAuth authorization. Body: oauthAuthorizationStartInputSchema.
POST /oauth/callback Operator oauthConnectorAccountSchema Completes OAuth authorization. Body: oauthAuthorizationCallbackInputSchema.
GET /oauth/callback Public callback HTML response Browser redirect target for configured OAuth apps.
POST /oauth/accounts/:id/refresh Operator oauthConnectorAccountSchema Refreshes one connected account. Body: oauthRefreshInputSchema.
POST /oauth/accounts/:id/revoke Operator oauthConnectorAccountSchema Revokes one connected account.
GET /apple-developer/app Operator appleDeveloperAppConfigSchema Reads Apple Developer connector app config.
POST /apple-developer/app Operator appleDeveloperAppConfigSchema Saves Apple Developer app config.
POST /apple-developer/app/smoke-check Operator appleDeveloperAppConfigSchema Runs a connector smoke check.
GET /plaid/app Operator plaidAppConfigSchema Reads Plaid app config.
POST /plaid/app Operator plaidAppConfigSchema Saves Plaid app config.
POST /plaid/app/smoke-check Operator plaidAppConfigSchema Runs a Plaid smoke check.
POST /plaid/link/token/create Operator plaidLinkTokenCreateResultSchema Creates a Plaid Link token.
POST /plaid/link/token/exchange Operator plaidPublicTokenExchangeResultSchema Exchanges a public token for local item material.
GET /plaid/connections Operator plaidConnectionsListOutputSchema Lists Plaid items and accounts.
POST /plaid/accounts/:id/settings Operator plaidAccountSchema Updates Plaid account settings.
POST /plaid/items/:id/disconnect Operator plaidItemDisconnectResultSchema Disconnects a Plaid item.

Planner

Planner endpoints power the local task, calendar, search, and personal context dashboard. They are operator APIs unless otherwise documented in GET /agent-client/contract.

Method Path Scope Response Contract Notes
POST /planner/refresh Operator plannerRefreshRunSchema[] Refreshes configured planner sources. Body: plannerRefreshInputSchema.
GET /planner/refresh/pending Operator plannerPendingCountsSchema Estimates pending source changes. Query accepts source and date filters.
GET /planner/settings Operator plannerSettingsSchema Reads planner settings.
POST /planner/settings Operator plannerSettingsSchema Saves planner settings. Body: plannerSettingsInputSchema.
GET /planner/retrieval/status Operator plannerRetrievalStatusSchema Reads local retrieval backend status.
POST /planner/retrieval/start Operator plannerRetrievalStatusSchema Starts local Elasticsearch retrieval when configured.
GET /planner/sources/registry Operator plannerSourceCapabilitySchema[] Lists source capabilities.
GET /planner/sources/status Operator plannerSourceStatusSchema[] Lists source/account refresh health.
GET /planner/search Operator plannerArtifactSearchResultSchema[] Query: query or q, sources, accountId, from, to, itemTypes, limit, includeDiagnostics.
POST /planner/ask Operator plannerAskResponseSchema Answers against planner artifacts. Body: plannerAskInputSchema.
POST /planner/ask/stream Operator Server-sent events Streaming planner answer.
POST /planner/calendar-actions Operator plannerCalendarActionResponseSchema Plans a calendar action without executing it.
POST /planner/calendar-actions/execute Operator plannerCalendarActionResponseSchema Executes a reviewed calendar action.
POST /planner/calendar-actions/drafts/send Operator plannerCalendarDraftSendResponseSchema Sends a prepared calendar proposal draft.
POST /planner/calendar-actions/drafts/delete Operator plannerCalendarDraftDeleteResponseSchema Deletes a calendar proposal draft.
POST /planner/calendar-events/create Operator plannerArtifactRecordSchema Creates a calendar event and planner artifact.
GET /planner/artifacts Operator plannerArtifactRecordSchema[] Lists artifacts with source, account, status, type, priority, person, query, date, limit, and offset filters.
GET /planner/artifacts/:id Operator plannerArtifactRecordSchema Reads one planner artifact.
POST /planner/artifacts/:id/classify Operator plannerArtifactRecordSchema Classifies one artifact. Body: plannerClassifyArtifactInputSchema.
POST /planner/artifacts/:id/rescrape Operator plannerArtifactRecordSchema Rescrapes one artifact.
GET /planner/time-off Operator plannerArtifactRecordSchema[] Calendar-backed vacation/time-off view.
GET /planner/meetings Operator plannerArtifactRecordSchema[] Calendar-backed meetings view.
GET /planner/conflicts Operator plannerConflictSchema[] Lists scheduling conflicts.
POST /planner/conflicts/:id/suppress Operator plannerConflictSuppressionSchema Suppresses one conflict.
POST /planner/conflicts/:id/unsuppress Operator plannerConflictUnsuppressionSchema Restores one suppressed conflict.
POST /planner/conflicts/by-artifact/:id/suppress Operator plannerConflictSuppressionSchema[] Suppresses all conflicts from one artifact.
GET /planner/tasks Operator plannerTaskSchema[] Lists tasks by source, account, state, priority, schedule, due date, limit, or offset.
POST /planner/tasks Operator plannerTaskSchema Creates a manual planner task.
PATCH /planner/tasks/:id Operator plannerTaskSchema Updates one task. Body: plannerUpdateTaskInputSchema.
PUT /planner/tasks/:id Operator plannerTaskSchema Same update contract as PATCH.
DELETE /planner/tasks/:id Operator plannerTaskSchema Archives one task.
POST /planner/tasks/:id/toggle Operator plannerTaskSchema Toggles task completion state.
POST /planner/tasks/:id/schedule Operator plannerTaskSchema Schedules one task.
POST /planner/tasks/reorder Operator plannerTaskSchema[] Reorders tasks.
POST /planner/tasks/_bulk/toggle Operator plannerTaskSchema[] Toggles multiple tasks.
POST /planner/tasks/_bulk/schedule Operator plannerTaskSchema[] Schedules multiple tasks.

Profiles, Capabilities, Skills, And Workflows

Method Path Scope Response Contract Notes
GET /agent-profiles Operator, agent readable agentProfileRecordSchema[] Query by role, status, or workflowTemplateId.
GET /agent-profiles/:id Operator, agent readable agentProfileRecordSchema Reads one agent profile.
DELETE /agent-profiles/:id Operator { deleted: true } Deletes a user profile entry.
POST /agent-profiles/settings Operator agentProfileRecordSchema Applies profile settings. Body: applyAgentProfileSettingsInputSchema.
GET /agent-profile-changes Operator agentProfileChangeRequestSchema[] Query by status or targetProfileId.
POST /agent-profile-changes Operator agentProfileChangeRequestSchema Creates a pending profile change request.
GET /agent-profile-changes/:id Operator agentProfileChangeRequestSchema Reads a change request.
POST /agent-profile-changes/:id/approve Human only agentProfileChangeRequestSchema Activates an approved user profile change.
POST /agent-profile-changes/:id/reject Human only agentProfileChangeRequestSchema Rejects a profile change while preserving audit history.
GET /capabilities Operator, agent readable capabilityRecordSchema[] Query by kind or state.
GET /capabilities/:id Operator, agent readable capabilityRecordSchema Reads one tool/skill/capability record.
GET /skills Operator, agent readable skillManifestSchema[] Lists installed skill manifests.
GET /skills/schema Operator skillManifestBuilderSchema Schema used by the skill builder.
POST /skills/validate Operator skillManifestValidationResultSchema Validates a skill manifest.
POST /skills/import Operator skillManifestImportResultSchema Imports a skill manifest.
GET /workflow-templates Operator, agent readable Workflow template array Lists built-in workflow templates.
GET /workflow-primitives Operator, agent readable workflowPrimitiveSchema[] Lists workflow authoring primitives.
POST /workflow-builder/assist Operator workflowBuilderAssistResultSchema Assists workflow authoring.
POST /workflow-test-runs/run Operator workflowTestRunResultSchema Executes a draft workflow test run.
GET /saved-workflows Operator savedWorkflowSchema[] Lists saved workflow definitions.
POST /saved-workflows Operator savedWorkflowSchema Creates or updates a saved workflow.
GET /saved-workflows/:id Operator savedWorkflowSchema Reads one saved workflow.
DELETE /saved-workflows/:id Operator Delete result Deletes one saved workflow.
POST /saved-workflows/:id/activate Operator savedWorkflowSchema Activates one saved workflow.
POST /saved-workflows/:id/deactivate Operator savedWorkflowSchema Deactivates one saved workflow.
POST /saved-workflows/:id/run Operator workflowTestRunResultSchema Runs a saved workflow manually.
GET /tools Operator, agent readable Tool record array Lists executable tool registry entries.

Automations

Method Path Scope Response Contract Notes
GET /automations Operator automationDefinitionSchema[] Query by status.
POST /automations Operator automationDetailsSchema Creates an automation. Body: automationDefinitionInputSchema.
GET /automations/:id Operator automationDetailsSchema Reads one automation definition and event history.
DELETE /automations/:id Operator Delete result Deletes one automation definition.
POST /automations/:id/enable Operator automationDetailsSchema Enables one automation.
POST /automations/:id/disable Operator automationDetailsSchema Disables one automation.
POST /automations/:id/pause Operator automationDetailsSchema Pauses one automation.
GET /automations/:id/preview Operator automationPreviewSchema Dry-run preview; reports what would be queued without creating a run.
POST /automations/:id/trigger Operator Trigger result Manually triggers one automation.
POST /automation-webhooks/:path Webhook Accepted result Triggers matching webhook automations. Header: x-agent-harness-webhook-secret.

Memory

Method Path Scope Response Contract Notes
GET /memory Operator, agent readable memoryRecordSchema[] Query by query, type, scope, runId, conversationId, or status.
POST /memory Operator memoryRecordSchema Creates a durable memory record. Body: createMemoryRecordInputSchema.
POST /memory/:id/archive Operator memoryRecordSchema Archives one memory record without deleting history.
GET /memory/context-preview Operator, agent readable memoryContextPreviewSchema Shows active records selected for a conversation/run/task context.
GET /memory/candidates Operator memoryCandidateSchema[] Query pending, promoted, or rejected candidates.
POST /memory/candidates/:id/promote Operator memoryRecordSchema Promotes a candidate into an active memory record.
POST /memory/candidates/:id/reject Operator memoryCandidateSchema Marks a candidate rejected but keeps it auditable.
POST /memory/maintenance Operator memoryMaintenanceReportSchema Runs summary extraction, review, optional stale archive, and optional promotion.
POST /memory/review Operator memoryReviewReportSchema Creates a non-destructive memory review report.
GET /memory/reviews Operator memoryReviewReportSchema[] Lists prior memory reviews.
GET /memory/reviews/:id Operator memoryReviewReportSchema Reads one memory review.

Audio Sessions

Method Path Scope Response Contract Notes
GET /audio-sessions Operator audioSessionSchema[] Lists audio sessions.
POST /audio-sessions Operator audioSessionDetailsSchema Creates a transcription or realtime-audio session. Body: createAudioSessionInputSchema.
GET /audio-sessions/:id Operator audioSessionDetailsSchema Reads one audio session with events.
POST /audio-sessions/:id/events Operator audioSessionDetailsSchema Appends transcript/status/error events.
POST /audio-sessions/:id/transcriptions Operator audioTranscriptionResultSchema Records a local STT/import request and optional transcript text.
POST /audio-sessions/:id/end Operator audioSessionDetailsSchema Ends one audio session.

Models And Providers

Method Path Scope Response Contract Notes
GET /models?provider=... Operator, agent readable String array Lists models for configured provider catalogs or static fallbacks.
GET /providers/health Operator, agent readable Record<string, providerHealthSchema> Reports CLI/API reachability, catalog source, credentials, last errors, and model preview. Agent responses redact credential status and secret identifiers.
GET /providers/:provider/health-history Operator providerHealthCheckRecordSchema[] Recent durable on-demand health-check records. Query: limit.
POST /providers/:provider/health-check Operator providerHealthSchema Runs an on-demand provider check with forced catalog refresh when supported.
GET /model-catalog Operator, agent readable modelCatalogEntrySchema[] Provider/model metadata for routing: execution path, privacy, capabilities, roles, and notes.
POST /model-routing/preview Operator, agent readable modelRoutingPreviewSchema Returns selected model, alternatives, rationale, warnings, and matching policy ID.
GET /model-routing/policies Operator modelRoutingPolicySchema[] Query by status.
POST /model-routing/policies Operator modelRoutingPolicySchema Creates or updates a routing policy. Body: modelRoutingPolicyInputSchema.
GET /model-routing/policies/:id Operator modelRoutingPolicySchema Reads one routing policy.

Static Dashboard And Local Shell Routes

These routes support the bundled dashboard and local host integration. They are documented for operator awareness, but they should not be treated as stable third-party API contracts.

Method Path Scope Response Contract Notes
GET / Public or token-mode UI HTML Bundled dashboard shell.
GET /dashboard/styles.css Public or token-mode UI CSS Bundled dashboard CSS.
GET /dashboard/app.js Public or token-mode UI JavaScript Bundled dashboard JavaScript.
GET /assets/... Public or token-mode UI Static asset Bundled dashboard assets.
POST /shell/select-directory Internal Directory selection result Host file picker integration.
POST /shell/open-path Internal Open-path result Opens a local host path.
GET /shell/git-status?path=... Internal Git status object Reads local git status for dashboard display.
POST /dashboard/calendar/events Internal Calendar event array Dashboard calendar aggregation route.
GET /history Internal Run history array Legacy dashboard history route.

Safety Notes