{
  "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.\n\nArchetypes can be filtered using any 'one' of the following parameters. \n|parameter | description|\n|--- | ---|\n| ids | comma separated list of archetype ids |\n| categories | comma separated list of categories. For e.g : part_types, bucket_types, origin_types, link_types, file_types etc|\n| trailId | provide job id to list all the records that was created/updated during the job run  |\n\n",
        "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.\n\nBuckets can be filtered using any 'one' of the following parameters. \n|parameter | description|\n|--- | ---|\n| ids | comma separated list of bucket ids |\n| name | bucket name |\n| trailId | provide job id to list all the records that was created/updated during the job run  |\n\n",
        "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\n\nFiles can be filtered using any 'one' of the following parameters. \n|parameter | description|\n|--- | ---|\n| ids | comma separated list of file ids |\n| partId | get all the files for a specific part id |\n| trailId | provide job id to list all the records that was created/updated during the job run  |\n\n",
        "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.\n\nJobs can be filtered using any 'one' of the following parameters. \n|parameter | description|\n|--- | ---|\n| status | list all the jobs for the given status |\n| bucketId | list all the jobs for a bucketId |\n\n",
        "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.\n\nParts can be filtered using any 'one' of the following parameters. \n|parameter | description|\n|--- | ---|\n| ids | comma separated list of part ids |\n| bucketIds | comma separated list of bucket ids |\n| trailId | provide job id to list all the records that was created/updated during the job run  |\n\n",
        "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."
    }
  ]
}