Skip to content

API Endpoints

API testing dashboard for API endpoint workflow context

API testing dashboard for API endpoint workflow context.

Endpoint catalog for the Quorvex AI REST API. For conventions (authentication, errors, pagination, rate limiting), see API Overview.

Authentication

Prefix: /auth | Source: orchestrator/api/auth.py

Method Path Description Auth Required Rate Limit
POST /auth/register Register a new user No 3/min
POST /auth/login Login with email and password No 10/min
POST /auth/refresh Refresh access token using refresh token No 30/min
POST /auth/logout Revoke a specific refresh token No --
POST /auth/logout-all Revoke all refresh tokens for the user Yes --
GET /auth/me Get current authenticated user info Yes --

Users (Admin)

Prefix: /users | Source: orchestrator/api/users.py

All endpoints require superuser authentication.

Method Path Description Auth Required
GET /users List all users (paginated) Superuser
POST /users Create a user Superuser
GET /users/{id} Get user by ID Superuser
PUT /users/{id} Update user (name, active, superuser) Superuser
DELETE /users/{id} Delete user and all memberships Superuser
GET /users/{id}/projects List projects a user belongs to Superuser
POST /users/{id}/projects/{project_id} Assign user to project with role Superuser
DELETE /users/{id}/projects/{project_id} Remove user from project Superuser

Projects

Prefix: /projects | Source: orchestrator/api/projects.py

Method Path Description Auth Required
GET /projects List all projects Optional
POST /projects Create a project Optional
GET /projects/{id} Get project details with counts Optional
PUT /projects/{id} Update project name, URL, or description Optional
DELETE /projects/{id} Delete project (not default) Optional
POST /projects/{id}/assign-spec Assign a spec to this project Optional
POST /projects/{id}/bulk-assign-specs Assign multiple specs at once Optional
GET /projects/{id}/members List project members Optional
POST /projects/{id}/members Add a member with role Optional
PUT /projects/{id}/members/{user_id} Update member role Optional
DELETE /projects/{id}/members/{user_id} Remove member Optional
GET /projects/{id}/my-role Get current user's role in project Yes
GET /projects/{id}/credentials List credentials (masked values) Optional
POST /projects/{id}/credentials Create or update a credential Optional
DELETE /projects/{id}/credentials/{key} Delete a credential Optional

Specs

Source: orchestrator/api/specs.py

Method Path Description Auth Required
GET /specs Paginated spec list (metadata only, no content) Optional
GET /specs/list Lightweight spec list with automation status Optional
GET /specs/folders Folder tree with automated spec counts Optional
GET /specs/automated Paginated automated specs with last-run info Optional
GET /specs/{name} Get spec content and metadata Optional
POST /specs Create a new spec Optional
PUT /specs/{name} Update spec content Optional
DELETE /specs/{name} Delete spec and optionally generated test Optional
DELETE /specs/folder/{path} Delete a folder and all specs inside Optional
POST /specs/move Move a spec or folder to a new location Optional
POST /specs/rename Rename a spec or folder Optional
POST /specs/create-folder Create a spec folder Optional
POST /specs/register-folder Register all specs in a folder to a project Optional
GET /specs/{name}/generated-code Get the generated TypeScript test code Optional
PUT /specs/{name}/generated-code Update generated test code Optional
GET /specs/{name}/info Get spec type, test count, categories Optional
POST /specs/split Split a multi-test PRD spec into individual specs Optional
POST /specs/split-jobs Start a durable multi-test spec split job Optional
GET /specs/split-jobs/{job_id} Poll a durable multi-test spec split job Optional

Spec Metadata

Source: orchestrator/api/specs.py

Method Path Description Auth Required
GET /spec-metadata Get all spec metadata (dict keyed by name) Optional
GET /spec-metadata/{name} Get metadata for one spec Optional
PUT /spec-metadata/{name} Update tags, description, author, project Optional

Runs

Source: orchestrator/api/runs.py

Method Path Description Auth Required
GET /runs Paginated list of test runs Optional
GET /runs/{id} Full run details with plan, validation, artifacts Optional
DELETE /runs/{id} Delete a run and associated artifacts Optional
POST /runs Create and start a single test run Optional
POST /runs/{id}/stop Stop a running or queued test Optional
POST /runs/{id}/progress Update run stage progress (called by CLI) Optional
POST /runs/{id}/agentic-summary Generate or refresh an agentic run summary Optional
GET /runs/{id}/events/stream Stream test-run events over SSE Optional
GET /runs/{id}/log/stream Stream execution log via SSE Optional
POST /runs/bulk Create a regression batch of runs Optional

Regression Batches

Prefix: /regression | Source: orchestrator/api/regression.py

Method Path Description Auth Required
GET /regression/batches List batches (paginated) Optional
GET /regression/batches/{id} Get batch detail with all runs Optional
PATCH /regression/batches/{id}/refresh Recalculate batch statistics Optional
GET /regression/batches/{id}/export Export batch as JSON or HTML report Optional
PATCH /regression/batches/{id} Update batch metadata Optional
POST /regression/batches/{id}/cancel Cancel a running regression batch Optional
POST /regression/batches/{id}/rerun-failed Rerun failed tests in a batch Optional
DELETE /regression/batches/{id} Delete batch and all associated runs Optional
GET /regression/batches/trend Batch execution trend data Optional
GET /regression/batches/{id}/error-summary Error summary for one batch Optional
POST /regression/batches/compare Compare two regression batches Optional
GET /regression/spec-history Historical status for specs Optional
GET /regression/flaky-tests List detected flaky tests Optional
GET /regression/debug/test-counts Debug: show test counts across all batches Optional
GET /regression/debug/batch/{id}/test-counts Debug: show test counts for one batch Optional

Exploration

Prefix: /exploration | Source: orchestrator/api/exploration.py

Method Path Description Auth Required Rate Limit
GET /exploration/health Check exploration service health Optional --
POST /exploration/start Start an AI exploration session Optional 5/min
GET /exploration/spec-gen-jobs List exploration spec-generation jobs Optional --
GET /exploration/spec-gen-jobs/{id} Get exploration spec-generation job status Optional --
GET /exploration List exploration sessions Optional --
GET /exploration/{id} Get exploration session details Optional --
GET /exploration/{id}/artifacts List artifacts for an exploration session Optional --
GET /exploration/{id}/details Get full exploration details Optional --
GET /exploration/{id}/results Get exploration results (pages, flows, APIs) Optional --
POST /exploration/{id}/stop Stop a running exploration Optional 10/min
GET /exploration/{id}/flows Get discovered user flows Optional --
PUT /exploration/{id}/flows/{flow_id} Update a discovered flow Optional --
DELETE /exploration/{id}/flows/{flow_id} Delete a discovered flow Optional --
GET /exploration/{id}/apis Get discovered API endpoints Optional --
PUT /exploration/{id}/apis/{endpoint_id} Update a discovered API endpoint Optional --
DELETE /exploration/{id}/apis/{endpoint_id} Delete a discovered API endpoint Optional --
GET /exploration/{id}/issues Get issues discovered during exploration Optional --
POST /exploration/{id}/generate-api-specs Generate API specs from exploration results Optional --
POST /exploration/{id}/generate-api-tests Generate API tests from exploration results Optional --
GET /exploration/queue/status Get exploration queue status Optional --

Requirements

Prefix: /requirements | Source: orchestrator/api/requirements.py

Method Path Description Auth Required
GET /requirements List requirements (paginated, filterable) Optional
POST /requirements Create a requirement manually Optional
GET /requirements/{id} Get requirement detail Optional
PUT /requirements/{id} Update a requirement Optional
DELETE /requirements/{id} Delete a requirement Optional
POST /requirements/generate Generate requirements from exploration session Optional
GET /requirements/generate-jobs/{id} Get requirement generation job status Optional
POST /requirements/bulk Create requirements in bulk Optional
POST /requirements/bulk-generate-specs Start bulk spec generation for requirements Optional
GET /requirements/bulk-generate-jobs/{id} Get bulk spec generation job status Optional
GET /requirements/duplicates Find duplicate requirements Optional
POST /requirements/check-duplicate Check if a requirement is a duplicate Optional
POST /requirements/merge Merge duplicate requirements Optional
POST /requirements/review/decisions Apply bulk requirement review decisions Optional
GET /requirements/categories/list List distinct categories Optional
GET /requirements/stats Requirement statistics Optional
GET /requirements/health Requirements service health Optional
GET /requirements/{id}/spec-status Check if spec exists for this requirement Optional
POST /requirements/{id}/generate-spec Generate a test spec from a requirement Optional

RTM (Requirements Traceability Matrix)

Prefix: /rtm | Source: orchestrator/api/rtm.py

Method Path Description Auth Required
GET /rtm Get full RTM (requirements mapped to tests) Optional
POST /rtm/generate Generate/rebuild the RTM Optional
GET /rtm/generate-jobs/{id} Get RTM generation job status Optional
GET /rtm/coverage Get test coverage summary Optional
GET /rtm/gaps Find requirements with no test coverage Optional
GET /rtm/export/{format} Export RTM as markdown, csv, or html Optional
POST /rtm/snapshot Save a point-in-time RTM snapshot Optional
GET /rtm/snapshots List saved RTM snapshots Optional
GET /rtm/snapshot/{id} Get one RTM snapshot with entries Optional
GET /rtm/trend RTM coverage trend data Optional
GET /rtm/requirement/{id}/tests Get tests linked to a requirement Optional
GET /rtm/test/{name}/requirements Get requirements linked to a test Optional
POST /rtm/entry Manually link a requirement to a test Optional
DELETE /rtm/entry/{id} Remove a requirement-test link Optional

Memory

Prefix: /api/memory | Source: orchestrator/api/memory.py

Method Path Description Auth Required
GET /api/memory/patterns Get stored selector patterns Optional
POST /api/memory/similar Find similar patterns via vector search Optional
GET /api/memory/selectors Get selector recommendations Optional
GET /api/memory/coverage/summary Test coverage summary from memory Optional
GET /api/memory/coverage/gaps Coverage gaps Optional
GET /api/memory/coverage/suggestions AI-suggested tests to improve coverage Optional
GET /api/memory/graph/stats Graph store statistics Optional
GET /api/memory/graph/pages Pages in the knowledge graph Optional
GET /api/memory/graph/flows User flows in the knowledge graph Optional
GET /api/memory/graph/knowledge Knowledge graph facts and relationships Optional
GET /api/memory/graph/memory/{id} Get graph details for one memory Optional
GET /api/memory/graph/review List memory graph relationships pending review Optional
PATCH /api/memory/graph/review/{edge_id}/approve Approve a memory graph relationship Optional
PATCH /api/memory/graph/review/{edge_id}/reject Reject a memory graph relationship Optional
POST /api/memory/graph/rebuild Rebuild memory graph indexes Optional
GET /api/memory/stats Overall memory system statistics Optional
GET /api/memory/agent List or search curated agent memories Optional
POST /api/memory/agent Create a curated agent memory Optional
PATCH /api/memory/agent/{memory_id} Update an agent memory Optional
POST /api/memory/agent/consolidate Extract durable memories from a text block Optional
POST /api/memory/agent/verify-stale Mark stale active memories for review Optional
PATCH /api/memory/agent/{memory_id}/approve Approve a review-required memory Optional
PATCH /api/memory/agent/{memory_id}/verify Mark a memory as verified Optional
PATCH /api/memory/agent/{memory_id}/archive Archive an agent memory Optional
DELETE /api/memory/agent/{memory_id} Delete an agent memory and vector index document Optional
GET /api/memory/agent/context Return formatted memory context for prompt injection Optional
GET /api/memory/context-preview Preview prompt-ready memory context Optional
GET /api/memory/context Return unified structured memory bundle Optional
GET /api/memory/injections List recent memory injection telemetry Optional
POST /api/memory/injections/{injection_event_id}/feedback Submit feedback for memories used in an injection event Optional
GET /api/memory/feedback Return aggregate feedback stats for selected memories Optional
GET /api/memory/session-recall/recent Browse recent assistant conversations Optional
GET /api/memory/session-recall/search Search assistant conversation memory Optional
GET /api/memory/session-recall/window Return an anchored conversation window Optional
GET /api/memory/health Report memory system health and embedding mode Optional
GET /api/memory/diagnostics Report memory health, stale records, and recommended repair actions Optional
GET /api/memory/effectiveness Summarize whether injected memory correlates with successful outcomes Optional
POST /api/memory/repair Run conservative memory repair actions, optionally as a dry run Optional
GET /api/memory/browser Inspect browser exploration memory Optional
GET /api/memory/browser/frontier Inspect ranked browser frontier work Optional
POST /api/memory/browser/frontier/claim Lease frontier items for a worker Optional
PATCH /api/memory/browser/frontier/{frontier_id}/complete Mark frontier work completed Optional
PATCH /api/memory/browser/frontier/{frontier_id}/fail Mark frontier work failed and retryable Optional
PATCH /api/memory/browser/frontier/{frontier_id}/skip Skip stale, risky, or irrelevant frontier work Optional
GET /api/memory/projects Memory data grouped by project Optional

