Skip to content

Revenera SBOM Insights API (1.0)

Revenera SBOM Insights offers APIs to manage your Software Bill of Materials (SBOM) via buckets and parts. It supports manual software parts creation as well as ingestion of SBOMs in various formats. It also supports various queries into the constructed SBOM data.

Download OpenAPI description
Languages
Servers
Mock server
https://sbominsightsapi.redocly.app/_mock/openapi3
SBOM Insights API URL - Production
https://sca-api.revenera.com
SBOM Insights API URL - Staging
https://sca-api.reveneratest.com

Archetypes

Archetypes represents master 'types' that would be used across the system.

Operations

View All Archetypes

Request

Retrieve all the archetypes.

Archetypes can be filtered using any 'one' of the following parameters.

parameterdescription
idscomma separated list of archetype ids
categoriescomma separated list of categories. For e.g : part_types, bucket_types, origin_types, link_types, file_types etc
trailIdprovide job id to list all the records that was created/updated during the job run
Security
GlobalSession_header_Authorization(Required scopes:
sbom:bucket:create
sbom:bucket:delete
sbom:bucket:index
sbom:bucket:show
+41
)
Path
orgIdinteger(int64)required

Organization id

Example: 38808
Query
idsstring

comma separated list of archetype ids

Example: ids=12,34,56
categoriesstring

comma separated list of categories

Example: categories=part_types,bucket_types,origin_types
trailIdinteger(int64)

job that created/modified the record

Example: trailId=22
offsetinteger>= 1

page number of the results to fetch, defaults to first page

Default 1
Example: offset=1
limitinteger<= 100

results per page (max 100)

Default 100
Example: limit=10
sortstring

sort the data by the given field e.g sort=field. Use this in combination with 'order' query param.

Default ""
Example: sort=id
orderstring^(?i)(asc|desc)$

order the results ascending / descending. Use : asc | desc

Default "asc"
Example: order=asc
curl -i -X GET \
  'https://sbominsightsapi.redocly.app/_mock/openapi3/sbom/v1/orgs/38808/archetypes?ids=12%2C34%2C56&categories=part_types%2Cbucket_types%2Corigin_types&trailId=22&offset=1&limit=10&sort=id&order=asc' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK response.

Bodyapplication/json
dataArray of strings(binary)
Example: [{"id":101,"other-fields":"please check the Schema for all the fields returned in this reponse"}]
metaobject(Metainfo)

Represents the Meta information that would be contained in each response returned.

Example: {"limit":100,"offset":1,"total":1000}
Response
application/json
{ "data": [ { … } ], "meta": { "limit": 100, "offset": 1, "total": 1000 } }

Create Archetype

Request

Create an archetype.

Security
GlobalSession_header_Authorization(Required scopes:
sbom:bucket:create
sbom:bucket:delete
sbom:bucket:index
sbom:bucket:show
+41
)
Path
orgIdinteger(int64)required

Organization id

Example: 38808
Bodyapplication/jsonrequired
categorystringrequired

Following are the 'categories' that the system supports. Specifying a category outside this list does not cause an error, instead creates an archetype with the given 'category'.

  • bucket_types
  • part_types
  • file_sub_types
  • file_types
  • link_types
  • origin_types
Example: "part_types"
keystringrequired

archetype key

Example: "app_key"
labelstringrequired

archetype label

Example: "Application Name"
sourcestring

Following are the 'source' that the system supports that can be used to map the archetype. Specifying a source outside this list does not cause an error.

  • internal
  • cyclonedx
  • spdx
Example: "internal"
curl -i -X POST \
  https://sbominsightsapi.redocly.app/_mock/openapi3/sbom/v1/orgs/38808/archetypes \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "category": "part_types",
    "key": "app_key",
    "label": "Application Name",
    "source": "internal"
  }'

Responses

Created response.

Bodyapplication/json
idinteger(int64)required

ID of the newly created archetype

Example: 101
Response
application/json
{ "id": 101 }

Delete Archetype

Request

Delete an existing archetype

Security
GlobalSession_header_Authorization(Required scopes:
sbom:bucket:create
sbom:bucket:delete
sbom:bucket:index
sbom:bucket:show
+41
)
Path
orgIdinteger(int64)required

Organization id

Example: 38808
archetypeIdinteger(int64)required

archetype id

Example: 101
curl -i -X DELETE \
  https://sbominsightsapi.redocly.app/_mock/openapi3/sbom/v1/orgs/38808/archetypes/101 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK response.

Bodyapplication/json
idinteger(int64)required

ID of the newly created archetype

Example: 101
Response
application/json
{ "id": 101 }

View Information for an Archetype

Request

Retrieve an archetype

Security
GlobalSession_header_Authorization(Required scopes:
sbom:bucket:create
sbom:bucket:delete
sbom:bucket:index
sbom:bucket:show
+41
)
Path
orgIdinteger(int64)required

Organization id

