1.1 KiB
1.1 KiB
SBOM Projection Read API (LNM v1)
- Endpoint:
GET /sboms/{snapshotId}/projection?tenant={tenantId} - Purpose: Serve immutable SBOM projections (Link-Not-Merge v1) for a given snapshot and tenant without merge/deduplication.
- Response 200:
{
"snapshotId": "snap-001",
"tenantId": "tenant-a",
"schemaVersion": "1.0.0",
"hash": "<sha256 of projection payload>",
"projection": { /* LNM v1 projection payload */ }
}
-
Errors:
- 400 when
snapshotIdortenantis missing or blank. - 404 when no projection exists for the given snapshot/tenant.
- 400 when
-
Determinism & integrity:
- Payload is served exactly as stored in fixtures or repository; hash is computed over the canonical JSON.
- No mutation/merge logic applied.
-
Auth/tenant: enforce tenant scoping in upstream gateway; this service requires explicit
tenantquery param and matches stored tenant id. -
Fixtures:
docs/modules/sbomservice/fixtures/lnm-v1/projections.json(hashes inSHA256SUMS). -
Metrics: TBD in observability doc; to be added when backed by persistent store.