Autonomous Diagnostics

Source: orchestrator/api/autonomous.py

Method Path Description Auth Required
GET /autonomous/{project_id}/diagnostics Inspect autonomous mission health for a project Optional
POST /autonomous/{project_id}/diagnostics/backfill Backfill canonical autonomous state and return refreshed diagnostics Yes
POST /autonomous/{project_id}/diagnostics/monitor Run the autonomous diagnostics monitor for a project Yes
POST /autonomous/{project_id}/diagnostics/recover Recover stale autonomous work and return refreshed diagnostics Yes

PRD Processing

Prefix: /api/prd | Source: orchestrator/api/prd.py

Method Path Description Auth Required
POST /api/prd/upload Upload a PRD document (PDF, multipart/form-data) Optional
GET /api/prd/projects List uploaded PRD projects Optional
DELETE /api/prd/{project_id} Delete a PRD project Optional
GET /api/prd/{project_id}/features List features extracted from PRD Optional
POST /api/prd/{project_id}/generate-plan Generate test plan for a feature Optional
GET /api/prd/generation/{id} Get generation job status Optional
POST /api/prd/generation/{id}/stop Stop a running generation Optional
GET /api/prd/generation/{id}/log/stream Stream generation log (SSE) Optional
GET /api/prd/{project_id}/generations List generation history Optional
POST /api/prd/{project_id}/features/{feature_slug}/requirements Add a requirement to a PRD feature Optional
PUT /api/prd/{project_id}/features/{feature_slug}/requirements/{index} Update a PRD feature requirement Optional
DELETE /api/prd/{project_id}/features/{feature_slug}/requirements/{index} Delete a PRD feature requirement Optional
POST /api/prd/generate-test Generate a test from a plan Optional
POST /api/prd/heal-test Heal a failing test Optional
POST /api/prd/run-test Run a generated test Optional
GET /api/prd/queue/status PRD processing queue status Optional

Agents

Source: orchestrator/api/agent_run_launch.py; exploratory/spec generation: orchestrator/api/agent_exploratory.py; run control: orchestrator/api/agent_run_control.py; reports: orchestrator/api/agent_reports.py; coding patch review: orchestrator/api/agent_coding_patch.py; read-only run visibility: orchestrator/api/agent_run_observability.py; tool catalog and custom agent definitions: orchestrator/api/agent_definitions.py

Method Path Description Auth Required
POST /api/agents/runs Run an autonomous agent (exploratory, writer, synthesis) Optional
GET /api/agents/runs List agent runs Optional
GET /api/agents/runs/{id} Get agent run details Optional
GET /api/agents/runs/{id}/events List persisted lifecycle events for an agent run Optional
GET /api/agents/runs/{id}/events/stream Stream agent run lifecycle events over SSE Optional
GET /api/agents/runs/{id}/notes List durable or recovered notes for an agent run Optional
GET /api/agents/runs/{id}/trace Get an agent run trace bundle Optional
GET /api/agents/runs/{id}/trace/spans List spans recorded for an agent run trace Optional
GET /api/agents/runs/{id}/trace/export Export an agent run trace bundle Optional
GET /api/agents/temporal/health Check Temporal readiness for standalone agent runs Optional
POST /api/agents/runs/{id}/pause Pause an agent run Optional
POST /api/agents/runs/{id}/resume Resume an agent run Optional
POST /api/agents/runs/{id}/cancel Cancel an agent run Optional
GET /api/agents/runs/{id}/coding/diff Preview a coding agent patch diff and validation status Optional
POST /api/agents/runs/{id}/coding/reject Mark a coding agent patch as rejected Optional
POST /api/agents/runs/{id}/coding/apply Apply a completed coding agent patch to the repository Optional
GET /api/agents/runs/{id}/report Get an agent run report Optional
GET /api/agents/reports/search Search generated agent reports Optional
GET /api/agents/tools/catalog List available agent tools Optional
GET /api/agents/definitions List custom agent definitions Optional
POST /api/agents/definitions Create a custom agent definition Optional
GET /api/agents/definitions/{id} Get a custom agent definition Optional
PUT /api/agents/definitions/{id} Update a custom agent definition Optional
DELETE /api/agents/definitions/{id} Delete a custom agent definition Optional
POST /api/agents/definitions/{id}/runs Run a custom agent definition Optional
POST /api/agents/exploratory Run enhanced exploratory testing Optional
POST /api/agents/exploratory/{run_id}/synthesize Generate specs from exploration Optional
GET /api/agents/exploratory/{run_id}/specs Get generated specs Optional
GET /api/agents/exploratory/{run_id}/flows/{flow_id} Get flow details Optional
PUT /api/agents/exploratory/{run_id}/flows/{flow_id} Update exploratory flow details Optional
DELETE /api/agents/exploratory/{run_id}/flows/{flow_id} Delete exploratory flow details Optional
POST /api/agents/exploratory/{run_id}/analyze-prerequisites Analyze flow prerequisites Optional
POST /api/agents/exploratory/{run_id}/flows/{flow_id}/spec Generate spec for one flow Optional
POST /api/agents/exploratory/{run_id}/flows/{flow_id}/generate Generate validated test via native pipeline Optional
GET /api/agents/exploratory/flow-spec-jobs/{id} Get exploratory flow-spec job status Optional

Agent types: coding, exploratory, writer, spec-synthesis.

Agent Queue Operations

Source: orchestrator/api/agent_queue_ops.py

Method Path Description Auth Required
GET /api/agents/queue-status Agent queue status and browser slot usage Optional
POST /api/agents/queue-flush Clear queued agent work Optional
POST /api/agents/queue-clean-stale Clean stale agent queue entries Optional
POST /api/agents/queue-clean-orphans Clean orphaned agent queue entries Optional

Auth Sessions

Source: orchestrator/api/agent_sessions.py

Method Path Description Auth Required
GET /api/agents/sessions List saved authentication sessions Optional
POST /api/agents/sessions/{session_id} Save an authentication session Optional
DELETE /api/agents/sessions/{session_id} Delete a saved session Optional

Dashboard

Source: orchestrator/api/dashboard.py

Method Path Description Auth Required
GET /dashboard Comprehensive test analytics Optional

Query parameters: period (default 30d), project_id.

Settings

Source: orchestrator/api/settings.py

Method Path Description Auth Required
GET /settings Get current settings (API key masked) Optional
POST /settings Update settings (writes to .env file) Optional
POST /settings/claude-code/setup-token Generate and save a Claude Code OAuth token when the CLI is available Optional
POST /settings/test-connection Test AI provider settings without saving Optional

Execution Settings

Source: orchestrator/api/runtime_ops.py

Method Path Description Auth Required
GET /execution-settings Get the persisted global browser concurrency cap (parallelism), headless mode, memory, DB type Optional
PUT /execution-settings Update execution settings and the active browser pool max Optional

Queue Management

Source: orchestrator/api/runtime_ops.py

Method Path Description Auth Required
GET /queue-status Browser pool running/queued/max totals plus legacy test-run queue diagnostics Optional
POST /queue/clear Clear stuck queue entries Optional

Browser Pool

Source: orchestrator/api/runtime_ops.py

Method Path Description Auth Required
GET /api/browser-pool/status Source-of-truth pool utilization, queued work, and by_type slot usage Optional
GET /api/browser-pool/recent Recently completed browser operations Optional
POST /api/browser-pool/cleanup Clean up stale browser slots Optional

Resource Management

