Policy Engine API Reference

FieldValue
Source specpolicy-engine/openapi/v1.json
OpenAPI version3.1.1
API version1.0.0
Operations274
Path filterAll paths

Operations

GET /

PropertyValue
Operation ID-
TagsStellaOps.Policy.Engine
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /.well-known/risk-profile-schema

Get the JSON Schema for risk profile definitions.

Serve the canonical JSON Schema for risk profile documents at the well-known discovery URL, including ETag and cache-control headers for efficient polling. Returns 304 Not Modified when the schema version matches the client’s cached ETag.

PropertyValue
Operation IDGetRiskProfileSchema
TagsSchema Discovery
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OKapplication/schema+json
304Not Modified-

GET /api/cvss/policies

List available CVSS policies configured on this host.

List all CVSS scoring policies registered on this host, including their identifiers, algorithm configurations, and deterministic hash values, enabling clients to select the appropriate policy when creating CVSS receipts.

PropertyValue
Operation IDListCvssPolicies
TagsCVSS Receipts
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/cvss/receipts

Create a CVSS v4.0 receipt with deterministic hashing and optional DSSE attestation.

Create a CVSS v4.0 score receipt for a vulnerability, computing a deterministic hash over the base, threat, environmental, and supplemental metrics using the specified scoring policy. Optionally wraps the receipt in a DSSE attestation envelope if a signing key is provided.

PropertyValue
Operation IDCreateCvssReceipt
TagsCVSS Receipts
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
201Createdapplication/json

GET /api/cvss/receipts/{receiptId}

Retrieve a CVSS v4.0 receipt by ID.

Retrieve a stored CVSS v4.0 score receipt by its identifier, returning the full metric values, computed score vector, deterministic hash, and DSSE attestation envelope if present.

PropertyValue
Operation IDGetCvssReceipt
TagsCVSS Receipts
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
receiptIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

PUT /api/cvss/receipts/{receiptId}/amend

Append an amendment entry to a CVSS receipt history and optionally re-sign.

Append an immutable amendment record to a CVSS receipt’s history, recording the changed field, previous and new values, reason, and optional reference URI. Optionally re-signs the updated receipt with a new DSSE envelope to chain attestation integrity.

PropertyValue
Operation IDAmendCvssReceipt
TagsCVSS Receipts
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
receiptIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/cvss/receipts/{receiptId}/history

Return the ordered amendment history for a CVSS receipt.

Retrieve the chronologically ordered amendment history for a CVSS score receipt, listing each recorded field change with actor, timestamp, reason, and reference URI for audit and compliance review.

PropertyValue
Operation IDGetCvssReceiptHistory
TagsCVSS Receipts
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
receiptIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/policy/compliance/cra/technical-documentation/provenance/{tenantId}

Get the latest tenant CRA technical-documentation export provenance.

Returns the latest Policy-owned CRA technical-documentation provenance projection for the authenticated tenant. Missing rows return status missing; rows whose fields all lack sourceRef return status unprovenanced.

PropertyValue
Operation IDPolicy.CraTechnicalDocumentationProvenance.GetLatest
TagsCRA Technical Documentation Provenance
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
tenantIdpathyes

Responses:

StatusDescriptionContent types
200OK-

POST /api/policy/compliance/cra/technical-documentation/provenance/{tenantId}

Store a tenant CRA technical-documentation export provenance projection.

Stores the Policy-owned projection supplied by the CRA export workflow. The endpoint preserves null provenance values and does not derive values from unrelated Policy exports.

PropertyValue
Operation IDPolicy.CraTechnicalDocumentationProvenance.Save
TagsCRA Technical Documentation Provenance
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
tenantIdpathyes

Responses:

StatusDescriptionContent types
200OK-

GET /api/policy/conflicts

List open policy conflicts sorted by severity.

List all open policy rule conflicts for the authenticated tenant, sorted by severity. Conflicts arise when two or more policy rules produce contradictory verdicts for the same advisory or component scope. Supports pagination via limit and offset parameters.

PropertyValue
Operation IDListOpenPolicyConflicts
TagsPolicy Conflicts
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
limitqueryyes
offsetqueryyes

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/policy/conflicts

Report a new policy conflict.

Report a newly detected policy rule conflict, recording the conflicting rule identifiers, conflict type, severity, affected scope, and a human-readable description. The conflict is created in open status and queued for resolution or dismissal.

PropertyValue
Operation IDCreatePolicyConflict
TagsPolicy Conflicts
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
201Createdapplication/json

GET /api/policy/conflicts/by-type/{conflictType}

Get conflicts filtered by type.

Retrieve policy conflicts filtered to a specific conflict type (e.g., severity-mismatch, applicability-overlap), with optional status filtering and pagination. Used by the conflict management console to focus on a specific category of rule contradictions.

PropertyValue
Operation IDGetPolicyConflictsByType
TagsPolicy Conflicts
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
conflictTypepathyes
limitqueryyes
statusqueryno

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/policy/conflicts/stats/by-severity

Get open conflict counts grouped by severity.

Retrieve a count of currently open policy conflicts grouped by severity level for the authenticated tenant. Used by compliance dashboards to render conflict health indicators and track remediation progress.

PropertyValue
Operation IDGetPolicyConflictStatsBySeverity
TagsPolicy Conflicts
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/policy/conflicts/{conflictId}

Get a specific policy conflict by ID.

Retrieve the full record of a specific policy conflict by its UUID, including the conflicting rule identifiers, affected scope, severity, status, and description explaining the nature of the contradiction.

PropertyValue
Operation IDGetPolicyConflict
TagsPolicy Conflicts
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
conflictIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/policy/conflicts/{conflictId}:dismiss

Dismiss an open conflict without resolution.

Dismiss an open policy conflict without providing a resolution, recording the dismissing actor. Dismissed conflicts are closed without a resolution record and excluded from open conflict counts.

PropertyValue
Operation IDDismissPolicyConflict
TagsPolicy Conflicts
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
conflictIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/policy/conflicts/{conflictId}:resolve

Resolve an open conflict with a resolution description.

Mark an open policy conflict as resolved by providing a resolution description explaining how the contradiction was addressed, recording the resolving actor. Only conflicts in open status can be resolved.

PropertyValue
Operation IDResolvePolicyConflict
TagsPolicy Conflicts
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
conflictIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/policy/control-register/frameworks/{frameworkId}

List a tenant-scoped Assurance control register by framework id.

Returns a framework-aware Assurance control-register projection. NIS2 is currently served as the first adapter over Policy-owned control-register rows; unknown frameworks fail closed.

PropertyValue
Operation IDPolicy.AssuranceControlRegister.List
TagsNIS2 Control Register
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
frameworkIdpathyes
asOfDatequeryno
cursorqueryno
evidenceModequeryno
limitqueryno
responsibleRolequeryno
reviewStatusqueryno
tenantIdqueryno
thematicAreaqueryno

Responses:

StatusDescriptionContent types
200OK-

GET /api/policy/control-register/nis2

List the tenant-scoped NIS2 control register.

Returns Policy-owned NIS2 control-register mappings for the resolved tenant, including thirteen thematic area summaries, responsible roles, review status, evidence references, tenant override references, lifecycle event ids, and deterministic cursor pagination.

PropertyValue
Operation IDPolicy.Nis2ControlRegister.List
TagsNIS2 Control Register
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
asOfDatequeryno
cursorqueryno
evidenceModequeryno
limitqueryno
responsibleRolequeryno
reviewStatusqueryno
tenantIdqueryno
thematicAreaqueryno

Responses:

StatusDescriptionContent types
200OK-

POST /api/policy/deltas/compute

Compute a security state delta between a baseline snapshot and a target snapshot for a given artifact digest. Selects the baseline automatically using the configured strategy (last-approved, previous-build, production-deployed, or branch-base) unless an explicit baseline snapshot ID is provided. Returns a delta summary and driver count for downstream evaluation.

PropertyValue
Operation IDComputeDelta
TagsDeltas
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

GET /api/policy/deltas/{deltaId}

Retrieve a previously computed security state delta by its ID from the in-memory cache. Deltas are retained for 30 minutes after computation. Returns the full driver list, baseline and target snapshot IDs, and risk summary.

PropertyValue
Operation IDGetDelta
TagsDeltas
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
deltaIdpathyes

Responses:

StatusDescriptionContent types
200OK-

GET /api/policy/deltas/{deltaId}/attestation

Retrieve a signed attestation envelope for a delta verdict, combining the security state delta with its evaluated verdict and producing a cryptographically signed in-toto statement. Requires that the delta has been evaluated via POST /{deltaId}/evaluate before an attestation can be generated.

PropertyValue
Operation IDGetDeltaAttestation
TagsDeltas
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
deltaIdpathyes

Responses:

StatusDescriptionContent types
200OK-

POST /api/policy/deltas/{deltaId}/evaluate

Evaluate a previously computed delta and produce a gate verdict. Classifies each driver as blocking or advisory based on severity and type (new-reachable-cve, lost-vex-coverage, new-policy-violation), applies any supplied exception IDs, and returns a recommended gate action with risk points and remediation recommendations.

PropertyValue
Operation IDEvaluateDelta
TagsDeltas
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
deltaIdpathyes

Responses:

StatusDescriptionContent types
200OK-

GET /api/policy/exceptions

List policy exceptions with optional filtering by status, type, vulnerability ID, PURL pattern, environment, or owner. Returns paginated results including per-item status, scope, and lifecycle timestamps for exception management dashboards and compliance reporting.

PropertyValue
Operation IDListExceptions
TagsExceptions
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
environmentqueryno
limitqueryno
offsetqueryno
ownerIdqueryno
purlPatternqueryno
statusqueryno
typequeryno
vulnerabilityIdqueryno

Responses:

StatusDescriptionContent types
200OK-

POST /api/policy/exceptions

Create a new policy exception in the proposed state. Validates that the expiry is in the future and does not exceed one year, captures the requesting actor from the authenticated identity, and records the scope (artifact digest, PURL pattern, vulnerability ID, or policy rule), reason code, rationale, and compensating controls.

PropertyValue
Operation IDCreateException
TagsExceptions
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

GET /api/policy/exceptions/counts

Return aggregate counts of exceptions by lifecycle status (proposed, approved, active, expired, revoked) plus an expiring-soon indicator. Used by governance dashboards to give operators a quick view of the exception portfolio health without fetching the full list.

PropertyValue
Operation IDGetExceptionCounts
TagsExceptions
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /api/policy/exceptions/expiring

List active exceptions that will expire within the specified number of days (default 7). Used by notification and alerting workflows to proactively alert owners before exceptions lapse and cause unexpected policy failures.

