Vex Lens API Reference

FieldValue
Source specvex-lens/openapi/v1.json
OpenAPI version3.1.1
API version1.0.0
Operations20
Path filterAll paths

Operations

GET /api/v1/buildinfo

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

PropertyValue
Operation IDStellaOpsBuildInfoApi
TagsStellaOps.VexLens.WebService
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/vexlens/conflicts

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.

PropertyValue
Operation IDGetConflicts
TagsVexLens
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
limitqueryno
offsetqueryno

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/v1/vexlens/consensus

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.

PropertyValue
Operation IDComputeConsensus
TagsVexLens
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json
400Bad Request-

POST /api/v1/vexlens/consensus:batch

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.

PropertyValue
Operation IDComputeConsensusBatch
TagsVexLens
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json
400Bad Request-

POST /api/v1/vexlens/consensus:withProof

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.

PropertyValue
Operation IDComputeConsensusWithProof
TagsVexLens
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json
400Bad Request-

POST /api/v1/vexlens/deltas/compute

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.

PropertyValue
Operation IDComputeDelta
TagsVexLens Delta
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json
400Bad Request-

POST /api/v1/vexlens/gating/snapshots/{snapshotId}/gate

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.

PropertyValue
Operation IDGateSnapshot
TagsVexLens Gating
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
snapshotIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json
404Not Found-

GET /api/v1/vexlens/gating/statistics

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.

PropertyValue
Operation IDGetGatingStatistics
TagsVexLens Gating
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
fromDatequeryno
tenantIdqueryno
toDatequeryno

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/v1/vexlens/issuers

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.

PropertyValue
Operation IDListIssuers
TagsVexLens Issuers
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
categoryqueryno
limitqueryno
minimumTrustTierqueryno
offsetqueryno
searchqueryno
statusqueryno

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/v1/vexlens/issuers

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.

PropertyValue
Operation IDRegisterIssuer
TagsVexLens Issuers
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
201Createdapplication/json
400Bad Request-

GET /api/v1/vexlens/issuers/{issuerId}

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.

PropertyValue
Operation IDGetIssuer
TagsVexLens Issuers
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
issuerIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json
404Not Found-

DELETE /api/v1/vexlens/issuers/{issuerId}

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.

PropertyValue
Operation IDRevokeIssuer
TagsVexLens Issuers
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
issuerIdpathyes

Responses:

StatusDescriptionContent types
204No Content-
404Not Found-

POST /api/v1/vexlens/issuers/{issuerId}/keys

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.

PropertyValue
Operation IDAddIssuerKey
TagsVexLens Issuers
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
issuerIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json
404Not Found-

DELETE /api/v1/vexlens/issuers/{issuerId}/keys/{fingerprint}

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.

PropertyValue
Operation IDRevokeIssuerKey
TagsVexLens Issuers
AuthNot declared
Request bodyapplication/json

Parameters:

NameInRequiredDescription
fingerprintpathyes
issuerIdpathyes

Responses:

StatusDescriptionContent types
204No Content-
404Not Found-

GET /api/v1/vexlens/projections

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.

PropertyValue
Operation IDQueryProjections
TagsVexLens
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
ComputedAfterqueryno
ComputedBeforequeryno
Limitqueryno
MinimumConfidencequeryno
Offsetqueryno
Outcomequeryno
ProductKeyqueryno
SortByqueryno
SortDescendingqueryno
StatusChangedqueryno
VulnerabilityIdqueryno

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/v1/vexlens/projections/history

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.

PropertyValue
Operation IDGetProjectionHistory
TagsVexLens
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
limitqueryno
productKeyqueryyes
vulnerabilityIdqueryyes

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/v1/vexlens/projections/latest

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.

PropertyValue
Operation IDGetLatestProjection
TagsVexLens
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
productKeyqueryyes
vulnerabilityIdqueryyes

Responses:

StatusDescriptionContent types
200OKapplication/json
404Not Found-

GET /api/v1/vexlens/projections/{projectionId}

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.

PropertyValue
Operation IDGetProjection
TagsVexLens
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
projectionIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json
404Not Found-

GET /api/v1/vexlens/stats

Returns aggregate statistics for consensus projections scoped to the tenant including total projection count, distribution by disposition, average confidence score, and conflict rate.

PropertyValue
Operation IDGetVexLensStatistics
TagsVexLens
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /buildinfo.json

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

PropertyValue
Operation IDStellaOpsBuildInfoFile
TagsStellaOps.VexLens.WebService
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-