Sources: orchestrator/api/runtime_ops.py (/api/resources/*), orchestrator/api/agent_queue_ops.py (/api/agents/queue-status)

Method Path Description Auth Required
GET /api/resources/status DEPRECATED -- use /api/browser-pool/status Optional
GET /api/agents/queue-status Agent queue status and browser slot usage Optional; source: orchestrator/api/agent_queue_ops.py
POST /api/resources/cleanup Force cleanup of stale resources Optional

Health

Prefix: /health | Sources: orchestrator/api/runtime_ops.py (GET /health), orchestrator/api/health.py (storage health routes)

Method Path Description Auth Required
GET /health Runtime dependency health check No
GET /health/storage Comprehensive storage health (DB, MinIO, local) No
GET /health/backup Backup status and recent backups No
GET /health/alerts Active health alerts No
GET /health/archival/stats Archival system statistics No
POST /health/storage/record Record a storage metric No

Health Alert Thresholds

Check Warning Critical
Runs directory size > 5 GB > 10 GB
Last backup age > 36 hours > 48 hours
PostgreSQL DB size > 5 GB > 10 GB

Backup

Source: orchestrator/api/backup_control.py

Method Path Description Auth Required
POST /api/backup Trigger a manual database backup Optional
GET /api/backup/status List recent backups and retention info Optional

API Testing

Prefix: /api-testing | Source: orchestrator/api/api_testing.py

Method Path Description Auth Required
POST /api-testing/specs Create API test spec Optional
GET /api-testing/specs List API test specs Optional
GET /api-testing/specs/{folder} Get API test spec details Optional
PUT /api-testing/specs/{folder} Update API test spec Optional
DELETE /api-testing/specs/{folder} Delete API test spec Optional
POST /api-testing/specs/folder Create a nested API spec folder Optional
PUT /api-testing/specs/{name}/tags Update tags for an API test spec Optional
POST /api-testing/specs/bulk-generate Generate tests for multiple API specs Optional
POST /api-testing/specs/bulk-run Run multiple API specs Optional
POST /api-testing/generate Generate a Playwright API test from a saved spec Optional
POST /api-testing/create-and-generate Create a spec and immediately start generation Optional
POST /api-testing/edge-cases Generate edge-case checks for an API spec Optional
GET /api-testing/jobs List API generation jobs Optional
GET /api-testing/jobs/{job_id} Get API generation job status Optional
GET /api-testing/jobs/{job_id}/logs Get API generation job logs Optional
GET /api-testing/generated-tests List generated API test files Optional
GET /api-testing/generated-tests/summary Summary of generated API tests Optional
GET /api-testing/generated-tests/{name} Get generated API test code Optional
PUT /api-testing/generated-tests/{name} Update generated API test code Optional
DELETE /api-testing/generated-tests/{name} Delete generated API test code Optional
POST /api-testing/import-openapi Import OpenAPI/Swagger spec Optional
POST /api-testing/import-openapi-file Import an uploaded OpenAPI/Swagger file Optional
GET /api-testing/import-history List OpenAPI import history Optional
POST /api-testing/run Run API test (background job) Optional
POST /api-testing/run-direct Run API test directly Optional
GET /api-testing/runs List API test run history Optional
GET /api-testing/runs/latest-by-spec Get the latest run for a spec Optional
GET /api-testing/runs/{run_id} Get run details with logs Optional
POST /api-testing/runs/{run_id}/retry Retry an API test run Optional

API Testing coverage groups:

Group Main endpoints
Specs /api-testing/specs, /api-testing/specs/{name}, /api-testing/specs/folder, /api-testing/specs/{name}/tags
Generation jobs /api-testing/generate, /api-testing/create-and-generate, /api-testing/jobs, /api-testing/jobs/{job_id}/logs
Generated tests /api-testing/generated-tests, /api-testing/generated-tests/{name}, /api-testing/generated-tests/summary
OpenAPI import /api-testing/import-openapi, /api-testing/import-openapi-file, /api-testing/import-history
Runs /api-testing/run, /api-testing/run-direct, /api-testing/runs, /api-testing/runs/latest-by-spec, /api-testing/runs/{run_id}/retry
Bulk operations /api-testing/specs/bulk-generate, /api-testing/specs/bulk-run, /api-testing/edge-cases

Load Testing

Prefix: /load-testing | Source: orchestrator/api/load_testing.py

Method Path Description Auth Required
POST /load-testing/specs Create load test spec Optional
GET /load-testing/specs List load test specs Optional
GET /load-testing/specs/{folder} Get load test spec details Optional
PUT /load-testing/specs/{folder} Update load test spec Optional
DELETE /load-testing/specs/{folder} Delete load test spec Optional
POST /load-testing/generate Generate K6 script Optional
POST /load-testing/run Execute load test (background job) Optional
POST /load-testing/run-from-spec Execute load test from a saved spec Optional
GET /load-testing/runs List load test runs Optional
GET /load-testing/runs/{run_id} Run details with metrics Optional
GET /load-testing/runs/{run_id}/timeseries Time-series metrics for one run Optional
POST /load-testing/runs/{run_id}/stop Cancel running test Optional
GET /load-testing/runs/compare Compare multiple runs with overlay charts Optional
GET /load-testing/system-limits Current resource caps and worker status Optional

Security Testing

Prefix: /security-testing | Source: orchestrator/api/security_testing.py

Method Path Description Auth Required
POST /security-testing/specs Create security test spec Optional
GET /security-testing/specs List security test specs Optional
POST /security-testing/scan/quick Run quick scan (background) Optional
POST /security-testing/scan/nuclei Run Nuclei scan (background) Optional
POST /security-testing/scan/zap Run ZAP DAST scan (background) Optional
POST /security-testing/scan/full Run all tiers sequentially Optional
GET /security-testing/jobs/{job_id} Poll scan job status Optional
GET /security-testing/runs List scan history Optional
GET /security-testing/runs/{run_id} Scan details with findings Optional
GET /security-testing/runs/{run_id}/findings Findings with severity filter Optional
PATCH /security-testing/findings/{id}/status Update finding status Optional
GET /security-testing/findings/summary Aggregated severity counts Optional
POST /security-testing/analyze/{run_id} AI remediation analysis Optional
POST /security-testing/generate-spec AI generates spec from exploration Optional

LLM Testing

Prefix: /llm-testing | Source: orchestrator/api/llm_testing.py

Providers

Method Path Description Auth Required
POST /llm-testing/providers Register LLM provider Optional
GET /llm-testing/providers List providers Optional
PUT /llm-testing/providers/{id} Update provider Optional
DELETE /llm-testing/providers/{id} Delete provider Optional
POST /llm-testing/providers/{id}/health-check Check provider connectivity and model response health Optional
GET /llm-testing/openrouter/models List OpenRouter model metadata Optional
POST /llm-testing/openrouter/demo Run an OpenRouter demo request Optional
POST /llm-testing/demo-content Seed demo providers, specs, datasets, or runs Optional

Specs

Method Path Description Auth Required
POST /llm-testing/specs Create LLM test spec Optional
GET /llm-testing/specs List LLM test specs Optional
PUT /llm-testing/specs/{name} Update spec Optional
DELETE /llm-testing/specs/{name} Delete spec Optional
GET /llm-testing/specs/{name}/versions List spec versions Optional
POST /llm-testing/specs/{name}/versions Create a saved spec version Optional
GET /llm-testing/specs/{name}/versions/{version} Get one saved spec version Optional
POST /llm-testing/specs/{name}/versions/{version}/restore Restore a saved spec version Optional
POST /llm-testing/specs/{name}/suggest-improvements AI spec improvements Optional

Execution

Method Path Description Auth Required
POST /llm-testing/run Run suite against a provider (background) Optional
GET /llm-testing/jobs/{job_id} Get LLM test job status Optional
GET /llm-testing/runs List LLM test runs Optional
GET /llm-testing/runs/{run_id} Get LLM test run detail Optional
GET /llm-testing/runs/{run_id}/results Get case-level LLM test results Optional
POST /llm-testing/compare Compare multiple providers Optional
GET /llm-testing/comparisons List comparison runs Optional
GET /llm-testing/comparisons/{comparison_id} Get comparison detail Optional
GET /llm-testing/comparisons/{comparison_id}/matrix Get provider/spec scoring matrix Optional
POST /llm-testing/bulk-run Batch dataset operations Optional
POST /llm-testing/bulk-compare Batch comparison Optional
POST /llm-testing/generate-suite AI-generated test suite Optional
GET /llm-testing/prompt-iterations List prompt-iteration experiments Optional
POST /llm-testing/prompt-iterations A/B prompt testing Optional
GET /llm-testing/prompt-iterations/{iteration_id} Get prompt-iteration detail Optional

Datasets

Method Path Description Auth Required
POST /llm-testing/datasets Create dataset Optional
GET /llm-testing/datasets List datasets Optional
PUT /llm-testing/datasets/{id} Update dataset Optional
DELETE /llm-testing/datasets/{id} Delete dataset Optional
GET /llm-testing/datasets/{id} Get dataset detail Optional
POST /llm-testing/datasets/import-csv Import dataset cases from CSV Optional
POST /llm-testing/datasets/from-spec/{spec_name} Create a dataset from a spec Optional
POST /llm-testing/datasets/{id}/cases Add a dataset case Optional
PUT /llm-testing/datasets/{id}/cases/{case_id} Update a dataset case Optional
DELETE /llm-testing/datasets/{id}/cases/{case_id} Delete a dataset case Optional
POST /llm-testing/datasets/{id}/augment AI dataset augmentation Optional
POST /llm-testing/datasets/{id}/augment/{job_id}/accept Accept generated augmentation cases Optional
GET /llm-testing/datasets/{id}/export Export dataset cases Optional
POST /llm-testing/datasets/{id}/to-spec Convert a dataset to a spec Optional
POST /llm-testing/datasets/{id}/duplicate Duplicate a dataset Optional
POST /llm-testing/datasets/{id}/golden Mark dataset as golden baseline Optional
GET /llm-testing/datasets/{id}/diff Diff dataset versions Optional
GET /llm-testing/datasets/{id}/versions List dataset versions Optional
POST /llm-testing/datasets/{id}/compare Compare dataset runs Optional
POST /llm-testing/datasets/{id}/run Run a dataset directly Optional

Schedules

Method Path Description Auth Required
POST /llm-testing/schedules Create schedule Optional
GET /llm-testing/schedules List schedules Optional
GET /llm-testing/schedules/{id} Get schedule detail Optional
PUT /llm-testing/schedules/{id} Update schedule Optional
DELETE /llm-testing/schedules/{id} Delete schedule Optional
POST /llm-testing/schedules/{id}/run-now Trigger schedule immediately Optional

Analytics

Method Path Description Auth Required
GET /llm-testing/analytics/overview Overview stats Optional
GET /llm-testing/analytics/trends Performance trends Optional
GET /llm-testing/analytics/latency-distribution Latency distribution Optional
GET /llm-testing/analytics/cost-tracking Cost tracking Optional
GET /llm-testing/analytics/regressions Regression detection Optional
GET /llm-testing/analytics/dataset-performance Dataset performance analytics Optional
GET /llm-testing/analytics/dataset-trends Dataset performance trends Optional
GET /llm-testing/analytics/golden-dashboard Golden dashboard Optional

Database Testing

Prefix: /database-testing | Source: orchestrator/api/database_testing.py

Method Path Description Auth Required
POST /database-testing/connections Create connection profile Optional
GET /database-testing/connections List connections Optional
PUT /database-testing/connections/{id} Update connection Optional
DELETE /database-testing/connections/{id} Delete connection Optional
POST /database-testing/connections/{id}/test Test connection Optional
POST /database-testing/analyze/{conn_id} Schema analysis (background) Optional
POST /database-testing/run/{conn_id} Run data quality checks Optional
POST /database-testing/run-full/{conn_id} Full pipeline (analyze + generate + run) Optional
POST /database-testing/suggest/{run_id} AI suggestions for failures Optional
POST /database-testing/runs/{run_id}/approve-suggestions Apply approved fixes Optional
POST /database-testing/generate-spec AI spec generation from schema Optional
GET /database-testing/runs List run history Optional
GET /database-testing/summary Project summary Optional

Scheduling

Prefix: /scheduling | Source: orchestrator/api/scheduling.py

Method Path Description Auth Required
POST /scheduling/{project_id}/schedules Create schedule Optional
GET /scheduling/{project_id}/schedules List schedules Optional
PUT /scheduling/{project_id}/schedules/{id} Update schedule Optional
DELETE /scheduling/{project_id}/schedules/{id} Delete schedule Optional
POST /scheduling/{project_id}/schedules/{id}/toggle Enable/disable Optional
POST /scheduling/{project_id}/schedules/{id}/run-now Immediate execution Optional
GET /scheduling/{project_id}/schedules/{id}/executions Execution history Optional
GET /scheduling/{project_id}/schedules/{id}/next-runs Preview upcoming runs Optional
POST /scheduling/validate-cron Validate cron expression Optional

TestRail Integration

Prefix: /testrail | Source: orchestrator/api/testrail.py

All endpoints scoped to a project via {project_id} path parameter.

Method Path Description Auth Required
GET /testrail/{project_id}/config Get TestRail config (API key masked) Optional
POST /testrail/{project_id}/config Save TestRail credentials Optional
DELETE /testrail/{project_id}/config Remove TestRail config Optional
POST /testrail/{project_id}/test-connection Validate TestRail credentials Optional
GET /testrail/{project_id}/remote-projects List TestRail projects Optional
GET /testrail/{project_id}/remote-suites/{tr_project_id} List suites in a TestRail project Optional
POST /testrail/{project_id}/push-cases Push specs as test cases to TestRail Optional
GET /testrail/{project_id}/mappings View local-to-TestRail case mappings Optional
DELETE /testrail/{project_id}/mappings/{mapping_id} Delete a case mapping Optional
GET /testrail/{project_id}/sync-preview/{batch_id} Preview batch result sync Optional
POST /testrail/{project_id}/sync-results Push batch results as a TestRail run Optional

CI/CD Integration

Unified Control Center

Prefix: /projects/{project_id}/ci | Source: orchestrator/api/ci_control.py

Provider-neutral CI/CD control surface for the dashboard.

Method Path Description Auth Required
GET /projects/{project_id}/ci/providers List configured CI providers and capabilities Optional
GET /projects/{project_id}/ci/workflows List normalized provider workflows Optional
GET /projects/{project_id}/ci/runs List normalized CI runs across providers Optional
POST /projects/{project_id}/ci/runs/sync Sync recent provider runs into normalized CI run history Optional
GET /projects/{project_id}/ci/runs/{provider}/{mapping_id} Get run details with jobs/artifacts Optional
POST /projects/{project_id}/ci/workflows/dispatch Dispatch a GitHub workflow or GitLab pipeline Optional
POST /projects/{project_id}/ci/runs/{provider}/{mapping_id}/cancel Cancel a provider run Optional
POST /projects/{project_id}/ci/runs/{provider}/{mapping_id}/rerun Rerun a provider run Optional
GET /projects/{project_id}/ci/runs/{provider}/{mapping_id}/logs Fetch provider run/job log access Optional
POST /projects/{project_id}/ci/workflow-change-requests Generate and validate a GitHub Actions workflow draft Optional
POST /projects/{project_id}/ci/workflow-change-requests/{change_id}/pull-request Open a draft GitHub PR for a generated workflow Optional
GET /projects/{project_id}/ci/audit-events List CI actions initiated from Quorvex Optional

GitHub

Prefix: /github | Source: orchestrator/api/github_ci.py

GitHub Actions workflow generation and webhook handling.

Surface Endpoints Auth/secret expectations
Configuration GET/POST/DELETE /github/{project_id}/config, POST /github/{project_id}/test-connection Stores provider token/config in project-scoped credentials
Remote discovery GET /github/{project_id}/remote-repos, GET /github/{project_id}/remote-workflows, GET /github/{project_id}/pull-requests Requires GitHub token with repository read access
Workflow runs GET /github/{project_id}/pipelines, GET /github/{project_id}/pipelines/{pipeline_mapping_id}, POST /github/{project_id}/trigger-workflow, POST /github/{project_id}/sync-runs Requires workflow read/dispatch permissions for the target repository
PR advisor POST /github/{project_id}/pr-advisor/analyze, GET /github/{project_id}/pr-advisor/analyses, POST /github/{project_id}/pr-advisor/analyses/{analysis_id}/run Requires pull request and repository read access
Quality gates GET/PUT /github/{project_id}/quality-gates/config, POST /github/{project_id}/quality-gates/pr/start, GET /github/{project_id}/quality-gates/pr/status Requires repository read access; status posting depends on configured write permissions
Repository index POST /github/{project_id}/repository-index, GET /github/{project_id}/repository-index/latest Requires repository content read access
Webhook POST /github/webhook/github Verify using the configured GitHub webhook secret

GitLab

Prefix: /gitlab | Source: orchestrator/api/gitlab_ci.py

GitLab CI pipeline configuration.

Surface Endpoints Auth/secret expectations
Configuration GET/POST/DELETE /gitlab/{project_id}/config, POST /gitlab/{project_id}/test-connection Stores GitLab token/config in project-scoped credentials
Remote discovery GET /gitlab/{project_id}/remote-projects Requires GitLab project read access
Pipeline runs GET /gitlab/{project_id}/pipelines, GET /gitlab/{project_id}/pipelines/{mapping_id}, POST /gitlab/{project_id}/trigger-pipeline Requires pipeline read/trigger permissions
Webhook POST /gitlab/webhook/gitlab Verify using the configured GitLab webhook secret

Jira Integration

Prefix: /jira | Source: orchestrator/api/jira.py

Issue tracking integration for linking test results to Jira tickets.

Surface Endpoints Auth/secret expectations
Configuration GET/POST/DELETE /jira/{project_id}/config, POST /jira/{project_id}/test-connection Stores Jira URL, user, and token in project-scoped credentials
Remote discovery GET /jira/{project_id}/remote-projects, GET /jira/{project_id}/remote-issue-types/{jira_project_key} Requires Jira project read access
Issue creation POST /jira/{project_id}/create-issue, GET /jira/{project_id}/issues, GET /jira/{project_id}/issues/{run_id} Requires issue create/read permissions
Bug reports POST /jira/{project_id}/generate-bug-report/{run_id}, GET /jira/{project_id}/bug-report-jobs/{job_id} Uses run artifacts and stored Jira config

Analytics

Prefix: /analytics | Source: orchestrator/api/analytics.py

Cross-feature analytics endpoints for aggregated reporting.

Chat / AI Assistant

Prefix: /chat | Source: orchestrator/api/chat.py

AI assistant chat endpoints with conversation persistence and tool invocation.

Import / Export

Source: orchestrator/api/testrail_files.py

Method Path Description Auth Required
POST /import/testrail Import test cases from TestRail CSV Optional
POST /export/testrail Export specs as TestRail-compatible XML or CSV Optional

Static Files

Path Pattern Description
/artifacts/{run_id}/... Screenshots, videos, and Playwright HTML reports from test runs

Debug

Source: orchestrator/api/runtime_ops.py

Method Path Description Auth Required
GET /debug-imports Check sys.path and test import resolution No

Not intended for production use.

Complete Route Coverage Index

This generated index is used by scripts/check_docs_drift.py to keep the endpoint reference aligned with FastAPI decorators and literal route tables. The curated sections above explain the main product surfaces; this table provides full method/path coverage.

Method Path Source
GET /analytics/coverage-overview orchestrator/api/analytics.py
GET /analytics/failure-classification orchestrator/api/analytics.py
GET /analytics/flake-detection orchestrator/api/analytics.py
GET /analytics/pass-rate-trends orchestrator/api/analytics.py
DELETE /analytics/quarantine/{spec_name} orchestrator/api/analytics.py
POST /analytics/quarantine/{spec_name} orchestrator/api/analytics.py
GET /analytics/spec-performance orchestrator/api/analytics.py
POST /api-testing/create-and-generate orchestrator/api/api_testing.py
POST /api-testing/edge-cases orchestrator/api/api_testing.py
POST /api-testing/generate orchestrator/api/api_testing.py
GET /api-testing/generated-tests orchestrator/api/api_testing.py
GET /api-testing/generated-tests/summary orchestrator/api/api_testing.py
DELETE /api-testing/generated-tests/{name} orchestrator/api/api_testing.py
GET /api-testing/generated-tests/{name} orchestrator/api/api_testing.py
PUT /api-testing/generated-tests/{name} orchestrator/api/api_testing.py
GET /api-testing/import-history orchestrator/api/api_testing.py
POST /api-testing/import-openapi orchestrator/api/api_testing.py
POST /api-testing/import-openapi-file orchestrator/api/api_testing.py
GET /api-testing/jobs orchestrator/api/api_testing.py
GET /api-testing/jobs/{job_id} orchestrator/api/api_testing.py
GET /api-testing/jobs/{job_id}/logs orchestrator/api/api_testing.py
POST /api-testing/run orchestrator/api/api_testing.py
POST /api-testing/run-direct orchestrator/api/api_testing.py
GET /api-testing/runs orchestrator/api/api_testing.py
GET /api-testing/runs/latest-by-spec orchestrator/api/api_testing.py
GET /api-testing/runs/{run_id} orchestrator/api/api_testing.py
POST /api-testing/runs/{run_id}/retry orchestrator/api/api_testing.py
GET /api-testing/specs orchestrator/api/api_testing.py
POST /api-testing/specs orchestrator/api/api_testing.py
POST /api-testing/specs/bulk-generate orchestrator/api/api_testing.py
POST /api-testing/specs/bulk-run orchestrator/api/api_testing.py
POST /api-testing/specs/folder orchestrator/api/api_testing.py
DELETE /api-testing/specs/{name} orchestrator/api/api_testing.py
GET /api-testing/specs/{name} orchestrator/api/api_testing.py
PUT /api-testing/specs/{name} orchestrator/api/api_testing.py
PUT /api-testing/specs/{name}/tags orchestrator/api/api_testing.py
GET /api/agents/definitions orchestrator/api/agent_definitions.py
POST /api/agents/definitions orchestrator/api/agent_definitions.py
DELETE /api/agents/definitions/{definition_id} orchestrator/api/agent_definitions.py
GET /api/agents/definitions/{definition_id} orchestrator/api/agent_definitions.py
PUT /api/agents/definitions/{definition_id} orchestrator/api/agent_definitions.py
POST /api/agents/definitions/{definition_id}/runs orchestrator/api/agent_definitions.py
POST /api/agents/exploratory orchestrator/api/agent_exploratory.py
GET /api/agents/exploratory/flow-spec-jobs/{job_id} orchestrator/api/agent_exploratory.py
POST /api/agents/exploratory/{run_id}/analyze-prerequisites orchestrator/api/agent_exploratory.py
DELETE /api/agents/exploratory/{run_id}/flows/{flow_id} orchestrator/api/agent_exploratory.py
GET /api/agents/exploratory/{run_id}/flows/{flow_id} orchestrator/api/agent_exploratory.py
PUT /api/agents/exploratory/{run_id}/flows/{flow_id} orchestrator/api/agent_exploratory.py
POST /api/agents/exploratory/{run_id}/flows/{flow_id}/generate orchestrator/api/agent_exploratory.py
POST /api/agents/exploratory/{run_id}/flows/{flow_id}/spec orchestrator/api/agent_exploratory.py
GET /api/agents/exploratory/{run_id}/specs orchestrator/api/agent_exploratory.py
POST /api/agents/exploratory/{run_id}/synthesize orchestrator/api/agent_exploratory.py
POST /api/agents/queue-clean-orphans orchestrator/api/agent_queue_ops.py
POST /api/agents/queue-clean-stale orchestrator/api/agent_queue_ops.py
POST /api/agents/queue-flush orchestrator/api/agent_queue_ops.py
GET /api/agents/queue-status orchestrator/api/agent_queue_ops.py
GET /api/agents/reports/search orchestrator/api/agent_reports.py
GET /api/agents/runs orchestrator/api/agent_run_observability.py
POST /api/agents/runs orchestrator/api/agent_run_launch.py
GET /api/agents/runs/{id} orchestrator/api/agent_run_observability.py
POST /api/agents/runs/{id}/cancel orchestrator/api/agent_run_control.py
POST /api/agents/runs/{id}/coding/apply orchestrator/api/agent_coding_patch.py
GET /api/agents/runs/{id}/coding/diff orchestrator/api/agent_coding_patch.py
POST /api/agents/runs/{id}/coding/reject orchestrator/api/agent_coding_patch.py
GET /api/agents/runs/{id}/events orchestrator/api/agent_run_observability.py
GET /api/agents/runs/{id}/events/stream orchestrator/api/agent_run_observability.py
GET /api/agents/runs/{id}/notes orchestrator/api/agent_run_observability.py
POST /api/agents/runs/{id}/pause orchestrator/api/agent_run_control.py
GET /api/agents/runs/{id}/report orchestrator/api/agent_reports.py
POST /api/agents/runs/{id}/retry orchestrator/api/agent_run_control.py
POST /api/agents/runs/{id}/resume orchestrator/api/agent_run_control.py
GET /api/agents/runs/{id}/trace orchestrator/api/agent_run_observability.py
GET /api/agents/runs/{id}/trace/export orchestrator/api/agent_run_observability.py
GET /api/agents/runs/{id}/trace/spans orchestrator/api/agent_run_observability.py
PATCH /api/agents/runs/{run_id}/report orchestrator/api/agent_reports.py
PATCH /api/agents/runs/{run_id}/report-items/{item_id} orchestrator/api/agent_reports.py
GET /api/agents/sessions orchestrator/api/agent_sessions.py
DELETE /api/agents/sessions/{session_id} orchestrator/api/agent_sessions.py
POST /api/agents/sessions/{session_id} orchestrator/api/agent_sessions.py
GET /api/agents/temporal/health orchestrator/api/agent_run_observability.py
GET /api/agents/tools/catalog orchestrator/api/agent_definitions.py
POST /api/backup orchestrator/api/backup_control.py
GET /api/backup/status orchestrator/api/backup_control.py
POST /api/browser-pool/cleanup orchestrator/api/runtime_ops.py
GET /api/browser-pool/recent orchestrator/api/runtime_ops.py
GET /api/browser-pool/status orchestrator/api/runtime_ops.py
GET /api/key-rotation/status orchestrator/api/runtime_ops.py
GET /api/memory/agent orchestrator/api/memory.py
POST /api/memory/agent orchestrator/api/memory.py
POST /api/memory/agentic-context orchestrator/api/memory.py
POST /api/memory/agent/consolidate orchestrator/api/memory.py
GET /api/memory/agent/context orchestrator/api/memory.py
POST /api/memory/agent/verify-stale orchestrator/api/memory.py
DELETE /api/memory/agent/{memory_id} orchestrator/api/memory.py
PATCH /api/memory/agent/{memory_id} orchestrator/api/memory.py
PATCH /api/memory/agent/{memory_id}/approve orchestrator/api/memory.py
PATCH /api/memory/agent/{memory_id}/archive orchestrator/api/memory.py
PATCH /api/memory/agent/{memory_id}/verify orchestrator/api/memory.py
GET /api/memory/browser orchestrator/api/memory.py
GET /api/memory/browser/frontier orchestrator/api/memory.py
POST /api/memory/browser/frontier/claim orchestrator/api/memory.py
PATCH /api/memory/browser/frontier/{frontier_id}/complete orchestrator/api/memory.py
PATCH /api/memory/browser/frontier/{frontier_id}/fail orchestrator/api/memory.py
PATCH /api/memory/browser/frontier/{frontier_id}/skip orchestrator/api/memory.py
GET /api/memory/context orchestrator/api/memory.py
GET /api/memory/context-preview orchestrator/api/memory.py
GET /api/memory/coverage/gaps orchestrator/api/memory.py
GET /api/memory/coverage/suggestions orchestrator/api/memory.py
GET /api/memory/coverage/summary orchestrator/api/memory.py
GET /api/memory/diagnostics orchestrator/api/memory.py
GET /api/memory/effectiveness orchestrator/api/memory.py
GET /api/memory/feedback orchestrator/api/memory.py
GET /api/memory/graph/flows orchestrator/api/memory.py
GET /api/memory/graph/knowledge orchestrator/api/memory.py
GET /api/memory/graph/memory/{memory_id} orchestrator/api/memory.py
GET /api/memory/graph/pages orchestrator/api/memory.py
POST /api/memory/graph/rebuild orchestrator/api/memory.py
GET /api/memory/graph/review orchestrator/api/memory.py
PATCH /api/memory/graph/review/{edge_id}/approve orchestrator/api/memory.py
PATCH /api/memory/graph/review/{edge_id}/reject orchestrator/api/memory.py
GET /api/memory/graph/stats orchestrator/api/memory.py
GET /api/memory/health orchestrator/api/memory.py
GET /api/memory/injections orchestrator/api/memory.py
POST /api/memory/injections/{injection_event_id}/feedback orchestrator/api/memory.py
GET /api/memory/patterns orchestrator/api/memory.py
GET /api/memory/projects orchestrator/api/memory.py
POST /api/memory/repair orchestrator/api/memory.py
GET /api/memory/selectors orchestrator/api/memory.py
GET /api/memory/session-recall/recent orchestrator/api/memory.py
GET /api/memory/session-recall/search orchestrator/api/memory.py
GET /api/memory/session-recall/window orchestrator/api/memory.py
POST /api/memory/similar orchestrator/api/memory.py
GET /api/memory/stats orchestrator/api/memory.py
GET /api/mobile-testing/health orchestrator/api/runs.py
POST /api/prd/generate-test orchestrator/api/prd.py
GET /api/prd/generation/{generation_id} orchestrator/api/prd.py
GET /api/prd/generation/{generation_id}/log/stream orchestrator/api/prd.py
POST /api/prd/generation/{generation_id}/stop orchestrator/api/prd.py
POST /api/prd/heal-test orchestrator/api/prd.py
GET /api/prd/projects orchestrator/api/prd.py
GET /api/prd/queue/status orchestrator/api/prd.py
POST /api/prd/run-test orchestrator/api/prd.py
POST /api/prd/upload orchestrator/api/prd.py
DELETE /api/prd/{project_id} orchestrator/api/prd.py
GET /api/prd/{project_id}/features orchestrator/api/prd.py
POST /api/prd/{project_id}/features/{feature_slug}/requirements orchestrator/api/prd.py
DELETE /api/prd/{project_id}/features/{feature_slug}/requirements/{req_index} orchestrator/api/prd.py
PUT /api/prd/{project_id}/features/{feature_slug}/requirements/{req_index} orchestrator/api/prd.py
POST /api/prd/{project_id}/generate-plan orchestrator/api/prd.py
GET /api/prd/{project_id}/generations orchestrator/api/prd.py
POST /api/resources/cleanup orchestrator/api/runtime_ops.py
GET /api/resources/status orchestrator/api/runtime_ops.py
POST /auth/login orchestrator/api/auth.py
POST /auth/logout orchestrator/api/auth.py
POST /auth/logout-all orchestrator/api/auth.py
GET /auth/me orchestrator/api/auth.py
POST /auth/refresh orchestrator/api/auth.py
POST /auth/register orchestrator/api/auth.py
GET /autonomous/{project_id}/approvals orchestrator/api/autonomous.py
POST /autonomous/{project_id}/approvals/{approval_id}/approve orchestrator/api/autonomous.py
POST /autonomous/{project_id}/approvals/{approval_id}/reject orchestrator/api/autonomous.py
GET /autonomous/{project_id}/diagnostics orchestrator/api/autonomous.py
POST /autonomous/{project_id}/diagnostics/backfill orchestrator/api/autonomous.py
POST /autonomous/{project_id}/diagnostics/monitor orchestrator/api/autonomous.py
POST /autonomous/{project_id}/diagnostics/recover orchestrator/api/autonomous.py
POST /autonomous/{project_id}/findings/{finding_id}/approve orchestrator/api/autonomous.py
POST /autonomous/{project_id}/findings/{finding_id}/reject orchestrator/api/autonomous.py
POST /autonomous/{project_id}/findings/{finding_id}/resolve orchestrator/api/autonomous.py
GET /autonomous/{project_id}/missions orchestrator/api/autonomous.py
POST /autonomous/{project_id}/missions orchestrator/api/autonomous.py
DELETE /autonomous/{project_id}/missions/{mission_id} orchestrator/api/autonomous.py
GET /autonomous/{project_id}/missions/{mission_id} orchestrator/api/autonomous.py
PATCH /autonomous/{project_id}/missions/{mission_id} orchestrator/api/autonomous.py
GET /autonomous/{project_id}/missions/{mission_id}/app-changes orchestrator/api/autonomous.py
POST /autonomous/{project_id}/missions/{mission_id}/cancel orchestrator/api/autonomous.py
GET /autonomous/{project_id}/missions/{mission_id}/events orchestrator/api/autonomous.py
GET /autonomous/{project_id}/missions/{mission_id}/events/stream orchestrator/api/autonomous.py
GET /autonomous/{project_id}/missions/{mission_id}/findings orchestrator/api/autonomous.py
POST /autonomous/{project_id}/missions/{mission_id}/pause orchestrator/api/autonomous.py
POST /autonomous/{project_id}/missions/{mission_id}/resume orchestrator/api/autonomous.py
GET /autonomous/{project_id}/missions/{mission_id}/runs orchestrator/api/autonomous.py
POST /autonomous/{project_id}/missions/{mission_id}/start orchestrator/api/autonomous.py
GET /autonomous/{project_id}/missions/{mission_id}/status orchestrator/api/autonomous.py
GET /autonomous/{project_id}/missions/{mission_id}/team-timeline orchestrator/api/autonomous.py
GET /autonomous/{project_id}/missions/{mission_id}/work-items orchestrator/api/autonomous.py
GET /autonomous/{project_id}/proposal-review orchestrator/api/autonomous.py
GET /autonomous/{project_id}/proposals orchestrator/api/autonomous.py
POST /autonomous/{project_id}/proposals/refresh-reviews orchestrator/api/autonomous.py
GET /autonomous/{project_id}/proposals/{proposal_id} orchestrator/api/autonomous.py
POST /autonomous/{project_id}/proposals/{proposal_id}/approve orchestrator/api/autonomous.py
GET /autonomous/{project_id}/proposals/{proposal_id}/audit orchestrator/api/autonomous.py
POST /autonomous/{project_id}/proposals/{proposal_id}/materialize orchestrator/api/autonomous.py
POST /autonomous/{project_id}/proposals/{proposal_id}/refresh-review orchestrator/api/autonomous.py
POST /autonomous/{project_id}/proposals/{proposal_id}/reject orchestrator/api/autonomous.py
GET /autonomous/{project_id}/work-items orchestrator/api/autonomous.py
POST /autonomous/{project_id}/work-items/{work_item_id}/accept orchestrator/api/autonomous.py
POST /autonomous/{project_id}/work-items/{work_item_id}/cancel orchestrator/api/autonomous.py
GET /autonomous/{project_id}/work-items/{work_item_id}/events orchestrator/api/autonomous.py
GET /autonomous/{project_id}/work-items/{work_item_id}/events/stream orchestrator/api/autonomous.py
POST /autonomous/{project_id}/work-items/{work_item_id}/needs-revision orchestrator/api/autonomous.py
POST /autonomous/{project_id}/work-items/{work_item_id}/reject orchestrator/api/autonomous.py
POST /autonomous/{project_id}/work-items/{work_item_id}/retry orchestrator/api/autonomous.py
GET /autopilot/sessions orchestrator/api/autopilot.py
POST /autopilot/start orchestrator/api/autopilot.py
DELETE /autopilot/{session_id} orchestrator/api/autopilot.py
GET /autopilot/{session_id} orchestrator/api/autopilot.py
POST /autopilot/{session_id}/answer orchestrator/api/autopilot.py
POST /autopilot/{session_id}/cancel orchestrator/api/autopilot.py
GET /autopilot/{session_id}/checklist orchestrator/api/autopilot.py
GET /autopilot/{session_id}/checklist/stream orchestrator/api/autopilot.py
GET /autopilot/{session_id}/live orchestrator/api/autopilot.py
POST /autopilot/{session_id}/pause orchestrator/api/autopilot.py
GET /autopilot/{session_id}/phases orchestrator/api/autopilot.py
GET /autopilot/{session_id}/questions orchestrator/api/autopilot.py
POST /autopilot/{session_id}/resume orchestrator/api/autopilot.py
GET /autopilot/{session_id}/spec-tasks orchestrator/api/autopilot.py
GET /autopilot/{session_id}/test-tasks orchestrator/api/autopilot.py
GET /autopilot/{session_id}/test-tasks/{task_id} orchestrator/api/autopilot.py
POST /autopilot/{session_id}/test-tasks/{task_id}/stop orchestrator/api/autopilot.py
POST /chat/claude-code orchestrator/api/chat.py
GET /chat/conversations orchestrator/api/chat.py
POST /chat/conversations orchestrator/api/chat.py
GET /chat/conversations/recent-summaries orchestrator/api/chat.py
GET /chat/conversations/search orchestrator/api/chat.py
DELETE /chat/conversations/{conversation_id} orchestrator/api/chat.py
PUT /chat/conversations/{conversation_id} orchestrator/api/chat.py
POST /chat/conversations/{conversation_id}/auto-title orchestrator/api/chat.py
POST /chat/conversations/{conversation_id}/feedback orchestrator/api/chat.py
POST /chat/conversations/{conversation_id}/generate-summary orchestrator/api/chat.py
GET /chat/conversations/{conversation_id}/messages orchestrator/api/chat.py
POST /chat/conversations/{conversation_id}/messages orchestrator/api/chat.py
POST /chat/conversations/{conversation_id}/messages/bulk orchestrator/api/chat.py
PATCH /chat/conversations/{conversation_id}/messages/{message_id}/content-json orchestrator/api/chat.py
PATCH /chat/conversations/{conversation_id}/star orchestrator/api/chat.py
GET /chat/project-context orchestrator/api/chat.py
GET /chat/resolve-entity orchestrator/api/chat.py
GET /chat/search-entities orchestrator/api/chat.py
GET /dashboard orchestrator/api/dashboard.py
POST /database-testing/analyze/{conn_id} orchestrator/api/database_testing.py
GET /database-testing/connections orchestrator/api/database_testing.py
POST /database-testing/connections orchestrator/api/database_testing.py
DELETE /database-testing/connections/{conn_id} orchestrator/api/database_testing.py
GET /database-testing/connections/{conn_id} orchestrator/api/database_testing.py
PUT /database-testing/connections/{conn_id} orchestrator/api/database_testing.py
POST /database-testing/connections/{conn_id}/query orchestrator/api/database_testing.py
GET /database-testing/connections/{conn_id}/schema orchestrator/api/database_testing.py
POST /database-testing/connections/{conn_id}/test orchestrator/api/database_testing.py
POST /database-testing/generate-spec orchestrator/api/database_testing.py
POST /database-testing/generated-specs/save orchestrator/api/database_testing.py
GET /database-testing/jobs/{job_id} orchestrator/api/database_testing.py
POST /database-testing/run-full/{conn_id} orchestrator/api/database_testing.py
POST /database-testing/run/{conn_id} orchestrator/api/database_testing.py
GET /database-testing/runs orchestrator/api/database_testing.py
GET /database-testing/runs/{run_id} orchestrator/api/database_testing.py
POST /database-testing/runs/{run_id}/approve-suggestions orchestrator/api/database_testing.py
GET /database-testing/runs/{run_id}/checks orchestrator/api/database_testing.py
GET /database-testing/runs/{run_id}/schema orchestrator/api/database_testing.py
GET /database-testing/runs/{run_id}/suggestions orchestrator/api/database_testing.py
GET /database-testing/specs orchestrator/api/database_testing.py
POST /database-testing/specs orchestrator/api/database_testing.py
DELETE /database-testing/specs/{name} orchestrator/api/database_testing.py
GET /database-testing/specs/{name} orchestrator/api/database_testing.py
PUT /database-testing/specs/{name} orchestrator/api/database_testing.py
POST /database-testing/suggest/{run_id} orchestrator/api/database_testing.py
GET /database-testing/summary orchestrator/api/database_testing.py
GET /debug-imports orchestrator/api/runtime_ops.py
GET /execution-settings orchestrator/api/runtime_ops.py
PUT /execution-settings orchestrator/api/runtime_ops.py
GET /exploration orchestrator/api/exploration.py
GET /exploration/health orchestrator/api/exploration.py
GET /exploration/queue/status orchestrator/api/exploration.py
GET /exploration/spec-gen-jobs orchestrator/api/exploration.py
GET /exploration/spec-gen-jobs/{job_id} orchestrator/api/exploration.py
POST /exploration/start orchestrator/api/exploration.py
GET /exploration/{session_id} orchestrator/api/exploration.py
GET /exploration/{session_id}/apis orchestrator/api/exploration.py
DELETE /exploration/{session_id}/apis/{endpoint_id} orchestrator/api/exploration.py
PUT /exploration/{session_id}/apis/{endpoint_id} orchestrator/api/exploration.py
GET /exploration/{session_id}/artifacts orchestrator/api/exploration.py
GET /exploration/{session_id}/details orchestrator/api/exploration.py
GET /exploration/{session_id}/flows orchestrator/api/exploration.py
GET /exploration/{session_id}/flows/review orchestrator/api/exploration.py
POST /exploration/{session_id}/flows/review/decisions orchestrator/api/exploration.py
DELETE /exploration/{session_id}/flows/{flow_id} orchestrator/api/exploration.py
PUT /exploration/{session_id}/flows/{flow_id} orchestrator/api/exploration.py
POST /exploration/{session_id}/flows/{flow_id}/approve orchestrator/api/exploration.py
POST /exploration/{session_id}/flows/{flow_id}/reject orchestrator/api/exploration.py
POST /exploration/{session_id}/generate-api-specs orchestrator/api/exploration.py
POST /exploration/{session_id}/generate-api-tests orchestrator/api/exploration.py
GET /exploration/{session_id}/issues orchestrator/api/exploration.py
GET /exploration/{session_id}/results orchestrator/api/exploration.py
POST /exploration/{session_id}/stop orchestrator/api/exploration.py
POST /export/testrail orchestrator/api/testrail_files.py
POST /github/webhook/github orchestrator/api/github_ci.py
DELETE /github/{project_id}/config orchestrator/api/github_ci.py
GET /github/{project_id}/config orchestrator/api/github_ci.py
POST /github/{project_id}/config orchestrator/api/github_ci.py
GET /github/{project_id}/pipelines orchestrator/api/github_ci.py
GET /github/{project_id}/pipelines/{pipeline_mapping_id} orchestrator/api/github_ci.py
GET /github/{project_id}/pr-advisor/analyses orchestrator/api/github_ci.py
GET /github/{project_id}/pr-advisor/analyses/{analysis_id} orchestrator/api/github_ci.py
POST /github/{project_id}/pr-advisor/analyses/{analysis_id}/run orchestrator/api/github_ci.py
POST /github/{project_id}/pr-advisor/analyze orchestrator/api/github_ci.py
GET /github/{project_id}/pull-requests orchestrator/api/github_ci.py
GET /github/{project_id}/quality-gates/config orchestrator/api/github_ci.py
PUT /github/{project_id}/quality-gates/config orchestrator/api/github_ci.py
GET /github/{project_id}/quality-gates/pr orchestrator/api/github_ci.py
POST /github/{project_id}/quality-gates/pr/start orchestrator/api/github_ci.py
GET /github/{project_id}/quality-gates/pr/status orchestrator/api/github_ci.py
GET /github/{project_id}/quality-gates/pr/{analysis_id} orchestrator/api/github_ci.py
GET /github/{project_id}/remote-repos orchestrator/api/github_ci.py
GET /github/{project_id}/remote-workflows orchestrator/api/github_ci.py
POST /github/{project_id}/repository-index orchestrator/api/github_ci.py
GET /github/{project_id}/repository-index/latest orchestrator/api/github_ci.py
POST /github/{project_id}/sync-runs orchestrator/api/github_ci.py
POST /github/{project_id}/test-connection orchestrator/api/github_ci.py
POST /github/{project_id}/trigger-workflow orchestrator/api/github_ci.py
POST /gitlab/webhook/gitlab orchestrator/api/gitlab_ci.py
DELETE /gitlab/{project_id}/config orchestrator/api/gitlab_ci.py
GET /gitlab/{project_id}/config orchestrator/api/gitlab_ci.py
POST /gitlab/{project_id}/config orchestrator/api/gitlab_ci.py
GET /gitlab/{project_id}/pipelines orchestrator/api/gitlab_ci.py
GET /gitlab/{project_id}/pipelines/{mapping_id} orchestrator/api/gitlab_ci.py
GET /gitlab/{project_id}/remote-projects orchestrator/api/gitlab_ci.py
POST /gitlab/{project_id}/test-connection orchestrator/api/gitlab_ci.py
POST /gitlab/{project_id}/trigger-pipeline orchestrator/api/gitlab_ci.py
GET /health orchestrator/api/runtime_ops.py
GET /health/alerts orchestrator/api/health.py
GET /health/archival/stats orchestrator/api/health.py
GET /health/backup orchestrator/api/health.py
GET /health/storage orchestrator/api/health.py
POST /health/storage/record orchestrator/api/health.py
POST /import/testrail orchestrator/api/testrail_files.py
GET /jira/{project_id}/bug-report-jobs/{job_id} orchestrator/api/jira.py
DELETE /jira/{project_id}/config orchestrator/api/jira.py
GET /jira/{project_id}/config orchestrator/api/jira.py
POST /jira/{project_id}/config orchestrator/api/jira.py
POST /jira/{project_id}/create-issue orchestrator/api/jira.py
POST /jira/{project_id}/generate-bug-report/{run_id} orchestrator/api/jira.py
GET /jira/{project_id}/issues orchestrator/api/jira.py
GET /jira/{project_id}/issues/{run_id} orchestrator/api/jira.py
GET /jira/{project_id}/remote-issue-types/{jira_project_key} orchestrator/api/jira.py
GET /jira/{project_id}/remote-projects orchestrator/api/jira.py
POST /jira/{project_id}/test-connection orchestrator/api/jira.py
GET /llm-testing/analytics/cost-tracking orchestrator/api/llm_testing.py
GET /llm-testing/analytics/dataset-performance orchestrator/api/llm_testing.py
GET /llm-testing/analytics/dataset-trends orchestrator/api/llm_testing.py
GET /llm-testing/analytics/golden-dashboard orchestrator/api/llm_testing.py
GET /llm-testing/analytics/latency-distribution orchestrator/api/llm_testing.py
GET /llm-testing/analytics/overview orchestrator/api/llm_testing.py
GET /llm-testing/analytics/regressions orchestrator/api/llm_testing.py
GET /llm-testing/analytics/trends orchestrator/api/llm_testing.py
POST /llm-testing/bulk-compare orchestrator/api/llm_testing.py
POST /llm-testing/bulk-run orchestrator/api/llm_testing.py
POST /llm-testing/compare orchestrator/api/llm_testing.py
GET /llm-testing/comparisons orchestrator/api/llm_testing.py
GET /llm-testing/comparisons/{comparison_id} orchestrator/api/llm_testing.py
GET /llm-testing/comparisons/{comparison_id}/matrix orchestrator/api/llm_testing.py
GET /llm-testing/datasets orchestrator/api/llm_testing.py
POST /llm-testing/datasets orchestrator/api/llm_testing.py
POST /llm-testing/datasets/from-spec/{spec_name} orchestrator/api/llm_testing.py
POST /llm-testing/datasets/import-csv orchestrator/api/llm_testing.py
DELETE /llm-testing/datasets/{dataset_id} orchestrator/api/llm_testing.py
GET /llm-testing/datasets/{dataset_id} orchestrator/api/llm_testing.py
PUT /llm-testing/datasets/{dataset_id} orchestrator/api/llm_testing.py
POST /llm-testing/datasets/{dataset_id}/augment orchestrator/api/llm_testing.py
POST /llm-testing/datasets/{dataset_id}/augment/{job_id}/accept orchestrator/api/llm_testing.py
POST /llm-testing/datasets/{dataset_id}/cases orchestrator/api/llm_testing.py
DELETE /llm-testing/datasets/{dataset_id}/cases/{case_id} orchestrator/api/llm_testing.py
PUT /llm-testing/datasets/{dataset_id}/cases/{case_id} orchestrator/api/llm_testing.py
POST /llm-testing/datasets/{dataset_id}/compare orchestrator/api/llm_testing.py
GET /llm-testing/datasets/{dataset_id}/diff orchestrator/api/llm_testing.py
POST /llm-testing/datasets/{dataset_id}/duplicate orchestrator/api/llm_testing.py
GET /llm-testing/datasets/{dataset_id}/export orchestrator/api/llm_testing.py
POST /llm-testing/datasets/{dataset_id}/golden orchestrator/api/llm_testing.py
POST /llm-testing/datasets/{dataset_id}/run orchestrator/api/llm_testing.py
POST /llm-testing/datasets/{dataset_id}/to-spec orchestrator/api/llm_testing.py
GET /llm-testing/datasets/{dataset_id}/versions orchestrator/api/llm_testing.py
POST /llm-testing/demo-content orchestrator/api/llm_testing.py
POST /llm-testing/generate-suite orchestrator/api/llm_testing.py
GET /llm-testing/jobs/{job_id} orchestrator/api/llm_testing.py
POST /llm-testing/openrouter/demo orchestrator/api/llm_testing.py
GET /llm-testing/openrouter/models orchestrator/api/llm_testing.py
GET /llm-testing/prompt-iterations orchestrator/api/llm_testing.py
POST /llm-testing/prompt-iterations orchestrator/api/llm_testing.py
GET /llm-testing/prompt-iterations/{iteration_id} orchestrator/api/llm_testing.py
GET /llm-testing/providers orchestrator/api/llm_testing.py
POST /llm-testing/providers orchestrator/api/llm_testing.py
DELETE /llm-testing/providers/{provider_id} orchestrator/api/llm_testing.py
PUT /llm-testing/providers/{provider_id} orchestrator/api/llm_testing.py
POST /llm-testing/providers/{provider_id}/health-check orchestrator/api/llm_testing.py
POST /llm-testing/run orchestrator/api/llm_testing.py
GET /llm-testing/runs orchestrator/api/llm_testing.py
GET /llm-testing/runs/{run_id} orchestrator/api/llm_testing.py
GET /llm-testing/runs/{run_id}/results orchestrator/api/llm_testing.py
GET /llm-testing/schedules orchestrator/api/llm_testing.py
POST /llm-testing/schedules orchestrator/api/llm_testing.py
DELETE /llm-testing/schedules/{schedule_id} orchestrator/api/llm_testing.py
GET /llm-testing/schedules/{schedule_id} orchestrator/api/llm_testing.py
PUT /llm-testing/schedules/{schedule_id} orchestrator/api/llm_testing.py
POST /llm-testing/schedules/{schedule_id}/run-now orchestrator/api/llm_testing.py
GET /llm-testing/specs orchestrator/api/llm_testing.py
POST /llm-testing/specs orchestrator/api/llm_testing.py
DELETE /llm-testing/specs/{name} orchestrator/api/llm_testing.py
GET /llm-testing/specs/{name} orchestrator/api/llm_testing.py
PUT /llm-testing/specs/{name} orchestrator/api/llm_testing.py
POST /llm-testing/specs/{name}/suggest-improvements orchestrator/api/llm_testing.py
GET /llm-testing/specs/{name}/versions orchestrator/api/llm_testing.py
POST /llm-testing/specs/{name}/versions orchestrator/api/llm_testing.py
GET /llm-testing/specs/{name}/versions/{version} orchestrator/api/llm_testing.py
POST /llm-testing/specs/{name}/versions/{version}/restore orchestrator/api/llm_testing.py
GET /load-testing/dashboard orchestrator/api/load_testing.py
POST /load-testing/force-unlock orchestrator/api/load_testing.py
POST /load-testing/generate orchestrator/api/load_testing.py
GET /load-testing/jobs orchestrator/api/load_testing.py
GET /load-testing/jobs/{job_id} orchestrator/api/load_testing.py
GET /load-testing/jobs/{job_id}/logs orchestrator/api/load_testing.py
POST /load-testing/run orchestrator/api/load_testing.py
POST /load-testing/run-from-spec orchestrator/api/load_testing.py
GET /load-testing/runs orchestrator/api/load_testing.py
GET /load-testing/runs/compare orchestrator/api/load_testing.py
GET /load-testing/runs/latest-by-spec orchestrator/api/load_testing.py
GET /load-testing/runs/trends orchestrator/api/load_testing.py
GET /load-testing/runs/{run_id} orchestrator/api/load_testing.py
POST /load-testing/runs/{run_id}/analyze orchestrator/api/load_testing.py
POST /load-testing/runs/{run_id}/stop orchestrator/api/load_testing.py
GET /load-testing/runs/{run_id}/timeseries orchestrator/api/load_testing.py
GET /load-testing/scripts orchestrator/api/load_testing.py
GET /load-testing/scripts/{name} orchestrator/api/load_testing.py
GET /load-testing/scripts/{name}/download orchestrator/api/load_testing.py
GET /load-testing/specs orchestrator/api/load_testing.py
POST /load-testing/specs orchestrator/api/load_testing.py
DELETE /load-testing/specs/{name} orchestrator/api/load_testing.py
GET /load-testing/specs/{name} orchestrator/api/load_testing.py
PUT /load-testing/specs/{name} orchestrator/api/load_testing.py
GET /load-testing/status orchestrator/api/load_testing.py
GET /load-testing/system-limits orchestrator/api/load_testing.py
GET /projects orchestrator/api/projects.py
POST /projects orchestrator/api/projects.py
DELETE /projects/{project_id} orchestrator/api/projects.py
GET /projects/{project_id} orchestrator/api/projects.py
PUT /projects/{project_id} orchestrator/api/projects.py
POST /projects/{project_id}/assign-spec orchestrator/api/projects.py
POST /projects/{project_id}/bulk-assign-specs orchestrator/api/projects.py
GET /projects/{project_id}/ci/audit-events orchestrator/api/ci_control.py
GET /projects/{project_id}/ci/generated-tests orchestrator/api/ci_control.py
GET /projects/{project_id}/ci/providers orchestrator/api/ci_control.py
PATCH /projects/{project_id}/ci/providers/defaults orchestrator/api/ci_control.py
GET /projects/{project_id}/ci/runs orchestrator/api/ci_control.py
POST /projects/{project_id}/ci/runs/sync orchestrator/api/ci_control.py
GET /projects/{project_id}/ci/runs/{provider}/{mapping_id} orchestrator/api/ci_control.py
POST /projects/{project_id}/ci/runs/{provider}/{mapping_id}/cancel orchestrator/api/ci_control.py
GET /projects/{project_id}/ci/runs/{provider}/{mapping_id}/logs orchestrator/api/ci_control.py
POST /projects/{project_id}/ci/runs/{provider}/{mapping_id}/rerun orchestrator/api/ci_control.py
GET /projects/{project_id}/ci/test-subsets orchestrator/api/ci_control.py
POST /projects/{project_id}/ci/test-subsets orchestrator/api/ci_control.py
DELETE /projects/{project_id}/ci/test-subsets/{subset_id} orchestrator/api/ci_control.py
GET /projects/{project_id}/ci/test-subsets/{subset_id} orchestrator/api/ci_control.py
PATCH /projects/{project_id}/ci/test-subsets/{subset_id} orchestrator/api/ci_control.py
POST /projects/{project_id}/ci/test-subsets/{subset_id}/dispatch orchestrator/api/ci_control.py
POST /projects/{project_id}/ci/test-subsets/{subset_id}/preview orchestrator/api/ci_control.py
POST /projects/{project_id}/ci/test-subsets/{subset_id}/pull-request orchestrator/api/ci_control.py
POST /projects/{project_id}/ci/workflow-change-requests orchestrator/api/ci_control.py
POST /projects/{project_id}/ci/workflow-change-requests/{change_id}/pull-request orchestrator/api/ci_control.py
GET /projects/{project_id}/ci/workflows orchestrator/api/ci_control.py
POST /projects/{project_id}/ci/workflows/dispatch orchestrator/api/ci_control.py
GET /projects/{project_id}/credentials orchestrator/api/projects.py
POST /projects/{project_id}/credentials orchestrator/api/projects.py
DELETE /projects/{project_id}/credentials/{credential_key} orchestrator/api/projects.py
GET /projects/{project_id}/members orchestrator/api/projects.py
POST /projects/{project_id}/members orchestrator/api/projects.py
DELETE /projects/{project_id}/members/{user_id} orchestrator/api/projects.py
PUT /projects/{project_id}/members/{user_id} orchestrator/api/projects.py
GET /projects/{project_id}/my-role orchestrator/api/projects.py
GET /queue-status orchestrator/api/runtime_ops.py
POST /queue/clear orchestrator/api/runtime_ops.py
GET /recordings orchestrator/api/recordings.py
POST /recordings/start orchestrator/api/recordings.py
GET /recordings/{recording_id} orchestrator/api/recordings.py
GET /recordings/{recording_id}/code orchestrator/api/recordings.py
POST /recordings/{recording_id}/import orchestrator/api/recordings.py
POST /recordings/{recording_id}/stop orchestrator/api/recordings.py
GET /regression/batches orchestrator/api/regression.py
POST /regression/batches/compare orchestrator/api/regression.py
GET /regression/batches/trend orchestrator/api/regression.py
DELETE /regression/batches/{batch_id} orchestrator/api/regression.py
GET /regression/batches/{batch_id} orchestrator/api/regression.py
PATCH /regression/batches/{batch_id} orchestrator/api/regression.py
POST /regression/batches/{batch_id}/cancel orchestrator/api/regression.py
GET /regression/batches/{batch_id}/error-summary orchestrator/api/regression.py
GET /regression/batches/{batch_id}/export orchestrator/api/regression.py
PATCH /regression/batches/{batch_id}/refresh orchestrator/api/regression.py
POST /regression/batches/{batch_id}/rerun-failed orchestrator/api/regression.py
GET /regression/debug/batch/{batch_id}/test-counts orchestrator/api/regression.py
GET /regression/debug/test-counts orchestrator/api/regression.py
GET /regression/flaky-tests orchestrator/api/regression.py
GET /regression/spec-history orchestrator/api/regression.py
GET /requirements orchestrator/api/requirements.py
POST /requirements orchestrator/api/requirements.py
POST /requirements/bulk orchestrator/api/requirements.py
GET /requirements/bulk-generate-jobs/{job_id} orchestrator/api/requirements.py
POST /requirements/bulk-generate-specs orchestrator/api/requirements.py
GET /requirements/categories/list orchestrator/api/requirements.py
POST /requirements/check-duplicate orchestrator/api/requirements.py
GET /requirements/duplicates orchestrator/api/requirements.py
POST /requirements/generate orchestrator/api/requirements.py
GET /requirements/generate-jobs/{job_id} orchestrator/api/requirements.py
GET /requirements/health orchestrator/api/requirements.py
POST /requirements/merge orchestrator/api/requirements.py
POST /requirements/review/decisions orchestrator/api/requirements.py
GET /requirements/stats orchestrator/api/requirements.py
DELETE /requirements/{req_id} orchestrator/api/requirements.py
GET /requirements/{req_id} orchestrator/api/requirements.py
PUT /requirements/{req_id} orchestrator/api/requirements.py
POST /requirements/{req_id}/confirm orchestrator/api/requirements.py
POST /requirements/{req_id}/generate-spec orchestrator/api/requirements.py
POST /requirements/{req_id}/mark-stale orchestrator/api/requirements.py
POST /requirements/{req_id}/reject orchestrator/api/requirements.py
GET /requirements/{req_id}/spec-status orchestrator/api/requirements.py
GET /rtm orchestrator/api/rtm.py
GET /rtm/coverage orchestrator/api/rtm.py
POST /rtm/entry orchestrator/api/rtm.py
DELETE /rtm/entry/{entry_id} orchestrator/api/rtm.py
GET /rtm/export/{format} orchestrator/api/rtm.py
GET /rtm/gaps orchestrator/api/rtm.py
POST /rtm/generate orchestrator/api/rtm.py
GET /rtm/generate-jobs/{job_id} orchestrator/api/rtm.py
GET /rtm/requirement/{req_id}/tests orchestrator/api/rtm.py
POST /rtm/snapshot orchestrator/api/rtm.py
GET /rtm/snapshot/{snapshot_id} orchestrator/api/rtm.py
GET /rtm/snapshots orchestrator/api/rtm.py
GET /rtm/test/{test_name}/requirements orchestrator/api/rtm.py
GET /rtm/trend orchestrator/api/rtm.py
GET /runs orchestrator/api/runs.py
POST /runs orchestrator/api/runs.py
POST /runs/bulk orchestrator/api/runs.py
DELETE /runs/{id} orchestrator/api/runs.py
GET /runs/{id} orchestrator/api/runs.py
POST /runs/{id}/agentic-summary orchestrator/api/runs.py
GET /runs/{id}/events/stream orchestrator/api/runs.py
GET /runs/{id}/log/stream orchestrator/api/runs.py
POST /runs/{id}/progress orchestrator/api/runs.py
POST /runs/{id}/stop orchestrator/api/runs.py
POST /scheduling/validate-cron orchestrator/api/scheduling.py
GET /scheduling/{project_id}/executions orchestrator/api/scheduling.py
GET /scheduling/{project_id}/schedules orchestrator/api/scheduling.py
POST /scheduling/{project_id}/schedules orchestrator/api/scheduling.py
DELETE /scheduling/{project_id}/schedules/{schedule_id} orchestrator/api/scheduling.py
GET /scheduling/{project_id}/schedules/{schedule_id} orchestrator/api/scheduling.py
PUT /scheduling/{project_id}/schedules/{schedule_id} orchestrator/api/scheduling.py
GET /scheduling/{project_id}/schedules/{schedule_id}/executions orchestrator/api/scheduling.py
GET /scheduling/{project_id}/schedules/{schedule_id}/next-runs orchestrator/api/scheduling.py
POST /scheduling/{project_id}/schedules/{schedule_id}/run-now orchestrator/api/scheduling.py
POST /scheduling/{project_id}/schedules/{schedule_id}/toggle orchestrator/api/scheduling.py
POST /security-testing/analyze/{run_id} orchestrator/api/security_testing.py
GET /security-testing/capabilities orchestrator/api/security_testing.py
GET /security-testing/findings orchestrator/api/security_testing.py
GET /security-testing/findings/summary orchestrator/api/security_testing.py
PATCH /security-testing/findings/{finding_id}/status orchestrator/api/security_testing.py
POST /security-testing/generate-spec orchestrator/api/security_testing.py
GET /security-testing/jobs/{job_id} orchestrator/api/security_testing.py
GET /security-testing/runs orchestrator/api/security_testing.py
GET /security-testing/runs/compare orchestrator/api/security_testing.py
GET /security-testing/runs/{run_id} orchestrator/api/security_testing.py
GET /security-testing/runs/{run_id}/findings orchestrator/api/security_testing.py
POST /security-testing/runs/{run_id}/stop orchestrator/api/security_testing.py
POST /security-testing/scan/full orchestrator/api/security_testing.py
POST /security-testing/scan/nuclei orchestrator/api/security_testing.py
POST /security-testing/scan/quick orchestrator/api/security_testing.py
POST /security-testing/scan/zap orchestrator/api/security_testing.py
GET /security-testing/specs orchestrator/api/security_testing.py
POST /security-testing/specs orchestrator/api/security_testing.py
DELETE /security-testing/specs/{name} orchestrator/api/security_testing.py
GET /security-testing/specs/{name} orchestrator/api/security_testing.py
PUT /security-testing/specs/{name} orchestrator/api/security_testing.py
GET /security-testing/targets orchestrator/api/security_testing.py
GET /settings orchestrator/api/settings.py
POST /settings orchestrator/api/settings.py
POST /settings/claude-code/setup-token orchestrator/api/settings.py
POST /settings/test-connection orchestrator/api/settings.py
GET /spec-metadata orchestrator/api/specs.py
GET /spec-metadata/{spec_name} orchestrator/api/specs.py
PUT /spec-metadata/{spec_name} orchestrator/api/specs.py
GET /specs orchestrator/api/specs.py
POST /specs orchestrator/api/specs.py
GET /specs/automated orchestrator/api/specs.py
POST /specs/create-folder orchestrator/api/specs.py
DELETE /specs/folder/{folder_path} orchestrator/api/specs.py
GET /specs/folders orchestrator/api/specs.py
GET /specs/list orchestrator/api/specs.py
POST /specs/move orchestrator/api/specs.py
POST /specs/register-folder orchestrator/api/specs.py
POST /specs/rename orchestrator/api/specs.py
POST /specs/split orchestrator/api/specs.py
POST /specs/split-jobs orchestrator/api/specs.py
GET /specs/split-jobs/{job_id} orchestrator/api/specs.py
DELETE /specs/{name} orchestrator/api/specs.py
GET /specs/{name} orchestrator/api/specs.py
PUT /specs/{name} orchestrator/api/specs.py
GET /specs/{name}/generated-code orchestrator/api/specs.py
PUT /specs/{name}/generated-code orchestrator/api/specs.py
GET /specs/{name}/info orchestrator/api/specs.py
POST /stop-all orchestrator/api/runtime_ops.py
DELETE /testrail/{project_id}/config orchestrator/api/testrail.py
GET /testrail/{project_id}/config orchestrator/api/testrail.py
POST /testrail/{project_id}/config orchestrator/api/testrail.py
GET /testrail/{project_id}/mappings orchestrator/api/testrail.py
DELETE /testrail/{project_id}/mappings/{mapping_id} orchestrator/api/testrail.py
POST /testrail/{project_id}/push-cases orchestrator/api/testrail.py
GET /testrail/{project_id}/remote-projects orchestrator/api/testrail.py
GET /testrail/{project_id}/remote-suites/{tr_project_id} orchestrator/api/testrail.py
GET /testrail/{project_id}/sync-preview/{batch_id} orchestrator/api/testrail.py
POST /testrail/{project_id}/sync-results orchestrator/api/testrail.py
POST /testrail/{project_id}/test-connection orchestrator/api/testrail.py
GET /users orchestrator/api/users.py
POST /users orchestrator/api/users.py
DELETE /users/{user_id} orchestrator/api/users.py
GET /users/{user_id} orchestrator/api/users.py
PUT /users/{user_id} orchestrator/api/users.py
GET /users/{user_id}/projects orchestrator/api/users.py
DELETE /users/{user_id}/projects/{project_id} orchestrator/api/users.py
POST /users/{user_id}/projects/{project_id} orchestrator/api/users.py
GET /workflows orchestrator/api/workflows.py
GET /workflows/admin/step-types orchestrator/api/workflows.py
GET /workflows/analytics orchestrator/api/workflows.py
GET /workflows/catalog orchestrator/api/workflows.py
GET /workflows/definitions orchestrator/api/workflows.py
POST /workflows/definitions orchestrator/api/workflows.py
DELETE /workflows/definitions/{definition_id} orchestrator/api/workflows.py
GET /workflows/definitions/{definition_id} orchestrator/api/workflows.py
PUT /workflows/definitions/{definition_id} orchestrator/api/workflows.py
POST /workflows/definitions/{definition_id}/duplicate orchestrator/api/workflows.py
GET /workflows/definitions/{definition_id}/export orchestrator/api/workflows.py
GET /workflows/definitions/{definition_id}/revisions orchestrator/api/workflows.py
GET /workflows/definitions/{definition_id}/revisions/{version} orchestrator/api/workflows.py
POST /workflows/definitions/{definition_id}/revisions/{version}/rollback orchestrator/api/workflows.py
GET /workflows/definitions/{definition_id}/revisions/{version}/rollback-preview orchestrator/api/workflows.py
GET /workflows/definitions/{definition_id}/runs orchestrator/api/workflows.py
POST /workflows/definitions/{definition_id}/runs orchestrator/api/workflows.py
GET /workflows/events orchestrator/api/workflows.py
POST /workflows/import orchestrator/api/workflows.py
POST /workflows/import/validate orchestrator/api/workflows.py
GET /workflows/notifications orchestrator/api/workflows.py
POST /workflows/notifications/{notification_id}/read orchestrator/api/workflows.py
GET /workflows/runs orchestrator/api/workflows.py
GET /workflows/runs/{run_id} orchestrator/api/workflows.py
POST /workflows/runs/{run_id}/cancel orchestrator/api/workflows.py
GET /workflows/runs/{run_id}/debug orchestrator/api/workflows.py
GET /workflows/runs/{run_id}/diagnostics orchestrator/api/workflows.py
POST /workflows/runs/{run_id}/pause orchestrator/api/workflows.py
POST /workflows/runs/{run_id}/resume orchestrator/api/workflows.py
GET /workflows/runs/{run_id}/steps orchestrator/api/workflows.py
POST /workflows/runs/{run_id}/steps/{step_id}/retry orchestrator/api/workflows.py
POST /workflows/runs/{run_id}/steps/{step_id}/skip orchestrator/api/workflows.py
GET /workflows/schedules orchestrator/api/workflows.py
POST /workflows/schedules orchestrator/api/workflows.py
DELETE /workflows/schedules/{schedule_id} orchestrator/api/workflows.py
PUT /workflows/schedules/{schedule_id} orchestrator/api/workflows.py
GET /workflows/schedules/{schedule_id}/executions orchestrator/api/workflows.py
POST /workflows/schedules/{schedule_id}/run-now orchestrator/api/workflows.py
GET /workflows/temporal/health orchestrator/api/workflows.py
POST /workflows/validate orchestrator/api/workflows.py

Additional Public API Routes

These routes are included in the generated public-route drift check and are grouped here when they do not yet have a richer narrative section above.

Method Path Source
GET /api/prd/generation/{generation_id}/events orchestrator/api/prd.py
GET /api/prd/generation/{generation_id}/events/stream orchestrator/api/prd.py
POST /api/prd/{prd_project_id}/import-requirements orchestrator/api/prd.py
POST /api/agents/runs/{run_id}/report-items/{item_id}/generate-spec orchestrator/api/agent_exploratory.py
POST /api/agents/runs/{run_id}/report-requirements/import orchestrator/api/agent_reports.py
GET /autonomous/{project_id}/missions/{mission_id}/artifacts orchestrator/api/autonomous.py
POST /autopilot/recover-orphans orchestrator/api/autopilot.py
GET /autopilot/temporal/health orchestrator/api/autopilot.py
GET /autopilot/{session_id}/evidence orchestrator/api/autopilot.py
GET /autopilot/{session_id}/temporal orchestrator/api/autopilot.py
GET /projects/{project_id}/browser-auth-sessions orchestrator/api/browser_auth_sessions.py
POST /projects/{project_id}/browser-auth-sessions orchestrator/api/browser_auth_sessions.py
DELETE /projects/{project_id}/browser-auth-sessions/{session_id} orchestrator/api/browser_auth_sessions.py
PATCH /projects/{project_id}/browser-auth-sessions/{session_id}/default orchestrator/api/browser_auth_sessions.py
POST /projects/{project_id}/browser-auth-sessions/{session_id}/refresh orchestrator/api/browser_auth_sessions.py
POST /projects/{project_id}/browser-auth-sessions/{session_id}/validate orchestrator/api/browser_auth_sessions.py
GET /requirements/generate-spec-jobs/{job_id} orchestrator/api/requirements.py
POST /requirements/{req_id}/generate-spec-jobs orchestrator/api/requirements.py
GET /settings/runtime-chat orchestrator/api/settings.py
GET /test-data/datasets orchestrator/api/test_data.py
POST /test-data/datasets orchestrator/api/test_data.py
GET /test-data/datasets/{dataset_id} orchestrator/api/test_data.py
PUT /test-data/datasets/{dataset_id} orchestrator/api/test_data.py
DELETE /test-data/datasets/{dataset_id} orchestrator/api/test_data.py
GET /test-data/datasets/{dataset_id}/items orchestrator/api/test_data.py
POST /test-data/datasets/{dataset_id}/items orchestrator/api/test_data.py
PUT /test-data/datasets/{dataset_id}/items/{item_id} orchestrator/api/test_data.py
DELETE /test-data/datasets/{dataset_id}/items/{item_id} orchestrator/api/test_data.py
POST /test-data/resolve orchestrator/api/test_data.py
POST /test-data/resolve/spec orchestrator/api/test_data.py