PropertyValue
Operation IDGetExpiringExceptions
TagsExceptions
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
daysqueryno

Responses:

StatusDescriptionContent types
200OK-

GET /api/policy/exceptions/{id}

Retrieve the full details of a single exception by its identifier, including scope, rationale, evidence references, compensating controls, and lifecycle timestamps.

PropertyValue
Operation IDGetException
TagsExceptions
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
idpathyes

Responses:

StatusDescriptionContent types
200OK-

PUT /api/policy/exceptions/{id}

Update the mutable fields of an existing exception (rationale, evidence references, compensating controls, ticket reference, and metadata). Cannot update expired or revoked exceptions. Version is incremented and the updated-at timestamp is refreshed on every successful update.

PropertyValue
Operation IDUpdateException
TagsExceptions
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
idpathyes

Responses:

StatusDescriptionContent types
200OK-

DELETE /api/policy/exceptions/{id}

Revoke an exception before its natural expiry, recording an optional revocation reason and transitioning the exception to the revoked terminal state. Cannot revoke exceptions that are already expired or revoked.

PropertyValue
Operation IDRevokeException
TagsExceptions
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
idpathyes

Responses:

StatusDescriptionContent types
200OK-

POST /api/policy/exceptions/{id}/activate

Transition an approved exception to the active state, making it eligible for use in policy evaluation. Only exceptions in the approved state may be activated.

PropertyValue
Operation IDActivateException
TagsExceptions
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
idpathyes

Responses:

StatusDescriptionContent types
200OK-

POST /api/policy/exceptions/{id}/approve

Approve a proposed exception and transition it to the approved state. Enforces separation-of-duty by rejecting self-approval (approver must differ from the requester). Multiple approvers may be recorded before the exception is activated.

PropertyValue
Operation IDApproveException
TagsExceptions
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
idpathyes

Responses:

StatusDescriptionContent types
200OK-

POST /api/policy/exceptions/{id}/extend

Extend the expiry date of an active exception. The new expiry must be later than the current expiry. Used when a scheduled fix or mitigation requires additional time beyond the original exception window.

PropertyValue
Operation IDExtendException
TagsExceptions
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
idpathyes

Responses:

StatusDescriptionContent types
200OK-

GET /api/policy/exceptions/{id}/history

Retrieve the ordered audit history of an exception, including every status transition, the actor who performed each action, and descriptive event entries. Supports compliance reviews and traceability of the full exception lifecycle from proposal through resolution.

PropertyValue
Operation IDGetExceptionHistory
TagsExceptions
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
idpathyes

Responses:

StatusDescriptionContent types
200OK-

GET /api/policy/packs

List policy packs for the current tenant.

List all policy pack containers for the authenticated tenant, returning summaries of each pack including available revision versions and their current activation status.

PropertyValue
Operation IDListPolicyPacks
TagsPolicy Packs
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/policy/packs

Create a new policy pack container.

Create a new policy pack container with an optional display name, establishing the versioned identity under which subsequent policy revisions and compiled bundles will be registered.

PropertyValue
Operation IDCreatePolicyPack
TagsPolicy Packs
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
201Createdapplication/json

POST /api/policy/packs/{packId}/revisions

Create or update policy revision metadata.

Create or upsert a policy revision entry under a given pack, setting initial status (Draft or Approved) and two-person approval requirements that govern the activation workflow for that revision.

PropertyValue
Operation IDCreatePolicyRevision
TagsPolicy Packs
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
packIdpathyes

Responses:

StatusDescriptionContent types
201Createdapplication/json

POST /api/policy/packs/{packId}/revisions/{version}/bundle

Compile and sign a policy revision bundle for distribution.

Compile a policy DSL source attached to a revision into a signed, immutable bundle ready for distribution and evaluation. Returns the bundle digest and compilation statistics; fails fast if the DSL contains syntax errors or rule conflicts.

PropertyValue
Operation IDCreatePolicyBundle
TagsPolicy Packs
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
packIdpathyes
versionpathyes

Responses:

StatusDescriptionContent types
201Createdapplication/json

POST /api/policy/packs/{packId}/revisions/{version}/evaluate

Evaluate a policy revision deterministically with in-memory caching.

Evaluate a compiled policy revision bundle against a provided advisory/VEX/SBOM context, returning a deterministic verdict with per-rule outcomes. Results are cached in-memory for subsequent identical evaluations to reduce compute overhead during iterative authoring.

Evaluation evidence matches[] includes matchClass: denylist for presence-based CVE-id rule citations and reachability for callability-backed citations once the reachability evaluator path is wired.

PropertyValue
Operation IDEvaluatePolicyRevision
TagsPolicy Packs
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
packIdpathyes
versionpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/policy/packs/{packId}/revisions/{version}:activate

Activate an approved policy revision, enforcing two-person approval when required.

Promote an approved policy revision to active status, recording the activating actor and enforcing two-person approval workflows when configured. Returns 202 Accepted when a second approval is still pending, or 200 OK when the revision is fully activated.

PropertyValue
Operation IDActivatePolicyRevision
TagsPolicy Packs
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
packIdpathyes
versionpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json
202Acceptedapplication/json

POST /api/policy/policies/{policyId}/versions/{version}:compile

Compile and lint a policy DSL document.

Compiles a stella-dsl@1 policy document and returns deterministic digest and statistics.

PropertyValue
Operation IDCompilePolicy
TagsPolicyCompilationEndpoints
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
policyIdpathyes
versionpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/policy/quota

PropertyValue
Operation IDPolicyQuota.Get
TagsPolicy Quota
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /api/policy/snapshots

List policy evaluation snapshots for the specified tenant, returning snapshot identifiers, creation timestamps, and summary component counts for use in batch evaluation workflows. Supports cursor-based pagination.

PropertyValue
Operation IDPolicyEngine.Api.Snapshots.List
TagsPolicy Snapshots
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
tenant_idqueryno

Responses:

StatusDescriptionContent types
200OK-

POST /api/policy/snapshots

Create a new policy evaluation snapshot from a component manifest, capturing PURL set, advisory signals, and applicable policy bundles at a point in time for subsequent policy decision evaluation.

PropertyValue
Operation IDPolicyEngine.Api.Snapshots.Create
TagsPolicy Snapshots
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

GET /api/policy/snapshots/{snapshotId}

Retrieve a specific policy evaluation snapshot by identifier, including its full component graph, resolved advisory signals, and any cached partial evaluation state.

PropertyValue
Operation IDPolicyEngine.Api.Snapshots.Get
TagsPolicy Snapshots
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
snapshotIdpathyes

Responses:

StatusDescriptionContent types
200OK-

GET /api/policy/violations

List policy violations with optional filters.

List persisted policy violation events for the authenticated tenant, with optional filtering by policy ID, severity level, and occurrence timestamp. Defaults to returning critical violations when no filter is specified. Supports pagination via limit and offset parameters.

PropertyValue
Operation IDListPolicyViolations
TagsPolicy Violations
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
limitqueryyes
offsetqueryyes
policyIdqueryno
severityqueryno
sincequeryno

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/policy/violations

Append a new policy violation event (immutable).

Append a single immutable policy violation event to the append-only audit log, recording the triggering policy, rule, severity, subject identifier, and occurrence timestamp. Violation records cannot be modified or deleted after creation.

PropertyValue
Operation IDAppendPolicyViolation
TagsPolicy Violations
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
201Createdapplication/json

POST /api/policy/violations/batch

Append multiple policy violation events in a batch.

Atomically append a batch of immutable policy violation events to the audit log in a single request, reducing per-event overhead during high-throughput evaluation runs. Returns the count of successfully appended records.

PropertyValue
Operation IDAppendPolicyViolationBatch
TagsPolicy Violations
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
201Createdapplication/json

GET /api/policy/violations/by-policy/{policyId}

Get violations for a specific policy.

Retrieve all policy violation events associated with a specific policy UUID, supporting optional time-range filtering and offset-based pagination for audit trail review of a single policy’s violation history.

PropertyValue
Operation IDGetPolicyViolationsByPolicy
TagsPolicy Violations
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
policyIdpathyes
limitqueryyes
offsetqueryyes
sincequeryno

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/policy/violations/by-purl/{purl}

Get violations for a specific package (by PURL).

Retrieve all policy violation events for a specific package identified by its URL-encoded Package URL (PURL), enabling component-centric compliance queries and remediation tracking across all policies that flagged the component.

PropertyValue
Operation IDGetPolicyViolationsByPurl
TagsPolicy Violations
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
purlpathyes
limitqueryyes

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/policy/violations/by-severity/{severity}

Get violations filtered by severity level.

Retrieve policy violation events filtered to a specific severity level (critical, high, medium, low), optionally bounded by a start timestamp, enabling targeted monitoring dashboards and severity-specific alert pipelines.

PropertyValue
Operation IDGetPolicyViolationsBySeverity
TagsPolicy Violations
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
severitypathyes
limitqueryyes
sincequeryno

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/policy/violations/stats/by-severity

Get violation counts grouped by severity.

Compute aggregated violation counts grouped by severity level (critical, high, medium, low, none) for a specified time window. Used by compliance dashboards to render severity distribution charts and trend indicators.

PropertyValue
Operation IDGetPolicyViolationStatsBySeverity
TagsPolicy Violations
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
sincequeryyes
untilqueryyes

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/policy/violations/{violationId}

Get a specific policy violation by ID.

Retrieve the full immutable record of a specific policy violation event by its UUID, including the triggering rule, severity, subject PURL or CVE, details payload, and occurrence timestamp.

PropertyValue
Operation IDGetPolicyViolation
TagsPolicy Violations
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
violationIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/risk/events

Get recent profile lifecycle events.

Retrieve the most recent risk profile lifecycle events across all profiles, ordered by descending timestamp, up to the specified limit. Events include profile creation, activation, deprecation, archival, and override changes.

PropertyValue
Operation IDGetRecentProfileEvents
TagsProfile Events
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
limitqueryyes

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/risk/events/filter

Get profile events with optional filtering.

Retrieve risk profile lifecycle events filtered by event type, profile ID, and a start timestamp, enabling targeted event streams for monitoring pipelines and compliance queries that need only a subset of event types.

PropertyValue
Operation IDGetFilteredProfileEvents
TagsProfile Events
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
eventTypequeryno
limitqueryyes
profileIdqueryno
sincequeryno

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/events/subscribe

Subscribe to profile lifecycle events.

Create a named subscription to one or more profile lifecycle event types, optionally filtered by profile ID. Subscriptions can optionally specify a webhook URL for push delivery; otherwise, events are accumulated for polling via the poll endpoint.

