openapi: 3.0.3
info:
  title: Revenera SBOM Insights API
  description: >-
    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.
  version: '1.0'
servers:
  - url: https://sca-api.revenera.com
    description: SBOM Insights API URL - Production
  - url: https://sca-api.reveneratest.com
    description: SBOM Insights API URL - Staging
paths:
  /sbom/v1/orgs/{orgId}/archetypes:
    get:
      tags:
        - Archetypes
      summary: View All Archetypes
      description: >+
        Retrieve all the archetypes.


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

        |parameter | description|

        |--- | ---|

        | ids | comma separated list of archetype ids |

        | categories | comma separated list of categories. For e.g : part_types,
        bucket_types, origin_types, link_types, file_types etc|

        | trailId | provide job id to list all the records that was
        created/updated during the job run  |

      operationId: Archetypes#indexArchetypes
      parameters:
        - name: ids
          in: query
          description: comma separated list of archetype ids
          allowEmptyValue: true
          schema:
            type: string
            description: comma separated list of archetype ids
            example: 12,34,56
          example: 12,34,56
        - name: categories
          in: query
          description: comma separated list of categories
          allowEmptyValue: true
          schema:
            type: string
            description: comma separated list of categories
            example: part_types,bucket_types,origin_types
          example: part_types,bucket_types,origin_types
        - name: trailId
          in: query
          description: job that created/modified the record
          allowEmptyValue: true
          schema:
            type: integer
            description: job that created/modified the record
            example: 22
            format: int64
          example: 22
        - name: offset
          in: query
          description: page number of the results to fetch, defaults to first page
          allowEmptyValue: true
          schema:
            type: integer
            description: page number of the results to fetch, defaults to first page
            default: 1
            example: 1
            minimum: 1
          example: 1
        - name: limit
          in: query
          description: results per page (max 100)
          allowEmptyValue: true
          schema:
            type: integer
            description: results per page (max 100)
            default: 100
            example: 10
            maximum: 100
          example: 10
        - name: sort
          in: query
          description: >-
            sort the data by the given field e.g sort=field. Use this in
            combination with 'order' query param.
          allowEmptyValue: true
          schema:
            type: string
            description: >-
              sort the data by the given field e.g sort=field. Use this in
              combination with 'order' query param.
            default: ''
            example: id
          example: id
        - name: order
          in: query
          description: 'order the results ascending / descending. Use : asc | desc'
          allowEmptyValue: true
          schema:
            type: string
            description: 'order the results ascending / descending. Use : asc | desc'
            default: asc
            example: asc
            pattern: ^(?i)(asc|desc)$
          example: asc
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
      responses:
        '200':
          description: OK response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
              example:
                data:
                  - id: 101
                    other-fields: >-
                      please check the Schema for all the fields returned in
                      this reponse
                meta:
                  limit: 100
                  offset: 1
                  total: 1000
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
    post:
      tags:
        - Archetypes
      summary: Create Archetype
      description: Create an archetype.
      operationId: Archetypes#createArchetype
      parameters:
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateArchetypeRequestBody'
            example:
              category: part_types
              key: app_key
              label: Application Name
              source: internal
      responses:
        '201':
          description: Created response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateArchetypeResponseBody'
              example:
                id: 101
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
  /sbom/v1/orgs/{orgId}/archetypes/{archetypeId}:
    delete:
      tags:
        - Archetypes
      summary: Delete Archetype
      description: Delete an existing archetype
      operationId: Archetypes#deleteArchetype
      parameters:
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
        - name: archetypeId
          in: path
          description: ' archetype id '
          required: true
          schema:
            type: integer
            description: ' archetype id '
            example: 101
            format: int64
          example: 101
      responses:
        '200':
          description: OK response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateArchetypeResponseBody'
              example:
                id: 101
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '404':
          description: Not Found response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: requested resource is not found
                name: not_found
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
    get:
      tags:
        - Archetypes
      summary: View Information for an Archetype
      description: Retrieve an archetype
      operationId: Archetypes#showArchetype
      parameters:
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
        - name: archetypeId
          in: path
          description: archetype id
          required: true
          schema:
            type: integer
            description: archetype id
            example: 101
            format: int64
          example: 101
      responses:
        '200':
          description: OK response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Archetype'
              example:
                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
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '404':
          description: Not Found response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: requested resource is not found
                name: not_found
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
    put:
      tags:
        - Archetypes
      summary: Update Archetype
      description: Update an existing archetype
      operationId: Archetypes#updateArchetype
      parameters:
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
        - name: archetypeId
          in: path
          description: archetype id
          required: true
          schema:
            type: integer
            description: archetype id
            example: 101
            format: int64
          example: 101
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateArchetypeRequestBody'
            example:
              category: bucket_types
              key: app_key
              label: Application Name
              source: internal
      responses:
        '200':
          description: OK response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Archetype'
              example:
                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
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '404':
          description: Not Found response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: requested resource is not found
                name: not_found
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
  /sbom/v1/orgs/{orgId}/buckets:
    get:
      tags:
        - Buckets
      summary: View All Buckets
      description: >+
        Retrieves all the buckets for the given orgId.


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

        |parameter | description|

        |--- | ---|

        | ids | comma separated list of bucket ids |

        | name | bucket name |

        | trailId | provide job id to list all the records that was
        created/updated during the job run  |

      operationId: Buckets#indexBuckets
      parameters:
        - name: ids
          in: query
          description: comma separated list of bucket ids
          allowEmptyValue: true
          schema:
            type: string
            description: comma separated list of bucket ids
            example: 12,34,56
          example: 12,34,56
        - name: name
          in: query
          description: bucket name
          allowEmptyValue: true
          schema:
            type: string
            description: bucket name
            example: my bucket
          example: my bucket
        - name: trailId
          in: query
          description: jobid that created/modified the record
          allowEmptyValue: true
          schema:
            type: integer
            description: jobid that created/modified the record
            example: 3454
            format: int64
          example: 3454
        - name: offset
          in: query
          description: page number of the results to fetch, defaults to first page
          allowEmptyValue: true
          schema:
            type: integer
            description: page number of the results to fetch, defaults to first page
            default: 1
            example: 1
            minimum: 1
          example: 1
        - name: limit
          in: query
          description: results per page (max 100)
          allowEmptyValue: true
          schema:
            type: integer
            description: results per page (max 100)
            default: 100
            example: 10
            maximum: 100
          example: 10
        - name: sort
          in: query
          description: >-
            sort the data by the given field e.g sort=field. Use this in
            combination with 'order' query param.
          allowEmptyValue: true
          schema:
            type: string
            description: >-
              sort the data by the given field e.g sort=field. Use this in
              combination with 'order' query param.
            default: ''
            example: id
          example: id
        - name: order
          in: query
          description: 'order the results ascending / descending. Use : asc | desc'
          allowEmptyValue: true
          schema:
            type: string
            description: 'order the results ascending / descending. Use : asc | desc'
            default: asc
            example: asc
            pattern: ^(?i)(asc|desc)$
          example: asc
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
      responses:
        '200':
          description: OK response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
              example:
                data:
                  - id: 101
                    other-fields: >-
                      please check the Schema for all the fields returned in
                      this reponse
                meta:
                  limit: 100
                  offset: 1
                  total: 1000
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
    post:
      tags:
        - Buckets
      summary: Create Bucket
      description: Create a bucket.
      operationId: Buckets#createBucket
      parameters:
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBucketRequestBody'
            example:
              customFieldValues: '{''filedname1:value2, fieldname2:value2}'
              description: short description of the bucket
              name: bucket name
              originId: 202
              originTypeId: 1
              parentId: 1
              typeId: 101
      responses:
        '201':
          description: Created response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBucketResponseBody'
              example:
                id: 205
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
  /sbom/v1/orgs/{orgId}/buckets/{bucketId}:
    delete:
      tags:
        - Buckets
      summary: Delete Bucket
      description: Delete a bucket
      operationId: Buckets#deleteBucket
      parameters:
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
        - name: bucketId
          in: path
          description: ' bucket id '
          required: true
          schema:
            type: integer
            description: ' bucket id '
            example: 205
            format: int64
          example: 205
      responses:
        '200':
          description: OK response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBucketResponseBody'
              example:
                id: 205
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '404':
          description: Not Found response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: requested resource is not found
                name: not_found
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
    get:
      tags:
        - Buckets
      summary: View Information for a Bucket
      description: Retrieve detailed information for the requested bucket
      operationId: Buckets#showBucket
      parameters:
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
        - name: bucketId
          in: path
          description: bucket id
          required: true
          schema:
            type: integer
            description: bucket id
            example: 205
            format: int64
          example: 205
      responses:
        '200':
          description: OK response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bucket'
              example:
                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
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '404':
          description: Not Found response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: requested resource is not found
                name: not_found
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
    put:
      tags:
        - Buckets
      summary: Update Bucket
      description: Update bucket information for the given bucket id
      operationId: Buckets#updateBucket
      parameters:
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
        - name: bucketId
          in: path
          description: 'bucket id '
          required: true
          schema:
            type: integer
            description: 'bucket id '
            example: 1
            format: int64
          example: 1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateBucketRequestBody'
            example:
              customFieldValues: '{''filedname1:value2, fieldname2:value2}'
              description: short description of the bucket
              name: bucket name
              originId: 1
              originTypeId: 1
              parentId: 1
              typeId: 101
      responses:
        '200':
          description: OK response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bucket'
              example:
                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
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '404':
          description: Not Found response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: requested resource is not found
                name: not_found
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
  /sbom/v1/orgs/{orgId}/files:
    get:
      tags:
        - Files
      summary: View All Files
      description: >+
        Retrieve all the files


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

        |parameter | description|

        |--- | ---|

        | ids | comma separated list of file ids |

        | partId | get all the files for a specific part id |

        | trailId | provide job id to list all the records that was
        created/updated during the job run  |

      operationId: Files#indexFiles
      parameters:
        - name: ids
          in: query
          description: comma separated list of file ids
          allowEmptyValue: true
          schema:
            type: string
            description: comma separated list of file ids
            example: 12,34,56
          example: 12,34,56
        - name: partId
          in: query
          description: Identifies a part by ID.
          allowEmptyValue: true
          schema:
            type: integer
            description: Identifies a part by ID.
            example: 411
            format: int64
          example: 411
        - name: trailId
          in: query
          description: jobid that created/modified the record
          allowEmptyValue: true
          schema:
            type: integer
            description: jobid that created/modified the record
            example: 22
            format: int64
          example: 22
        - name: offset
          in: query
          description: page number of the results to fetch, defaults to first page
          allowEmptyValue: true
          schema:
            type: integer
            description: page number of the results to fetch, defaults to first page
            default: 1
            example: 1
            minimum: 1
          example: 1
        - name: limit
          in: query
          description: results per page (max 100)
          allowEmptyValue: true
          schema:
            type: integer
            description: results per page (max 100)
            default: 100
            example: 10
            maximum: 100
          example: 10
        - name: sort
          in: query
          description: >-
            sort the data by the given field e.g sort=field. Use this in
            combination with 'order' query param.
          allowEmptyValue: true
          schema:
            type: string
            description: >-
              sort the data by the given field e.g sort=field. Use this in
              combination with 'order' query param.
            default: ''
            example: id
          example: id
        - name: order
          in: query
          description: 'order the results ascending / descending. Use : asc | desc'
          allowEmptyValue: true
          schema:
            type: string
            description: 'order the results ascending / descending. Use : asc | desc'
            default: asc
            example: asc
            pattern: ^(?i)(asc|desc)$
          example: asc
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
      responses:
        '200':
          description: OK response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
              example:
                data:
                  - id: 101
                    other-fields: >-
                      please check the Schema for all the fields returned in
                      this reponse
                meta:
                  limit: 100
                  offset: 1
                  total: 1000
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
    post:
      tags:
        - Files
      summary: Create File
      description: Creates a file
      operationId: Files#createFile
      parameters:
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFileRequestBody'
            example:
              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:
        '201':
          description: Created response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBucketResponseBody'
              example:
                id: 305
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
  /sbom/v1/orgs/{orgId}/files/{fileId}:
    delete:
      tags:
        - Files
      summary: Delete File
      description: Delete a file
      operationId: Files#deleteFile
      parameters:
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
        - name: fileId
          in: path
          description: ' file id '
          required: true
          schema:
            type: integer
            description: ' file id '
            example: 305
            format: int64
          example: 305
      responses:
        '200':
          description: OK response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBucketResponseBody'
              example:
                id: 305
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '404':
          description: Not Found response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: requested resource is not found
                name: not_found
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
    get:
      tags:
        - Files
      summary: View Information for a File
      description: Retrieve detailed information for the requested file
      operationId: Files#showFile
      parameters:
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
        - name: fileId
          in: path
          description: file id
          required: true
          schema:
            type: integer
            description: file id
            example: 305
            format: int64
          example: 305
      responses:
        '200':
          description: OK response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/File'
              example:
                createdBy:
                  email: adam@server.com
                  firstName: Adam
                  id: 2435456
                  lastName: Stone
                createdOn: '2022-07-20 04:55:49'
                hashes:
                  - type: MD5/SHA1/SHA3
                    value: f7s24f5532b846c37ac6e994255afd624
                  - type: MD5/SHA1/SHA3
                    value: f7s24f5532b846c37ac6e994255afd624
                  - type: MD5/SHA1/SHA3
                    value: f7s24f5532b846c37ac6e994255afd624
                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
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '404':
          description: Not Found response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: requested resource is not found
                name: not_found
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
    put:
      tags:
        - Files
      summary: Update File
      description: Update file information
      operationId: Files#updateFile
      parameters:
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
        - name: fileId
          in: path
          description: file id
          required: true
          schema:
            type: integer
            description: file id
            example: 305
            format: int64
          example: 305
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFileRequestBody'
            example:
              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:
        '200':
          description: OK response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/File'
              example:
                createdBy:
                  email: adam@server.com
                  firstName: Adam
                  id: 2435456
                  lastName: Stone
                createdOn: '2022-07-20 04:55:49'
                hashes:
                  - type: MD5/SHA1/SHA3
                    value: f7s24f5532b846c37ac6e994255afd624
                  - type: MD5/SHA1/SHA3
                    value: f7s24f5532b846c37ac6e994255afd624
                  - type: MD5/SHA1/SHA3
                    value: f7s24f5532b846c37ac6e994255afd624
                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
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '404':
          description: Not Found response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: requested resource is not found
                name: not_found
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
  /sbom/v1/orgs/{orgId}/import:
    post:
      tags:
        - Importer
      summary: Import SBOM Data
      description: Import Software Bill Of Materials into the system
      operationId: Importer#import
      parameters:
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ImportRequestBody'
            example:
              bucketId: 205
              file: contents of the file in bytes that needs to be uploaded
              fileName: project_hello.json
      responses:
        '200':
          description: OK response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Importer'
              example:
                jobId: 812
                message: Import job QUEUED. Check the /jobs/{jobId} api for details.
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
  /sbom/v1/orgs/{orgId}/jobs:
    get:
      tags:
        - Jobs
      summary: View All Jobs
      description: |+
        Retrieve all the Jobs for the given orgId.

        Jobs can be filtered using any 'one' of the following parameters. 
        |parameter | description|
        |--- | ---|
        | status | list all the jobs for the given status |
        | bucketId | list all the jobs for a bucketId |

      operationId: Jobs#indexJobs
      parameters:
        - name: status
          in: query
          description: list jobs by status
          allowEmptyValue: true
          schema:
            type: string
            description: list jobs by status
            example: queued / processing / completed
          example: queued / processing / completed
        - name: bucketId
          in: query
          description: list jobs by bucket id
          allowEmptyValue: true
          schema:
            type: integer
            description: list jobs by bucket id
            example: 205
            format: int64
          example: 205
        - name: offset
          in: query
          description: page number of the results to fetch, defaults to first page
          allowEmptyValue: true
          schema:
            type: integer
            description: page number of the results to fetch, defaults to first page
            default: 1
            example: 1
            minimum: 1
          example: 1
        - name: limit
          in: query
          description: results per page (max 100)
          allowEmptyValue: true
          schema:
            type: integer
            description: results per page (max 100)
            default: 100
            example: 10
            maximum: 100
          example: 10
        - name: sort
          in: query
          description: >-
            sort the data by the given field e.g sort=field. Use this in
            combination with 'order' query param.
          allowEmptyValue: true
          schema:
            type: string
            description: >-
              sort the data by the given field e.g sort=field. Use this in
              combination with 'order' query param.
            default: ''
            example: id
          example: id
        - name: order
          in: query
          description: 'order the results ascending / descending. Use : asc | desc'
          allowEmptyValue: true
          schema:
            type: string
            description: 'order the results ascending / descending. Use : asc | desc'
            default: asc
            example: asc
            pattern: ^(?i)(asc|desc)$
          example: asc
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
      responses:
        '200':
          description: OK response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
              example:
                data:
                  - id: 101
                    other-fields: >-
                      please check the Schema for all the fields returned in
                      this reponse
                meta:
                  limit: 100
                  offset: 1
                  total: 1000
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
  /sbom/v1/orgs/{orgId}/jobs/{jobId}:
    get:
      tags:
        - Jobs
      summary: View Information for a Job
      description: Retrieve a Job
      operationId: Jobs#showJob
      parameters:
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
        - name: jobId
          in: path
          description: job id.
          required: true
          schema:
            type: integer
            description: job id.
            example: 812
            format: int64
          example: 812
      responses:
        '200':
          description: OK response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
              example:
                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:
                    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
                status: queued / processing / completed
                type: import / others
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '404':
          description: Not Found response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: requested resource is not found
                name: not_found
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
  /sbom/v1/orgs/{orgId}/parts:
    get:
      tags:
        - Parts
      summary: View All SBOM Parts
      description: >+
        Retrieve all the parts.


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

        |parameter | description|

        |--- | ---|

        | ids | comma separated list of part ids |

        | bucketIds | comma separated list of bucket ids |

        | trailId | provide job id to list all the records that was
        created/updated during the job run  |

      operationId: Parts#indexParts
      parameters:
        - name: ids
          in: query
          description: comma separated list of part ids
          allowEmptyValue: true
          schema:
            type: string
            description: comma separated list of part ids
            example: 12,34,56
          example: 12,34,56
        - name: bucketIds
          in: query
          description: comma separated list of bucket ids
          allowEmptyValue: true
          schema:
            type: string
            description: comma separated list of bucket ids
            example: 12,34,56
          example: 12,34,56
        - name: trailId
          in: query
          description: jobid that created/modified the record
          allowEmptyValue: true
          schema:
            type: integer
            description: jobid that created/modified the record
            example: 22
            format: int64
          example: 22
        - name: offset
          in: query
          description: page number of the results to fetch, defaults to first page
          allowEmptyValue: true
          schema:
            type: integer
            description: page number of the results to fetch, defaults to first page
            default: 1
            example: 1
            minimum: 1
          example: 1
        - name: limit
          in: query
          description: results per page (max 100)
          allowEmptyValue: true
          schema:
            type: integer
            description: results per page (max 100)
            default: 100
            example: 10
            maximum: 100
          example: 10
        - name: sort
          in: query
          description: >-
            sort the data by the given field e.g sort=field. Use this in
            combination with 'order' query param.
          allowEmptyValue: true
          schema:
            type: string
            description: >-
              sort the data by the given field e.g sort=field. Use this in
              combination with 'order' query param.
            default: ''
            example: id
          example: id
        - name: order
          in: query
          description: 'order the results ascending / descending. Use : asc | desc'
          allowEmptyValue: true
          schema:
            type: string
            description: 'order the results ascending / descending. Use : asc | desc'
            default: asc
            example: asc
            pattern: ^(?i)(asc|desc)$
          example: asc
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
      responses:
        '200':
          description: OK response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
              example:
                data:
                  - id: 101
                    other-fields: >-
                      please check the Schema for all the fields returned in
                      this reponse
                meta:
                  limit: 100
                  offset: 1
                  total: 1000
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
    post:
      tags:
        - Parts
      summary: Create SBOM Part
      description: Register a part
      operationId: Parts#createPart
      parameters:
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePartRequestBody'
            example:
              additionalNotes: Artistic License 1.0
              bucketId: 205
              catalogId: 644
              copyrightText: copyright text
              customFieldValues: '{''field1'': ''value1'',''field2'': ''value2''}'
              description: some text
              fileIds:
                - 8657670097689851000
                - 9191975148648903000
              linkId: 323
              linkNotes: link notes
              linkTypeId: 345
              name: Some Part name
              noticesText: some text
              originId: 1
              originTypeId: 1
              purl: pkg:alpine/alpine-keys@2.4-r0?arch=x86_64
              status: Approved
              typeId: 1
              url: Artistic License 1.0
      responses:
        '201':
          description: Created response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBucketResponseBody'
              example:
                id: 411
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
  /sbom/v1/orgs/{orgId}/parts/{partId}:
    delete:
      tags:
        - Parts
      summary: Delete SBOM Part
      description: Un-register a part
      operationId: Parts#deletePart
      parameters:
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
        - name: partId
          in: path
          description: 'Part id '
          required: true
          schema:
            type: integer
            description: 'Part id '
            example: 1
            format: int64
          example: 1
      responses:
        '200':
          description: OK response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBucketResponseBody'
              example:
                id: 411
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '404':
          description: Not Found response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: requested resource is not found
                name: not_found
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
    get:
      tags:
        - Parts
      summary: View Information for an SBOM Part
      description: Retrieve a part
      operationId: Parts#showPart
      parameters:
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
        - name: partId
          in: path
          description: Identifies a part by ID.
          required: true
          schema:
            type: integer
            description: Identifies a part by ID.
            example: 411
            format: int64
          example: 411
      responses:
        '200':
          description: OK response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Part'
              example:
                additionalNotes: additional notes
                bucket:
                  bucketType: 22
                  description: a new buckets with desc
                  id: 5
                  name: my bucket in an org
                  orgId: 40062
                  parentId: 'null'
                  typeId: 1
                bucketId: 205
                catalog:
                  id: 1
                  orgId: -1
                  title: vul-bug-apache-struts
                catalogId: 644
                copyrightText: multi line copyright text
                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: multi line description about the part
                fileIds:
                  - 6388167972581648000
                  - 7106059467961315000
                id: 411
                internalNotes:
                  value: Atque alias odit.
                linkId: 404
                linkNotes: notes about the link estabilished
                linkType:
                  category: link_types
                  id: 9
                  key: cloned
                  label: Clone
                  orgId: -1
                linkTypeId: 54
                modifiedBy:
                  email: adam@server.com
                  firstName: Adam
                  id: 2435456
                  lastName: Stone
                modifiedOn: '2022-07-20 04:55:49'
                name: my bucket name
                noticesText: multi line notices text
                orgId: 38808
                originId: 545
                originType: Non voluptas atque recusandae tenetur.
                originTypeId: 54
                partType:
                  category: part_types
                  id: 9
                  key: application
                  label: Application
                  orgId: -1
                purl: pkg:alpine/alpine-keys@2.4-r0?arch=x86_64
                status: Reviewed / Not Reviewed / Pending
                trailId: 22
                typeId: 1
                url: http://github.com/my/component
                vulnerabilitySummary:
                  cvss2:
                    high: 52
                    low: 10
                    medium: 38
                    unknown: 0
                  cvss3:
                    critical: 13
                    high: 17
                    low: 0
                    medium: 7
                    none: 63
                  total: 10
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '404':
          description: Not Found response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: requested resource is not found
                name: not_found
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
    put:
      tags:
        - Parts
      summary: Update SBOM Part
      description: Update part information
      operationId: Parts#updatePart
      parameters:
        - name: orgId
          in: path
          description: Organization id
          required: true
          schema:
            type: integer
            description: Organization id
            example: 38808
            format: int64
          example: 38808
        - name: partId
          in: path
          description: 'part id '
          required: true
          schema:
            type: integer
            description: 'part id '
            example: 411
            format: int64
          example: 411
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePartRequestBody'
            example:
              additionalNotes: multi line additional notes
              bucketId: 205
              catalogId: 1
              copyrightText: copyright text
              customFieldValues: '{''field1'': ''value1'',''field2'': ''value2''}'
              description: full description of the part
              fileIds:
                - 3448109934389025000
                - 3612097320600397000
                - 5796970362103919000
                - 5426399058772692000
              linkId: 323
              linkNotes: link notes
              linkTypeId: 345
              name: Some Part name
              noticesText: multi line notices text
              originId: 1
              originTypeId: 1
              purl: pkg:alpine/alpine-keys@2.4-r0?arch=x86_64
              status: Approved
              typeId: 1
              url: http://github.com/ven/rep
      responses:
        '200':
          description: OK response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Part'
              example:
                additionalNotes: additional notes
                bucket:
                  bucketType: 22
                  description: a new buckets with desc
                  id: 5
                  name: my bucket in an org
                  orgId: 40062
                  parentId: 'null'
                  typeId: 1
                bucketId: 205
                catalog:
                  id: 1
                  orgId: -1
                  title: vul-bug-apache-struts
                catalogId: 644
                copyrightText: multi line copyright text
                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: multi line description about the part
                fileIds:
                  - 72174769622849060
                  - 8969560062921569000
                  - 6282079258586465000
                id: 411
                internalNotes:
                  value: Atque alias odit.
                linkId: 404
                linkNotes: notes about the link estabilished
                linkType:
                  category: link_types
                  id: 9
                  key: cloned
                  label: Clone
                  orgId: -1
                linkTypeId: 54
                modifiedBy:
                  email: adam@server.com
                  firstName: Adam
                  id: 2435456
                  lastName: Stone
                modifiedOn: '2022-07-20 04:55:49'
                name: my bucket name
                noticesText: multi line notices text
                orgId: 38808
                originId: 545
                originType: Consectetur nam repellendus.
                originTypeId: 54
                partType:
                  category: part_types
                  id: 9
                  key: application
                  label: Application
                  orgId: -1
                purl: pkg:alpine/alpine-keys@2.4-r0?arch=x86_64
                status: Reviewed / Not Reviewed / Pending
                trailId: 22
                typeId: 1
                url: http://github.com/my/component
                vulnerabilitySummary:
                  cvss2:
                    high: 52
                    low: 10
                    medium: 38
                    unknown: 0
                  cvss3:
                    critical: 13
                    high: 17
                    low: 0
                    medium: 7
                    none: 63
                  total: 10
        '400':
          description: Bad Request response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: request is invalid
                name: bad_request
                temporary: false
                timeout: false
        '401':
          description: Unauthorized response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token is invalid
                name: unauthorized
                temporary: false
                timeout: false
        '403':
          description: Forbidden response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: access token does not have sufficient privileges
                name: forbidden
                temporary: false
                timeout: false
        '404':
          description: Not Found response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: false
                id: 123abc
                message: requested resource is not found
                name: not_found
                temporary: false
                timeout: false
        '500':
          description: Internal Server Error response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: something went wrong in the server
                name: internal_error
                temporary: true
                timeout: false
        '502':
          description: Bad Gateway response.
          content:
            application/vnd.goa.error:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                fault: true
                id: 123abc
                message: server is unable to handle the request
                name: bad_gateway
                temporary: true
                timeout: false
      security:
        - GlobalSession_header_Authorization:
            - sbom:bucket:create
            - sbom:bucket:delete
            - sbom:bucket:index
            - sbom:bucket:show
            - sbom:bucket:update
            - sbom:bucket:search
            - sbom:catalog:create
            - sbom:catalog:delete
            - sbom:catalog:index
            - sbom:catalog:show
            - sbom:catalog:update
            - sbom:catalog:search
            - sbom:part:create
            - sbom:part:delete
            - sbom:part:index
            - sbom:part:show
            - sbom:part:update
            - sbom:part:search
            - sbom:file:create
            - sbom:file:delete
            - sbom:file:index
            - sbom:file:show
            - sbom:file:update
            - sbom:file:search
            - sbom:lookup:live
            - sbom:custom_field:create
            - sbom:custom_field:delete
            - sbom:custom_field:index
            - sbom:custom_field:show
            - sbom:custom_field:update
            - sbom:importer:import
            - sbom:job:index
            - sbom:job:show
            - sbom:job:cancel
            - sbom:job:delete
            - sbom:rule:create
            - sbom:rule:delete
            - sbom:rule:index
            - sbom:rule:show
            - sbom:rule:update
            - sbom:archetype:create
            - sbom:archetype:delete
            - sbom:archetype:index
            - sbom:archetype:show
            - sbom:archetype:update
