@@ -19,7 +19,7 @@ servers:
1919paths :
2020 /product/{uuid} :
2121 get :
22- description : Returns the corresponding TEA components for a given TEA product UUID.
22+ description : Get a TEA Product by UUID
2323 operationId : getTeaProductByUuid
2424 parameters :
2525 - name : uuid
@@ -42,6 +42,74 @@ paths:
4242 $ref : " #/components/responses/404-object-by-id-not-found"
4343 tags :
4444 - TEA Product
45+ /product/{uuid}/releases :
46+ get :
47+ description : Get releases of the product
48+ operationId : getReleasesByProductId
49+ parameters :
50+ - name : uuid
51+ in : path
52+ required : true
53+ description : UUID of TEA Product in the TEA server
54+ schema :
55+ type : string
56+ format : uuid
57+ responses :
58+ ' 200 ' :
59+ description : Requested Releases of TEA Product found and returned
60+ content :
61+ application/json :
62+ schema :
63+ type : array
64+ items :
65+ " $ref " : " #/components/schemas/productRelease"
66+ ' 400 ' :
67+ $ref : " #/components/responses/400-invalid-request"
68+ ' 404 ' :
69+ $ref : " #/components/responses/404-object-by-id-not-found"
70+ tags :
71+ - TEA Product Release
72+ /productRelease/{uuid} :
73+ get :
74+ description : Get a TEA Product Release
75+ operationId : getTeaProductReleaseByUuid
76+ parameters :
77+ - name : uuid
78+ in : path
79+ required : true
80+ description : UUID of TEA Product Release in the TEA server
81+ schema :
82+ type : string
83+ format : uuid
84+ responses :
85+ ' 200 ' :
86+ description : Requested TEA Product Release found and returned
87+ content :
88+ application/json :
89+ schema :
90+ " $ref " : " #/components/schemas/productRelease"
91+ ' 400 ' :
92+ $ref : " #/components/responses/400-invalid-request"
93+ ' 404 ' :
94+ $ref : " #/components/responses/404-object-by-id-not-found"
95+ tags :
96+ - TEA Product Release
97+ /productReleases :
98+ get :
99+ description : Returns a list of TEA product releases. Note that multiple product releases may match.
100+ operationId : getTeaProductReleaseByIdentifier
101+ parameters :
102+ - $ref : " #/components/parameters/page-offset"
103+ - $ref : " #/components/parameters/page-size"
104+ - $ref : " #/components/parameters/id-type"
105+ - $ref : " #/components/parameters/id-value"
106+ responses :
107+ ' 200 ' :
108+ $ref : " #/components/responses/paginated-productRelease"
109+ ' 400 ' :
110+ $ref : " #/components/responses/400-invalid-request"
111+ tags :
112+ - TEA Product Release
45113 /products :
46114 get :
47115 description : Returns a list of TEA products. Note that multiple products may
@@ -136,6 +204,31 @@ paths:
136204 $ref : " #/components/responses/404-object-by-id-not-found"
137205 tags :
138206 - TEA Release
207+ /productRelease/{uuid}/collection/latest :
208+ get :
209+ description : Get the latest TEA Collection belonging to the TEA Product Release
210+ operationId : getLatestCollectionForProductRelease
211+ parameters :
212+ - name : uuid
213+ in : path
214+ required : true
215+ description : UUID of TEA Product Release in the TEA server
216+ schema :
217+ type : string
218+ format : uuid
219+ responses :
220+ ' 200 ' :
221+ description : Requested TEA Collection found and returned
222+ content :
223+ application/json :
224+ schema :
225+ " $ref " : " #/components/schemas/collection"
226+ ' 400 ' :
227+ $ref : " #/components/responses/400-invalid-request"
228+ ' 404 ' :
229+ $ref : " #/components/responses/404-object-by-id-not-found"
230+ tags :
231+ - TEA Product Release
139232 /release/{uuid}/collections :
140233 get :
141234 description : Get the TEA Collections belonging to the TEA Release
@@ -163,6 +256,63 @@ paths:
163256 $ref : " #/components/responses/404-object-by-id-not-found"
164257 tags :
165258 - TEA Release
259+ /productRelease/{uuid}/collections :
260+ get :
261+ description : Get the TEA Collections belonging to the TEA Product Release
262+ operationId : getCollectionsByProductReleaseId
263+ parameters :
264+ - name : uuid
265+ in : path
266+ required : true
267+ description : UUID of TEA Product Release in the TEA server
268+ schema :
269+ type : string
270+ format : uuid
271+ responses :
272+ ' 200 ' :
273+ description : Requested TEA Collection found and returned
274+ content :
275+ application/json :
276+ schema :
277+ type : array
278+ items :
279+ " $ref " : " #/components/schemas/collection"
280+ ' 400 ' :
281+ $ref : " #/components/responses/400-invalid-request"
282+ ' 404 ' :
283+ $ref : " #/components/responses/404-object-by-id-not-found"
284+ tags :
285+ - TEA Product Release
286+ /productRelease/{uuid}/collection/{collectionVersion} :
287+ get :
288+ description : Get a specific Collection (by version) for a TEA Product Release by its UUID
289+ operationId : getCollectionForProductRelease
290+ parameters :
291+ - name : uuid
292+ in : path
293+ required : true
294+ description : UUID of TEA Collection in the TEA server
295+ schema :
296+ " $ref " : " #/components/schemas/uuid"
297+ - name : collectionVersion
298+ in : path
299+ required : true
300+ description : Version of TEA Collection
301+ schema :
302+ type : integer
303+ responses :
304+ ' 200 ' :
305+ description : Requested TEA Collection Version found and returned
306+ content :
307+ application/json :
308+ schema :
309+ " $ref " : " #/components/schemas/collection"
310+ ' 400 ' :
311+ $ref : " #/components/responses/400-invalid-request"
312+ ' 404 ' :
313+ $ref : " #/components/responses/404-object-by-id-not-found"
314+ tags :
315+ - TEA Product Release
166316 /release/{uuid}/collection/{collectionVersion} :
167317 get :
168318 description : Get a specific Collection (by version) for a TEA Release by its UUID
@@ -270,20 +420,10 @@ components:
270420 List of identifiers for the product, like TEI, CPE, PURL or other identifiers
271421 items :
272422 " $ref " : " #/components/schemas/identifier"
273- components :
274- type : array
275- description : |
276- List of TEA component-refs for the product. The component-ref by default just
277- includes the UUID of the component, but in some cases also include a reference
278- to the UUID of a specific release.
279- items :
280- description : Unique identifier of the TEA component-ref
281- " $ref " : " #/components/schemas/uuid"
282423 required :
283424 - uuid
284425 - name
285426 - identifiers
286- - components
287427 examples :
288428 - uuid : 09e8c73b-ac45-4475-acac-33e6a7314e6d
289429 name : Apache Log4j 2
@@ -292,10 +432,61 @@ components:
292432 idValue : cpe:2.3:a:apache:log4j
293433 - idType : PURL
294434 idValue : pkg:maven/org.apache.logging.log4j/log4j-api
435+
436+ #
437+ # TEA Product Release
438+ #
439+ productRelease :
440+ type : object
441+ description : A specific release of a TEA product
442+ properties :
443+ uuid :
444+ description : A unique identifier for the TEA Product Release
445+ " $ref " : " #/components/schemas/uuid"
446+ version :
447+ description : Version number of the product release
448+ type : string
449+ example : 2.24.3
450+ createdDate :
451+ description : Timestamp when this Product Release was created in TEA (for sorting purposes)
452+ " $ref " : " #/components/schemas/date-time"
453+ releaseDate :
454+ description : Timestamp of the product release
455+ " $ref " : " #/components/schemas/date-time"
456+ preRelease :
457+ type : boolean
458+ description : |
459+ A flag indicating pre-release (or beta) status.
460+ May be disabled after the creation of the release object, but can't be enabled after creation of an object.
461+ identifiers :
462+ type : array
463+ description : List of identifiers for the product release
464+ items :
465+ " $ref " : " #/components/schemas/identifier"
466+ components :
467+ type : array
468+ description : |
469+ List of component references that compose this product release. A component reference can optionally include
470+ the UUID of a specific component release to pin the exact version.
471+ items :
472+ " $ref " : " #/components/schemas/component-ref"
473+ required :
474+ - uuid
475+ - version
476+ - createdDate
477+ - components
478+ examples :
479+ - uuid : 123e4567-e89b-12d3-a456-426614174000
480+ version : " 2.24.3"
481+ createdDate : 2025-04-01T15:43:00Z
482+ releaseDate : 2025-04-01T15:43:00Z
483+ identifiers :
484+ - idType : TEI
485+ idValue :
tei:vendor:[email protected] 295486 components :
296- - 3910e0fd-aff4-48d6-b75f-8bf6b84687f0
297- - b844c9bd-55d6-478c-af59-954a932b6ad3
298- - d6d3f754-d4f4-4672-b096-b994b064ca2d
487+ - uuid : 3910e0fd-aff4-48d6-b75f-8bf6b84687f0
488+ - uuid : b844c9bd-55d6-478c-af59-954a932b6ad3
489+ release : da89e38e-95e7-44ca-aa7d-f3b6b34c7fab
299490
300491 #
301492 # TEA Component and related objects
@@ -319,7 +510,6 @@ components:
319510 - uuid
320511 - name
321512 - identifiers
322- - versions
323513 examples :
324514 - uuid : 3910e0fd-aff4-48d6-b75f-8bf6b84687f0
325515 name : Apache Log4j API
@@ -348,13 +538,11 @@ components:
348538 description : A unique identifier for the TEA component
349539 " $ref " : " #/components/schemas/uuid"
350540 release :
351- type : string
352541 description : |
353542 Optional UUID of a specific release included in the product in the case where the product
354543 always include a specific release of a component. The product name should include a version
355544 identifier in this case.
356- items :
357- " $ref " : " #/components/schemas/uuid"
545+ " $ref " : " #/components/schemas/uuid"
358546 required :
359547 - uuid
360548
@@ -430,7 +618,7 @@ components:
430618 uuid :
431619 description : |
432620 UUID of the TEA Collection object.
433- Note that this is equal to the UUID of the associated TEA Component Release object.
621+ This matches the UUID of the associated TEA Component Release or TEA Product Release object.
434622 When updating a collection, only the `version` is changed.
435623 " $ref " : " #/components/schemas/uuid"
436624 version :
@@ -441,6 +629,9 @@ components:
441629 date :
442630 description : The date when the TEA Collection version was created.
443631 " $ref " : " #/components/schemas/date-time"
632+ belongsTo :
633+ description : Indicates whether this collection belongs to a Component Release or a Product Release
634+ " $ref " : " #/components/schemas/collection-belongs-to-type"
444635 updateReason :
445636 description : Reason for the update/release of the TEA Collection object.
446637 " $ref " : " #/components/schemas/collection-update-reason"
@@ -502,6 +693,13 @@ components:
502693 - ARTIFACT_ADDED
503694 - ARTIFACT_REMOVED
504695
696+ collection-belongs-to-type :
697+ type : string
698+ description : Indicates whether a collection belongs to a component release or a product release
699+ enum :
700+ - RELEASE
701+ - PRODUCT_RELEASE
702+
505703 #
506704 # TEA Artifact and related objects
507705 #
@@ -644,6 +842,19 @@ components:
644842 type : array
645843 items :
646844 " $ref " : " #/components/schemas/product"
845+ paginated-productRelease :
846+ description : A paginated response containing TEA Product Releases
847+ content :
848+ application/json :
849+ schema :
850+ allOf :
851+ - $ref : " #/components/schemas/pagination-details"
852+ - type : object
853+ properties :
854+ results :
855+ type : array
856+ items :
857+ " $ref " : " #/components/schemas/productRelease"
647858 parameters :
648859 # Pagination
649860 page-offset :
@@ -715,6 +926,7 @@ security:
715926 - basicAuth : []
716927tags :
717928 - name : TEA Product
929+ - name : TEA Product Release
718930 - name : TEA Component
719931 - name : TEA Release
720932 - name : TEA Artifact
0 commit comments