PropertyValue
Operation IDCreateEventSubscription
TagsProfile Events
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
201Createdapplication/json

DELETE /api/risk/events/subscribe/{subscriptionId}

Unsubscribe from profile lifecycle events.

Remove a profile lifecycle event subscription by its identifier, stopping future event delivery and releasing any buffered events associated with the subscription.

PropertyValue
Operation IDDeleteEventSubscription
TagsProfile Events
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
subscriptionIdpathyes

Responses:

StatusDescriptionContent types
204No Content-

GET /api/risk/events/subscribe/{subscriptionId}/poll

Poll for events from a subscription.

Poll a profile lifecycle event subscription for accumulated events since the last poll, returning up to the specified limit. Returns an empty list if no new events are available; the subscription state is not modified by polling.

PropertyValue
Operation IDPollEventSubscription
TagsProfile Events
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
subscriptionIdpathyes
limitqueryyes

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/overrides

Create a new override with audit metadata.

Create a risk profile override to alter severity, action, or signal values for a specific advisory or component pattern, recording the rationale, author, and expiry for the audit log. Automatically validates for conflicts with existing overrides before persisting.

PropertyValue
Operation IDCreateOverride
TagsRisk Overrides
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
201Createdapplication/json

GET /api/risk/overrides/profile/{profileId}

List all overrides for a risk profile.

List all overrides registered for a specific risk profile, optionally including inactive overrides. Returns each override’s type, target, value, approval status, and audit metadata for management and review.

PropertyValue
Operation IDListProfileOverrides
TagsRisk Overrides
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
profileIdpathyes
includeInactivequeryyes

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/overrides/validate

Validate an override for conflicts before creating.

Validate a proposed override definition against existing overrides to detect conflicts, returning conflict descriptions and advisory warnings. Call this before creating an override to surface issues without committing the override.

PropertyValue
Operation IDValidateOverride
TagsRisk Overrides
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/risk/overrides/{overrideId}

Get an override by ID.

Retrieve the full definition of a risk override by its identifier, including the override type, target pattern, value, approval status, author, and audit trail metadata.

PropertyValue
Operation IDGetOverride
TagsRisk Overrides
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
overrideIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

DELETE /api/risk/overrides/{overrideId}

Delete an override.

Permanently remove a risk override by its identifier. The override will no longer be applied in subsequent evaluations for the affected risk profile.

PropertyValue
Operation IDDeleteOverride
TagsRisk Overrides
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
overrideIdpathyes

Responses:

StatusDescriptionContent types
204No Content-

GET /api/risk/overrides/{overrideId}/history

Get application history for an override.

Retrieve the chronological application history for a specific override, showing each time the override was applied during an evaluation run, the matching finding, and the resulting value change.

PropertyValue
Operation IDGetOverrideHistory
TagsRisk Overrides
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
overrideIdpathyes
limitqueryyes

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/overrides/{overrideId}:approve

Approve an override that requires review.

Approve a pending override that was created with a review requirement, recording the approving actor and transitioning the override to active status. Fails if the override has already been approved by the same actor or is not in a pending state.

PropertyValue
Operation IDApproveOverride
TagsRisk Overrides
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
overrideIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/overrides/{overrideId}:disable

Disable an active override.

Disable an active override without deleting it, recording the disabling actor and an optional reason. Disabled overrides are preserved in the audit log and can be queried by history endpoints but are excluded from active evaluations.

PropertyValue
Operation IDDisableOverride
TagsRisk Overrides
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
overrideIdpathyes
reasonqueryno

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/risk/profiles

List all available risk profiles.

List all registered risk profiles for the current tenant, returning each profile’s identifier, current version, and description. Used by the policy console and advisory pipeline to discover which profiles are available for evaluation binding.

PropertyValue
Operation IDListRiskProfiles
TagsRisk Profiles
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/profiles

Create a new risk profile version in draft status.

Register a new risk profile version in Draft lifecycle status, recording the authoring actor and creation timestamp. The profile must be activated before it can be used in live policy evaluations.

PropertyValue
Operation IDCreateRiskProfile
TagsRisk Profiles
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
201Createdapplication/json

POST /api/risk/profiles/compare

Compare two risk profile versions and list differences.

Compute a structured diff between two risk profile versions, listing added, removed, and modified signal weights and override rules. Used by policy authors to validate the impact of profile changes before promoting to active.

PropertyValue
Operation IDCompareRiskProfiles
TagsRisk Profiles
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/profiles/export

Export risk profiles as a signed bundle.

Export one or more risk profiles into a cryptographically signed bundle suitable for distribution across air-gap boundaries or cross-environment synchronization. Returns the full bundle structure including the content hash and signing metadata.

PropertyValue
Operation IDExportProfiles
TagsProfile Export/Import
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/profiles/export/download

Export and download risk profiles as a JSON file.

Export one or more risk profiles into a signed bundle and return it as a downloadable JSON file attachment, enabling operators to transfer profiles to disconnected environments without API client tooling.

PropertyValue
Operation IDDownloadProfileBundle
TagsProfile Export/Import
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/profiles/import

Import risk profiles from a signed bundle.

Import risk profiles from a previously exported signed bundle, verifying the bundle signature and registering each included profile in the local store. Replaces existing profiles with matching IDs if permitted by the import options.

PropertyValue
Operation IDImportProfiles
TagsProfile Export/Import
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/profiles/verify

Verify the signature of a profile bundle without importing.

Verify the cryptographic signature and content hash of a risk profile bundle without importing any profiles, allowing operators to validate bundle integrity before committing to an import operation.

PropertyValue
Operation IDVerifyProfileBundle
TagsProfile Export/Import
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/risk/profiles/{profileId}

Get a risk profile by ID.

Retrieve the full definition of a risk profile by identifier, including signal weights, severity override rules, and the deterministic profile hash used for reproducible evaluation runs.

PropertyValue
Operation IDGetRiskProfile
TagsRisk Profiles
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
profileIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/risk/profiles/{profileId}/events

Get lifecycle events for a risk profile.

Retrieve the ordered lifecycle event log for a risk profile, including creation, activation, deprecation, and archival events with actor and timestamp information, supporting compliance reporting and change history review.

PropertyValue
Operation IDGetRiskProfileEvents
TagsRisk Profiles
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
profileIdpathyes
limitqueryyes

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/risk/profiles/{profileId}/hash

Get the deterministic hash of a risk profile.

Compute and return the deterministic hash of a risk profile, optionally restricted to content-only hashing (excluding metadata). Used to verify profile identity across environments and ensure reproducible evaluation inputs.

PropertyValue
Operation IDGetRiskProfileHash
TagsRisk Profiles
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
profileIdpathyes
contentOnlyqueryyes

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/risk/profiles/{profileId}/metadata

Export risk profile metadata for notification enrichment (POLICY-RISK-40-002).

Export a compact metadata summary of a risk profile including signal names, severity thresholds, active version info, and custom metadata fields. Used by the notification enrichment pipeline to annotate policy-triggered alerts with human-readable risk context.

PropertyValue
Operation IDGetRiskProfileMetadata
TagsRisk Profiles
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
profileIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/risk/profiles/{profileId}/versions

List all versions of a risk profile.

List the full version history of a risk profile, including lifecycle status (Draft, Active, Deprecated, Archived), activation timestamps, and actor identities for each version, supporting compliance audit trails.

PropertyValue
Operation IDListRiskProfileVersions
TagsRisk Profiles
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
profileIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/risk/profiles/{profileId}/versions/{version}

Get a specific version of a risk profile.

Retrieve the complete definition and lifecycle metadata for a specific versioned risk profile, including its deterministic hash and version info record, enabling exact-version lookups during policy replay and audit verification.

PropertyValue
Operation IDGetRiskProfileVersion
TagsRisk Profiles
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
profileIdpathyes
versionpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/profiles/{profileId}/versions/{version}:activate

Activate a draft risk profile, making it available for use.

Transition a Draft risk profile version to Active status, making it available for binding to policy evaluation runs. Records the activating actor and timestamps the transition for the lifecycle audit log.

PropertyValue
Operation IDActivateRiskProfile
TagsRisk Profiles
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
profileIdpathyes
versionpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/profiles/{profileId}/versions/{version}:archive

Archive a risk profile, removing it from active use.

Transition a risk profile version to Archived status, permanently removing it from active evaluation use while preserving the definition and lifecycle record for historical audit queries.

PropertyValue
Operation IDArchiveRiskProfile
TagsRisk Profiles
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
profileIdpathyes
versionpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/profiles/{profileId}/versions/{version}:deprecate

Deprecate an active risk profile.

Mark an active risk profile version as Deprecated, optionally specifying a successor version and a human-readable reason. Deprecated profiles remain queryable for audit but are excluded from new evaluation bindings.

PropertyValue
Operation IDDeprecateRiskProfile
TagsRisk Profiles
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
profileIdpathyes
versionpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/schema/validate

Validate a risk profile document against the schema.

Validate a submitted risk profile JSON document against the canonical schema, returning a structured list of validation issues including the instance path, error keyword, and human-readable message for each violation. Used by editors and CI pipelines to pre-flight profile authoring before submission.

PropertyValue
Operation IDValidateRiskProfile
TagsSchema Validation
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/risk/scopes/attachments

List scope attachments with optional filtering.

List risk profile scope attachments with optional filtering by scope type, scope ID, profile ID, and expiry status. Supports pagination via the limit parameter. Used by the console and scope resolution pipeline to discover active bindings.

PropertyValue
Operation IDListScopeAttachments
TagsRisk Profile Scopes
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
includeExpiredqueryyes
limitqueryyes
profileIdqueryno
scopeIdqueryno
scopeTypequeryno

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/scopes/attachments

Attach a risk profile to a scope (organization, project, environment, or component).

Create a scope attachment that binds a risk profile to a specific organizational scope (organization, project, environment, or component), optionally with an expiry time. The attached profile is used for policy evaluation within that scope during the attachment’s active lifetime.

PropertyValue
Operation IDCreateScopeAttachment
TagsRisk Profile Scopes
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
201Createdapplication/json

GET /api/risk/scopes/attachments/{attachmentId}

Get a scope attachment by ID.

Retrieve the details of a specific scope attachment by its identifier, including the bound risk profile, target scope type and ID, and the attachment’s active and expiry timestamps.

PropertyValue
Operation IDGetScopeAttachment
TagsRisk Profile Scopes
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
attachmentIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

DELETE /api/risk/scopes/attachments/{attachmentId}

Delete a scope attachment.

