Skip to content

Commit 6e4d6c9

Browse files
vpeterssonclaude
andcommitted
feat: add compliance document discovery via /components and /componentReleases
Add COMPLIANCE_DOCUMENT identifier type and well-known compliance document type enum to enable discovery of compliance documents (e.g. SOC 2, ISO 27001) through new /components and /componentReleases query endpoints. Closes #205 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Viktor Petersson <viktor@sbomify.com>
1 parent 6b3d22f commit 6e4d6c9

1 file changed

Lines changed: 95 additions & 0 deletions

File tree

spec/openapi.yaml

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,38 @@ paths:
242242
$ref: "#/components/responses/404-object-by-id-not-found"
243243
tags:
244244
- CLE
245+
/components:
246+
get:
247+
description: Returns a list of TEA components. Note that multiple components may match.
248+
operationId: queryTeaComponents
249+
parameters:
250+
- $ref: "#/components/parameters/page-offset"
251+
- $ref: "#/components/parameters/page-size"
252+
- $ref: "#/components/parameters/id-type"
253+
- $ref: "#/components/parameters/id-value"
254+
responses:
255+
'200':
256+
$ref: "#/components/responses/paginated-component"
257+
'400':
258+
$ref: "#/components/responses/400-invalid-request"
259+
tags:
260+
- TEA Component
261+
/componentReleases:
262+
get:
263+
description: Returns a list of TEA component releases. Note that multiple component releases may match.
264+
operationId: queryTeaComponentReleases
265+
parameters:
266+
- $ref: "#/components/parameters/page-offset"
267+
- $ref: "#/components/parameters/page-size"
268+
- $ref: "#/components/parameters/id-type"
269+
- $ref: "#/components/parameters/id-value"
270+
responses:
271+
'200':
272+
$ref: "#/components/responses/paginated-component-release"
273+
'400':
274+
$ref: "#/components/responses/400-invalid-request"
275+
tags:
276+
- TEA Component Release
245277
/componentRelease/{uuid}:
246278
get:
247279
description: Get the TEA Component Release with its latest collection
@@ -523,6 +555,33 @@ components:
523555
- CPE
524556
- TEI
525557
- PURL
558+
- COMPLIANCE_DOCUMENT
559+
compliance-document-type:
560+
type: string
561+
description: >
562+
Well-known compliance document types. When idType is COMPLIANCE_DOCUMENT,
563+
the idValue SHOULD be one of these values.
564+
enum:
565+
- SOC_2_TYPE_I
566+
- SOC_2_TYPE_II
567+
- SOC_3
568+
- ISO_27001
569+
- ISO_27017
570+
- ISO_27018
571+
- ISO_27701
572+
- ISO_42001
573+
- PCI_DSS
574+
- HIPAA
575+
- FedRAMP
576+
- GDPR
577+
- CSA_STAR
578+
- NIST_800_53
579+
- NIST_800_171
580+
- CMMC
581+
- HITRUST
582+
- TISAX
583+
- CYBER_ESSENTIALS
584+
- CYBER_ESSENTIALS_PLUS
526585
uuid:
527586
type: string
528587
description: A UUID
@@ -1380,6 +1439,30 @@ components:
13801439
type: array
13811440
items:
13821441
$ref: "#/components/schemas/productRelease"
1442+
1443+
paginated-component-response:
1444+
type: object
1445+
description: A paginated response containing TEA Components
1446+
allOf:
1447+
- $ref: "#/components/schemas/pagination-details"
1448+
- type: object
1449+
properties:
1450+
results:
1451+
type: array
1452+
items:
1453+
$ref: "#/components/schemas/component"
1454+
1455+
paginated-component-release-response:
1456+
type: object
1457+
description: A paginated response containing TEA Component Releases
1458+
allOf:
1459+
- $ref: "#/components/schemas/pagination-details"
1460+
- type: object
1461+
properties:
1462+
results:
1463+
type: array
1464+
items:
1465+
$ref: "#/components/schemas/release"
13831466
responses:
13841467
204-common-delete:
13851468
description: Object deleted successfully
@@ -1419,6 +1502,18 @@ components:
14191502
application/json:
14201503
schema:
14211504
$ref: "#/components/schemas/paginated-product-release-response"
1505+
paginated-component:
1506+
description: A paginated response containing TEA Components
1507+
content:
1508+
application/json:
1509+
schema:
1510+
$ref: "#/components/schemas/paginated-component-response"
1511+
paginated-component-release:
1512+
description: A paginated response containing TEA Component Releases
1513+
content:
1514+
application/json:
1515+
schema:
1516+
$ref: "#/components/schemas/paginated-component-release-response"
14221517
parameters:
14231518
# Pagination
14241519
page-offset:

0 commit comments

Comments
 (0)