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

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

View All Jobs

Request

Retrieve all the Jobs for the given orgId.

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

parameterdescription
statuslist all the jobs for the given status
bucketIdlist all the jobs for a bucketId
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
statusstring

list jobs by status

Example: status=queued / processing / completed
bucketIdinteger(int64)

list jobs by bucket id

Example: bucketId=205
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/jobs?status=queued+%2F+processing+%2F+completed&bucketId=205&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 } }

View Information for a Job

Request

Retrieve a Job

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

job id.

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

Responses

OK response.

Bodyapplication/json
bucketIdinteger(int64)
Example: 205
createdBystring(binary)
Example: {"email":"adam@server.com","firstName":"Adam","id":2435456,"lastName":"Stone"}
createdOnstring
Example: "2022-07-20 04:55:49"
idinteger(int64)
Example: 812
inputobject(JobInput)
Example: {"fileHash":"cb26478a28a51ce1ce08ccd2bc3f6942","fileName":"project-hello.spdx","filePath":"/project-import/843514967_40062_2_project-hello.spdx","logFile":"/project-import/843514967_40062_2_project-hello.log"}
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
outputobject(JobOutput)
Example: {"parsed":{"errors":"null","failed":0,"messages":"null","processed":10,"skipped":2,"timeTaken":"4.51025ms","total":12},"processed":{"errors":"null","failed":0,"messages":"null","processed":10,"skipped":0,"timeTaken":"1.215864501s","total":10},"totalTime":"1.246455001s"}
statusstring
Example: "queued / processing / completed"
typestring
Example: "import / others"
Response
application/json
{ "bucketId": 205, "createdBy": { "email": "adam@server.com", "firstName": "Adam", "id": 2435456, "lastName": "Stone" }, "createdOn": "2022-07-20 04:55:49", "id": 812, "input": { "fileHash": "cb26478a28a51ce1ce08ccd2bc3f6942", "fileName": "project-hello.spdx", "filePath": "/project-import/843514967_40062_2_project-hello.spdx", "logFile": "/project-import/843514967_40062_2_project-hello.log" }, "modifiedBy": { "email": "adam@server.com", "firstName": "Adam", "id": 2435456, "lastName": "Stone" }, "modifiedOn": "2022-07-20 04:55:49", "orgId": 38808, "output": { "parsed": {}, "processed": {}, "totalTime": "1.246455001s" }, "status": "queued / processing / completed", "type": "import / others" }

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