Example: 38808
archetypeIdinteger(int64)required

archetype id

Example: 101
curl -i -X GET \
  https://sbominsightsapi.redocly.app/_mock/openapi3/sbom/v1/orgs/38808/archetypes/101 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK response.

Bodyapplication/json
categorystring
Example: "bucket_types"
createdBystring(binary)
Example: {"email":"adam@server.com","firstName":"Adam","id":2435456,"lastName":"Stone"}
createdOnstring
Example: "2022-07-20 04:55:49"
idinteger(int64)
Example: 101
keystring
Example: "application_type"
labelstring
Example: "Application Name"
modifiedBystring(binary)
Example: {"email":"adam@server.com","firstName":"Adam","id":2435456,"lastName":"Stone"}
modifiedOnstring
Example: "2022-07-20 04:55:49"
orgIdinteger(int64)
Example: 38808
sourcestring
Example: "custom"
trailIdinteger(int64)
Example: 22
Response
application/json
{ "category": "bucket_types", "createdBy": { "email": "adam@server.com", "firstName": "Adam", "id": 2435456, "lastName": "Stone" }, "createdOn": "2022-07-20 04:55:49", "id": 101, "key": "application_type", "label": "Application Name", "modifiedBy": { "email": "adam@server.com", "firstName": "Adam", "id": 2435456, "lastName": "Stone" }, "modifiedOn": "2022-07-20 04:55:49", "orgId": 38808, "source": "custom", "trailId": 22 }

Update Archetype

Request

Update an existing archetype

Security
GlobalSession_header_Authorization(Required scopes:
sbom:bucket:create
sbom:bucket:delete
sbom:bucket:index
sbom:bucket:show
+41
)
Path
orgIdinteger(int64)required

Organization id

Example: 38808
archetypeIdinteger(int64)required

archetype id

Example: 101
Bodyapplication/jsonrequired
categorystring

Following are the 'categories' that the system supports. Specifying a category outside this list does not cause an error, instead creates an archetype with the given 'category'.

  • bucket_types
  • part_types
  • file_sub_types
  • file_types
  • link_types
  • origin_types
Example: "bucket_types"
keystring

archetype key

Example: "app_key"
labelstring

archetype label

Example: "Application Name"
sourcestring

Following are the 'source' that the system supports that can be used to map the archetype. Specifying a source outside this list does not cause an error.

  • internal
  • cyclonedx
  • spdx
Example: "internal"
curl -i -X PUT \
  https://sbominsightsapi.redocly.app/_mock/openapi3/sbom/v1/orgs/38808/archetypes/101 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "category": "bucket_types",
    "key": "app_key",
    "label": "Application Name",
    "source": "internal"
  }'

Responses

OK response.

Bodyapplication/json
categorystring
Example: "bucket_types"
createdBystring(binary)
Example: {"email":"adam@server.com","firstName":"Adam","id":2435456,"lastName":"Stone"}
createdOnstring
Example: "2022-07-20 04:55:49"
idinteger(int64)
Example: 101
keystring
Example: "application_type"
labelstring
Example: "Application Name"
modifiedBystring(binary)
Example: {"email":"adam@server.com","firstName":"Adam","id":2435456,"lastName":"Stone"}
modifiedOnstring
Example: "2022-07-20 04:55:49"
orgIdinteger(int64)
Example: 38808
sourcestring
Example: "custom"
trailIdinteger(int64)
Example: 22
Response
application/json
{ "category": "bucket_types", "createdBy": { "email": "adam@server.com", "firstName": "Adam", "id": 2435456, "lastName": "Stone" }, "createdOn": "2022-07-20 04:55:49", "id": 101, "key": "application_type", "label": "Application Name", "modifiedBy": { "email": "adam@server.com", "firstName": "Adam", "id": 2435456, "lastName": "Stone" }, "modifiedOn": "2022-07-20 04:55:49", "orgId": 38808, "source": "custom", "trailId": 22 }

Buckets

Buckets are used to store a set of SBOM parts. They can represent an organization's entities such as business units and product families, as well as top-level applications and their elements such as modules and containers. Buckets can be nested under other buckets to form a hierarchy.

Operations

Files

Files represent the codebase files comprising the SBOM part. Each file has a name, relative path, and hashes.

Operations

Importer

The Importer processes SBOM data imports from multiple data sources and creates SBOM parts for the selected Bucket. An import is performed via a job, which allows for a persisted record of the transaction along with its resulting data summary and any encountered errors.

Operations

Jobs

Jobs are persisted transactions for background operations with a record of the transaction along with its resulting data summary and any encountered errors.

Operations

Parts

SBOM Parts represent open source, third-party, and commercial ingredients in a software application. An SBOM part can represent an operating system such as Linux with 60k+ files, individual files, a single binary, a source bundle for an open source component, and even fragments of code. Parts within an SBOM, and even across multiple SBOMs, are related to each other via links of various types including dependencies, found inside, related to, and several others.

Operations