Permanently remove a risk profile scope attachment by its identifier. The associated risk profile will no longer be applied to evaluations within the previously bound scope after deletion.

PropertyValue
Operation IDDeleteScopeAttachment
TagsRisk Profile Scopes
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
attachmentIdpathyes

Responses:

StatusDescriptionContent types
204No Content-

POST /api/risk/scopes/attachments/{attachmentId}:expire

Expire a scope attachment immediately.

Immediately expire a risk profile scope attachment, recording the expiry actor and timestamp without deleting the attachment record. Expired attachments are excluded from scope resolution but remain queryable for audit purposes.

PropertyValue
Operation IDExpireScopeAttachment
TagsRisk Profile Scopes
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
attachmentIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/scopes/resolve

Resolve the effective risk profile for a given scope selector.

Resolve the highest-priority active risk profile attachment for a given scope selector, walking the scope hierarchy (component -> environment -> project -> organization) until an active attachment is found. Used by the evaluation pipeline to determine which profile governs a specific component.

PropertyValue
Operation IDResolveScope
TagsRisk Profile Scopes
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/risk/scopes/{scopeType}/{scopeId}/attachments

Get all attachments for a specific scope.

Retrieve all risk profile attachments bound to a specific scope identified by type and ID, including both active and expired attachments, for use in scope management UIs and audit reviews.

PropertyValue
Operation IDGetScopeAttachments
TagsRisk Profile Scopes
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
scopeIdpathyes
scopeTypepathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/simulation

Run a risk simulation with score distributions and contribution breakdowns.

Evaluate a set of advisory findings against a specified risk profile, returning per-finding normalized scores, severity assignments, recommended actions, aggregate metrics, and an optional score distribution histogram. Used by policy authors and CI pipelines to validate risk posture against a profile.

PropertyValue
Operation IDRunRiskSimulation
TagsRisk Simulation
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/simulation/compare

Compare risk scoring between two profile configurations.

Simulate the same set of findings against two different risk profiles and compute delta metrics showing how mean score, median score, and severity distribution counts differ between the baseline and comparison profiles. Used by policy authors to evaluate the impact of profile changes before promoting.

PropertyValue
Operation IDCompareProfileSimulations
TagsRisk Simulation
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/simulation/quick

Run a quick risk simulation without detailed breakdowns.

Run a lightweight risk simulation returning only aggregate metrics and score distribution without per-finding contribution details. Optimized for high-frequency calls where summary statistics are sufficient and per-finding breakdown overhead is not justified.

PropertyValue
Operation IDRunQuickRiskSimulation
TagsRisk Simulation
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/simulation/studio/analyze

Run a detailed analysis for Policy Studio with full breakdown analytics.

Provides comprehensive breakdown including signal analysis, override tracking, score distributions, and component breakdowns for policy authoring.

PropertyValue
Operation IDRunPolicyStudioAnalysis
TagsRisk Simulation
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/simulation/studio/compare

Compare profiles with full breakdown analytics and trend analysis.

Compare two risk profiles using full breakdown analytics, returning per-signal contribution deltas, override tracking, and severity distribution shifts between baseline and comparison. Used by Policy Studio to render side-by-side profile comparison views with detailed analytical overlays.

PropertyValue
Operation IDCompareProfilesWithBreakdown
TagsRisk Simulation
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/simulation/studio/preview

Preview impact of profile changes before committing.

Simulates findings against both current and proposed profile to show impact.

PropertyValue
Operation IDPreviewProfileChanges
TagsRisk Simulation
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/risk/simulation/whatif

Run a what-if simulation with hypothetical signal changes.

Run a baseline simulation and then re-run with hypothetical signal value overrides applied to specified findings, returning both results and an impact summary counting improved, worsened, and unchanged findings. Supports pre-remediation planning and remediation impact assessment.

PropertyValue
Operation IDRunWhatIfSimulation
TagsRisk Simulation
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/v1/advisory-sources/{sourceId}/conflicts

Get active/resolved advisory conflicts for a source.

PropertyValue
Operation IDGetAdvisorySourceConflicts
TagsAdvisory Sources
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
sourceIdpathyes
limitqueryno
offsetqueryno
statusqueryno

Responses:

StatusDescriptionContent types
200OKapplication/json
400Bad Requestapplication/json

GET /api/v1/advisory-sources/{sourceId}/impact

Get policy impact facts for an advisory source.

PropertyValue
Operation IDGetAdvisorySourceImpact
TagsAdvisory Sources
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
sourceIdpathyes
environmentqueryno
regionqueryno
sourceFamilyqueryno

Responses:

StatusDescriptionContent types
200OKapplication/json
400Bad Requestapplication/json

GET /api/v1/airgap/bundles

List all policy pack bundles registered for a tenant, including their import status, source metadata, and processing timestamps, for use by air-gap operation consoles monitoring bundle delivery pipelines.

PropertyValue
Operation IDAirGap.ListBundles
TagsPolicyPackBundleEndpoints
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/airgap/bundles

Register a policy pack bundle for air-gap import, validating the bundle structure and enforcing sealed-mode preconditions. Returns 412 Precondition Failed when sealed-mode blocks the import and 403 Forbidden when the bundle origin is not trusted.

PropertyValue
Operation IDAirGap.RegisterBundle
TagsPolicyPackBundleEndpoints
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
400Bad Requestapplication/problem+json
403Forbiddenapplication/problem+json
412Precondition Failedapplication/problem+json

GET /api/v1/airgap/bundles/{bundleId}

Retrieve the import status of a registered policy pack bundle by its import ID, including processing state, any validation errors, and metadata extracted from the bundle manifest.

PropertyValue
Operation IDAirGap.GetBundleStatus
TagsPolicyPackBundleEndpoints
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
bundleIdpathyes

Responses:

StatusDescriptionContent types
404Not Foundapplication/problem+json

POST /api/v1/airgap/risk-profiles/export

Export risk profiles as an air-gap compatible bundle with signatures.

Export one or more risk profiles into an air-gap compatible bundle format with optional cryptographic signing and Merkle tree integrity protection, ready for transfer to a disconnected environment per CONTRACT-MIRROR-BUNDLE-003.

PropertyValue
Operation IDAirGap.ExportRiskProfiles
TagsAir-Gap Risk Profiles
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json
400Bad Requestapplication/json

POST /api/v1/airgap/risk-profiles/export/download

Export and download risk profiles as an air-gap compatible JSON file.

Export risk profiles into an air-gap bundle and return it as a downloadable JSON file attachment, enabling operators to transfer profiles to offline environments without additional tooling beyond a standard HTTP client.

PropertyValue
Operation IDAirGap.DownloadRiskProfileBundle
TagsAir-Gap Risk Profiles
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/v1/airgap/risk-profiles/import

Import risk profiles from an air-gap bundle with sealed-mode enforcement.

Import risk profiles from an air-gap bundle with configurable signature verification, Merkle integrity checking, and sealed-mode enforcement. Returns 412 Precondition Failed when sealed-mode prevents the import, and records the import attempt for the air-gap audit log.

PropertyValue
Operation IDAirGap.ImportRiskProfiles
TagsAir-Gap Risk Profiles
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
X-Tenant-Idheaderno

Responses:

StatusDescriptionContent types
200OKapplication/json
400Bad Requestapplication/json
403Forbiddenapplication/json
412Precondition Failedapplication/json

POST /api/v1/airgap/risk-profiles/verify

Verify the integrity of an air-gap bundle without importing.

Verify the cryptographic signature and Merkle tree integrity of an air-gap risk profile bundle without performing an import, enabling pre-flight validation before committing to the import operation in sealed environments.

PropertyValue
Operation IDAirGap.VerifyRiskProfileBundle
TagsAir-Gap Risk Profiles
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/v1/attestor/policies

List verification policies

List all registered attestation verification policies, optionally filtered by tenant scope. Used by the attestor service and policy console to discover available verification constraints for each tenant context.

PropertyValue
Operation IDAttestor.ListPolicies
TagsVerification Policies
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
tenantScopequeryno

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/v1/attestor/policies

Create a new verification policy

Create a new attestation verification policy specifying accepted predicate types, signer requirements, validity windows, and tenant scope. Returns the created policy record with its assigned identifier for use in attestation verification workflows.

PropertyValue
Operation IDAttestor.CreatePolicy
TagsVerification Policies
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
201Createdapplication/json

POST /api/v1/attestor/policies/editor/clone

Clone a verification policy

Create a new verification policy by cloning an existing policy, preserving the source definition while assigning a new identifier and optionally overriding the version string. Useful for creating policy variants without manual duplication.

PropertyValue
Operation IDAttestor.ClonePolicy
TagsVerification Policy Editor
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
201Createdapplication/json

POST /api/v1/attestor/policies/editor/compare

Compare two verification policies

Compute a field-level diff between two verification policies, listing added, removed, and modified predicate types, signer requirements, key fingerprints, and validity window settings. Used by the policy editor and review workflows to highlight changes before promotion.

PropertyValue
Operation IDAttestor.ComparePolicies
TagsVerification Policy Editor
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/v1/attestor/policies/editor/metadata

Get editor metadata for verification policy forms

Retrieve static metadata used to populate verification policy editor forms, including available predicate types, signer algorithm options, and validation rule documentation. Used by the UI to render dynamic form fields without hardcoding policy schema knowledge.

PropertyValue
Operation IDAttestor.GetEditorMetadata
TagsVerification Policy Editor
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/v1/attestor/policies/editor/validate

Validate a verification policy without persisting

Validate a verification policy definition against all structural and semantic rules without persisting it to the store. Returns errors, warnings, and authoring suggestions so policy authors can correct issues in the editor before saving.

PropertyValue
Operation IDAttestor.ValidatePolicy
TagsVerification Policy Editor
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/v1/attestor/policies/editor/{policyId}

Get a verification policy with editor metadata

Retrieve a verification policy combined with its current validation state, authoring suggestions, and editor permissions (such as whether the policy can be deleted). Used by the UI editor to render the policy form in its current persisted state.

PropertyValue
Operation IDAttestor.GetPolicyEditorView
TagsVerification Policy Editor
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
policyIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/v1/attestor/policies/{policyId}

Get a verification policy by ID

Retrieve a specific attestation verification policy by its identifier, returning the full policy definition including predicate type filters, signer requirements, and validity window configuration.

PropertyValue
Operation IDAttestor.GetPolicy
TagsVerification Policies
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
policyIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

PUT /api/v1/attestor/policies/{policyId}

Update a verification policy

Update the mutable fields of an existing attestation verification policy, including predicate types, signer requirements, validity window, and custom metadata. Preserves the policy identifier and creation timestamp while updating the modification timestamp.

