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

View All Files

Request

Retrieve all the files

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

parameterdescription
idscomma separated list of file ids
partIdget all the files for a specific part id
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 file ids

Example: ids=12,34,56
partIdinteger(int64)

Identifies a part by ID.

Example: partId=411
trailIdinteger(int64)

jobid 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/files?ids=12%2C34%2C56&partId=411&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 File

Request

Creates a file

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
hashesArray of objects(Hash)

multiple hash types and values of the file

Example: [{"type":"MD5/SHA1/SHA3","value":"f7s24f5532b846c37ac6e994255afd624"},{"type":"MD5/SHA1/SHA3","value":"f7s24f5532b846c37ac6e994255afd624"}]
linkIdinteger(int64)

id of the other file it's linked to

Example: 323
linkTypeIdinteger(int64)

type of link to the other file. Ref: Archetypes api for details.

Example: 345
namestringrequired

name of the file

Example: "my_file.zip"
pathstring

key

Example: "/source/download"
subTypeIdinteger(int64)

sub type of the file. Ref: Archetypes api for details.

Example: 53
typeIdinteger(int64)

type of file. Ref: Archetypes api for details.

Example: 2223
curl -i -X POST \
  https://sbominsightsapi.redocly.app/_mock/openapi3/sbom/v1/orgs/38808/files \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "hashes": [
      {
        "type": "MD5/SHA1/SHA3",
        "value": "f7s24f5532b846c37ac6e994255afd624"
      },
      {
        "type": "MD5/SHA1/SHA3",
        "value": "f7s24f5532b846c37ac6e994255afd624"
      },
      {
        "type": "MD5/SHA1/SHA3",
        "value": "f7s24f5532b846c37ac6e994255afd624"
      },
      {
        "type": "MD5/SHA1/SHA3",
        "value": "f7s24f5532b846c37ac6e994255afd624"
      }
    ],
    "linkId": 323,
    "linkTypeId": 345,
    "name": "my_file.zip",
    "path": "/source/download",
    "subTypeId": 53,
    "typeId": 2223
  }'

Responses

Created response.

Bodyapplication/json
idinteger(int64)required

ID of the newly created bucket

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

Delete File

Request

Delete a file

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

file id

Example: 305
curl -i -X DELETE \
  https://sbominsightsapi.redocly.app/_mock/openapi3/sbom/v1/orgs/38808/files/305 \
  -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": 305 }

View Information for a File

Request

Retrieve detailed information for the requested file

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

file id

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

Responses

OK response.

Bodyapplication/json
createdBystring(binary)
Example: {"email":"adam@server.com","firstName":"Adam","id":2435456,"lastName":"Stone"}
createdOnstring
Example: "2022-07-20 04:55:49"
hashesArray of objects(Hash)
Example: [{"type":"MD5/SHA1/SHA3","value":"f7s24f5532b846c37ac6e994255afd624"},{"type":"MD5/SHA1/SHA3","value":"f7s24f5532b846c37ac6e994255afd624"}]
idinteger(int64)
Example: 305
linkIdinteger(int64)
Example: 86
linkTypeIdinteger(int64)
Example: 75
modifiedBystring(binary)
Example: {"email":"adam@server.com","firstName":"Adam","id":2435456,"lastName":"Stone"}
modifiedOnstring
Example: "2022-07-20 04:55:49"
namestring
Example: "my_file.zip"
orgIdinteger(int64)
Example: 38808
pathstring
Example: "/source/download"
subTypeIdinteger(int64)
Example: 53
trailIdinteger(int64)
Example: 22
typeIdinteger(int64)
Example: 305
Response
application/json
{ "createdBy": { "email": "adam@server.com", "firstName": "Adam", "id": 2435456, "lastName": "Stone" }, "createdOn": "2022-07-20 04:55:49", "hashes": [ { … }, { … }, { … } ], "id": 305, "linkId": 86, "linkTypeId": 75, "modifiedBy": { "email": "adam@server.com", "firstName": "Adam", "id": 2435456, "lastName": "Stone" }, "modifiedOn": "2022-07-20 04:55:49", "name": "my_file.zip", "orgId": 38808, "path": "/source/download", "subTypeId": 53, "trailId": 22, "typeId": 305 }

