| Field | Value |
|---|
| Source spec | vex-lens/openapi/v1.json |
| OpenAPI version | 3.1.1 |
| API version | 1.0.0 |
| Operations | 20 |
| Path filter | All paths |
API alias for /buildinfo.json (same payload).
| Property | Value |
|---|
| Operation ID | StellaOpsBuildInfoApi |
| Tags | StellaOps.VexLens.WebService |
| Auth | Not declared |
| Request body | - |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |
Returns consensus projections that have one or more issuer conflicts, ordered by most recently computed. Conflict projections are those where issuer dispositions disagree, reducing the overall confidence score.
| Property | Value |
|---|
| Operation ID | GetConflicts |
| Tags | VexLens |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
limit | query | no | |
offset | query | no | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | application/json |
Evaluates all registered VEX statements for the given vulnerability-product pair and returns a weighted consensus disposition, confidence score, and contributing issuer breakdown. Returns 400 if inputs are missing or unparseable.
| Property | Value |
|---|
| Operation ID | ComputeConsensus |
| Tags | VexLens |
| Auth | Not declared |
| Request body | application/json |
Responses:
| Status | Description | Content types |
|---|
200 | OK | application/json |
400 | Bad Request | - |
Submits multiple vulnerability-product pairs in a single request and returns consensus results for each pair in order. Pairs that fail individually are reported with their error; other pairs in the batch are still evaluated.
| Property | Value |
|---|
| Operation ID | ComputeConsensusBatch |
| Tags | VexLens |
| Auth | Not declared |
| Request body | application/json |
Responses:
| Status | Description | Content types |
|---|
200 | OK | application/json |
400 | Bad Request | - |
Computes VEX consensus and includes the full proof object containing per-issuer verdicts, trust weights, and intermediate scoring steps. Use this variant when an auditable evidence trail is required alongside the consensus result.
| Property | Value |
|---|
| Operation ID | ComputeConsensusWithProof |
| Tags | VexLens |
| Auth | Not declared |
| Request body | application/json |
Responses:
| Status | Description | Content types |
|---|
200 | OK | application/json |
400 | Bad Request | - |
Computes a structured delta report between two named VEX snapshots, identifying added, removed, and changed vulnerability-product dispositions. Returns 400 if either snapshot ID is not found.
| Property | Value |
|---|
| Operation ID | ComputeDelta |
| Tags | VexLens Delta |
| Auth | Not declared |
| Request body | application/json |
Responses:
| Status | Description | Content types |
|---|
200 | OK | application/json |
400 | Bad Request | - |
Applies noise-gating rules to the specified VEX snapshot, filtering low-signal edges and low-confidence verdicts. Returns the gated snapshot with edge and verdict counts after filtering. Returns 404 if the snapshot ID is not found.
| Property | Value |
|---|
| Operation ID | GateSnapshot |
| Tags | VexLens Gating |
| Auth | Not declared |
| Request body | application/json |
Parameters:
| Name | In | Required | Description |
|---|
snapshotId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | application/json |
404 | Not Found | - |
Returns aggregated noise-gating statistics for the tenant over an optional time window, including total snapshots processed, edge reduction percentages, total verdicts surfaced versus damped, and average damping rate.
| Property | Value |
|---|
| Operation ID | GetGatingStatistics |
| Tags | VexLens Gating |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
fromDate | query | no | |
tenantId | query | no | |
toDate | query | no | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | application/json |
Returns the list of VEX issuers registered with VexLens, optionally filtered by category, minimum trust tier, status, or search term. Results are paginated via limit and offset parameters.
| Property | Value |
|---|
| Operation ID | ListIssuers |
| Tags | VexLens Issuers |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
category | query | no | |
limit | query | no | |
minimumTrustTier | query | no | |
offset | query | no | |
search | query | no | |
status | query | no | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | application/json |
Registers a new VEX issuer with VexLens, associating an issuer ID with a trust tier, category, and optional initial keys. Returns 201 Created with the new issuer detail record. Returns 400 if the issuer ID is already registered or inputs are invalid.
| Property | Value |
|---|
| Operation ID | RegisterIssuer |
| Tags | VexLens Issuers |
| Auth | Not declared |
| Request body | application/json |
Responses:
| Status | Description | Content types |
|---|
201 | Created | application/json |
400 | Bad Request | - |
Returns the full detail record for a specific VEX issuer by ID including trust tier, registered keys, category, and current status. Returns 404 if the issuer ID is not registered.
| Property | Value |
|---|
| Operation ID | GetIssuer |
| Tags | VexLens Issuers |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
issuerId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | application/json |
404 | Not Found | - |
Revokes a VEX issuer from VexLens, causing future consensus computations to exclude all VEX statements from this issuer. Returns 204 No Content on success. Returns 404 if the issuer is not registered.
| Property | Value |
|---|
| Operation ID | RevokeIssuer |
| Tags | VexLens Issuers |
| Auth | Not declared |
| Request body | application/json |
Parameters:
| Name | In | Required | Description |
|---|
issuerId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
204 | No Content | - |
404 | Not Found | - |
Adds a cryptographic public key to an existing VEX issuer for statement signature verification. Returns the updated issuer detail record with the new key included. Returns 404 if the issuer is not found.
| Property | Value |
|---|
| Operation ID | AddIssuerKey |
| Tags | VexLens Issuers |
| Auth | Not declared |
| Request body | application/json |
Parameters:
| Name | In | Required | Description |
|---|
issuerId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | application/json |
404 | Not Found | - |
Revokes a specific cryptographic key from a VEX issuer by fingerprint, preventing future VEX statements signed with that key from being accepted. Returns 204 No Content on success. Returns 404 if either the issuer or key fingerprint is not found.
| Property | Value |
|---|
| Operation ID | RevokeIssuerKey |
| Tags | VexLens Issuers |
| Auth | Not declared |
| Request body | application/json |
Parameters:
| Name | In | Required | Description |
|---|
fingerprint | path | yes | |
issuerId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
204 | No Content | - |
404 | Not Found | - |
Queries stored consensus projections with optional filtering by vulnerability ID, product key, outcome, confidence threshold, and computation time range. Returns a paginated list ordered by the requested sort field.
| Property | Value |
|---|
| Operation ID | QueryProjections |
| Tags | VexLens |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
ComputedAfter | query | no | |
ComputedBefore | query | no | |
Limit | query | no | |
MinimumConfidence | query | no | |
Offset | query | no | |
Outcome | query | no | |
ProductKey | query | no | |
SortBy | query | no | |
SortDescending | query | no | |
StatusChanged | query | no | |
VulnerabilityId | query | no | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | application/json |
Returns the ordered history of consensus projections computed for the specified vulnerability-product pair, newest first. Use this to track how the consensus disposition has changed over time as new VEX statements were ingested.
| Property | Value |
|---|
| Operation ID | GetProjectionHistory |
| Tags | VexLens |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
limit | query | no | |
productKey | query | yes | |
vulnerabilityId | query | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | application/json |
Returns the most recently computed consensus projection for the specified vulnerability-product pair. Returns 404 if no projection has been computed yet for the pair.
| Property | Value |
|---|
| Operation ID | GetLatestProjection |
| Tags | VexLens |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
productKey | query | yes | |
vulnerabilityId | query | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | application/json |
404 | Not Found | - |
Returns the full detail record for a specific consensus projection by its unique ID including disposition, confidence, source statements, and conflict indicators. Returns 404 if the projection ID is not found.
| Property | Value |
|---|
| Operation ID | GetProjection |
| Tags | VexLens |
| Auth | Not declared |
| Request body | - |
Parameters:
| Name | In | Required | Description |
|---|
projectionId | path | yes | |
Responses:
| Status | Description | Content types |
|---|
200 | OK | application/json |
404 | Not Found | - |
Returns aggregate statistics for consensus projections scoped to the tenant including total projection count, distribution by disposition, average confidence score, and conflict rate.
| Property | Value |
|---|
| Operation ID | GetVexLensStatistics |
| Tags | VexLens |
| Auth | Not declared |
| Request body | - |
Responses:
| Status | Description | Content types |
|---|
200 | OK | application/json |
Image build provenance (module, gitSha, gitCommitTime, imageBuiltAt, branch) for drift detection.
| Property | Value |
|---|
| Operation ID | StellaOpsBuildInfoFile |
| Tags | StellaOps.VexLens.WebService |
| Auth | Not declared |
| Request body | - |
Responses:
| Status | Description | Content types |
|---|
200 | OK | - |