PropertyValue
Operation IDAttestor.UpdatePolicy
TagsVerification Policies
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
policyIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

DELETE /api/v1/attestor/policies/{policyId}

Delete a verification policy

Permanently remove an attestation verification policy by identifier. Deleted policies are no longer applied in verification runs; existing attestation records that referenced this policy are not retroactively affected.

PropertyValue
Operation IDAttestor.DeletePolicy
TagsVerification Policies
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
policyIdpathyes

Responses:

StatusDescriptionContent types
204No Content-

DELETE /api/v1/attestor/reports/expired

Purge expired attestation reports

Remove all attestation reports that have exceeded their configured time-to-live from the report store. Returns the count of purged records; intended for scheduled maintenance to bound storage growth over time.

PropertyValue
Operation IDAttestor.PurgeExpired
TagsAttestation Reports
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/v1/attestor/reports/query

Query attestation reports

Query the attestation report store with flexible filters including artifact digests, URI patterns, policy IDs, predicate types, status, and time range. Supports paginated retrieval of report summaries or full detail records for audit and compliance review.

PropertyValue
Operation IDAttestor.ListReports
TagsAttestation Reports
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/v1/attestor/reports/statistics

Get aggregated attestation statistics

Retrieve aggregated attestation statistics across the report store, including pass/fail counts per policy and predicate type, optionally filtered by time range. Used by the console dashboard to render attestation health metrics.

PropertyValue
Operation IDAttestor.GetStatistics
TagsAttestation Reports
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
fromTimequeryno
policyIdsqueryno
predicateTypesqueryno
statusqueryno
toTimequeryno

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/v1/attestor/reports/store

Store an attestation report

Persist a pre-computed attestation report into the report store with an optional time-to-live, making it available for subsequent retrieval and statistics aggregation. Used by the attestor pipeline after completing artifact verification.

PropertyValue
Operation IDAttestor.StoreReport
TagsAttestation Reports
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
201Createdapplication/json

POST /api/v1/attestor/reports/verify

Generate attestation report for an artifact

Generate a fresh attestation verification report for an artifact by evaluating its attestations against all applicable verification policies. Returns pass/fail status per policy, signer details, and any validation errors encountered during verification.

PropertyValue
Operation IDAttestor.VerifyArtifact
TagsAttestation Reports
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/v1/attestor/reports/{artifactDigest}

Get attestation report for an artifact

Retrieve the stored attestation report for a specific artifact identified by its digest, including verification status against applicable policies, predicate types present, and signer identity records.

PropertyValue
Operation IDAttestor.GetReport
TagsAttestation Reports
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
artifactDigestpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/v1/authority/effective-policies

List effective policies with optional filtering.

List effective policy bindings with optional filtering by tenant, policy ID, enabled-only flag, and expiry inclusion. Returns bindings in priority order, used by the resolution engine and console to display active policy governance assignments.

PropertyValue
Operation IDListEffectivePolicies
TagsEffective Policies
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
enabledOnlyqueryyes
includeExpiredqueryyes
limitqueryyes
policyIdqueryno

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/v1/authority/effective-policies

Create a new effective policy with subject pattern and priority.

Create a new effective policy binding that associates a policy pack revision with a subject pattern and priority rank, controlling which policy governs releases for matching subjects. Changes are audited per CONTRACT-AUTHORITY-EFFECTIVE-WRITE-008.

PropertyValue
Operation IDCreateEffectivePolicy
TagsEffective Policies
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
201Createdapplication/json

GET /api/v1/authority/effective-policies/{effectivePolicyId}

Get an effective policy by ID.

Retrieve a specific effective policy binding by its identifier, including the subject pattern, priority, pack reference, and any scope attachments that further restrict the policy’s applicability.

PropertyValue
Operation IDGetEffectivePolicy
TagsEffective Policies
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
effectivePolicyIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

PUT /api/v1/authority/effective-policies/{effectivePolicyId}

Update an effective policy’s priority, expiration, or scopes.

Update the mutable fields of an effective policy binding, including priority, expiration date, and scope constraints, without changing the subject pattern or pack reference. All changes are audited per CONTRACT-AUTHORITY-EFFECTIVE-WRITE-008.

PropertyValue
Operation IDUpdateEffectivePolicy
TagsEffective Policies
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
effectivePolicyIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

DELETE /api/v1/authority/effective-policies/{effectivePolicyId}

Delete an effective policy.

Remove an effective policy binding by identifier, stopping the associated policy from governing matching subjects. The deletion is audited and the binding identifier cannot be reused.

PropertyValue
Operation IDDeleteEffectivePolicy
TagsEffective Policies
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
effectivePolicyIdpathyes

Responses:

StatusDescriptionContent types
204No Content-

GET /api/v1/authority/resolve

Resolve the effective policy for a subject.

Resolve the highest-priority enabled effective policy that governs a given subject string, respecting tenant scoping and priority ordering. Returns the resolved policy binding with the matching pack reference, used by the gate and evaluation pipeline at decision time.

PropertyValue
Operation IDResolveEffectivePolicy
TagsPolicy Resolution
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
subjectqueryyes

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/v1/authority/scope-attachments

Attach an authorization scope to an effective policy.

Attach an authorization scope restriction to an effective policy, narrowing its applicability to requests carrying the specified scope claim. Audited per CONTRACT-AUTHORITY-EFFECTIVE-WRITE-008.

PropertyValue
Operation IDAttachAuthorityScope
TagsAuthority Scope Attachments
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
201Createdapplication/json

GET /api/v1/authority/scope-attachments/policy/{effectivePolicyId}

Get all scope attachments for an effective policy.

Retrieve all authorization scope restriction attachments for a specific effective policy, showing which scope claims are required for the policy to apply in each binding context.

PropertyValue
Operation IDGetPolicyScopeAttachments
TagsAuthority Scope Attachments
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
effectivePolicyIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

DELETE /api/v1/authority/scope-attachments/{attachmentId}

Detach an authorization scope.

Remove a scope restriction attachment from an effective policy, allowing the policy to apply to a broader set of authorization scopes. Audited per CONTRACT-AUTHORITY-EFFECTIVE-WRITE-008.

PropertyValue
Operation IDDetachAuthorityScope
TagsAuthority Scope Attachments
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
attachmentIdpathyes

Responses:

StatusDescriptionContent types
204No Content-

GET /api/v1/buildinfo

API alias for /buildinfo.json (same payload).

PropertyValue
Operation IDStellaOpsBuildInfoApi
TagsStellaOps.Policy.Engine
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/export/bundles/{bundleId}

Retrieve the manifest of a completed export bundle including its format, content type, size, and creation timestamp, enabling clients to inspect bundle metadata before initiating a download.

PropertyValue
Operation IDExport.GetBundle
TagsConsoleExportEndpoints
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
bundleIdpathyes

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/export/bundles/{bundleId}/download

Download the content of a completed export bundle as a file attachment, with the appropriate content type (JSON or NDJSON) and a timestamped filename. Used by operators to retrieve export data for offline processing or air-gap transfer.

PropertyValue
Operation IDExport.DownloadBundle
TagsConsoleExportEndpoints
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
bundleIdpathyes

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/export/jobs

List console export jobs for the tenant, returning job configuration summaries, current status, and last execution timestamps to support export management dashboards and automation pipelines.

PropertyValue
Operation IDExport.ListJobs
TagsConsoleExportEndpoints
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/export/jobs

Create a new console export job defining the data scope, destination, format, and optional schedule. The job is created in a pending state and can be triggered immediately or executed on the configured schedule.

PropertyValue
Operation IDExport.CreateJob
TagsConsoleExportEndpoints
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/export/jobs/{jobId}

Retrieve the full configuration and current status of a specific console export job by its identifier, including destination settings, schedule, and format parameters.

PropertyValue
Operation IDExport.GetJob
TagsConsoleExportEndpoints
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
jobIdpathyes

Responses:

StatusDescriptionContent types
200OK-

PUT /api/v1/export/jobs/{jobId}

Update the configuration of an existing console export job, allowing changes to destination, schedule, or format settings while preserving the job’s execution history.

PropertyValue
Operation IDExport.UpdateJob
TagsConsoleExportEndpoints
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
jobIdpathyes

Responses:

StatusDescriptionContent types
200OK-

DELETE /api/v1/export/jobs/{jobId}

Permanently delete a console export job and release any associated resources. Scheduled future executions will be cancelled; completed execution records and bundles are retained until their configured retention period expires.

PropertyValue
Operation IDExport.DeleteJob
TagsConsoleExportEndpoints
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
jobIdpathyes

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/export/jobs/{jobId}/executions/{executionId}

Retrieve the status and metadata of a specific export job execution, including start and end timestamps, byte count, destination path, and any error messages encountered during the export run.

PropertyValue
Operation IDExport.GetExecution
TagsConsoleExportEndpoints
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
executionIdpathyes
jobIdpathyes

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/export/jobs/{jobId}/run

Trigger an immediate execution of a console export job outside its normal schedule, returning an execution ID that can be polled for status. Useful for ad-hoc exports and manual retries after a previous execution failure.

PropertyValue
Operation IDExport.TriggerJob
TagsConsoleExportEndpoints
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
jobIdpathyes

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/gate/evaluate

Evaluate a score-based CI/CD release gate for a single security finding using the Evidence Weighted Score (EWS) formula. Computes a composite risk score from CVSS, EPSS, reachability, exploit maturity, patch proof, and VEX status inputs, applies the gate policy thresholds to produce a pass/warn/block action, signs the verdict bundle, and optionally anchors it to a Rekor transparency log. Returns HTTP 403 when the gate action is block.

PropertyValue
Operation IDEvaluateScoreGate
TagsScore Gates
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/gate/evaluate-batch

Batch evaluate score-based CI/CD gates for up to 500 findings in a single request using configurable parallelism. Applies the EWS formula to each finding, produces a per-finding action (pass/warn/block), and returns an aggregate summary with overall action, exit code, and optional per-finding verdict bundles. Supports fail-fast mode to stop processing on the first blocked finding.

PropertyValue
Operation IDEvaluateScoreGateBatch
TagsScore Gates
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/gate/health

Health check for the score-based gate evaluation service

PropertyValue
Operation IDScoreGateHealth
TagsScore Gates
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/gates/decisions/{decisionId}

Get a specific gate decision by ID

Retrieve full details of a specific gate decision by its UUID, including BOM reference, image digest, gate status, verdict hash, policy bundle ID and hash, CI/CD context, actor, blocking unknowns, and warnings.