Update File

Request

Update file information

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

file id

Example: 305
Bodyapplication/jsonrequired
hashesArray of objects(Hash)

multiple hash types and values of the file

Example: [{"type":"MD5/SHA1/SHA3","value":"f7s24f5532b846c37ac6e994255afd624"},{"type":"MD5/SHA1/SHA3","value":"f7s24f5532b846c37ac6e994255afd624"},{"type":"MD5/SHA1/SHA3","value":"f7s24f5532b846c37ac6e994255afd624"}]
linkIdinteger(int64)

id of the file that it's linked to

Example: 323
linkTypeIdinteger(int64)

type of link to the file. Ref: Archetypes api for details.

Example: 45
namestring

name of the file

Example: "my_file.zip"
pathstring

key

Example: "/source/download"
subTypeIdinteger(int64)

sub type of the file. Ref: Archetypes api for details.

Example: 53
typeIdinteger(int64)

type of file. Ref: Archetypes api for details.

Example: 23
curl -i -X PUT \
  https://sbominsightsapi.redocly.app/_mock/openapi3/sbom/v1/orgs/38808/files/305 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "hashes": [
      {
        "type": "MD5/SHA1/SHA3",
        "value": "f7s24f5532b846c37ac6e994255afd624"
      },
      {
        "type": "MD5/SHA1/SHA3",
        "value": "f7s24f5532b846c37ac6e994255afd624"
      },
      {
        "type": "MD5/SHA1/SHA3",
        "value": "f7s24f5532b846c37ac6e994255afd624"
      },
      {
        "type": "MD5/SHA1/SHA3",
        "value": "f7s24f5532b846c37ac6e994255afd624"
      }
    ],
    "linkId": 323,
    "linkTypeId": 45,
    "name": "my_file.zip",
    "path": "/source/download",
    "subTypeId": 53,
    "typeId": 23
  }'

Responses

OK response.

Bodyapplication/json
createdBystring(binary)
Example: {"email":"adam@server.com","firstName":"Adam","id":2435456,"lastName":"Stone"}
createdOnstring
Example: "2022-07-20 04:55:49"
hashesArray of objects(Hash)
Example: [{"type":"MD5/SHA1/SHA3","value":"f7s24f5532b846c37ac6e994255afd624"},{"type":"MD5/SHA1/SHA3","value":"f7s24f5532b846c37ac6e994255afd624"}]
idinteger(int64)
Example: 305
linkIdinteger(int64)
Example: 86
linkTypeIdinteger(int64)
Example: 75
modifiedBystring(binary)
Example: {"email":"adam@server.com","firstName":"Adam","id":2435456,"lastName":"Stone"}
modifiedOnstring
Example: "2022-07-20 04:55:49"
namestring
Example: "my_file.zip"
orgIdinteger(int64)
Example: 38808
pathstring
Example: "/source/download"
subTypeIdinteger(int64)
Example: 53
trailIdinteger(int64)
Example: 22
typeIdinteger(int64)
Example: 305
Response
application/json
{ "createdBy": { "email": "adam@server.com", "firstName": "Adam", "id": 2435456, "lastName": "Stone" }, "createdOn": "2022-07-20 04:55:49", "hashes": [ { … }, { … }, { … } ], "id": 305, "linkId": 86, "linkTypeId": 75, "modifiedBy": { "email": "adam@server.com", "firstName": "Adam", "id": 2435456, "lastName": "Stone" }, "modifiedOn": "2022-07-20 04:55:49", "name": "my_file.zip", "orgId": 38808, "path": "/source/download", "subTypeId": 53, "trailId": 22, "typeId": 305 }

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