components:
  schemas:
    Archetype:
      type: object
      properties:
        category:
          type: string
          example: bucket_types
        createdBy:
          type: string
          example:
            email: adam@server.com
            firstName: Adam
            id: 2435456
            lastName: Stone
          format: binary
        createdOn:
          type: string
          example: '2022-07-20 04:55:49'
        id:
          type: integer
          example: 101
          format: int64
        key:
          type: string
          example: application_type
        label:
          type: string
          example: Application Name
        modifiedBy:
          type: string
          example:
            email: adam@server.com
            firstName: Adam
            id: 2435456
            lastName: Stone
          format: binary
        modifiedOn:
          type: string
          example: '2022-07-20 04:55:49'
        orgId:
          type: integer
          example: 38808
          format: int64
        source:
          type: string
          example: custom
        trailId:
          type: integer
          example: 22
          format: int64
      example:
        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
    Bucket:
      type: object
      properties:
        bucketType:
          type: string
          example:
            category: bucket_types
            id: 1
            key: application
            label: Application
            orgId: -1
            source: spdx
          format: binary
        createdBy:
          type: string
          example:
            email: adam@server.com
            firstName: Adam
            id: 2435456
            lastName: Stone
          format: binary
        createdOn:
          type: string
          example: '2022-07-20 04:55:49'
        customFieldValues:
          $ref: '#/components/schemas/Customfieldvalues'
        description:
          type: string
          example: bucket describption
        id:
          type: integer
          example: 205
          format: int64
        modifiedBy:
          type: string
          example:
            email: adam@server.com
            firstName: Adam
            id: 2435456
            lastName: Stone
          format: binary
        modifiedOn:
          type: string
          example: '2022-07-20 04:55:49'
        name:
          type: string
          example: my bucket
        orgId:
          type: integer
          example: 38808
          format: int64
        originId:
          type: integer
          example: 202
          format: int64
        originType:
          type: string
          example: 'null'
          format: binary
        originTypeId:
          type: integer
          example: 0
          format: int64
        parentId:
          type: integer
          example: 1
          format: int64
        trailId:
          type: integer
          example: 22
          format: int64
        typeId:
          type: integer
          example: 1
          format: int64
      example:
        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
    CreateArchetypeRequestBody:
      type: object
      properties:
        category:
          type: string
          description: "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'.\n\t* bucket_types\n\t* part_types\n\t* file_sub_types\n\t* file_types\n\t* link_types\n\t* origin_types"
          example: part_types
        key:
          type: string
          description: archetype key
          example: app_key
        label:
          type: string
          description: archetype label
          example: Application Name
        source:
          type: string
          description: "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.\n\t* internal\n\t* cyclonedx\n\t* spdx"
          example: internal
      example:
        category: part_types
        key: app_key
        label: Application Name
        source: internal
      required:
        - category
        - key
        - label
    CreateArchetypeResponseBody:
      type: object
      properties:
        id:
          type: integer
          description: ID of the newly created archetype
          example: 101
          format: int64
      example:
        id: 101
      required:
        - id
    CreateBucketRequestBody:
      type: object
      properties:
        customFieldValues:
          type: string
          description: org specific custom field values for that particular bucket
          example: '{''filedname1:value2, fieldname2:value2}'
        description:
          type: string
          description: description of the bucket
          example: short description of the bucket
        name:
          type: string
          description: bucket Name
          example: bucket name
        originId:
          type: integer
          description: >-
            origin of the bucket. A bucket id from which this bucket was cloned
            or copied from.
          example: 202
          format: int64
        originTypeId:
          type: integer
          description: 'origin type of the bucket. Ref: Archetypes api for details.'
          example: 1
          format: int64
        parentId:
          type: integer
          description: 'parent bucket id '
          example: 1
          format: int64
        typeId:
          type: integer
          description: 'type of the bucket. Ref: Archetypes api for details.'
          example: 101
          format: int64
      example:
        customFieldValues: '{''filedname1:value2, fieldname2:value2}'
        description: short description of the bucket
        name: bucket name
        originId: 202
        originTypeId: 1
        parentId: 1
        typeId: 101
      required:
        - name
        - typeId
    CreateBucketResponseBody:
      type: object
      properties:
        id:
          type: integer
          description: ID of the newly created bucket
          example: 205
          format: int64
      example:
        id: 205
      required:
        - id
    CreateFileRequestBody:
      type: object
      properties:
        hashes:
          type: array
          items:
            $ref: '#/components/schemas/Hash'
          description: multiple hash types and values of the file
          example:
            - type: MD5/SHA1/SHA3
              value: f7s24f5532b846c37ac6e994255afd624
            - type: MD5/SHA1/SHA3
              value: f7s24f5532b846c37ac6e994255afd624
        linkId:
          type: integer
          description: id of the other file it's linked to
          example: 323
          format: int64
        linkTypeId:
          type: integer
          description: 'type of link to the other file. Ref: Archetypes api for details.'
          example: 345
          format: int64
        name:
          type: string
          description: name of the file
          example: my_file.zip
        path:
          type: string
          description: key
          example: /source/download
        subTypeId:
          type: integer
          description: 'sub type of the file. Ref: Archetypes api for details.'
          example: 53
          format: int64
        typeId:
          type: integer
          description: 'type of file. Ref: Archetypes api for details.'
          example: 2223
          format: int64
      example:
        hashes:
          - 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
      required:
        - name
    CreatePartRequestBody:
      type: object
      properties:
        additionalNotes:
          type: string
          description: additional notes
          example: Artistic License 1.0
        bucketId:
          type: integer
          description: 'bucket id '
          example: 205
          format: int64
        catalogId:
          type: integer
          description: catalog associated to that part
          example: 644
          format: int64
        copyrightText:
          type: string
          description: copyright text of the part
          example: copyright text
        customFieldValues:
          type: string
          description: org specific custom field values for that particular bucket
          example: '{''field1'': ''value1'',''field2'': ''value2''}'
        description:
          type: string
          description: part description
          example: some text
        fileIds:
          type: array
          items:
            type: integer
            example: 374174745464330000
            format: int64
          description: ids of files assocaited
          example:
            - 5927242252805990000
            - 7597106984348508000
            - 6875528398840454000
        linkId:
          type: integer
          description: id of the other part it's linked to
          example: 323
          format: int64
        linkNotes:
          type: string
          description: notes about the link
          example: link notes
        linkTypeId:
          type: integer
          description: 'type of link to the other part. Ref: Archetypes api for details.'
          example: 345
          format: int64
        name:
          type: string
          description: part name
          example: Some Part name
        noticesText:
          type: string
          description: notices text
          example: some text
        originId:
          type: integer
          description: >-
            origin of the bucket. A bucket id from which this bucket was cloned
            or copied from.
          example: 1
          format: int64
        originTypeId:
          type: integer
          description: 'origin type of the bucket. Ref: Archetypes api for details.'
          example: 1
          format: int64
        purl:
          type: string
          description: package url
          example: pkg:alpine/alpine-keys@2.4-r0?arch=x86_64
        status:
          type: string
          description: status of the part
          example: Approved
        typeId:
          type: integer
          description: 'type of the part Ref: Archetypes api for details.'
          example: 1
          format: int64
        url:
          type: string
          description: url
          example: Artistic License 1.0
      example:
        additionalNotes: Artistic License 1.0
        bucketId: 205
        catalogId: 644
        copyrightText: copyright text
        customFieldValues: '{''field1'': ''value1'',''field2'': ''value2''}'
        description: some text
        fileIds:
          - 8587597350144002000
          - 5372633121641905000
        linkId: 323
        linkNotes: link notes
        linkTypeId: 345
        name: Some Part name
        noticesText: some text
        originId: 1
        originTypeId: 1
        purl: pkg:alpine/alpine-keys@2.4-r0?arch=x86_64
        status: Approved
        typeId: 1
        url: Artistic License 1.0
      required:
        - bucketId
        - name
        - typeId
        - status
    Customfieldvalues:
      type: object
      properties:
        value:
          type: string
          example: '{ field1 : value1 , field2 : value2 }'
      example:
        value: '{ field1 : value1 , field2 : value2 }'
    Error:
      type: object
      properties:
        fault:
          type: boolean
          description: Is the error a server-side fault?
          example: false
        id:
          type: string
          description: >-
            ID is a unique identifier for this particular occurrence of the
            problem.
          example: 123abc
        message:
          type: string
          description: >-
            Message is a human-readable explanation specific to this occurrence
            of the problem.
          example: parameter 'p' must be an integer
        name:
          type: string
          description: Name is the name of this class of errors.
          example: bad_request
        temporary:
          type: boolean
          description: Is the error temporary?
          example: true
        timeout:
          type: boolean
          description: Is the error a timeout?
          example: true
      example:
        fault: true
        id: 123abc
        message: server is unable to handle the request
        name: bad_gateway
        temporary: true
        timeout: false
      required:
        - name
        - id
        - message
        - temporary
        - timeout
        - fault
    File:
      type: object
      properties:
        createdBy:
          type: string
          example:
            email: adam@server.com
            firstName: Adam
            id: 2435456
            lastName: Stone
          format: binary
        createdOn:
          type: string
          example: '2022-07-20 04:55:49'
        hashes:
          type: array
          items:
            $ref: '#/components/schemas/Hash'
          example:
            - type: MD5/SHA1/SHA3
              value: f7s24f5532b846c37ac6e994255afd624
            - type: MD5/SHA1/SHA3
              value: f7s24f5532b846c37ac6e994255afd624
        id:
          type: integer
          example: 305
          format: int64
        linkId:
          type: integer
          example: 86
          format: int64
        linkTypeId:
          type: integer
          example: 75
          format: int64
        modifiedBy:
          type: string
          example:
            email: adam@server.com
            firstName: Adam
            id: 2435456
            lastName: Stone
          format: binary
        modifiedOn:
          type: string
          example: '2022-07-20 04:55:49'
        name:
          type: string
          example: my_file.zip
        orgId:
          type: integer
          example: 38808
          format: int64
        path:
          type: string
          example: /source/download
        subTypeId:
          type: integer
          example: 53
          format: int64
        trailId:
          type: integer
          example: 22
          format: int64
        typeId:
          type: integer
          example: 305
          format: int64
      example:
        createdBy:
          email: adam@server.com
          firstName: Adam
          id: 2435456
          lastName: Stone
        createdOn: '2022-07-20 04:55:49'
        hashes:
          - type: MD5/SHA1/SHA3
            value: f7s24f5532b846c37ac6e994255afd624
          - type: MD5/SHA1/SHA3
            value: f7s24f5532b846c37ac6e994255afd624
        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
    Hash:
      type: object
      properties:
        type:
          type: string
          example: MD5/SHA1/SHA3
        value:
          type: string
          example: f7s24f5532b846c37ac6e994255afd624
      example:
        type: MD5/SHA1/SHA3
        value: f7s24f5532b846c37ac6e994255afd624
    ImportRequestBody:
      type: object
      properties:
        bucketId:
          type: integer
          description: 'bucket id '
          example: 205
          format: int64
        file:
          type: string
          description: file to be uploaded
          example: contents of the file in bytes that needs to be uploaded
          format: binary
        fileName:
          type: string
          description: name of the file
          example: project_hello.json
      example:
        bucketId: 205
        file: contents of the file in bytes that needs to be uploaded
        fileName: project_hello.json
      required:
        - bucketId
        - file
    Importer:
      type: object
      properties:
        jobId:
          type: integer
          example: 812
          format: int64
        message:
          type: string
          example: Import job QUEUED. Check the /jobs/{jobId} api for details.
      example:
        jobId: 812
        message: Import job QUEUED. Check the /jobs/{jobId} api for details.
    Internalnotes:
      type: object
      properties:
        value:
          type: string
          example: Aspernatur dicta reprehenderit corrupti eos.
      example:
        value: Laborum suscipit minus quos.
    Job:
      type: object
      properties:
        bucketId:
          type: integer
          example: 205
          format: int64
        createdBy:
          type: string
          example:
            email: adam@server.com
            firstName: Adam
            id: 2435456
            lastName: Stone
          format: binary
        createdOn:
          type: string
          example: '2022-07-20 04:55:49'
        id:
          type: integer
          example: 812
          format: int64
        input:
          $ref: '#/components/schemas/JobInput'
        modifiedBy:
          type: string
          example:
            email: adam@server.com
            firstName: Adam
            id: 2435456
            lastName: Stone
          format: binary
        modifiedOn:
          type: string
          example: '2022-07-20 04:55:49'
        orgId:
          type: integer
          example: 38808
          format: int64
        output:
          $ref: '#/components/schemas/JobOutput'
        status:
          type: string
          example: queued / processing / completed
        type:
          type: string
          example: import / others
      example:
        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:
            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
        status: queued / processing / completed
        type: import / others
    JobInput:
      type: object
      properties:
        fileHash:
          type: string
          example: cb26478a28a51ce1ce08ccd2bc3f6942
        fileName:
          type: string
          example: project-hello.spdx
        filePath:
          type: string
          example: /project-import/843514967_40062_2_project-hello.spdx
        logFile:
          type: string
          example: /project-import/843514967_40062_2_project-hello.log
      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
    JobOutput:
      type: object
      properties:
        parsed:
          type: string
          example:
            errors: 'null'
            failed: 0
            messages: 'null'
            processed: 10
            skipped: 2
            timeTaken: 4.51025ms
            total: 12
          format: binary
        processed:
          type: string
          example:
            errors: 'null'
            failed: 0
            messages: 'null'
            processed: 10
            skipped: 0
            timeTaken: 1.215864501s
            total: 10
          format: binary
        totalTime:
          type: string
          example: 1.246455001s
      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
    Metainfo:
      type: object
      properties:
        limit:
          type: integer
          default: 0
          example: 100
          format: int64
        offset:
          type: integer
          default: 0
          example: 1
          format: int64
        total:
          type: integer
          default: 0
          example: 1000
          format: int64
      description: >-
        Represents the Meta information that would be contained in each response
        returned.
      example:
        limit: 100
        offset: 1
        total: 1000
    Part:
      type: object
      properties:
        additionalNotes:
          type: string
          example: additional notes
        bucket:
          type: string
          example:
            bucketType: 22
            description: a new buckets with desc
            id: 5
            name: my bucket in an org
            orgId: 40062
            parentId: 'null'
            typeId: 1
          format: binary
        bucketId:
          type: integer
          example: 205
          format: int64
        catalog:
          type: string
          example:
            id: 1
            orgId: -1
            title: vul-bug-apache-struts
          format: binary
        catalogId:
          type: integer
          example: 644
          format: int64
        copyrightText:
          type: string
          example: multi line copyright text
        createdBy:
          type: string
          example:
            email: adam@server.com
            firstName: Adam
            id: 2435456
            lastName: Stone
          format: binary
        createdOn:
          type: string
          example: '2022-07-20 04:55:49'
        customFieldValues:
          $ref: '#/components/schemas/Customfieldvalues'
        description:
          type: string
          example: multi line description about the part
        fileIds:
          type: array
          items:
            type: integer
            example: 6291474141207708000
            format: int64
          example:
            - 3454358210887885000
            - 5375542414651088000
            - 6623887856919319000
            - 3821343944907502600
        id:
          type: integer
          example: 411
          format: int64
        internalNotes:
          $ref: '#/components/schemas/Internalnotes'
        linkId:
          type: integer
          example: 404
          format: int64
        linkNotes:
          type: string
          example: notes about the link estabilished
        linkType:
          type: string
          example:
            category: link_types
            id: 9
            key: cloned
            label: Clone
            orgId: -1
          format: binary
        linkTypeId:
          type: integer
          example: 54
          format: int64
        modifiedBy:
          type: string
          example:
            email: adam@server.com
            firstName: Adam
            id: 2435456
            lastName: Stone
          format: binary
        modifiedOn:
          type: string
          example: '2022-07-20 04:55:49'
        name:
          type: string
          example: my bucket name
        noticesText:
          type: string
          example: multi line notices text
        orgId:
          type: integer
          example: 38808
          format: int64
        originId:
          type: integer
          example: 545
          format: int64
        originType:
          type: string
          example: Quidem ut velit neque dolorum.
          format: binary
        originTypeId:
          type: integer
          example: 54
          format: int64
        partType:
          type: string
          example:
            category: part_types
            id: 9
            key: application
            label: Application
            orgId: -1
          format: binary
        purl:
          type: string
          example: pkg:alpine/alpine-keys@2.4-r0?arch=x86_64
        status:
          type: string
          example: Reviewed / Not Reviewed / Pending
        trailId:
          type: integer
          example: 22
          format: int64
        typeId:
          type: integer
          example: 1
          format: int64
        url:
          type: string
          example: http://github.com/my/component
        vulnerabilitySummary:
          $ref: '#/components/schemas/VulnerabilitySummary'
      example:
        additionalNotes: additional notes
        bucket:
          bucketType: 22
          description: a new buckets with desc
          id: 5
          name: my bucket in an org
          orgId: 40062
          parentId: 'null'
          typeId: 1
        bucketId: 205
        catalog:
          id: 1
          orgId: -1
          title: vul-bug-apache-struts
        catalogId: 644
        copyrightText: multi line copyright text
        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: multi line description about the part
        fileIds:
          - 4856849504480032000
          - 7276947136532931000
        id: 411
        internalNotes:
          value: Atque alias odit.
        linkId: 404
        linkNotes: notes about the link estabilished
        linkType:
          category: link_types
          id: 9
          key: cloned
          label: Clone
          orgId: -1
        linkTypeId: 54
        modifiedBy:
          email: adam@server.com
          firstName: Adam
          id: 2435456
          lastName: Stone
        modifiedOn: '2022-07-20 04:55:49'
        name: my bucket name
        noticesText: multi line notices text
        orgId: 38808
        originId: 545
        originType: Aperiam inventore quia.
        originTypeId: 54
        partType:
          category: part_types
          id: 9
          key: application
          label: Application
          orgId: -1
        purl: pkg:alpine/alpine-keys@2.4-r0?arch=x86_64
        status: Reviewed / Not Reviewed / Pending
        trailId: 22
        typeId: 1
        url: http://github.com/my/component
        vulnerabilitySummary:
          cvss2:
            high: 52
            low: 10
            medium: 38
            unknown: 0
          cvss3:
            critical: 13
            high: 17
            low: 0
            medium: 7
            none: 63
          total: 10
    SuccessResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: string
            example: Sunt voluptatem ea architecto voluptas nihil laborum.
            format: binary
          example:
            - id: 101
              other-fields: >-
                please check the Schema for all the fields returned in this
                reponse
        meta:
          $ref: '#/components/schemas/Metainfo'
      example:
        data:
          - id: 101
            other-fields: >-
              please check the Schema for all the fields returned in this
              reponse
        meta:
          limit: 100
          offset: 1
          total: 1000
    UpdateArchetypeRequestBody:
      type: object
      properties:
        category:
          type: string
          description: "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'.\n\t* bucket_types\n\t* part_types\n\t* file_sub_types\n\t* file_types\n\t* link_types\n\t* origin_types"
          example: bucket_types
        key:
          type: string
          description: archetype key
          example: app_key
        label:
          type: string
          description: archetype label
          example: Application Name
        source:
          type: string
          description: "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.\n\t* internal\n\t* cyclonedx\n\t* spdx"
          example: internal
      example:
        category: bucket_types
        key: app_key
        label: Application Name
        source: internal
    UpdateBucketRequestBody:
      type: object
      properties:
        customFieldValues:
          type: string
          description: org specific custom field values for that particular bucket
          example: '{''filedname1:value2, fieldname2:value2}'
        description:
          type: string
          description: description of the bucket
          example: short description of the bucket
        name:
          type: string
          description: pucket Name
          example: bucket name
        originId:
          type: integer
          description: >-
            origin of the bucket. A bucket id from which this bucket was cloned
            or copied from.
          example: 1
          format: int64
        originTypeId:
          type: integer
          description: 'origin type of the bucket. Ref: Archetypes api for details.'
          example: 1
          format: int64
        parentId:
          type: integer
          description: 'parent bucket id '
          example: 1
          format: int64
        typeId:
          type: integer
          description: 'type of the bucket. Ref: Archetypes api for details.'
          example: 101
          format: int64
      example:
        customFieldValues: '{''filedname1:value2, fieldname2:value2}'
        description: short description of the bucket
        name: bucket name
        originId: 1
        originTypeId: 1
        parentId: 1
        typeId: 101
    UpdateFileRequestBody:
      type: object
      properties:
        hashes:
          type: array
          items:
            $ref: '#/components/schemas/Hash'
          description: 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
        linkId:
          type: integer
          description: id of the file that it's linked to
          example: 323
          format: int64
        linkTypeId:
          type: integer
          description: 'type of link to the file. Ref: Archetypes api for details.'
          example: 45
          format: int64
        name:
          type: string
          description: name of the file
          example: my_file.zip
        path:
          type: string
          description: key
          example: /source/download
        subTypeId:
          type: integer
          description: 'sub type of the file. Ref: Archetypes api for details.'
          example: 53
          format: int64
        typeId:
          type: integer
          description: 'type of file. Ref: Archetypes api for details.'
          example: 23
          format: int64
      example:
        hashes:
          - 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
    UpdatePartRequestBody:
      type: object
      properties:
        additionalNotes:
          type: string
          description: additional notes
          example: multi line additional notes
        bucketId:
          type: integer
          description: 'bucket id '
          example: 205
          format: int64
        catalogId:
          type: integer
          description: catalog associated to that part
          example: 1
          format: int64
        copyrightText:
          type: string
          description: copyright text of the part
          example: copyright text
        customFieldValues:
          type: string
          description: org specific custom field values for that particular bucket
          example: '{''field1'': ''value1'',''field2'': ''value2''}'
        description:
          type: string
          description: part description
          example: full description of the part
        fileIds:
          type: array
          items:
            type: integer
            example: 4285539804831583700
            format: int64
          description: ids of files assocaited
          example:
            - 4907889583556628000
            - 4742444880804039000
            - 3044627269005350000
            - 3992954190388518000
        linkId:
          type: integer
          description: id of the other part it's linked to
          example: 323
          format: int64
        linkNotes:
          type: string
          description: notes about the link
          example: link notes
        linkTypeId:
          type: integer
          description: 'type of link to the other part. Ref: Archetypes api for details.'
          example: 345
          format: int64
        name:
          type: string
          description: part name
          example: Some Part name
        noticesText:
          type: string
          description: notices text
          example: multi line notices text
        originId:
          type: integer
          description: >-
            origin of the bucket. A bucket id from which this bucket was cloned
            or copied from.
          example: 1
          format: int64
        originTypeId:
          type: integer
          description: 'origin type of the bucket. Ref: Archetypes api for details.'
          example: 1
          format: int64
        purl:
          type: string
          description: package url
          example: pkg:alpine/alpine-keys@2.4-r0?arch=x86_64
        status:
          type: string
          description: status of the part
          example: Approved
        typeId:
          type: integer
          description: 'type of the part Ref: Archetypes api for details.'
          example: 1
          format: int64
        url:
          type: string
          description: url
          example: http://github.com/ven/rep
      example:
        additionalNotes: multi line additional notes
        bucketId: 205
        catalogId: 1
        copyrightText: copyright text
        customFieldValues: '{''field1'': ''value1'',''field2'': ''value2''}'
        description: full description of the part
        fileIds:
          - 3261006363549719600
          - 783716059535085400
          - 2309888631560961500
        linkId: 323
        linkNotes: link notes
        linkTypeId: 345
        name: Some Part name
        noticesText: multi line notices text
        originId: 1
        originTypeId: 1
        purl: pkg:alpine/alpine-keys@2.4-r0?arch=x86_64
        status: Approved
        typeId: 1
        url: http://github.com/ven/rep
    VulnerabilitySummary:
      type: object
      properties:
        cvss2:
          type: string
          example:
            high: 52
            low: 10
            medium: 38
            unknown: 0
          format: binary
        cvss3:
          type: string
          example:
            critical: 13
            high: 17
            low: 0
            medium: 7
            none: 63
          format: binary
        total:
          type: integer
          example: 10
          format: int64
      example:
        cvss2:
          high: 52
          low: 10
          medium: 38
          unknown: 0
        cvss3:
          critical: 13
          high: 17
          low: 0
          medium: 7
          none: 63
        total: 10
  securitySchemes:
    GlobalSession_header_Authorization:
      type: http
      description: >-
        Secures requests by requring a valid JWT token retrieved via the login
        endpoint.
      scheme: bearer
tags:
  - name: Archetypes
    description: Archetypes represents master 'types' that would be used across the system.
  - name: Buckets
    description: >-
      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.
  - name: Files
    description: >-
      Files represent the codebase files comprising the SBOM part. Each file has
      a name, relative path, and hashes.
  - name: Importer
    description: >-
      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.
  - name: Jobs
    description: >-
      Jobs are persisted transactions for background operations with a record of
      the transaction along with its resulting data summary and any encountered
      errors.
  - name: Parts
    description: >-
      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.