PropertyValue
Operation IDGetGateDecisionById
TagsGates
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
decisionIdpathyes

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/gates/decisions/{decisionId}/export

Export gate decision in CI/CD format

Export a gate decision in JUnit XML, SARIF 2.1.0, or JSON format for integration with CI/CD pipelines. The JUnit format is compatible with Jenkins, GitHub Actions, and GitLab CI; SARIF is compatible with GitHub Code Scanning and VS Code; JSON provides the full structured decision for custom integrations.

PropertyValue
Operation IDExportGateDecision
TagsGates
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
decisionIdpathyes
formatqueryno

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/gates/{bomRef}

Get gate check result for a component

Retrieve the current unknowns state and gate decision for a BOM reference. Returns the aggregate state across all unknowns (resolved, pending, under_review, or escalated), per-unknown band and SLA details, and a cached gate decision. Results are cached for 30 seconds to reduce database load under CI/CD polling.

PropertyValue
Operation IDGetGateStatus
TagsGates
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
bomRefpathyes

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/gates/{bomRef}/check

Perform gate check for a component

Perform a fresh gate check for a BOM reference with an optional proposed VEX verdict. Returns a pass, warn, or block decision with the list of blocking unknown IDs and the reason for the decision. Returns HTTP 403 when the gate is blocked.

PropertyValue
Operation IDCheckGate
TagsGates
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
bomRefpathyes

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/gates/{bomRef}/exception

Request an exception to bypass the gate

Submit an exception request to bypass blocking unknowns for a BOM reference. Requires a justification and a list of unknown IDs to exempt. Returns an exception record with granted status, expiry, and optional denial reason when auto-approval is not available.

PropertyValue
Operation IDRequestGateException
TagsGates
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
bomRefpathyes

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/gates/{gateId}/decisions

Get historical gate decisions

Retrieve a paginated list of historical gate decisions for a gate identifier, with optional filtering by BOM reference, status, actor, and date range. Returns verdict hashes and policy bundle IDs for replay verification and compliance audit.

PropertyValue
Operation IDGetGateDecisionHistory
TagsGates
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
gateIdpathyes
actorqueryno
bom_refqueryno
continuation_tokenqueryno
from_datequeryno
limitqueryno
statusqueryno
to_datequeryno

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/governance/audit/events

Return governance audit events, sourced from Timeline’s unified audit store filtered to modules=policy.

PropertyValue
Operation IDGovernance.GetAuditEvents
TagsGovernance
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/governance/audit/events/{eventId}

Return a governance audit event by id, sourced from Timeline’s unified audit store.

PropertyValue
Operation IDGovernance.GetAuditEvent
TagsGovernance
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
eventIdpathyes

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/governance/conflicts

Returns 501 unless a durable conflict backend is registered. The runtime no longer serves process-local conflict rows.

PropertyValue
Operation ID-
TagsGovernance Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/governance/conflicts/analyze

Returns 501 unless a durable conflict analysis backend is registered. The runtime no longer simulates conflict analysis.

PropertyValue
Operation ID-
TagsGovernance Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/governance/conflicts/dashboard

Returns 501 unless a durable conflict dashboard backend is registered. The runtime no longer emits synthetic conflict metrics.

PropertyValue
Operation ID-
TagsGovernance Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/governance/conflicts/{conflictId}/acknowledge

Returns 501 unless a durable conflict acknowledgement backend is registered. The runtime no longer records process-local acknowledgements.

PropertyValue
Operation ID-
TagsGovernance Compatibility
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
conflictIdpathyes

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/governance/conflicts/{conflictId}/ignore

Returns 501 unless a durable conflict backend is registered. The runtime no longer mutates process-local conflict rows.

PropertyValue
Operation ID-
TagsGovernance Compatibility
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
conflictIdpathyes

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/governance/conflicts/{conflictId}/resolve

Returns 501 unless a durable conflict backend is registered. The runtime no longer mutates process-local conflict rows.

PropertyValue
Operation ID-
TagsGovernance Compatibility
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
conflictIdpathyes

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/governance/risk-budget/dashboard

Return risk-budget dashboard data when a durable backend exists. This runtime currently returns 501 instead of emitting synthetic dashboard cards.

PropertyValue
Operation IDGovernance.GetRiskBudgetDashboard
TagsGovernance
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/governance/risk-profiles

List configured risk profiles that are truthfully available in the current runtime. Only read-only configuration-backed profiles are exposed here.

PropertyValue
Operation IDGovernance.ListRiskProfiles
TagsGovernance
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
statusqueryno
tenantIdqueryno

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/governance/risk-profiles

Create a risk profile when a durable lifecycle backend exists. This runtime currently returns 501 instead of writing process-local profile state.

PropertyValue
Operation IDGovernance.CreateRiskProfile
TagsGovernance
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/governance/risk-profiles/validate

Validate a candidate risk profile payload without persisting it. This path is stateless and does not depend on in-memory profile storage.

PropertyValue
Operation IDGovernance.ValidateRiskProfile
TagsGovernance
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/governance/risk-profiles/{profileId}

Retrieve a configured risk profile by identifier from the real Policy runtime configuration surface.

PropertyValue
Operation IDGovernance.GetRiskProfile
TagsGovernance
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
profileIdpathyes

Responses:

StatusDescriptionContent types
200OK-

PUT /api/v1/governance/risk-profiles/{profileId}

Update a risk profile when a durable lifecycle backend exists. This runtime currently returns 501 instead of mutating process-local profile state.

PropertyValue
Operation IDGovernance.UpdateRiskProfile
TagsGovernance
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
profileIdpathyes

Responses:

StatusDescriptionContent types
200OK-

DELETE /api/v1/governance/risk-profiles/{profileId}

Delete a risk profile when a durable lifecycle backend exists. This runtime currently returns 501 instead of deleting process-local profile state.

PropertyValue
Operation IDGovernance.DeleteRiskProfile
TagsGovernance
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
profileIdpathyes

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/governance/risk-profiles/{profileId}/activate

Activate a risk profile when a durable lifecycle backend exists. This runtime currently returns 501 instead of fabricating activation state.

PropertyValue
Operation IDGovernance.ActivateRiskProfile
TagsGovernance
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
profileIdpathyes

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/governance/risk-profiles/{profileId}/deprecate

Deprecate a risk profile when a durable lifecycle backend exists. This runtime currently returns 501 instead of fabricating lifecycle history.

PropertyValue
Operation IDGovernance.DeprecateRiskProfile
TagsGovernance
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
profileIdpathyes

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/governance/sealed-mode/overrides

Return active sealed-mode overrides when a durable override backend exists. This runtime currently returns 501 instead of inventing process-local override state.

PropertyValue
Operation IDGovernance.GetSealedModeOverrides
TagsGovernance
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
tenantIdqueryno

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/governance/sealed-mode/overrides

Create a sealed-mode override when a durable override backend exists. This runtime currently returns 501 instead of persisting fictional override grants.

PropertyValue
Operation IDGovernance.CreateSealedModeOverride
TagsGovernance
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/governance/sealed-mode/overrides/{overrideId}/revoke

Revoke a sealed-mode override when a durable override backend exists. This runtime currently returns 501 instead of mutating process-local state.

PropertyValue
Operation IDGovernance.RevokeSealedModeOverride
TagsGovernance
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
overrideIdpathyes

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/governance/sealed-mode/status

Retrieve the current sealed-mode status from the real Policy air-gap service. This compatibility projection is tenant-scoped and never fabricates process-local override state.

PropertyValue
Operation IDGovernance.GetSealedModeStatus
TagsGovernance
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
tenantIdqueryno

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/governance/sealed-mode/toggle

Enable or disable sealed mode through the real Policy air-gap service. Compatibility-only metadata fields are accepted for forward compatibility but are not persisted by this runtime.

PropertyValue
Operation IDGovernance.ToggleSealedMode
TagsGovernance
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/governance/staleness/config

Returns 501 unless a durable staleness configuration backend is registered. The runtime no longer fabricates process-local staleness policy.

PropertyValue
Operation ID-
TagsGovernance Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

PUT /api/v1/governance/staleness/config/{dataType}

Returns 501 unless a durable staleness configuration backend is registered. The runtime no longer mutates process-local staleness policy.

PropertyValue
Operation ID-
TagsGovernance Compatibility
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
dataTypepathyes

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/governance/staleness/status

Returns 501 unless a durable staleness status backend is registered. The runtime no longer emits synthetic staleness cards.

PropertyValue
Operation ID-
TagsGovernance Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/governance/trust-weights

Returns 501 unless a durable trust-weight backend is registered. The runtime no longer fabricates process-local trust weights.

PropertyValue
Operation ID-
TagsGovernance Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/governance/trust-weights/preview-impact

Returns 501 unless a durable trust-weight backend is registered. The runtime no longer emits synthetic preview data.

PropertyValue
Operation ID-
TagsGovernance Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

PUT /api/v1/governance/trust-weights/{weightId}

Returns 501 unless a durable trust-weight backend is registered. The runtime no longer mutates process-local trust weights.

PropertyValue
Operation ID-
TagsGovernance Compatibility
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
weightIdpathyes

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/policy/assistant/tools/evaluate

Evaluate assistant tool access using the tool lattice rules.

PropertyValue
Operation IDEvaluateToolAccess
TagsAssistant Tools
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/policy/exception/pending

List exception approval requests that are currently pending and require action from the authenticated approver. Used to drive approver inbox views and notification counts, returning only requests where the calling user is listed as a required approver and has not yet recorded an approval.

PropertyValue
Operation IDListPendingApprovals
TagsException Approvals
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
limitqueryno

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/policy/exception/request

Create a new exception approval request for a vulnerability, policy rule, PURL pattern, or artifact digest. Validates the requested TTL against the gate-level maximum, enforces approval rules for the gate level, and optionally auto-approves low-risk requests that meet the configured criteria. The request enters the pending state and is routed to configured approvers.

PropertyValue
Operation IDCreateExceptionApprovalRequest
TagsException Approvals
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/policy/exception/request/{requestId}

Retrieve the full details of a specific exception approval request by its request ID, including status, gate level, approval progress (approved count vs required count), scope, lifecycle timestamps, and any validation warnings from the creation step.

PropertyValue
Operation IDGetExceptionApprovalRequest
TagsException Approvals
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
requestIdpathyes

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/policy/exception/requests

List exception approval requests for the tenant with optional status filtering and pagination. Returns summary DTOs with request ID, status, gate level, requester, vulnerability or PURL scope, reason code, and approval progress. Used by governance dashboards and approval queue UIs.

PropertyValue
Operation IDListExceptionApprovalRequests
TagsException Approvals
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
limitqueryno
offsetqueryno
statusqueryno

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/policy/exception/rules

Retrieve the exception approval rules configured for the tenant, including per-gate-level minimum approver counts, required approver roles, maximum TTL days, self-approval policy, and evidence and compensating-control requirements. Used by policy authoring tools to display approval requirements to requestors before submission.

PropertyValue
Operation IDGetExceptionApprovalRules
TagsException Approvals
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/policy/exception/{requestId}/approve

Record an approval action for a pending exception request. Validates that the approver is authorized at the request’s gate level, records the approver’s identity, and optionally captures a comment. When sufficient approvers have acted, the request transitions to the approved state and the approval workflow is considered complete.

PropertyValue
Operation IDApproveExceptionRequest
TagsException Approvals
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
requestIdpathyes

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/policy/exception/{requestId}/audit

Retrieve the ordered audit trail for an exception approval request, returning all recorded lifecycle events with sequence numbers, actor IDs, status transitions, and descriptive entries. Used for compliance reporting and post-incident review of the approval workflow.

PropertyValue
Operation IDGetExceptionApprovalAudit
TagsException Approvals
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
requestIdpathyes

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/policy/exception/{requestId}/cancel

Cancel an open exception approval request, accessible only to the original requester. Enforces ownership by comparing the authenticated actor against the stored requestor ID. Returns HTTP 403 when called by a non-owner and HTTP 400 when the request is already in a terminal state.

PropertyValue
Operation IDCancelExceptionRequest
TagsException Approvals
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
requestIdpathyes

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/policy/exception/{requestId}/reject

Reject a pending or partially-approved exception request, providing a mandatory reason that is recorded in the audit trail. Transitions the request to the rejected terminal state, preventing further approval actions. The rejection reason is surfaced to the requester for remediation guidance.

PropertyValue
Operation IDRejectExceptionRequest
TagsException Approvals
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
requestIdpathyes

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/policy/gate/decision/{decisionId}

Retrieve a previously cached gate evaluation decision by its decision ID. Gate decisions are retained in memory for 30 minutes after evaluation, after which this endpoint returns HTTP 404. Used by CI/CD pipelines to poll for results when the evaluation was triggered asynchronously via a registry webhook.

PropertyValue
Operation IDGetGateDecision
TagsGates
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
decisionIdpathyes

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/policy/gate/evaluate

Evaluate the CI/CD release gate for a container image by comparing it against a baseline snapshot. Resolves the baseline using a configurable strategy (last-approved, previous-build, production-deployed, or branch-base), computes the security state delta, runs gate rules against the delta context, and returns a pass/warn/block decision with exit codes. If an override justification is supplied on a non-blocking verdict, a bypass audit record is created. Returns HTTP 403 when the gate blocks the release.

PropertyValue
Operation IDEvaluateGate
TagsGates
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/policy/gate/health

Health check for the gate evaluation service

PropertyValue
Operation IDGateHealth
TagsGates
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/policy/gate/jobs/{jobId}

Returns the persisted scheduler-backed status for an async registry webhook gate evaluation job.

PropertyValue
Operation IDGetGateJobStatus
TagsGates
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
jobIdpathyes

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/policy/lint/analyze

Analyze a single policy source file for determinism violations including wall-clock access, random number generation, network or filesystem calls in evaluation paths, and unstable iteration patterns. Returns per-violation details with rule ID, category, severity, and remediation guidance.

PropertyValue
Operation IDPolicy.Lint.Analyze
TagsPolicyLintEndpoints
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/policy/lint/analyze-batch

Analyze multiple policy source files in a single request for determinism violations, aggregating results across all files. Used by CI pipelines to lint an entire policy bundle before compilation or deployment.

PropertyValue
Operation IDPolicy.Lint.AnalyzeBatch
TagsPolicyLintEndpoints
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/policy/lint/rules

List all available determinism lint rules with their rule IDs, categories (WallClock, RandomNumber, NetworkAccess, etc.), default severities, and recommended remediations. Used by policy authoring tools to display inline guidance and severity thresholds to developers.

PropertyValue
Operation IDPolicy.Lint.GetRules
TagsPolicyLintEndpoints
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /api/v1/webhooks/registry/docker

Handle Docker Registry v2 webhook events

Receive Docker Registry v2 notification events and enqueue a gate evaluation job for each push event that includes a valid image digest. Returns 202 only when a scheduler-backed async queue is available; otherwise returns 501 to indicate the runtime cannot truthfully accept deferred gate evaluation.

PropertyValue
Operation IDDockerRegistryWebhook
TagsRegistry Webhooks
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
202Acceptedapplication/json

POST /api/v1/webhooks/registry/generic

Handle generic registry webhook events with image digest

Receive a generic registry webhook payload containing an image digest and enqueue a single gate evaluation job. Supports any registry that can POST a JSON body with imageDigest, repository, tag, and optional baselineRef fields. Returns 501 when the runtime lacks a scheduler-backed async queue.

PropertyValue
Operation IDGenericRegistryWebhook
TagsRegistry Webhooks
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
202Acceptedapplication/json

POST /api/v1/webhooks/registry/harbor

Handle Harbor registry webhook events

Receive Harbor registry webhook events and enqueue a gate evaluation job for each PUSH_ARTIFACT or pushImage event that contains a resource with a valid digest. Non-push event types are silently acknowledged without queuing any jobs. Push events return 501 when the runtime lacks a scheduler-backed async queue.

PropertyValue
Operation IDHarborWebhook
TagsRegistry Webhooks
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
202Acceptedapplication/json

GET /buildinfo.json

Image build provenance (module, gitSha, gitCommitTime, imageBuiltAt, branch) for drift detection.

PropertyValue
Operation IDStellaOpsBuildInfoFile
TagsStellaOps.Policy.Engine
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /evidence/summary

Aggregate and summarize evidence signals for a set of advisory sources, returning per-source severity counts, conflict indicators, and overall trust posture. Used by the policy console and audit reporting to provide human-readable evidence context alongside raw policy decisions.

PropertyValue
Operation IDPolicyEngine.EvidenceSummary
TagsEvidenceSummaryEndpoint
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

GET /policy/advisory-ai/knobs

Retrieve the current advisory AI tuning knobs that control hallucination suppression thresholds, confidence floors, and source-trust decay parameters used during AI-assisted advisory enrichment.

PropertyValue
Operation IDPolicyEngine.AdvisoryAI.Knobs.Get
TagsAdvisoryAiKnobsEndpoint
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

PUT /policy/advisory-ai/knobs

Update advisory AI tuning knobs to adjust how the AI enrichment layer weights and filters advisory signals. Changes take effect immediately for subsequent advisory processing cycles.

PropertyValue
Operation IDPolicyEngine.AdvisoryAI.Knobs.Put
TagsAdvisoryAiKnobsEndpoint
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

GET /policy/audit

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /policy/batch-evaluations

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /policy/batch-evaluations

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /policy/batch-evaluations/{batchId}

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /policy/batch-evaluations/{batchId}/cancel

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /policy/batch/context

Create and cache a shared evaluation context for a batch of policy decisions. Reduces per-decision overhead by pre-loading tenant configuration, active policy bundles, and VEX index into a reusable context object referenced by subsequent batch calls.

PropertyValue
Operation IDPolicyEngine.BatchContext.Create
TagsBatchContextEndpoint
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

POST /policy/conflicts/auto-resolve

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /policy/conflicts/detect

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /policy/conflicts/{conflictId}/resolve

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /policy/console/attestation/dashboard

Get attestation dashboard for Console

Retrieve a pre-aggregated attestation health dashboard for the release console, including verification pass rates, recent failures, and trend indicators over the requested time range. Used to render the attestation overview panel without requiring separate query calls.

PropertyValue
Operation IDPolicyEngine.ConsoleAttestationDashboard
TagsConsole Attestation Reports
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json
400Bad Requestapplication/problem+json

GET /policy/console/attestation/report/{artifactDigest}

Get attestation report for a specific artifact

Retrieve the console-formatted attestation report for a single artifact by its digest, including per-policy verification results, predicate type coverage, and signer identity details formatted for display in the artifact detail panel.

PropertyValue
Operation IDPolicyEngine.ConsoleGetAttestationReport
TagsConsole Attestation Reports
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
artifactDigestpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json
404Not Found-

POST /policy/console/attestation/reports

Query attestation reports for Console

Query attestation reports for display in the release console, supporting pagination, time range filtering, and grouping by artifact, policy, or predicate type. Returns console-formatted report cards with status badges and signer summaries.

PropertyValue
Operation IDPolicyEngine.ConsoleAttestationReports
TagsConsole Attestation Reports
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json
400Bad Requestapplication/problem+json

POST /policy/console/simulations/diff

Compute a structured diff between two policy versions as they would apply to a given evaluation snapshot, highlighting verdict changes, rule transitions, and newly introduced or removed advisory signals. Used by the release console to preview the impact of a policy promotion before it is committed.

PropertyValue
Operation IDPolicyEngine.ConsoleSimulationDiff
TagsConsoleSimulationEndpoint
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json
400Bad Requestapplication/problem+json

POST /policy/decisions

Evaluate and retrieve policy decisions for one or more component snapshots, including source evidence summaries, top-severity advisory sources, and signal-conflict counts. Used by CI/CD pipelines and the release console to determine pass/fail/warn verdicts.

PropertyValue
Operation IDPolicyEngine.Decisions
TagsPolicyDecisionEndpoint
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

GET /policy/decisions/{snapshotId}

Retrieve previously computed policy decisions for a specific snapshot by its identifier, with optional filtering by tenant, component PURL, or advisory ID. Supports the compliance audit trail by allowing replay of recorded verdicts.

PropertyValue
Operation IDPolicyEngine.Decisions.BySnapshot
TagsPolicyDecisionEndpoint
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
snapshotIdpathyes
advisoryIdqueryno
componentPurlqueryno
includeEvidencequeryno
maxSourcesqueryno

Responses:

StatusDescriptionContent types
200OK-

GET /policy/effective

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /policy/eval/batch

Batch-evaluate policy packs against advisory/VEX/SBOM tuples with deterministic ordering and cache-aware responses.

Evaluate a page of advisory/VEX/SBOM tuples against active policy packs, returning per-item verdicts with severity, rule name, confidence, and cache hit indicators. Supports cursor-based pagination and optional time budgets to bound evaluation latency in high-throughput CI/CD pipelines.

PropertyValue
Operation IDPolicyEngine.BatchEvaluate
TagsPolicy Evaluation
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /policy/exceptions

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /policy/exceptions

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /policy/exceptions/{exceptionId}

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

