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

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

View All Buckets

Request

Retrieves all the buckets for the given orgId.

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

parameterdescription
idscomma separated list of bucket ids
namebucket name
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 bucket ids

Example: ids=12,34,56
namestring

bucket name

Example: name=my bucket
trailIdinteger(int64)

jobid that created/modified the record

Example: trailId=3454
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/buckets?ids=12%2C34%2C56&name=my+bucket&trailId=3454&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 Bucket

Request

Create a bucket.

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
customFieldValuesstring

org specific custom field values for that particular bucket

Example: "{'filedname1:value2, fieldname2:value2}"
descriptionstring

description of the bucket

Example: "short description of the bucket"
namestringrequired

bucket Name

Example: "bucket name"
originIdinteger(int64)

origin of the bucket. A bucket id from which this bucket was cloned or copied from.

Example: 202
originTypeIdinteger(int64)

origin type of the bucket. Ref: Archetypes api for details.

Example: 1
parentIdinteger(int64)

parent bucket id

Example: 1
typeIdinteger(int64)required

type of the bucket. Ref: Archetypes api for details.

Example: 101
curl -i -X POST \
  https://sbominsightsapi.redocly.app/_mock/openapi3/sbom/v1/orgs/38808/buckets \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "customFieldValues": "{'\''filedname1:value2, fieldname2:value2}",
    "description": "short description of the bucket",
    "name": "bucket name",
    "originId": 202,
    "originTypeId": 1,
    "parentId": 1,
    "typeId": 101
  }'

Responses

Created response.

Bodyapplication/json
idinteger(int64)required

ID of the newly created bucket

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

Delete Bucket

Request

Delete a bucket

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
bucketIdinteger(int64)required

bucket id

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

Responses

OK response.

Bodyapplication/json
idinteger(int64)required

ID of the newly created bucket

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

View Information for a Bucket

Request

Retrieve detailed information for the requested bucket

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
bucketIdinteger(int64)required

bucket id

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

Responses

OK response.

Bodyapplication/json
bucketTypestring(binary)
Example: {"category":"bucket_types","id":1,"key":"application","label":"Application","orgId":-1,"source":"spdx"}
createdBystring(binary)
Example: {"email":"adam@server.com","firstName":"Adam","id":2435456,"lastName":"Stone"}
createdOnstring
Example: "2022-07-20 04:55:49"
customFieldValuesobject(Customfieldvalues)
Example: {"value":"{ field1 : value1 , field2 : value2 }"}
descriptionstring
Example: "bucket describption"
idinteger(int64)
Example: 205
modifiedBystring(binary)
Example: {"email":"adam@server.com","firstName":"Adam","id":2435456,"lastName":"Stone"}
modifiedOnstring
Example: "2022-07-20 04:55:49"
namestring
Example: "my bucket"
orgIdinteger(int64)
Example: 38808
originIdinteger(int64)
Example: 202
originTypestring(binary)
Example: "null"
originTypeIdinteger(int64)
Example: 0
parentIdinteger(int64)
Example: 1
trailIdinteger(int64)
Example: 22
typeIdinteger(int64)
Example: 1
Response
application/json
{ "bucketType": { "category": "bucket_types", "id": 1, "key": "application", "label": "Application", "orgId": -1, "source": "spdx" }, "createdBy": { "email": "adam@server.com", "firstName": "Adam", "id": 2435456, "lastName": "Stone" }, "createdOn": "2022-07-20 04:55:49", "customFieldValues": { "value": "{ field1 : value1 , field2 : value2 }" }, "description": "bucket describption", "id": 205, "modifiedBy": { "email": "adam@server.com", "firstName": "Adam", "id": 2435456, "lastName": "Stone" }, "modifiedOn": "2022-07-20 04:55:49", "name": "my bucket", "orgId": 38808, "originId": 202, "originType": "null", "originTypeId": 0, "parentId": 1, "trailId": 22, "typeId": 1 }

Update Bucket

Request

Update bucket information for the given bucket id

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
bucketIdinteger(int64)required

bucket id

Example: 1
Bodyapplication/jsonrequired
customFieldValuesstring

org specific custom field values for that particular bucket

Example: "{'filedname1:value2, fieldname2:value2}"
descriptionstring

description of the bucket

Example: "short description of the bucket"
namestring

pucket Name

Example: "bucket name"
originIdinteger(int64)

origin of the bucket. A bucket id from which this bucket was cloned or copied from.

Example: 1
originTypeIdinteger(int64)

origin type of the bucket. Ref: Archetypes api for details.

Example: 1
parentIdinteger(int64)

parent bucket id

Example: 1
typeIdinteger(int64)

type of the bucket. Ref: Archetypes api for details.

Example: 101
curl -i -X PUT \
  https://sbominsightsapi.redocly.app/_mock/openapi3/sbom/v1/orgs/38808/buckets/1 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "customFieldValues": "{'\''filedname1:value2, fieldname2:value2}",
    "description": "short description of the bucket",
    "name": "bucket name",
    "originId": 1,
    "originTypeId": 1,
    "parentId": 1,
    "typeId": 101
  }'

Responses

OK response.

Bodyapplication/json
bucketTypestring(binary)
Example: {"category":"bucket_types","id":1,"key":"application","label":"Application","orgId":-1,"source":"spdx"}
createdBystring(binary)
Example: {"email":"adam@server.com","firstName":"Adam","id":2435456,"lastName":"Stone"}
createdOnstring
Example: "2022-07-20 04:55:49"
customFieldValuesobject(Customfieldvalues)
Example: {"value":"{ field1 : value1 , field2 : value2 }"}
descriptionstring
Example: "bucket describption"
idinteger(int64)
Example: 205
modifiedBystring(binary)
Example: {"email":"adam@server.com","firstName":"Adam","id":2435456,"lastName":"Stone"}
modifiedOnstring
Example: "2022-07-20 04:55:49"
namestring
Example: "my bucket"
orgIdinteger(int64)
Example: 38808
originIdinteger(int64)
Example: 202
originTypestring(binary)
Example: "null"
originTypeIdinteger(int64)
Example: 0
parentIdinteger(int64)
Example: 1
trailIdinteger(int64)
Example: 22
typeIdinteger(int64)
Example: 1
Response
application/json
{ "bucketType": { "category": "bucket_types", "id": 1, "key": "application", "label": "Application", "orgId": -1, "source": "spdx" }, "createdBy": { "email": "adam@server.com", "firstName": "Adam", "id": 2435456, "lastName": "Stone" }, "createdOn": "2022-07-20 04:55:49", "customFieldValues": { "value": "{ field1 : value1 , field2 : value2 }" }, "description": "bucket describption", "id": 205, "modifiedBy": { "email": "adam@server.com", "firstName": "Adam", "id": 2435456, "lastName": "Stone" }, "modifiedOn": "2022-07-20 04:55:49", "name": "my bucket", "orgId": 38808, "originId": 202, "originType": "null", "originTypeId": 0, "parentId": 1, "trailId": 22, "typeId": 1 }

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