1- # The TEA index API
1+ # The TEA product API
22
3- After TEA discovery, a user has a URL to the TEA index which will provide
4- an entrypoint in the Transparency Exchange API where a list of all
5- versions of a product can be found
3+ After TEA discovery, a user has a URL to the TEA product API where
4+ the TEI is used to query for data. The TEI marks the product sold,
5+ which can be a single unit or multiple units in a bundle.
6+
7+ - For a single product, the output will be metadata about the
8+ product and a TEA LEAF object.
9+ - For a composed product consisting of a bundle, the response
10+ will be multiple TEA LEAF objects.
11+
12+ In addition, all known TEIs for the product will be returned,
13+ in order for a TEA client to avoid duplication.
614
715## Authorization
816
917Authorization can be done on multiple levels, including
10- which versions is supported for a specific user.
18+ which products and versions are supported for a specific user.
1119
1220## Composite products
1321
@@ -19,7 +27,18 @@ and include pointers (URLs) to the TEA index for these.
1927The URL can be to a different vendor or different site with the
2028same vendor.
2129
22- ## TEA index structure
30+ ## TEA Product object
31+
32+ - __ uuid__ : A unique identifier for this product
33+ - __ name__ : Product name in clear text (str)
34+ - __ identifiers__ : A list of TEIs that apply to this product
35+ - __ type__ : Type of identifier - one of "tei", "purl", or "cpe"
36+ - __ id__ : The complete identifier (str)
37+ - __ leaves__ : A list of product leaves
38+ - __ uuid__ : TEA LEAF UUID
39+
40+ The TEA LEAF UUID is used in the LEAF API to find out which versions
41+ of the LEAF that exists.
2342
2443The goal of the TEA index is to provide a selection of product
2544versions to assist the user software in finding a match for the
@@ -39,21 +58,7 @@ An automated system may want to provide the user with a GUI,
3958listing versions and being able to scroll to the next page
4059until the user selects a version.
4160
42- ### Content of the index object
43-
44- * UUID
45- * Identifier (name)
46- * Version tag
47- * Metadata
48- * CLE, Common lifecycle enumeration
49- * Note: This product version is no longer supported
50- * Status: Beta, prod, deprecate?
51- * Release date (in the CLE)
52- * Key-value tags
53- * Defined in API
54- * TBD: Do we allow Vendor extensions?
55-
56- ### Tea API operation - index files
61+ ### Tea API operation
5762
5863* Recommendation: Support HTTP compression
5964* Recommendation: HTTP content negotiation
@@ -63,7 +68,4 @@ until the user selects a version.
6368 * start page
6469 * Default value defined
6570
66- ### Tea API definition
6771
68- The API will be defined in an OpenAPI format, specifying
69- methods, objects and responses.
0 commit comments