PATCH /policy/exceptions/{exceptionId}

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /policy/exceptions/{exceptionId}/revoke

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /policy/ledger/export

Initiate an export of the policy decision ledger for a given tenant and time range, producing a structured archive of verdict records, evidence hashes, and trust-weight snapshots suitable for compliance reporting and offline audit replay.

PropertyValue
Operation IDPolicyEngine.Ledger.Export
TagsLedgerExportEndpoint
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

GET /policy/ledger/export/{exportId}

Retrieve a completed ledger export package by its identifier, returning the serialized archive of policy decisions and their supporting evidence for download or ingestion into an external audit system.

PropertyValue
Operation IDPolicyEngine.Ledger.GetExport
TagsLedgerExportEndpoint
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
exportIdpathyes

Responses:

StatusDescriptionContent types
200OK-

POST /policy/merge/preview

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /policy/orchestrator/jobs

Submit a policy orchestrator job for asynchronous execution, scheduling evaluation of one or more component snapshots against active policy bundles. Returns a job record with a tracking identifier for subsequent status polling.

PropertyValue
Operation IDPolicyEngine.Orchestrator.Jobs.Submit
TagsOrchestratorJobEndpoint
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

POST /policy/orchestrator/jobs/preview

Preview the execution plan of a policy orchestrator job without actually submitting it for execution. Returns the resolved bundle set, scope bindings, and estimated evaluation cost so operators can validate intent before committing.

PropertyValue
Operation IDPolicyEngine.Orchestrator.Jobs.Preview
TagsOrchestratorJobEndpoint
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

GET /policy/orchestrator/jobs/{jobId}

Retrieve the current status and result of a previously submitted orchestrator job by its identifier, including verdict summaries, per-component outcomes, and any errors encountered during execution.

PropertyValue
Operation IDPolicyEngine.Orchestrator.Jobs.Get
TagsOrchestratorJobEndpoint
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
jobIdpathyes

Responses:

StatusDescriptionContent types
200OK-

GET /policy/packs/{policyPackId}/coverage

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /policy/packs/{policyPackId}/coverage/run

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /policy/packs/{policyPackId}/diff

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /policy/packs/{policyPackId}/lint

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /policy/packs/{policyPackId}/versions/{version}/coverage

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /policy/packs/{policyPackId}/versions/{version}/coverage/run

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /policy/packs/{policyPackId}/versions/{version}/lint

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /policy/packs/{policyPackId}/versions/{version}/promotion-gate

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /policy/packs/{policyPackId}/versions/{version}/promotion-gate/override

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /policy/shadow/config

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /policy/shadow/disable

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /policy/shadow/enable

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /policy/shadow/results

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /policy/simulations

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /policy/simulations

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /policy/simulations/compare

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /policy/simulations/history

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /policy/simulations/{simulationId}

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

PATCH /policy/simulations/{simulationId}

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /policy/simulations/{simulationId}/cancel

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /policy/simulations/{simulationId}/verify

PropertyValue
Operation ID-
TagsPolicy Simulation Compatibility
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /policy/snapshots

List persisted policy snapshots for a given tenant, returning snapshot identifiers, creation timestamps, and summary component counts for use in batch evaluation workflows.

PropertyValue
Operation IDPolicyEngine.Snapshots.List
TagsSnapshotEndpoint
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
tenant_idqueryno

Responses:

StatusDescriptionContent types
200OK-

POST /policy/snapshots

Create a new persisted policy evaluation snapshot from a component manifest, capturing the component graph, PURL set, and applicable advisory signals at a point in time for subsequent policy decision evaluation.

PropertyValue
Operation IDPolicyEngine.Snapshots.Create
TagsSnapshotEndpoint
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

GET /policy/snapshots/{snapshotId}

Retrieve a specific persisted policy evaluation snapshot by identifier, including its full component graph, resolved advisory signals, and any cached partial evaluation state.

PropertyValue
Operation IDPolicyEngine.Snapshots.Get
TagsSnapshotEndpoint
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
snapshotIdpathyes

Responses:

StatusDescriptionContent types
200OK-

GET /policy/trust-weighting

Retrieve the current active trust-weighting profile, including per-signal weight assignments and the profile hash used for deterministic scoring reproducibility.

PropertyValue
Operation IDPolicyEngine.TrustWeighting.Get
TagsTrustWeightingEndpoint
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

PUT /policy/trust-weighting

Replace the active trust-weighting profile with a new set of signal weights. The new weights take effect immediately for subsequent evaluations and trigger a profile hash rotation.

PropertyValue
Operation IDPolicyEngine.TrustWeighting.Put
TagsTrustWeightingEndpoint
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

GET /policy/trust-weighting/preview

Preview the current trust-weighting profile alongside an optional overlay hash to verify how a proposed overlay would interact with existing signal weights before applying.

PropertyValue
Operation IDPolicyEngine.TrustWeighting.Preview
TagsTrustWeightingEndpoint
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
overlay_hashqueryno

Responses:

StatusDescriptionContent types
200OK-

POST /policy/violations/conflicts

Emit violation events, run severity fusion, and then execute conflict detection for the target snapshot, returning a list of advisory signal conflicts where multiple sources disagree on severity or applicability.

PropertyValue
Operation IDPolicyEngine.Violations.Conflicts
TagsViolationEndpoint
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

POST /policy/violations/events

Emit one or more violation events for a snapshot, recording advisory hits and rule breaches into the durable violation runtime log. These events feed downstream severity fusion and conflict detection pipelines.

PropertyValue
Operation IDPolicyEngine.Violations.Events
TagsViolationEndpoint
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

POST /policy/violations/severity

Emit violation events and then run severity fusion for the target snapshot, producing a consolidated worst-case severity rating by merging across all recorded advisory signals and rule outcomes.

PropertyValue
Operation IDPolicyEngine.Violations.Severity
TagsViolationEndpoint
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

GET /policy/worker/jobs/{jobId}

Retrieve the stored result of a previously executed policy worker job, including per-rule verdicts, signal scores, and any advisory hits recorded during evaluation.

PropertyValue
Operation IDPolicyEngine.Worker.GetResult
TagsPolicyWorkerEndpoint
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
jobIdpathyes

Responses:

StatusDescriptionContent types
200OK-

POST /policy/worker/run

Trigger synchronous execution of a policy worker task, running the evaluation pipeline for a specified job against its resolved bundle and component snapshot. Returns the complete evaluation result upon completion.

PropertyValue
Operation IDPolicyEngine.Worker.Run
TagsPolicyWorkerEndpoint
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

GET /readyz

PropertyValue
Operation IDReadiness
TagsStellaOps.Policy.Engine
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /simulation/overlay

Simulate the effect of applying VEX/rule overlays to an existing policy evaluation without persisting any changes. Useful for pre-flight validation before committing overlay promotions.

PropertyValue
Operation IDPolicyEngine.OverlaySimulation
TagsOverlaySimulationEndpoint
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

POST /simulation/path-scope

Stream a what-if path-scope simulation showing how a change in call-graph reachability would alter policy verdicts. Returns NDJSON lines for each simulated path segment with optional deterministic trace output.

PropertyValue
Operation IDPolicyEngine.PathScopeSimulation
TagsPathScopeSimulationEndpoint
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

GET /system/airgap/notifications/channels

List all notification channels currently registered with the air-gap notification service, enabling operators to verify that alert delivery paths (log, webhook, syslog, etc.) are configured before triggering seal or staleness events.

PropertyValue
Operation IDAirGap.GetNotificationChannels
TagsAirGapNotificationEndpoints
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /system/airgap/notifications/test

Dispatch a test notification through all configured air-gap notification channels for the tenant, verifying channel connectivity and delivery. The notification type, severity, title, and message can be customized; defaults to a staleness-warning info notification.

PropertyValue
Operation IDAirGap.TestNotification
TagsAirGapNotificationEndpoints
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OK-

POST /system/airgap/seal

Transition the environment to sealed mode, enforcing air-gap posture by locking out feed updates and external imports until explicitly unsealed. Requires the airgap:seal scope and records the seal operation for the air-gap audit log.

PropertyValue
Operation IDAirGap.Seal
TagsSealedModeEndpoints
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
400Bad Requestapplication/problem+json
500Internal Server Errorapplication/problem+json

POST /system/airgap/staleness/evaluate

Trigger an immediate staleness evaluation cycle for the tenant, re-computing the time-anchor age against configured thresholds and emitting any required breach or warning signals. Returns the post-evaluation staleness signal status.

PropertyValue
Operation IDAirGap.EvaluateStaleness
TagsStalenessEndpoints
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /system/airgap/staleness/fallback

Retrieve the current fallback mode activation state and configuration for the tenant, indicating whether evaluation decisions are being served from cached or degraded policy state due to feed staleness.

PropertyValue
Operation IDAirGap.GetFallbackStatus
TagsStalenessEndpoints
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /system/airgap/staleness/recover

Signal staleness recovery for the tenant after a successful time-anchor refresh, clearing active breach and warning states. Requires the airgap:seal scope as recovery operations affect sealed-mode enforcement posture.

PropertyValue
Operation IDAirGap.SignalRecovery
TagsStalenessEndpoints
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /system/airgap/staleness/status

Retrieve the current staleness signal status for the tenant including time-anchor age, breach indicators, and warning flags. Returns HTTP 503 when a staleness breach is active, enabling health monitoring systems to detect and alert on feed-gap conditions.

PropertyValue
Operation IDAirGap.GetStalenessStatus
TagsStalenessEndpoints
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /system/airgap/status

Retrieve the current sealed-mode status for the tenant, including whether the environment is sealed, the time anchor age, and any active enforcement flags that affect bundle import and feed update operations.

PropertyValue
Operation IDAirGap.GetStatus
TagsSealedModeEndpoints
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

POST /system/airgap/unseal

Exit sealed mode and restore normal air-gap posture, allowing feed updates and bundle imports to resume. Requires the airgap:seal scope; the unseal event is recorded in the air-gap audit log.

PropertyValue
Operation IDAirGap.Unseal
TagsSealedModeEndpoints
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
500Internal Server Errorapplication/problem+json

POST /system/airgap/verify

Verify a policy pack or risk profile bundle against the configured trust roots, checking cryptographic signatures and integrity. Returns 422 Unprocessable Entity when the bundle is structurally valid but fails signature verification.

PropertyValue
Operation IDAirGap.VerifyBundle
TagsSealedModeEndpoints
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
400Bad Requestapplication/problem+json
422Unprocessable Entityapplication/problem+json