| Field | Value |
|---|
| Source spec | scheduler/openapi/v1.json |
| OpenAPI version | 3.1.1 |
| API version | 1.0.0 |
| Operations | 54 |
| Path filter | All paths |
API alias for /buildinfo.json (same payload).
| Property | Value |
|---|
| Operation ID | StellaOpsBuildInfoApi |
| Tags | StellaOps.Scheduler.WebService |
| Auth | Not declared |
| Request body | - |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Returns recorded child dependency edges for a JobEngine compatibility job. Scheduler runs currently expose only verified retry-of relationships.
| Property | Value |
|---|
| Operation ID | GetJobEngineJobChildren |
| Tags | JobEngineJobEndpointExtensions |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
jobId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Returns recorded parent dependency edges for a JobEngine compatibility job. Scheduler runs currently expose only verified retry-of relationships.
| Property | Value |
|---|
| Operation ID | GetJobEngineJobParents |
| Tags | JobEngineJobEndpointExtensions |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
jobId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Lists JobEngine job records for the tenant. Scheduler runs are exposed as scheduler-run jobs so Console job views resolve to durable runtime state instead of a placeholder.
| Property | Value |
|---|
| Operation ID | ListJobEngineJobs |
| Tags | JobEngineJobEndpointExtensions |
| Auth | Not declared |
| Request body | - |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Returns one tenant-scoped JobEngine compatibility job record backed by a Scheduler run.
| Property | Value |
|---|
| Operation ID | GetJobEngineJob |
| Tags | JobEngineJobEndpointExtensions |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
jobId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Returns a tenant-scoped JobEngine compatibility job detail backed by the Scheduler run read model. Payload fields expose scheduler run evidence only; queue idempotency, lease, quota, dead-letter, and release-script proof fields remain null or explicitly unavailable when Scheduler has no durable proof.
| Property | Value |
|---|
| Operation ID | GetJobEngineJobDetail |
| Tags | JobEngineJobEndpointExtensions |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
jobId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Returns aggregated health-check trend summaries from the Scheduler’s Doctor job.
| Property | Value |
|---|
| Operation ID | GetSchedulerDoctorTrends |
| Tags | Doctor, Scheduler |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
from | query | no | |
to | query | no | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Returns trend data points for all checks within a specific Doctor check category.
| Property | Value |
|---|
| Operation ID | GetSchedulerDoctorCategoryTrend |
| Tags | Doctor, Scheduler |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
category | path | yes | |
from | query | no | |
to | query | no | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Returns trend data points for a specific Doctor health check.
| Property | Value |
|---|
| Operation ID | GetSchedulerDoctorCheckTrend |
| Tags | Doctor, Scheduler |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
checkId | path | yes | |
from | query | no | |
to | query | no | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Returns Doctor health checks with degrading trends.
| Property | Value |
|---|
| Operation ID | GetSchedulerDoctorDegradingChecks |
| Tags | Doctor, Scheduler |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
from | query | no | |
threshold | query | no | |
to | query | no | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Returns the best-matching failure signature for the given scope type, scope ID, and optional toolchain hash. Used to predict the likely outcome and error category for a new run based on historical failure patterns. Requires scheduler:read scope.
| Property | Value |
|---|
| Operation ID | GetFailureSignatureBestMatch |
| Tags | FailureSignatureEndpoints |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
scopeId | query | no | |
scopeType | query | no | |
toolchainHash | query | no | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Lists policy simulation runs for the tenant with optional filters by status and time range. Simulations are policy evaluations run in dry-run mode without committing verdicts. Requires policy.simulate scope.
| Property | Value |
|---|
| Operation ID | ListPolicySimulations |
| Tags | PolicySimulationEndpointExtensions |
| Auth | Not declared |
| Request body | - |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Enqueues a new policy simulation for the specified policy ID and version with the given SBOM input set. Returns 201 Created with the simulation ID and initial queued status. Requires policy.simulate scope.
| Property | Value |
|---|
| Operation ID | CreatePolicySimulation |
| Tags | PolicySimulationEndpointExtensions |
| Auth | Not declared |
| Request body | application/json |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Returns aggregated simulation throughput metrics for the tenant including queue depth, processing rates, and median latency. Returns 501 if the metrics provider is not configured. Requires policy.simulate scope.
| Property | Value |
|---|
| Operation ID | GetSimulationMetrics |
| Tags | PolicySimulationEndpointExtensions |
| Auth | Not declared |
| Request body | - |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Enqueues a simulation and returns an immediate preview of the candidate count and estimated run scope before results are computed. Returns 201 Created with the simulation reference and preview payload. Requires policy.simulate scope.
| Property | Value |
|---|
| Operation ID | PreviewPolicySimulation |
| Tags | PolicySimulationEndpointExtensions |
| Auth | Not declared |
| Request body | application/json |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Returns the full simulation run record for a specific simulation ID including status, policy reference, inputs, and projected verdict counts. Returns 404 if the simulation ID is not found. Requires policy.simulate scope.
| Property | Value |
|---|
| Operation ID | GetPolicySimulation |
| Tags | PolicySimulationEndpointExtensions |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
simulationId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Requests cancellation of a queued or running simulation. Returns 200 with the updated simulation record, or 404 if the simulation ID is not found. Requires policy.simulate scope.
| Property | Value |
|---|
| Operation ID | CancelPolicySimulation |
| Tags | PolicySimulationEndpointExtensions |
| Auth | Not declared |
| Request body | application/json |
Parameters:
| Name | In | Required | Description |
|---|
simulationId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Retries a failed simulation, creating a new simulation record that re-uses the same policy and input configuration. Returns 201 Created with the new simulation ID. Requires policy.simulate scope.
| Property | Value |
|---|
| Operation ID | RetryPolicySimulation |
| Tags | PolicySimulationEndpointExtensions |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
simulationId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Server-Sent Events stream of real-time simulation progress events for a specific simulation ID. Clients should use the Last-Event-ID header for reconnect. Requires policy.simulate scope.
| Property | Value |
|---|
| Operation ID | StreamSimulationEvents |
| Tags | PolicySimulationEndpointExtensions |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
simulationId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Lists policy run records for the tenant with optional filters by status, mode, and time range. Returns a paginated collection ordered by queue time. Requires policy.run scope.
| Property | Value |
|---|
| Operation ID | ListPolicyRuns |
| Tags | PolicyRunEndpointExtensions |
| Auth | Not declared |
| Request body | - |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Enqueues a new policy evaluation run for the specified policy ID and version. Returns 201 Created with the run ID and initial queued status. Requires policy.run scope.
| Property | Value |
|---|
| Operation ID | CreatePolicyRun |
| Tags | PolicyRunEndpointExtensions |
| Auth | Not declared |
| Request body | application/json |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Returns the full policy run record for a specific run ID including status, policy reference, inputs, and verdict counts. Returns 404 if the run ID is not found. Requires policy.run scope.
| Property | Value |
|---|
| Operation ID | GetPolicyRun |
| Tags | PolicyRunEndpointExtensions |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
runId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Lists scheduler runs for the tenant with optional filters by status, schedule ID, and time range. Returns a paginated result ordered by creation time. Requires scheduler:read scope.
| Property | Value |
|---|
| Operation ID | ListSchedulerRuns |
| Tags | RunEndpoints |
| Auth | Not declared |
| Request body | - |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Creates and enqueues a new scheduler run for the specified schedule ID. Returns 201 Created with the run ID and initial status. Requires scheduler:operate scope.
| Property | Value |
|---|
| Operation ID | CreateSchedulerRun |
| Tags | RunEndpoints |
| Auth | Not declared |
| Request body | application/json |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Computes a dry-run impact preview for the specified scope without persisting a run record. Returns the set of artifacts that would be evaluated and estimated policy gate results. Requires scheduler:operate scope.
| Property | Value |
|---|
| Operation ID | PreviewRunImpact |
| Tags | RunEndpoints |
| Auth | Not declared |
| Request body | application/json |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Returns the current queue lag summary including the number of queued, running, and stuck runs per tenant. Used for SLO monitoring and alerting. Requires scheduler:read scope.
| Property | Value |
|---|
| Operation ID | GetSchedulerQueueLag |
| Tags | RunEndpoints |
| Auth | Not declared |
| Request body | - |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Returns the full run record for a specific run ID including status, schedule reference, impact snapshot, and policy evaluation results. Requires scheduler:read scope.
| Property | Value |
|---|
| Operation ID | GetSchedulerRun |
| Tags | RunEndpoints |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
runId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Cancels a queued or running scheduler run. Returns 404 if the run is not found or 409 if the run is already in a terminal state. Requires scheduler:operate scope.
| Property | Value |
|---|
| Operation ID | CancelSchedulerRun |
| Tags | RunEndpoints |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
runId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Returns the impact delta records for a specific run, showing which artifacts were added, removed, or changed relative to the previous run. Requires scheduler:read scope.
| Property | Value |
|---|
| Operation ID | GetRunDeltas |
| Tags | RunEndpoints |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
runId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Retries a failed scheduler run by creating a new run linked to the original failure. Returns 404 if the run is not found or 409 if the run is not in a failed state. Requires scheduler:operate scope.
| Property | Value |
|---|
| Operation ID | RetrySchedulerRun |
| Tags | RunEndpoints |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
runId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Server-Sent Events stream of real-time run progress events for a specific run ID. Clients should use the Last-Event-ID header for reconnect. Requires scheduler:read scope.
| Property | Value |
|---|
| Operation ID | StreamRunEvents |
| Tags | RunEndpoints |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
runId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Lists all schedules for the tenant with optional filters for enabled and deleted state. Returns a collection of schedule records including cron expression, timezone, mode, selection, and last run summary. Requires scheduler:read scope.
| Property | Value |
|---|
| Operation ID | ListSchedules |
| Tags | ScheduleEndpoints |
| Auth | Not declared |
| Request body | - |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Creates a new release schedule with the specified cron expression, timezone, scope selection, and run mode. Returns 201 Created with the new schedule ID. Requires scheduler:operate scope.
| Property | Value |
|---|
| Operation ID | CreateSchedule |
| Tags | ScheduleEndpoints |
| Auth | Not declared |
| Request body | application/json |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Returns the full schedule record for a specific schedule ID including cron expression, timezone, selection, and last run summary. Returns 404 if the schedule is not found. Requires scheduler:read scope.
| Property | Value |
|---|
| Operation ID | GetSchedule |
| Tags | ScheduleEndpoints |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
scheduleId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Soft-deletes a schedule. System-managed schedules cannot be deleted.
| Property | Value |
|---|
| Operation ID | DeleteSchedule |
| Tags | ScheduleEndpoints |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
scheduleId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Applies a partial update to an existing schedule, replacing only the provided fields. Returns 200 with the updated record, or 404 if the schedule is not found. Requires scheduler:operate scope.
| Property | Value |
|---|
| Operation ID | UpdateSchedule |
| Tags | ScheduleEndpoints |
| Auth | Not declared |
| Request body | application/json |
Parameters:
| Name | In | Required | Description |
|---|
scheduleId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Disables an active schedule, preventing future runs from being enqueued. Idempotent: returns 200 if the schedule is already paused. Requires scheduler:operate scope.
| Property | Value |
|---|
| Operation ID | PauseSchedule |
| Tags | ScheduleEndpoints |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
scheduleId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Re-enables a paused schedule, allowing future runs to be enqueued on the configured cron expression. Idempotent: returns 200 if the schedule is already active. Requires scheduler:operate scope.
| Property | Value |
|---|
| Operation ID | ResumeSchedule |
| Tags | ScheduleEndpoints |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
scheduleId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Enqueues a new vulnerability resolver job to fetch enriched vulnerability data for a given CVE or advisory set. Returns 201 Created with the job ID. Requires effective.write scope.
| Property | Value |
|---|
| Operation ID | CreateResolverJob |
| Tags | ResolverJobEndpointExtensions |
| Auth | Not declared |
| Request body | application/json |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Returns the current status and result of a vulnerability resolver job by ID. Returns 404 if the job ID is not found. Requires findings.read scope.
| Property | Value |
|---|
| Operation ID | GetResolverJob |
| Tags | ResolverJobEndpointExtensions |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
jobId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Returns resolver job lag metrics including pending queue depth, processing rates, and backlog summary. Triggers a backlog breach notification if the depth exceeds the configured threshold. Requires findings.read scope.
| Property | Value |
|---|
| Operation ID | GetResolverLagMetrics |
| Tags | ResolverJobEndpointExtensions |
| Auth | Not declared |
| Request body | - |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Returns an exact tenant-safe worker-registration summary and a bounded page of tenant-dedicated or shared Scheduler workers. Embedded execution is stated separately so an empty registry is not misreported as proof that nothing can run.
| Property | Value |
|---|
| Operation ID | ListSchedulerWorkers |
| Tags | WorkerEndpoints |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
limit | query | no | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Image build provenance (module, gitSha, gitCommitTime, imageBuiltAt, branch) for drift detection.
| Property | Value |
|---|
| Operation ID | StellaOpsBuildInfoFile |
| Tags | StellaOps.Scheduler.WebService |
| Auth | Not declared |
| Request body | - |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Inbound webhook endpoint that receives Conselier VEX export events. Authentication is performed via HMAC-SHA256 signature validation on the request body. Rate-limited per the configured window. Returns 202 Accepted on success.
| Property | Value |
|---|
| Operation ID | HandleConselierExportWebhook |
| Tags | EventWebhookEndpointExtensions |
| Auth | Not declared |
| Request body | - |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Inbound webhook endpoint that receives Excitor VEX export events. Authentication is performed via HMAC-SHA256 signature validation on the request body. Rate-limited per the configured window. Returns 202 Accepted on success.
| Property | Value |
|---|
| Operation ID | HandleExcitorExportWebhook |
| Tags | EventWebhookEndpointExtensions |
| Auth | Not declared |
| Request body | - |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Enqueues a graph build job to construct the reachability graph for the specified tenant scope. Returns 201 Created with the new job ID. Requires graph.write scope.
| Property | Value |
|---|
| Operation ID | CreateGraphBuildJob |
| Tags | GraphJobEndpointExtensions |
| Auth | Not declared |
| Request body | application/json |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Internal callback invoked by the Cartographer service to mark a graph job as completed and publish the completion event. Requires graph.write scope.
| Property | Value |
|---|
| Operation ID | CompleteGraphJob |
| Tags | GraphJobEndpointExtensions |
| Auth | Not declared |
| Request body | application/json |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Lists graph jobs for the tenant with optional filters by status and job type. Returns a paginated collection ordered by creation time. Requires graph.read scope.
| Property | Value |
|---|
| Operation ID | GetGraphJobs |
| Tags | GraphJobEndpointExtensions |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
Limit | query | no | |
Status | query | no | |
Type | query | no | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Enqueues a graph overlay job to apply incremental VEX or policy updates onto an existing reachability graph. Returns 201 Created with the new job ID. Requires graph.write scope.
| Property | Value |
|---|
| Operation ID | CreateGraphOverlayJob |
| Tags | GraphJobEndpointExtensions |
| Auth | Not declared |
| Request body | application/json |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Returns lag metrics for overlay jobs including pending queue depth and processing rates. Used for SLO monitoring of graph overlay throughput. Requires graph.read scope.
| Property | Value |
|---|
| Operation ID | GetGraphOverlayLagMetrics |
| Tags | GraphJobEndpointExtensions |
| Auth | Not declared |
| Request body | - |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Liveness probe endpoint for the Scheduler service. Returns HTTP 200 with a JSON body indicating the process is running. No authentication required.
| Property | Value |
|---|
| Operation ID | SchedulerHealthz |
| Tags | StellaOps.Scheduler.WebService |
| Auth | Not declared |
| Request body | - |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Runs deterministic Scheduler plugin probes and returns the canonical plugin report.
| Property | Value |
|---|
| Operation ID | ProbeSchedulerPlugins |
| Tags | Scheduler Plugins |
| Auth | Not declared |
| Request body | - |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Returns Scheduler plugin discovery, admission, load, and current probe state.
| Property | Value |
|---|
| Operation ID | GetSchedulerPluginStatus |
| Tags | Scheduler Plugins |
| Auth | Not declared |
| Request body | - |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Readiness probe endpoint for the Scheduler service. Returns HTTP 200 when the service is ready to accept traffic. No authentication required.
| Property | Value |
|---|
| Operation ID | SchedulerReadyz |
| Tags | StellaOps.Scheduler.WebService |
| Auth | Not declared |
| Request body | - |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |