{"openapi": "3.1.0", "info": {"title": "sbomify API", "version": "26.11.0", "description": "A comprehensive API for managing Software Bill of Materials (SBOM) and document artifacts.\n\n## Features\n\n- **Product Management**: Create and organize products with identifiers and external links\n- **Component & Artifact Management**: Handle components, SBOMs, and documents with security analysis\n- **Release Management**: Tag and organize artifacts by product releases with download capabilities\n- **Workspace Collaboration**: Multi-user access with role-based permissions\n- **Public & Private Access**: Flexible sharing and access controls with signed URLs for private components\n- **Vulnerability Scanning**: Integrated security analysis with OSV database\n- **Signed URL Security**: Time-limited, secure access to private components without authentication\n\n## Authentication\n\nThis API supports two authentication methods:\n\n- **Session Authentication**: For web application users (login required)\n- **Personal Access Tokens**: For programmatic API access (Bearer token in Authorization header)\n\nMost endpoints require authentication. Public endpoints are clearly marked.\n\n## Rate Limiting\n\nAPI requests are subject to rate limiting to ensure fair usage and system stability.", "contact": {"name": "sbomify Support", "url": "https://sbomify.com", "email": "hello@sbomify.com"}, "license": {"name": "Apache 2.0 with Commons Clause", "url": "https://raw.githubusercontent.com/sbomify/sbomify/refs/heads/master/LICENSE"}}, "paths": {"/api/v1/sboms/artifact/cyclonedx/{component_id}": {"post": {"operationId": "sbomify_apps_sboms_apis_sbom_upload_cyclonedx", "summary": "Sbom Upload Cyclonedx", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}, {"in": "query", "name": "bom_type", "schema": {"default": "sbom", "title": "Bom Type", "type": "string"}, "required": false}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SBOMUploadRequest"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Upload CycloneDX format BOM for a component.\n\nSupports multiple CycloneDX versions. The version is detected from the specVersion\nfield in the BOM data, and the appropriate schema is used for validation.\n\nArgs:\n    component_id: The component to attach the BOM to.\n    bom_type: BOM type classification (default: \"sbom\"). Accepted values are\n        defined by ``SBOM.BomType`` (e.g., \"sbom\", \"vex\", \"cbom\", \"hbom\").\n        Non-\"sbom\" types are only supported for CycloneDX uploads.\n\nTo add support for a new CycloneDX version:\n1. Add the version to CycloneDXSupportedVersion enum in schemas.py\n2. Import the new schema module (e.g., cdx17)\n3. Add it to the module_map in get_cyclonedx_module()", "tags": ["Artifacts"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}]}}, "/api/v1/sboms/artifact/vex/{component_id}": {"post": {"operationId": "sbomify_apps_sboms_apis_vex_artifact_upload", "summary": "Vex Artifact Upload", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SBOMUploadRequest"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Upload a VEX document in any supported format for a component.\n\nThe format is detected from the content: CycloneDX *JSON* VEX is delegated to\nthe CycloneDX artifact flow (schema validation included); CycloneDX XML,\nOpenVEX, and CSAF VEX are stored as received without JSON-schema validation.\nAnything else is rejected.", "tags": ["Artifacts"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}]}}, "/api/v1/sboms/artifact/spdx/{component_id}": {"post": {"operationId": "sbomify_apps_sboms_apis_sbom_upload_spdx", "summary": "Sbom Upload Spdx", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}, {"in": "query", "name": "bom_type", "schema": {"default": "sbom", "title": "Bom Type", "type": "string"}, "required": false}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SBOMUploadRequest"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Upload SPDX format SBOM for a component.\n\nSupports multiple SPDX versions. The version is detected from the spdxVersion\nfield in the SBOM data, and validated accordingly.\n\nArgs:\n    component_id: The component to attach the SBOM to.\n    bom_type: BOM type classification (default: \"sbom\"). Only \"sbom\" is accepted\n        for SPDX uploads; other values are rejected with a 400 error.\n\nTo add support for a new SPDX version:\n1. Add the version to SPDXSupportedVersion enum in schemas.py\n2. If needed, add version-specific schema handling in validate_spdx_sbom()\n3. That's it! The API will automatically support the new version.", "tags": ["Artifacts"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}]}}, "/api/v1/sboms/artifact/cyclonedx/{spec_version}/{component_id}/metadata": {"post": {"operationId": "sbomify_apps_sboms_apis_get_cyclonedx_component_metadata", "summary": "Get Cyclonedx Component Metadata", "parameters": [{"in": "path", "name": "spec_version", "schema": {"description": "Supported CycloneDX specification versions.\n\nTo add support for a new CycloneDX version (e.g., 2.0):\n1. Add the version here: v2_0 = \"2.0\"\n2. Import the schema module at the top of this file: from sbomify.apps.sboms.sbom_format_schemas import cdx20\n3. Add it to the module_map in get_cyclonedx_module() below\n4. That's it! The API will automatically support the new version.", "enum": ["1.3", "1.4", "1.5", "1.6", "1.7"], "title": "CycloneDXSupportedVersion", "type": "string"}, "required": true, "description": "Supported CycloneDX specification versions.\n\nTo add support for a new CycloneDX version (e.g., 2.0):\n1. Add the version here: v2_0 = \"2.0\"\n2. Import the schema module at the top of this file: from sbomify.apps.sboms.sbom_format_schemas import cdx20\n3. Add it to the module_map in get_cyclonedx_module() below\n4. That's it! The API will automatically support the new version."}, {"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}, {"in": "query", "name": "sbom_version", "schema": {"description": "If provided, overwrites the version present in SBOM's metadata", "title": "Sbom Version", "type": "string"}, "required": false, "description": "If provided, overwrites the version present in SBOM's metadata"}, {"in": "query", "name": "override_name", "schema": {"default": false, "description": "Override sbom name in SBOM's metadata with component name", "title": "Override Name", "type": "boolean"}, "required": false, "description": "Override sbom name in SBOM's metadata with component name"}, {"in": "query", "name": "override_metadata", "schema": {"default": false, "description": "Override sbom metadata with component metadata. If True, if a field is present in both sbom metadata and component metadata then component metadata will be used, otherwise sbom metadata is be used", "title": "Override Metadata", "type": "boolean"}, "required": false, "description": "Override sbom metadata with component metadata. If True, if a field is present in both sbom metadata and component metadata then component metadata will be used, otherwise sbom metadata is be used"}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Metadata"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Metadata"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Metadata"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Metadata"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Metadata"}], "title": "Response"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Return metadata section of cyclone-x format sbom.\n\nmetadata provided in POST request is enriched with additional information present in the\ncomponent and returned as response.", "tags": ["Artifacts"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Metadata"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Metadata"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Metadata"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Metadata"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Metadata"}], "title": "Metadata"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}]}}, "/api/v1/sboms/{sbom_id}": {"get": {"operationId": "sbomify_apps_sboms_apis_get_sbom", "summary": "Get Sbom", "parameters": [{"in": "path", "name": "sbom_id", "schema": {"title": "Sbom Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SBOMResponseSchema"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get a specific SBOM by ID.", "tags": ["Artifacts"], "deprecated": true}}, "/api/v1/sboms/{sbom_id}/crypto-inventory": {"get": {"operationId": "sbomify_apps_sboms_apis_get_sbom_crypto_inventory", "summary": "Get Sbom Crypto Inventory", "parameters": [{"in": "path", "name": "sbom_id", "schema": {"title": "Sbom Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CryptoInventorySchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "503": {"description": "Service Unavailable", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Return the derived cryptographic-asset (CBOM) inventory for an SBOM.\n\nProjects the ``cryptographic-asset`` components of the stored CycloneDX\nartifact. Non-crypto SBOMs return an empty inventory rather than an error.", "tags": ["Artifacts"], "deprecated": true}}, "/api/v1/sboms/{sbom_id}/crypto-inventory/cipher-suites.csv": {"get": {"operationId": "sbomify_apps_sboms_apis_download_cipher_suite_inventory_csv", "summary": "Download Cipher Suite Inventory Csv", "parameters": [{"in": "path", "name": "sbom_id", "schema": {"title": "Sbom Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "503": {"description": "Service Unavailable", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Protocol and cipher-suite inventory as CSV.\n\nOne row per cipher suite (plus one per deprecated protocol version) with\nweakness flags \u2014 the inventory-of-suites-and-protocols evidence PCI DSS\n4.x requirement 12.3.3 asks to keep and review.", "tags": ["Artifacts"], "deprecated": true}}, "/api/v1/sboms/{sbom_id}/download": {"get": {"operationId": "sbomify_apps_sboms_apis_download_sbom", "summary": "Download Sbom", "parameters": [{"in": "path", "name": "sbom_id", "schema": {"title": "Sbom Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Download an SBOM file.\n\nThis endpoint allows direct download of SBOM files. For public SBOMs,\nno authentication is required. For private SBOMs, user authentication\nand appropriate permissions are required.\n\nFor private SBOMs included in aggregated product SBOMs, signed URLs are used instead\nto provide secure, time-limited access without requiring authentication.\nSee the `/download/signed` endpoint for signed URL downloads.", "tags": ["Artifacts"], "deprecated": true}}, "/api/v1/sboms/{sbom_id}/download/signed": {"get": {"operationId": "sbomify_apps_sboms_apis_download_sbom_signed", "summary": "Download Sbom Signed", "parameters": [{"in": "path", "name": "sbom_id", "schema": {"title": "Sbom Id", "type": "string"}, "required": true}, {"in": "query", "name": "token", "schema": {"title": "Token", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Download an SBOM file using a signed token.\n\nThis endpoint allows secure, time-limited access to private SBOMs without\nrequiring user authentication. It's primarily used when private SBOMs are\nincluded in aggregated product SBOMs as external references.\n\n**Security Features:**\n- Tokens expire after 7 days\n- Tokens are tied to specific SBOMs and users\n- Installation-specific signing prevents cross-site token reuse\n- Tamper-proof - any modification invalidates the token\n\n**Parameters:**\n- `sbom_id`: The ID of the SBOM to download\n- `token`: A signed token generated by the system for authorized access\n\n**Token Generation:**\nTokens are automatically generated when creating aggregated product SBOMs that\ncontain private SBOM components. They are embedded in the SBOM as external reference URLs.\n\n**Error Responses:**\n- 403: Invalid, expired, or mismatched token\n- 404: SBOM not found\n- 500: Server error retrieving SBOM", "tags": ["Artifacts"], "deprecated": true}}, "/api/v1/sboms/upload-file/{component_id}": {"post": {"operationId": "sbomify_apps_sboms_apis_sbom_upload_file", "summary": "Sbom Upload File", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}, {"in": "query", "name": "bom_type", "schema": {"default": "sbom", "title": "Bom Type", "type": "string"}, "required": false}, {"in": "query", "name": "review", "schema": {"default": false, "title": "Review", "type": "boolean"}, "required": false}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SBOMUploadRequest"}}}}, "202": {"description": "Accepted", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Upload BOM file (CycloneDX or SPDX format) for a component.\n\nArgs:\n    bom_type: Query parameter (default: \"sbom\"). Non-SBOM types (e.g., \"vex\", \"cbom\")\n        are only supported for CycloneDX uploads; SPDX uploads reject non-\"sbom\" values.\n    review: For a VEX, hold it in the approval queue instead of storing it (202).", "tags": ["Artifacts"], "deprecated": true, "requestBody": {"content": {"multipart/form-data": {"schema": {"properties": {"sbom_file": {"format": "binary", "title": "Sbom File", "type": "string"}}, "required": ["sbom_file"], "title": "FileParams", "type": "object"}}}, "required": true}, "security": [{"SessionAuth": []}]}}, "/api/v1/sboms/component/{component_id}/meta": {"get": {"operationId": "sboms_get_component_metadata", "summary": "Get Component Metadata", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ComponentMetaData"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get metadata for a component.", "tags": ["Artifacts"], "deprecated": true}, "patch": {"operationId": "sboms_patch_component_metadata", "summary": "Patch Component Metadata", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Partially update metadata for a component.", "tags": ["Artifacts"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ComponentMetaDataPatch"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/sboms/sbom/{sbom_id}": {"delete": {"operationId": "sbomify_apps_sboms_apis_delete_sbom", "summary": "Delete Sbom", "parameters": [{"in": "path", "name": "sbom_id", "schema": {"title": "Sbom Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Delete an SBOM by ID.", "tags": ["Artifacts"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/sboms/sbom/{sbom_id}/signature": {"post": {"operationId": "sbomify_apps_sboms_apis_upload_signature", "summary": "Upload Signature", "parameters": [{"in": "path", "name": "sbom_id", "schema": {"title": "Sbom Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Upload a detached cryptographic signature for an SBOM.\n\nThe signature bytes are sent as the raw request body.\nA required ``X-Signature-Type`` header indicates the format\n(``cosign-bundle``, ``pgp-detached``, or ``pkcs7``).", "tags": ["Artifacts"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "get": {"operationId": "sbomify_apps_sboms_apis_download_signature", "summary": "Download Signature", "parameters": [{"in": "path", "name": "sbom_id", "schema": {"title": "Sbom Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Download the detached cryptographic signature for an SBOM.", "tags": ["Artifacts"], "deprecated": true}}, "/api/v1/sboms/sbom/{sbom_id}/provenance": {"post": {"operationId": "sbomify_apps_sboms_apis_upload_provenance", "summary": "Upload Provenance", "parameters": [{"in": "path", "name": "sbom_id", "schema": {"title": "Sbom Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Upload an in-toto provenance attestation (DSSE envelope or direct Statement) for an SBOM.\n\nThe body must be valid JSON. For DSSE envelopes the base64-decoded payload\nis inspected; for direct Statements the body itself is inspected.\nIn both cases, the ``subject`` array must contain a digest matching the\nSBOM's ``sha256_hash``.", "tags": ["Artifacts"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "get": {"operationId": "sbomify_apps_sboms_apis_download_provenance", "summary": "Download Provenance", "parameters": [{"in": "path", "name": "sbom_id", "schema": {"title": "Sbom Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Download the in-toto provenance attestation for an SBOM.", "tags": ["Artifacts"], "deprecated": true}}, "/api/v1/documents/": {"post": {"operationId": "sbomify_apps_documents_apis_create_document", "summary": "Create Document", "parameters": [{"in": "query", "name": "component_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Component Id"}, "required": false}, {"in": "query", "name": "name", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "required": false}, {"in": "query", "name": "version", "schema": {"default": "1.0", "title": "Version", "type": "string"}, "required": false}, {"in": "query", "name": "document_type", "schema": {"default": "", "title": "Document Type", "type": "string"}, "required": false}, {"in": "query", "name": "description", "schema": {"default": "", "title": "Description", "type": "string"}, "required": false}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DocumentUploadRequest"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Create a new document for a component. Can handle both file uploads and raw data.", "tags": ["Artifacts"], "deprecated": true, "requestBody": {"content": {"multipart/form-data": {"schema": {"properties": {"document_file": {"format": "binary", "title": "Document File", "type": "string"}}, "title": "FileParams", "type": "object"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/documents/{document_id}": {"patch": {"operationId": "sbomify_apps_documents_apis_update_document", "summary": "Update Document", "parameters": [{"in": "path", "name": "document_id", "schema": {"title": "Document Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DocumentResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Update document metadata.", "tags": ["Artifacts"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/DocumentUpdateRequest"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "get": {"operationId": "sbomify_apps_documents_apis_get_document", "summary": "Get Document", "parameters": [{"in": "path", "name": "document_id", "schema": {"title": "Document Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DocumentResponseSchema"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get a specific document by ID.", "tags": ["Artifacts"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "delete": {"operationId": "sbomify_apps_documents_apis_delete_document", "summary": "Delete Document", "parameters": [{"in": "path", "name": "document_id", "schema": {"title": "Document Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Delete a document.", "tags": ["Artifacts"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/documents/{document_id}/download": {"get": {"operationId": "sbomify_apps_documents_apis_download_document", "summary": "Download Document", "parameters": [{"in": "path", "name": "document_id", "schema": {"title": "Document Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Download a document file.\n\nThis endpoint allows direct download of document files. For public documents,\nno authentication is required. For private documents, user authentication\nand appropriate permissions are required.\n\nFor private documents included in aggregated product SBOMs, signed URLs are used instead\nto provide secure, time-limited access without requiring authentication.\nSee the `/download/signed` endpoint for signed URL downloads.", "tags": ["Artifacts"], "deprecated": true}}, "/api/v1/documents/{document_id}/download/signed": {"get": {"operationId": "sbomify_apps_documents_apis_download_document_signed", "summary": "Download Document Signed", "parameters": [{"in": "path", "name": "document_id", "schema": {"title": "Document Id", "type": "string"}, "required": true}, {"in": "query", "name": "token", "schema": {"title": "Token", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Download a document file using a signed token.\n\nThis endpoint allows secure, time-limited access to private documents without\nrequiring user authentication. It's primarily used when private documents are\nincluded in aggregated product SBOMs as external references.\n\n**Security Features:**\n- Tokens expire after 7 days\n- Tokens are tied to specific documents and users\n- Installation-specific signing prevents cross-site token reuse\n- Tamper-proof - any modification invalidates the token\n\n**Parameters:**\n- `document_id`: The ID of the document to download\n- `token`: A signed token generated by the system for authorized access\n\n**Token Generation:**\nTokens are automatically generated when creating aggregated product SBOMs that\ncontain private documents. They are embedded in the SBOM as external reference URLs.\n\n**Error Responses:**\n- 403: Invalid, expired, or mismatched token\n- 404: Document not found\n- 500: Server error retrieving document", "tags": ["Artifacts"], "deprecated": true}}, "/api/v1/teams/{team_key}/access-request": {"post": {"operationId": "sbomify_apps_documents_access_apis_create_access_request", "summary": "Create Access Request", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessRequestResponse"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "401": {"description": "Unauthorized", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Create a blanket access request for all gated components in a team.\n\nThe caller must be signed in and asks for themselves.", "tags": ["Access Requests"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/teams/{team_key}/access-request/{request_id}/nda": {"get": {"operationId": "sbomify_apps_documents_access_apis_get_nda_for_signing", "summary": "Get Nda For Signing", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}, {"in": "path", "name": "request_id", "schema": {"title": "Request Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "401": {"description": "Unauthorized", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get NDA document for signing.", "tags": ["Access Requests"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/teams/{team_key}/access-request/{request_id}/sign-nda": {"post": {"operationId": "sbomify_apps_documents_access_apis_sign_nda", "summary": "Sign Nda", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}, {"in": "path", "name": "request_id", "schema": {"title": "Request Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NDASignatureResponse"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "401": {"description": "Unauthorized", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Sign NDA for access request.", "tags": ["Access Requests"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/NDASignRequest"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/access-requests/pending": {"get": {"operationId": "sbomify_apps_documents_access_apis_list_pending_access_requests", "summary": "List Pending Access Requests", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/AccessRequestListResponse"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List pending access requests (admin/owner only).", "tags": ["Access Requests"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/access-requests/{request_id}/approve": {"post": {"operationId": "sbomify_apps_documents_access_apis_approve_access_request", "summary": "Approve Access Request", "parameters": [{"in": "path", "name": "request_id", "schema": {"title": "Request Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessRequestResponse"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Approve access request and automatically add user as guest member (admin/owner only).", "tags": ["Access Requests"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/access-requests/{request_id}/reject": {"post": {"operationId": "sbomify_apps_documents_access_apis_reject_access_request", "summary": "Reject Access Request", "parameters": [{"in": "path", "name": "request_id", "schema": {"title": "Request Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessRequestResponse"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Reject access request (admin/owner only).", "tags": ["Access Requests"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/access-requests/{request_id}/revoke": {"post": {"operationId": "sbomify_apps_documents_access_apis_revoke_access_request", "summary": "Revoke Access Request", "parameters": [{"in": "path", "name": "request_id", "schema": {"title": "Request Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessRequestResponse"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Revoke access request and remove guest membership (admin/owner only).", "tags": ["Access Requests"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/workspaces/{team_key}/branding": {"get": {"operationId": "sbomify_apps_teams_apis_get_team_branding", "summary": "Get Team Branding", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BrandingInfoWithUrls"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get workspace branding information.\n\nNote: 'team_key' parameter name is kept for backward compatibility and represents the workspace key.", "tags": ["Workspaces"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "put": {"operationId": "sbomify_apps_teams_apis_update_team_branding", "summary": "Update Team Branding", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BrandingInfoWithUrls"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Workspaces"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateTeamBrandingSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/workspaces/{team_key}/branding/{field}": {"patch": {"operationId": "sbomify_apps_teams_apis_update_team_branding_field", "summary": "Update Team Branding Field", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}, {"in": "path", "name": "field", "schema": {"title": "Field", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BrandingInfoWithUrls"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Update a single workspace branding field.\n\nNote: 'team_key' parameter name is kept for backward compatibility and represents the workspace key.", "tags": ["Workspaces"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/FieldValue"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/workspaces/{team_key}/branding/upload/{file_type}": {"post": {"operationId": "sbomify_apps_teams_apis_upload_branding_file", "summary": "Upload Branding File", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}, {"in": "path", "name": "file_type", "schema": {"title": "File Type", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BrandingInfoWithUrls"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Upload workspace branding files (icon or logo).\n\nNote: 'team_key' parameter name is kept for backward compatibility and represents the workspace key.", "tags": ["Workspaces"], "deprecated": true, "requestBody": {"content": {"multipart/form-data": {"schema": {"properties": {"file": {"format": "binary", "title": "File", "type": "string"}}, "required": ["file"], "title": "FileParams", "type": "object"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/workspaces/{team_key}/contact-profiles": {"get": {"operationId": "sbomify_apps_teams_apis_list_contact_profiles", "summary": "List Contact Profiles", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/ContactProfileSchema"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List contact profiles for a workspace.\n\nAll team members can view contact profiles, but only owners and admins can manage them.\nComponent-private profiles (is_component_private=True) are excluded from the list\nas they are managed through component metadata, not at workspace level.", "tags": ["Workspaces"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "post": {"operationId": "sbomify_apps_teams_apis_create_contact_profile", "summary": "Create Contact Profile", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ContactProfileSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Create a new contact profile for the workspace.", "tags": ["Workspaces"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ContactProfileCreateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/workspaces/{team_key}/contact-profiles/{profile_id}": {"get": {"operationId": "sbomify_apps_teams_apis_get_contact_profile", "summary": "Get Contact Profile", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}, {"in": "path", "name": "profile_id", "schema": {"title": "Profile Id", "type": "string"}, "required": true}, {"in": "query", "name": "return_instance", "schema": {"default": false, "title": "Return Instance", "type": "boolean"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ContactProfileSchema"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get a specific contact profile.\n\nAll team members can view contact profiles, but only owners and admins can manage them.", "tags": ["Workspaces"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "patch": {"operationId": "sbomify_apps_teams_apis_update_contact_profile", "summary": "Update Contact Profile", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}, {"in": "path", "name": "profile_id", "schema": {"title": "Profile Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ContactProfileSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Update an existing contact profile.", "tags": ["Workspaces"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ContactProfileUpdateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "delete": {"operationId": "sbomify_apps_teams_apis_delete_contact_profile", "summary": "Delete Contact Profile", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}, {"in": "path", "name": "profile_id", "schema": {"title": "Profile Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Delete a workspace contact profile.", "tags": ["Workspaces"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/workspaces/{team_key}": {"put": {"operationId": "sbomify_apps_teams_apis_update_team", "summary": "Update Team", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TeamSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Update workspace information.\n\nNote: 'team_key' parameter name is kept for backward compatibility and represents the workspace key.", "tags": ["Workspaces"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/TeamUpdateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "patch": {"operationId": "sbomify_apps_teams_apis_patch_team", "summary": "Patch Team", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TeamSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Partially update workspace information.\n\nNote: 'team_key' parameter name is retained for backward compatibility and represents the workspace key.", "tags": ["Workspaces"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/TeamPatchSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "get": {"operationId": "sbomify_apps_teams_apis_get_team", "summary": "Get Team", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TeamSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get workspace information by workspace key.\n\nNote: 'team_key' parameter name is kept for backward compatibility and represents the workspace key.", "tags": ["Workspaces"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/workspaces/{team_key}/domain": {"patch": {"operationId": "sbomify_apps_teams_apis_patch_team_domain", "summary": "Update Team Domain", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TeamDomainResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Set or update workspace custom domain.", "tags": ["Workspaces"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/TeamDomainSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "put": {"operationId": "sbomify_apps_teams_apis_update_team_domain", "summary": "Update Team Domain", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TeamDomainResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Set or update workspace custom domain.", "tags": ["Workspaces"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/TeamDomainSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "delete": {"operationId": "sbomify_apps_teams_apis_delete_team_domain", "summary": "Delete Team Domain", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Remove workspace custom domain.", "tags": ["Workspaces"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/workspaces/": {"get": {"operationId": "sbomify_apps_teams_apis_list_teams", "summary": "List Teams", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/TeamSchema"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List all workspaces for the current user.\n\nNote: Returns workspace data. Internal identifiers retain legacy naming for compatibility.", "tags": ["Workspaces"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/workspaces/{team_key}/suppliers": {"get": {"operationId": "sbomify_apps_teams_apis_list_workspace_suppliers", "summary": "List Workspace Suppliers", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}, {"in": "query", "name": "search", "schema": {"default": "", "title": "Search", "type": "string"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/SupplierSchema"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List the vendors this workspace collects artifacts from.", "tags": ["Workspaces"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "post": {"operationId": "sbomify_apps_teams_apis_create_workspace_supplier", "summary": "Create Workspace Supplier", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SupplierSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Add a vendor to the workspace's supplier list.", "tags": ["Workspaces"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/SupplierCreateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/workspaces/{team_key}/suppliers/{supplier_id}": {"patch": {"operationId": "sbomify_apps_teams_apis_update_workspace_supplier", "summary": "Update Workspace Supplier", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}, {"in": "path", "name": "supplier_id", "schema": {"title": "Supplier Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SupplierSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Change a vendor's details.", "tags": ["Workspaces"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/SupplierUpdateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "delete": {"operationId": "sbomify_apps_teams_apis_delete_workspace_supplier", "summary": "Delete Workspace Supplier", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}, {"in": "path", "name": "supplier_id", "schema": {"title": "Supplier Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Remove a vendor from the workspace's supplier list.", "tags": ["Workspaces"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/workspaces/{team_key}/invitations": {"get": {"operationId": "sbomify_apps_teams_apis_list_workspace_invitations", "summary": "List Workspace Invitations", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/PendingInvitationSchema"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List the invitations to this workspace that nobody has accepted yet.", "tags": ["Workspaces"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "post": {"operationId": "sbomify_apps_teams_apis_create_workspace_invitation", "summary": "Create Workspace Invitation", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PendingInvitationSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Invite someone to this workspace by email. They join when they accept the invitation.", "tags": ["Workspaces"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/InvitationCreateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/workspaces/{team_key}/invitations/{invitation_id}": {"delete": {"operationId": "sbomify_apps_teams_apis_delete_workspace_invitation", "summary": "Delete Workspace Invitation", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}, {"in": "path", "name": "invitation_id", "schema": {"title": "Invitation Id", "type": "integer"}, "required": true}], "responses": {"204": {"description": "No Content"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Withdraw an invitation, so its link stops working.", "tags": ["Workspaces"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/products": {"post": {"operationId": "sbomify_apps_core_apis_create_product", "summary": "Create Product", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProductResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Create a new product.", "tags": ["Products"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProductCreateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "get": {"operationId": "sbomify_apps_core_apis_list_products", "summary": "List Products", "parameters": [{"in": "query", "name": "page", "schema": {"default": 1, "title": "Page", "type": "integer"}, "required": false}, {"in": "query", "name": "page_size", "schema": {"default": 15, "title": "Page Size", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginatedProductsResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List products for the authenticated user's workspace.", "tags": ["Products"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/products/{product_id}": {"get": {"operationId": "sbomify_apps_core_apis_get_product", "summary": "Get Product", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProductResponseSchema"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get a specific product by ID.", "tags": ["Products"], "deprecated": true}, "put": {"operationId": "sbomify_apps_core_apis_update_product", "summary": "Update Product", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProductResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Update a product.", "tags": ["Products"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProductUpdateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "patch": {"operationId": "sbomify_apps_core_apis_patch_product", "summary": "Patch Product", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProductResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Partially update a product.", "tags": ["Products"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProductPatchSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "delete": {"operationId": "sbomify_apps_core_apis_delete_product", "summary": "Delete Product", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Delete a product.", "tags": ["Products"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/products/{product_id}/eol-readiness": {"get": {"operationId": "sbomify_apps_core_apis_get_product_eol_readiness", "summary": "Whether a product can reach end of life with CRA 6.1.6 satisfied", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Reports the notice period, the critical and high findings neither patched nor formally risk-accepted, and whether a final SBOM and VEX exist to publish.", "tags": ["Products"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/products/{product_id}/identifiers": {"post": {"operationId": "sbomify_apps_core_apis_create_product_identifier", "summary": "Create Product Identifier", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProductIdentifierSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Create a new product identifier.", "tags": ["Products"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProductIdentifierCreateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "get": {"operationId": "sbomify_apps_core_apis_list_product_identifiers", "summary": "List Product Identifiers", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}, {"in": "query", "name": "page", "schema": {"default": 1, "title": "Page", "type": "integer"}, "required": false}, {"in": "query", "name": "page_size", "schema": {"default": 15, "title": "Page Size", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginatedProductIdentifiersResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List all identifiers for a product.", "tags": ["Products"], "deprecated": true}, "put": {"operationId": "sbomify_apps_core_apis_bulk_update_product_identifiers", "summary": "Bulk Update Product Identifiers", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/ProductIdentifierSchema"}, "title": "Response", "type": "array"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Bulk update product identifiers - replaces all existing identifiers.", "tags": ["Products"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProductIdentifierBulkUpdateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/products/{product_id}/identifiers/{identifier_id}": {"put": {"operationId": "sbomify_apps_core_apis_update_product_identifier", "summary": "Update Product Identifier", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}, {"in": "path", "name": "identifier_id", "schema": {"title": "Identifier Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProductIdentifierSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Update a product identifier.", "tags": ["Products"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProductIdentifierUpdateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "delete": {"operationId": "sbomify_apps_core_apis_delete_product_identifier", "summary": "Delete Product Identifier", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}, {"in": "path", "name": "identifier_id", "schema": {"title": "Identifier Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Delete a product identifier.", "tags": ["Products"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/products/{product_id}/links": {"post": {"operationId": "sbomify_apps_core_apis_create_product_link", "summary": "Create Product Link", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProductLinkSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Create a new product link.", "tags": ["Products"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProductLinkCreateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "get": {"operationId": "sbomify_apps_core_apis_list_product_links", "summary": "List Product Links", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}, {"in": "query", "name": "page", "schema": {"default": 1, "title": "Page", "type": "integer"}, "required": false}, {"in": "query", "name": "page_size", "schema": {"default": 15, "title": "Page Size", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginatedProductLinksResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List all links for a product.", "tags": ["Products"], "deprecated": true}, "put": {"operationId": "sbomify_apps_core_apis_bulk_update_product_links", "summary": "Bulk Update Product Links", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/ProductLinkSchema"}, "title": "Response", "type": "array"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Bulk update product links - replaces all existing links.", "tags": ["Products"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProductLinkBulkUpdateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/products/{product_id}/links/{link_id}": {"put": {"operationId": "sbomify_apps_core_apis_update_product_link", "summary": "Update Product Link", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}, {"in": "path", "name": "link_id", "schema": {"title": "Link Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProductLinkSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Update a product link.", "tags": ["Products"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProductLinkUpdateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "delete": {"operationId": "sbomify_apps_core_apis_delete_product_link", "summary": "Delete Product Link", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}, {"in": "path", "name": "link_id", "schema": {"title": "Link Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Delete a product link.", "tags": ["Products"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/components": {"post": {"operationId": "sbomify_apps_core_apis_create_component", "summary": "Create Component", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ComponentResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Create a new component.", "tags": ["Components"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ComponentCreateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "get": {"operationId": "sbomify_apps_core_apis_list_components", "summary": "List Components", "parameters": [{"in": "query", "name": "page", "schema": {"default": 1, "title": "Page", "type": "integer"}, "required": false}, {"in": "query", "name": "page_size", "schema": {"default": 15, "title": "Page Size", "type": "integer"}, "required": false}, {"in": "query", "name": "is_global", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Is Global"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginatedComponentsResponse"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List components for the authenticated user's workspace.", "tags": ["Components"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/components/{component_id}": {"get": {"operationId": "sbomify_apps_core_apis_get_component", "summary": "Get Component", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}, {"in": "query", "name": "return_instance", "schema": {"default": false, "title": "Return Instance", "type": "boolean"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ComponentResponseSchema"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get a specific component by ID.", "tags": ["Components"], "deprecated": true}, "put": {"operationId": "sbomify_apps_core_apis_update_component", "summary": "Update Component", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ComponentResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Update a component.", "tags": ["Components"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ComponentUpdateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "patch": {"operationId": "sbomify_apps_core_apis_patch_component", "summary": "Patch Component", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ComponentResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Partially update a component.", "tags": ["Components"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ComponentPatchSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "delete": {"operationId": "sbomify_apps_core_apis_delete_component", "summary": "Delete Component", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Delete a component.", "tags": ["Components"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/components/{component_id}/metadata": {"get": {"operationId": "sbomify_apps_core_apis_get_component_metadata", "summary": "Get Component Metadata", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ComponentMetaData"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get metadata for a component.", "tags": ["Components"], "deprecated": true}, "patch": {"operationId": "sbomify_apps_core_apis_patch_component_metadata", "summary": "Patch Component Metadata", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "422": {"description": "Unprocessable Content", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Partially update metadata for a component.", "tags": ["Components"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ComponentMetaDataPatch"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/components/{component_id}/releases": {"get": {"operationId": "sbomify_apps_core_apis_list_component_releases", "summary": "List Component Releases", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}, {"in": "query", "name": "page", "schema": {"default": 1, "title": "Page", "type": "integer"}, "required": false}, {"in": "query", "name": "page_size", "schema": {"default": 15, "title": "Page Size", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginatedReleasesResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List all releases that contain this component.", "tags": ["Releases"], "deprecated": true}}, "/api/v1/dashboard/summary": {"get": {"operationId": "sbomify_apps_core_apis_get_dashboard_summary", "summary": "Get Dashboard Summary", "parameters": [{"in": "query", "name": "component_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Component Id"}, "required": false}, {"in": "query", "name": "product_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Product Id"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DashboardStatsResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Retrieve a summary of SBOM statistics and latest uploads for the user's teams.", "tags": ["Components"], "deprecated": true}}, "/api/v1/products/{product_id}/download": {"get": {"operationId": "sbomify_apps_core_apis_download_product_sbom", "summary": "Download Product Sbom", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}, {"in": "query", "name": "format", "schema": {"default": "cyclonedx", "description": "Output format: 'cyclonedx' or 'spdx'", "title": "Format", "type": "string"}, "required": false, "description": "Output format: 'cyclonedx' or 'spdx'"}, {"in": "query", "name": "version", "schema": {"description": "Format version (e.g., '1.6', '1.7' for CDX, '2.3' for SPDX)", "title": "Version", "type": "string"}, "required": false, "description": "Format version (e.g., '1.6', '1.7' for CDX, '2.3' for SPDX)"}], "responses": {"200": {"description": "OK"}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Download the consolidated SBOM for a product.\n\nArgs:\n    output_format: Output format - \"cyclonedx\" (default) or \"spdx\"\n    version: Format version - e.g., \"1.6\", \"1.7\" for CycloneDX, \"2.3\" for SPDX.\n             If not specified, uses the default version for the format.\n\nSupported formats and versions:\n    - cyclonedx: 1.6 (default), 1.7\n    - spdx: 2.3 (default)", "tags": ["Products"], "deprecated": true}}, "/api/v1/products/{product_id}/cbom/download": {"get": {"operationId": "sbomify_apps_core_apis_download_product_cbom", "summary": "Download Product Cbom", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}, {"in": "query", "name": "version", "schema": {"default": "1.6", "title": "Version", "type": "string"}, "required": false}], "responses": {"200": {"description": "OK"}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Download the merged CBOM (Cryptography BOM) for a product's latest release.\n\nThe product-level counterpart of the release CBOM download: resolves the rolling\n\"latest\" release and serves its merged crypto BOM, so the Trust Center's product\npage can offer one CBOM per product next to the consolidated SBOM. Gated exactly\nlike the consolidated SBOM download.", "tags": ["Products"], "deprecated": true}}, "/api/v1/releases": {"get": {"operationId": "sbomify_apps_core_apis_list_all_releases", "summary": "List All Releases", "parameters": [{"in": "query", "name": "product_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Product Id"}, "required": false}, {"in": "query", "name": "version", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Filter by version string", "title": "Version"}, "required": false, "description": "Filter by version string"}, {"in": "query", "name": "page", "schema": {"default": 1, "title": "Page", "type": "integer"}, "required": false}, {"in": "query", "name": "page_size", "schema": {"default": 15, "title": "Page Size", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginatedReleasesResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List all releases across all products for the current user's team, optionally filtered by product and version.", "tags": ["Releases"], "deprecated": true}, "post": {"operationId": "sbomify_apps_core_apis_create_release", "summary": "Create Release", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReleaseResponseSchema"}}}}, "201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReleaseResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Create a new release.", "tags": ["Releases"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReleaseCreateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/releases/{release_id}": {"get": {"operationId": "sbomify_apps_core_apis_get_release", "summary": "Get Release", "parameters": [{"in": "path", "name": "release_id", "schema": {"title": "Release Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReleaseResponseSchema"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get a specific release by ID.", "tags": ["Releases"], "deprecated": true}, "put": {"operationId": "sbomify_apps_core_apis_update_release", "summary": "Update Release", "parameters": [{"in": "path", "name": "release_id", "schema": {"title": "Release Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReleaseResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Update a release.", "tags": ["Releases"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReleaseUpdateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "patch": {"operationId": "sbomify_apps_core_apis_patch_release", "summary": "Patch Release", "parameters": [{"in": "path", "name": "release_id", "schema": {"title": "Release Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReleaseResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Partially update a release.", "tags": ["Releases"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReleasePatchSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "delete": {"operationId": "sbomify_apps_core_apis_delete_release", "summary": "Delete Release", "parameters": [{"in": "path", "name": "release_id", "schema": {"title": "Release Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Delete a release.", "tags": ["Releases"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/releases/{release_id}/download": {"get": {"operationId": "sbomify_apps_core_apis_download_release", "summary": "Download Release", "parameters": [{"in": "path", "name": "release_id", "schema": {"title": "Release Id", "type": "string"}, "required": true}, {"in": "query", "name": "format", "schema": {"default": "cyclonedx", "description": "Output format: 'cyclonedx' or 'spdx'", "title": "Format", "type": "string"}, "required": false, "description": "Output format: 'cyclonedx' or 'spdx'"}, {"in": "query", "name": "version", "schema": {"description": "Format version (e.g., '1.6', '1.7' for CDX, '2.3' for SPDX)", "title": "Version", "type": "string"}, "required": false, "description": "Format version (e.g., '1.6', '1.7' for CDX, '2.3' for SPDX)"}], "responses": {"200": {"description": "OK"}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Download release SBOM.\n\nArgs:\n    output_format: Output format - \"cyclonedx\" (default) or \"spdx\"\n    version: Format version - e.g., \"1.6\", \"1.7\" for CycloneDX, \"2.3\" for SPDX.\n             If not specified, uses the default version for the format.\n\nSupported formats and versions:\n    - cyclonedx: 1.6 (default), 1.7\n    - spdx: 2.3 (default)", "tags": ["Releases"], "deprecated": true}}, "/api/v1/releases/{release_id}/vex/download": {"get": {"operationId": "sbomify_apps_core_apis_download_release_vex", "summary": "Download Release Vex", "parameters": [{"in": "path", "name": "release_id", "schema": {"title": "Release Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Download the merged latest VEX for a release.\n\nCombines the newest VEX of each component in the release into a single CycloneDX VEX document,\nso a consumer pulls one file per release rather than one per component. Gated exactly like the\nSBOM download: open for a public product, otherwise authenticated with release read access.", "tags": ["Releases"], "deprecated": true}}, "/api/v1/releases/{release_id}/cbom/download": {"get": {"operationId": "sbomify_apps_core_apis_download_release_cbom", "summary": "Download Release Cbom", "parameters": [{"in": "path", "name": "release_id", "schema": {"title": "Release Id", "type": "string"}, "required": true}, {"in": "query", "name": "version", "schema": {"default": "1.6", "title": "Version", "type": "string"}, "required": false}], "responses": {"200": {"description": "OK"}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Download the merged CBOM (Cryptography BOM) for a release.\n\nCombines the newest CBOM of each component in the release into a single CycloneDX document, so a\nconsumer pulls one crypto BOM per release. Gated exactly like the SBOM and VEX downloads: open\nfor a public product, otherwise authenticated with release read access.\n\n``version`` selects the output spec: \"1.6\" (default, 1.7-only vocabulary\ndown-converted for consumer compatibility) or \"1.7\" (native).", "tags": ["Releases"], "deprecated": true}}, "/api/v1/releases/{release_id}/artifacts": {"get": {"operationId": "sbomify_apps_core_apis_list_release_artifacts", "summary": "List Release Artifacts", "parameters": [{"in": "path", "name": "release_id", "schema": {"title": "Release Id", "type": "string"}, "required": true}, {"in": "query", "name": "mode", "schema": {"default": "available", "title": "Mode", "type": "string"}, "required": false}, {"in": "query", "name": "page", "schema": {"default": 1, "title": "Page", "type": "integer"}, "required": false}, {"in": "query", "name": "page_size", "schema": {"default": 15, "title": "Page Size", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginatedReleaseArtifactsResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List artifacts for a release.\n\nMode can be 'existing' (artifacts in release) or 'available' (artifacts that can be added).", "tags": ["Releases"], "deprecated": true}, "post": {"operationId": "sbomify_apps_core_apis_add_artifacts_to_release", "summary": "Add Artifacts To Release", "parameters": [{"in": "path", "name": "release_id", "schema": {"title": "Release Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReleaseArtifactAddResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Add artifacts to a release.", "tags": ["Releases"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReleaseArtifactCreateSchema"}}}, "required": true}}}, "/api/v1/releases/{release_id}/artifacts/{artifact_id}": {"delete": {"operationId": "sbomify_apps_core_apis_remove_artifact_from_release", "summary": "Remove Artifact From Release", "parameters": [{"in": "path", "name": "release_id", "schema": {"title": "Release Id", "type": "string"}, "required": true}, {"in": "path", "name": "artifact_id", "schema": {"title": "Artifact Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Remove an artifact from a release.", "tags": ["Releases"], "deprecated": true}}, "/api/v1/releases/{release_id}/links": {"get": {"operationId": "sbomify_apps_core_apis_list_release_links", "summary": "List Release Links", "parameters": [{"in": "path", "name": "release_id", "schema": {"title": "Release Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/ReleaseLinkSchema"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List the releases of other products this release links to.", "tags": ["Releases"], "deprecated": true}, "post": {"operationId": "sbomify_apps_core_apis_link_release_to_release", "summary": "Link Release To Release", "parameters": [{"in": "path", "name": "release_id", "schema": {"title": "Release Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReleaseLinkSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Link a release of another product, by its id or by product and version.\n\nThe linked release is listed with this one, and its SBOMs are included in this\nrelease's aggregate SBOM. Linking does not move or copy any artifact.", "tags": ["Releases"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReleaseLinkCreateSchema"}}}, "required": true}}}, "/api/v1/releases/{release_id}/links/{linked_release_id}": {"delete": {"operationId": "sbomify_apps_core_apis_unlink_release_from_release", "summary": "Unlink Release From Release", "parameters": [{"in": "path", "name": "release_id", "schema": {"title": "Release Id", "type": "string"}, "required": true}, {"in": "path", "name": "linked_release_id", "schema": {"title": "Linked Release Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Remove a linked release.", "tags": ["Releases"], "deprecated": true}}, "/api/v1/documents/{document_id}/releases": {"get": {"operationId": "sbomify_apps_core_apis_list_document_releases", "summary": "List Document Releases", "parameters": [{"in": "path", "name": "document_id", "schema": {"title": "Document Id", "type": "string"}, "required": true}, {"in": "query", "name": "page", "schema": {"default": 1, "title": "Page", "type": "integer"}, "required": false}, {"in": "query", "name": "page_size", "schema": {"default": 15, "title": "Page Size", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginatedDocumentReleasesResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List all releases that contain this document.", "tags": ["Releases"], "deprecated": true}, "post": {"operationId": "sbomify_apps_core_apis_add_document_to_releases", "summary": "Add Document To Releases", "parameters": [{"in": "path", "name": "document_id", "schema": {"title": "Document Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DocumentReleaseTaggingResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Add a document to multiple releases.", "tags": ["Releases"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/DocumentReleaseTaggingSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/documents/{document_id}/releases/{release_id}": {"delete": {"operationId": "sbomify_apps_core_apis_remove_document_from_release", "summary": "Remove Document From Release", "parameters": [{"in": "path", "name": "document_id", "schema": {"title": "Document Id", "type": "string"}, "required": true}, {"in": "path", "name": "release_id", "schema": {"title": "Release Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Remove a document from a specific release.", "tags": ["Releases"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/sboms/{sbom_id}/releases": {"get": {"operationId": "sbomify_apps_core_apis_list_sbom_releases", "summary": "List Sbom Releases", "parameters": [{"in": "path", "name": "sbom_id", "schema": {"title": "Sbom Id", "type": "string"}, "required": true}, {"in": "query", "name": "page", "schema": {"default": 1, "title": "Page", "type": "integer"}, "required": false}, {"in": "query", "name": "page_size", "schema": {"default": 15, "title": "Page Size", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginatedSBOMReleasesResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List all releases that contain this SBOM.", "tags": ["Releases"], "deprecated": true}, "post": {"operationId": "sbomify_apps_core_apis_add_sbom_to_releases", "summary": "Add Sbom To Releases", "parameters": [{"in": "path", "name": "sbom_id", "schema": {"title": "Sbom Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SBOMReleaseTaggingResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Add an SBOM to multiple releases.", "tags": ["Releases"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/SBOMReleaseTaggingSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/sboms/{sbom_id}/releases/{release_id}": {"delete": {"operationId": "sbomify_apps_core_apis_remove_sbom_from_release", "summary": "Remove Sbom From Release", "parameters": [{"in": "path", "name": "sbom_id", "schema": {"title": "Sbom Id", "type": "string"}, "required": true}, {"in": "path", "name": "release_id", "schema": {"title": "Release Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Remove an SBOM from a specific release.", "tags": ["Releases"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/components/{component_id}/sboms": {"get": {"operationId": "sbomify_apps_core_apis_list_component_sboms", "summary": "List Component Sboms", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}, {"in": "query", "name": "page", "schema": {"default": 1, "title": "Page", "type": "integer"}, "required": false}, {"in": "query", "name": "page_size", "schema": {"default": 15, "title": "Page Size", "type": "integer"}, "required": false}, {"in": "query", "name": "include_all_types", "schema": {"default": false, "title": "Include All Types", "type": "boolean"}, "required": false}, {"in": "query", "name": "version", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Version"}, "required": false}, {"in": "query", "name": "format", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Format"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginatedSBOMsResponse"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "503": {"description": "Service Unavailable", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List a component's artifacts with pagination.\n\nSBOMs only by default; ``include_all_types`` also returns VEX, CBOM and any\nother bom types so the merged \"Artifacts & security\" table can list them.\n\nOptional `version` and `format` query parameters narrow the result to\nexact matches (no prefix or fuzzy matching \u2014 'v1.2.3' and '1.2.3' are\ndistinct versions). Filters are applied before pagination, so a filtered\nmiss returns an empty first page and a hit returns the newest match first.\nOmitting both parameters returns the full, unfiltered listing.", "tags": ["Components"], "deprecated": true}}, "/api/v1/components/{component_id}/documents": {"get": {"operationId": "sbomify_apps_core_apis_list_component_documents", "summary": "List Component Documents", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}, {"in": "query", "name": "page", "schema": {"default": 1, "title": "Page", "type": "integer"}, "required": false}, {"in": "query", "name": "page_size", "schema": {"default": 15, "title": "Page Size", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginatedDocumentsResponse"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List all documents for a specific component with pagination.", "tags": ["Components"], "deprecated": true}}, "/api/v1/user/delete": {"post": {"operationId": "sbomify_apps_core_apis_delete_account", "summary": "Delete Account", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DeleteAccountResponse"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Soft-delete the currently authenticated user's account.\n\nRequires typing 'delete' to confirm. Account will be deactivated immediately\nand permanently deleted after a 14-day grace period.\n\n**Immediate effects:**\n- Account deactivated (cannot log in)\n- Personal access tokens revoked\n- Pending invitations removed\n- Workspaces where you are the sole member will be deleted\n- Stripe subscriptions for deleted workspaces will be canceled\n\n**After 14 days:**\n- Account permanently deleted\n- Contact support to cancel deletion within the grace period.", "tags": ["User"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/DeleteAccountRequest"}}}, "required": true}, "security": [{"SessionAuth": []}]}}, "/api/v1/user/export": {"get": {"operationId": "sbomify_apps_core_apis_export_user_data_endpoint", "summary": "Export User Data Endpoint", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Export all user data for GDPR data portability.\n\nReturns a JSON object containing the user's profile, workspace memberships,\nAPI token metadata, SBOMs, and documents from their workspaces.", "tags": ["User"], "deprecated": true, "security": [{"SessionAuth": []}]}}, "/api/v1/exports/inventory.csv": {"get": {"operationId": "sbomify_apps_core_apis_export_inventory", "summary": "Export the package inventory as CSV", "parameters": [{"in": "query", "name": "product_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Product Id"}, "required": false}], "responses": {"200": {"description": "The CSV file", "content": {"text/csv": {"schema": {"type": "string"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Package inventory across the newest SBOM per component: name, version,\nsupplier, licenses and PURL \u2014 workspace-wide, or one product.", "tags": ["Exports"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/exports/licenses.csv": {"get": {"operationId": "sbomify_apps_core_apis_export_licenses", "summary": "Export the license list as CSV", "parameters": [{"in": "query", "name": "product_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Product Id"}, "required": false}, {"in": "query", "name": "release_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Release Id"}, "required": false}], "responses": {"200": {"description": "The CSV file", "content": {"text/csv": {"schema": {"type": "string"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Distinct licenses in scope with package and component counts \u2014\nworkspace-wide, one product, or one release.", "tags": ["Exports"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/exports/findings.csv": {"get": {"operationId": "sbomify_apps_core_apis_export_findings", "summary": "Export assessment findings as CSV", "parameters": [{"in": "query", "name": "sbom_id", "schema": {"title": "Sbom Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "The CSV file", "content": {"text/csv": {"schema": {"type": "string"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Latest compliance findings per plugin for one SBOM (NTIA, BSI, FDA...).", "tags": ["Exports"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/exports/vulnerabilities.csv": {"get": {"operationId": "sbomify_apps_core_apis_export_vulnerabilities", "summary": "Export vulnerability findings as CSV", "parameters": [{"in": "query", "name": "component_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Component Id"}, "required": false}, {"in": "query", "name": "release_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Release Id"}, "required": false}], "responses": {"200": {"description": "The CSV file", "content": {"text/csv": {"schema": {"type": "string"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Vulnerability findings with the post-VEX analysis state \u2014 the same\nalias-merged numbers the dashboards show.", "tags": ["Exports"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/products/{product_id}/cle/events": {"get": {"operationId": "sbomify_apps_core_cle_apis_list_cle_events", "summary": "List Cle Events", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}, {"in": "query", "name": "pageOffset", "schema": {"default": 0, "minimum": 0, "title": "Pageoffset", "type": "integer"}, "required": false}, {"in": "query", "name": "pageSize", "schema": {"default": 100, "maximum": 1000, "minimum": 1, "title": "Pagesize", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/CLEEventResponseSchema"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List CLE events for a product (newest first).", "tags": ["CLE"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "post": {"operationId": "sbomify_apps_core_cle_apis_create_cle_event_endpoint", "summary": "Create Cle Event Endpoint", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CLEEventResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Create a new CLE lifecycle event for a product.", "tags": ["CLE"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CLEEventCreateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/products/{product_id}/cle/events/{event_id}": {"get": {"operationId": "sbomify_apps_core_cle_apis_get_cle_event", "summary": "Get Cle Event", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}, {"in": "path", "name": "event_id", "schema": {"title": "Event Id", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CLEEventResponseSchema"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get a single CLE event by event_id.", "tags": ["CLE"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/products/{product_id}/cle/support-definitions": {"get": {"operationId": "sbomify_apps_core_cle_apis_list_cle_support_definitions", "summary": "List Cle Support Definitions", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}, {"in": "query", "name": "pageOffset", "schema": {"default": 0, "minimum": 0, "title": "Pageoffset", "type": "integer"}, "required": false}, {"in": "query", "name": "pageSize", "schema": {"default": 100, "maximum": 1000, "minimum": 1, "title": "Pagesize", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/CLESupportDefinitionResponseSchema"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List CLE support definitions for a product.", "tags": ["CLE"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "post": {"operationId": "sbomify_apps_core_cle_apis_create_cle_support_definition_endpoint", "summary": "Create Cle Support Definition Endpoint", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CLESupportDefinitionResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Create a new CLE support definition for a product.", "tags": ["CLE"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CLESupportDefinitionCreateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/components/{component_id}/cle/events": {"get": {"operationId": "sbomify_apps_core_cle_apis_list_component_cle_events", "summary": "List Component Cle Events", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}, {"in": "query", "name": "pageOffset", "schema": {"default": 0, "minimum": 0, "title": "Pageoffset", "type": "integer"}, "required": false}, {"in": "query", "name": "pageSize", "schema": {"default": 100, "maximum": 1000, "minimum": 1, "title": "Pagesize", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/CLEEventResponseSchema"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List CLE events for a component (newest first).", "tags": ["CLE"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "post": {"operationId": "sbomify_apps_core_cle_apis_create_component_cle_event_endpoint", "summary": "Create Component Cle Event Endpoint", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CLEEventResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Create a new CLE lifecycle event for a component.", "tags": ["CLE"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CLEEventCreateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/components/{component_id}/cle/events/{event_id}": {"get": {"operationId": "sbomify_apps_core_cle_apis_get_component_cle_event", "summary": "Get Component Cle Event", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}, {"in": "path", "name": "event_id", "schema": {"title": "Event Id", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CLEEventResponseSchema"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get a single CLE event for a component by event_id.", "tags": ["CLE"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/components/{component_id}/cle/support-definitions": {"get": {"operationId": "sbomify_apps_core_cle_apis_list_component_cle_support_definitions", "summary": "List Component Cle Support Definitions", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}, {"in": "query", "name": "pageOffset", "schema": {"default": 0, "minimum": 0, "title": "Pageoffset", "type": "integer"}, "required": false}, {"in": "query", "name": "pageSize", "schema": {"default": 100, "maximum": 1000, "minimum": 1, "title": "Pagesize", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/CLESupportDefinitionResponseSchema"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List CLE support definitions for a component.", "tags": ["CLE"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "post": {"operationId": "sbomify_apps_core_cle_apis_create_component_cle_support_definition_endpoint", "summary": "Create Component Cle Support Definition Endpoint", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CLESupportDefinitionResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Create a new CLE support definition for a component.", "tags": ["CLE"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CLESupportDefinitionCreateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/releases/{release_id}/cle/events": {"get": {"operationId": "sbomify_apps_core_cle_apis_list_release_cle_events", "summary": "List Release Cle Events", "parameters": [{"in": "path", "name": "release_id", "schema": {"title": "Release Id", "type": "string"}, "required": true}, {"in": "query", "name": "pageOffset", "schema": {"default": 0, "minimum": 0, "title": "Pageoffset", "type": "integer"}, "required": false}, {"in": "query", "name": "pageSize", "schema": {"default": 100, "maximum": 1000, "minimum": 1, "title": "Pagesize", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/CLEEventResponseSchema"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List CLE events for a release (newest first).", "tags": ["CLE"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "post": {"operationId": "sbomify_apps_core_cle_apis_create_release_cle_event_endpoint", "summary": "Create Release Cle Event Endpoint", "parameters": [{"in": "path", "name": "release_id", "schema": {"title": "Release Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CLEEventResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Create a new CLE lifecycle event for a release.", "tags": ["CLE"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CLEEventCreateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/releases/{release_id}/cle/events/{event_id}": {"get": {"operationId": "sbomify_apps_core_cle_apis_get_release_cle_event", "summary": "Get Release Cle Event", "parameters": [{"in": "path", "name": "release_id", "schema": {"title": "Release Id", "type": "string"}, "required": true}, {"in": "path", "name": "event_id", "schema": {"title": "Event Id", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CLEEventResponseSchema"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get a single CLE event for a release by event_id.", "tags": ["CLE"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/releases/{release_id}/cle/support-definitions": {"get": {"operationId": "sbomify_apps_core_cle_apis_list_release_cle_support_definitions", "summary": "List Release Cle Support Definitions", "parameters": [{"in": "path", "name": "release_id", "schema": {"title": "Release Id", "type": "string"}, "required": true}, {"in": "query", "name": "pageOffset", "schema": {"default": 0, "minimum": 0, "title": "Pageoffset", "type": "integer"}, "required": false}, {"in": "query", "name": "pageSize", "schema": {"default": 100, "maximum": 1000, "minimum": 1, "title": "Pagesize", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/CLESupportDefinitionResponseSchema"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List CLE support definitions for a release.", "tags": ["CLE"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "post": {"operationId": "sbomify_apps_core_cle_apis_create_release_cle_support_definition_endpoint", "summary": "Create Release Cle Support Definition Endpoint", "parameters": [{"in": "path", "name": "release_id", "schema": {"title": "Release Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CLESupportDefinitionResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Create a new CLE support definition for a release.", "tags": ["CLE"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CLESupportDefinitionCreateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/component-releases/{component_release_id}/cle/events": {"get": {"operationId": "sbomify_apps_core_cle_apis_list_component_release_cle_events", "summary": "List Component Release Cle Events", "parameters": [{"in": "path", "name": "component_release_id", "schema": {"title": "Component Release Id", "type": "string"}, "required": true}, {"in": "query", "name": "pageOffset", "schema": {"default": 0, "minimum": 0, "title": "Pageoffset", "type": "integer"}, "required": false}, {"in": "query", "name": "pageSize", "schema": {"default": 100, "maximum": 1000, "minimum": 1, "title": "Pagesize", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/CLEEventResponseSchema"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List CLE events for a component release (newest first).", "tags": ["CLE"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "post": {"operationId": "sbomify_apps_core_cle_apis_create_component_release_cle_event_endpoint", "summary": "Create Component Release Cle Event Endpoint", "parameters": [{"in": "path", "name": "component_release_id", "schema": {"title": "Component Release Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CLEEventResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Create a new CLE lifecycle event for a component release.", "tags": ["CLE"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CLEEventCreateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/component-releases/{component_release_id}/cle/events/{event_id}": {"get": {"operationId": "sbomify_apps_core_cle_apis_get_component_release_cle_event", "summary": "Get Component Release Cle Event", "parameters": [{"in": "path", "name": "component_release_id", "schema": {"title": "Component Release Id", "type": "string"}, "required": true}, {"in": "path", "name": "event_id", "schema": {"title": "Event Id", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CLEEventResponseSchema"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get a single CLE event for a component release by event_id.", "tags": ["CLE"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/component-releases/{component_release_id}/cle/support-definitions": {"get": {"operationId": "sbomify_apps_core_cle_apis_list_component_release_cle_support_definitions", "summary": "List Component Release Cle Support Definitions", "parameters": [{"in": "path", "name": "component_release_id", "schema": {"title": "Component Release Id", "type": "string"}, "required": true}, {"in": "query", "name": "pageOffset", "schema": {"default": 0, "minimum": 0, "title": "Pageoffset", "type": "integer"}, "required": false}, {"in": "query", "name": "pageSize", "schema": {"default": 100, "maximum": 1000, "minimum": 1, "title": "Pagesize", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/CLESupportDefinitionResponseSchema"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "List CLE support definitions for a component release.", "tags": ["CLE"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "post": {"operationId": "sbomify_apps_core_cle_apis_create_component_release_cle_support_definition_endpoint", "summary": "Create Component Release Cle Support Definition Endpoint", "parameters": [{"in": "path", "name": "component_release_id", "schema": {"title": "Component Release Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CLESupportDefinitionResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Create a new CLE support definition for a component release.", "tags": ["CLE"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CLESupportDefinitionCreateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/billing/plans/": {"get": {"operationId": "sbomify_apps_billing_apis_get_plans", "summary": "Get Plans", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/PlanSchema"}, "title": "Response", "type": "array"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get all available billing plans.", "tags": ["Billing"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/billing/usage/": {"get": {"operationId": "sbomify_apps_billing_apis_get_usage", "summary": "Get Usage", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UsageSchema"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get current team's usage statistics.\n\nNote: Usage data (product/component counts) is not sensitive billing data.\nAny team member can view usage stats \u2014 the membership check below is sufficient.\nOwner-level access is not required here (unlike billing mutations).", "tags": ["Billing"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/billing/change-plan/": {"post": {"operationId": "sbomify_apps_billing_apis_change_plan", "summary": "Change Plan", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ChangePlanResponse"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "429": {"description": "Too Many Requests", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "503": {"description": "Service Unavailable", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Change the current team's billing plan.", "tags": ["Billing"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ChangePlanRequest"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/notifications/": {"get": {"operationId": "sbomify_apps_notifications_apis_list_notifications", "summary": "List Notifications", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/NotificationSchema"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get all active notifications for the current user and their active team", "tags": ["Notifications"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/notifications/clear/": {"post": {"operationId": "sbomify_apps_notifications_apis_clear_notifications", "summary": "Clear Notifications", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Clear all active notifications", "tags": ["Notifications"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/vulnerability-scanning/workspaces/{team_key}/vulnerability-kpis": {"get": {"operationId": "sbomify_apps_vulnerability_scanning_apis_get_team_vulnerability_kpis", "summary": "Get the five CRA vulnerability KPIs for a workspace", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}, {"in": "query", "name": "days", "schema": {"default": 90, "description": "Window for the averages, in days", "maximum": 365, "minimum": 7, "title": "Days", "type": "integer"}, "required": false, "description": "Window for the averages, in days"}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Mean time to triage, mean time to remediate, open criticals (with the KEV split), patch SLA compliance against the workspace's matrix, and VEX publication latency \u2014 the set CRA checklist 4.1.8 asks to be reviewed quarterly.", "tags": ["Vulnerability Scanning"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/vulnerability-scanning/workspaces/{team_key}/vulnerability-stats": {"get": {"operationId": "sbomify_apps_vulnerability_scanning_apis_get_team_vulnerability_stats", "summary": "Get workspace vulnerability scanning statistics", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}, {"in": "query", "name": "component_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Filter to specific component", "title": "Component Id"}, "required": false, "description": "Filter to specific component"}, {"in": "query", "name": "product_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Filter to specific product", "title": "Product Id"}, "required": false, "description": "Filter to specific product"}, {"in": "query", "name": "release_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Filter to specific release/version", "title": "Release Id"}, "required": false, "description": "Filter to specific release/version"}, {"in": "query", "name": "latest_sbom_only", "schema": {"default": false, "description": "For component view: only show vulnerabilities from latest SBOM", "title": "Latest Sbom Only", "type": "boolean"}, "required": false, "description": "For component view: only show vulnerabilities from latest SBOM"}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get vulnerability scanning statistics and recent assessment results for a workspace. Note: 'team_key' parameter name is retained for backward compatibility and represents the workspace key.", "tags": ["Vulnerability Scanning"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/vulnerability-scanning/workspaces/{team_key}/vulnerability-timeseries": {"get": {"operationId": "sbomify_apps_vulnerability_scanning_apis_get_team_vulnerability_timeseries", "summary": "Get vulnerability scanning time series data", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}, {"in": "query", "name": "component_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Filter to specific component", "title": "Component Id"}, "required": false, "description": "Filter to specific component"}, {"in": "query", "name": "product_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Filter to specific product", "title": "Product Id"}, "required": false, "description": "Filter to specific product"}, {"in": "query", "name": "release_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Filter to specific release/version", "title": "Release Id"}, "required": false, "description": "Filter to specific release/version"}, {"in": "query", "name": "latest_sbom_only", "schema": {"default": false, "description": "For component view: only show vulnerabilities from latest SBOM over time", "title": "Latest Sbom Only", "type": "boolean"}, "required": false, "description": "For component view: only show vulnerabilities from latest SBOM over time"}, {"in": "query", "name": "days", "schema": {"default": 30, "description": "Number of days to include in time series", "maximum": 365, "minimum": 7, "title": "Days", "type": "integer"}, "required": false, "description": "Number of days to include in time series"}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get historical vulnerability data for time series charts including trends by severity and provider. Note: 'team_key' parameter name is retained for backward compatibility and represents the workspace key.", "tags": ["Vulnerability Scanning"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/vulnerability-scanning/workspaces/{team_key}/vulnerability-drill-down": {"get": {"operationId": "sbomify_apps_vulnerability_scanning_apis_get_team_vulnerability_drill_down", "summary": "Get detailed vulnerability drill-down data", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}, {"in": "query", "name": "filter_type", "schema": {"description": "Filter type: 'date', 'severity', or 'provider'", "title": "Filter Type", "type": "string"}, "required": true, "description": "Filter type: 'date', 'severity', or 'provider'"}, {"in": "query", "name": "filter_value", "schema": {"description": "Filter value based on filter_type", "title": "Filter Value", "type": "string"}, "required": true, "description": "Filter value based on filter_type"}, {"in": "query", "name": "component_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Filter to specific component", "title": "Component Id"}, "required": false, "description": "Filter to specific component"}, {"in": "query", "name": "product_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Filter to specific product", "title": "Product Id"}, "required": false, "description": "Filter to specific product"}, {"in": "query", "name": "release_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Filter to specific release/version", "title": "Release Id"}, "required": false, "description": "Filter to specific release/version"}, {"in": "query", "name": "latest_sbom_only", "schema": {"default": false, "description": "For component view: only show vulnerabilities from latest SBOM", "title": "Latest Sbom Only", "type": "boolean"}, "required": false, "description": "For component view: only show vulnerabilities from latest SBOM"}, {"in": "query", "name": "days", "schema": {"default": 30, "description": "Number of days for context", "maximum": 365, "minimum": 7, "title": "Days", "type": "integer"}, "required": false, "description": "Number of days for context"}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get detailed breakdown of vulnerabilities with components, SBOMs, and vulnerability details for drill-down views. Note: 'team_key' parameter name is retained for backward compatibility and represents the workspace key.", "tags": ["Vulnerability Scanning"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/vulnerability-scanning/workspaces/{team_key}/vulnerability-trends": {"get": {"operationId": "sbomify_apps_vulnerability_scanning_apis_get_team_vulnerability_trends", "summary": "Get vulnerability trends over time for time series analysis", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}, {"in": "query", "name": "days", "schema": {"default": 30, "description": "Number of days to analyze (default: 30)", "title": "Days", "type": "integer"}, "required": false, "description": "Number of days to analyze (default: 30)"}, {"in": "query", "name": "granularity", "schema": {"default": "day", "description": "Time granularity: 'day', 'week', or 'month'", "title": "Granularity", "type": "string"}, "required": false, "description": "Time granularity: 'day', 'week', or 'month'"}, {"in": "query", "name": "component_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Filter by specific component ID", "title": "Component Id"}, "required": false, "description": "Filter by specific component ID"}, {"in": "query", "name": "provider", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Filter by vulnerability provider (plugin name)", "title": "Provider"}, "required": false, "description": "Filter by vulnerability provider (plugin name)"}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get historical vulnerability trends showing changes over time for dashboard charts and analysis. Note: 'team_key' parameter name is retained for backward compatibility and represents the workspace key.", "tags": ["Vulnerability Scanning"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/vulnerability-scanning/workspaces/{team_key}/vulnerability-heatmap": {"get": {"operationId": "sbomify_apps_vulnerability_scanning_apis_get_team_vulnerability_heatmap", "summary": "Get vulnerability heatmap data for visual analysis", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}, {"in": "query", "name": "days", "schema": {"default": 30, "description": "Number of days to analyze (default: 30)", "title": "Days", "type": "integer"}, "required": false, "description": "Number of days to analyze (default: 30)"}, {"in": "query", "name": "severity_focus", "schema": {"default": "total", "description": "Focus severity: 'total', 'critical', 'high', 'medium', 'low'", "title": "Severity Focus", "type": "string"}, "required": false, "description": "Focus severity: 'total', 'critical', 'high', 'medium', 'low'"}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get vulnerability density data across components and time periods for heatmap visualizations. Note: 'team_key' parameter name is retained for backward compatibility and represents the workspace key.", "tags": ["Vulnerability Scanning"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/vulnerability-scanning/workspaces/{team_key}/products-releases": {"get": {"operationId": "sbomify_apps_vulnerability_scanning_apis_get_team_products_releases", "summary": "Get products and releases for vulnerability filtering", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get list of products and their releases for dashboard filtering controls. Note: 'team_key' parameter name is retained for backward compatibility and represents the workspace key.", "tags": ["Vulnerability Scanning"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/vulnerability-scanning/workspaces/{team_key}/vulnerabilities": {"get": {"operationId": "sbomify_apps_vulnerability_scanning_apis_list_workspace_vulnerabilities", "summary": "List the open vulnerabilities", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}, {"in": "query", "name": "product", "schema": {"default": "", "description": "Only this product's components", "title": "Product", "type": "string"}, "required": false, "description": "Only this product's components"}, {"in": "query", "name": "release", "schema": {"default": "", "description": "Only what this release of the product shipped", "title": "Release", "type": "string"}, "required": false, "description": "Only what this release of the product shipped"}, {"in": "query", "name": "component", "schema": {"default": "", "description": "Only this component", "title": "Component", "type": "string"}, "required": false, "description": "Only this component"}, {"in": "query", "name": "severity", "schema": {"default": "", "description": "critical, high, medium, low or other", "title": "Severity", "type": "string"}, "required": false, "description": "critical, high, medium, low or other"}, {"in": "query", "name": "exposure", "schema": {"default": "", "description": "exploited (known exploited) or overdue (past its fix deadline)", "title": "Exposure", "type": "string"}, "required": false, "description": "exploited (known exploited) or overdue (past its fix deadline)"}, {"in": "query", "name": "status", "schema": {"default": "", "description": "decided lists what a VEX decision closed instead of what is open", "title": "Status", "type": "string"}, "required": false, "description": "decided lists what a VEX decision closed instead of what is open"}, {"in": "query", "name": "search", "schema": {"default": "", "description": "Matches an id, a package or a component", "title": "Search", "type": "string"}, "required": false, "description": "Matches an id, a package or a component"}, {"in": "query", "name": "sort", "schema": {"default": "", "description": "priority (the default), severity, vulnerability, component, package or sla", "title": "Sort", "type": "string"}, "required": false, "description": "priority (the default), severity, vulnerability, component, package or sla"}, {"in": "query", "name": "direction", "schema": {"default": "", "description": "asc (the default) or desc", "title": "Direction", "type": "string"}, "required": false, "description": "asc (the default) or desc"}, {"in": "query", "name": "page", "schema": {"default": "1", "description": "The page to return", "title": "Page", "type": "string"}, "required": false, "description": "The page to return"}, {"in": "query", "name": "per_page", "schema": {"default": "25", "description": "Items per page, at most 100", "title": "Per Page", "type": "string"}, "required": false, "description": "Items per page, at most 100"}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VulnerabilityListSchema"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "The vulnerabilities the workspace's Vulnerabilities page lists, most urgent first, with the same filters. Each item carries what the fix-prompt endpoint needs to find it again, whether it can be triaged, and any VEX submission for it that is waiting for approval. An AI agent token can read it.", "tags": ["Vulnerability Scanning"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/vulnerability-scanning/workspaces/{team_key}/fix-prompt": {"get": {"operationId": "sbomify_apps_vulnerability_scanning_apis_get_fix_prompt", "summary": "Get the fix and triage prompts for one vulnerability", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}, {"in": "query", "name": "component_id", "schema": {"description": "The component the vulnerability was found in", "title": "Component Id", "type": "string"}, "required": true, "description": "The component the vulnerability was found in"}, {"in": "query", "name": "advisory", "schema": {"description": "The advisory id, such as a CVE or GHSA id", "title": "Advisory", "type": "string"}, "required": true, "description": "The advisory id, such as a CVE or GHSA id"}, {"in": "query", "name": "package", "schema": {"default": "", "description": "The affected package's name", "title": "Package", "type": "string"}, "required": false, "description": "The affected package's name"}, {"in": "query", "name": "version", "schema": {"default": "", "description": "The affected package's version", "title": "Version", "type": "string"}, "required": false, "description": "The affected package's version"}, {"in": "query", "name": "ecosystem", "schema": {"default": "", "description": "The affected package's ecosystem", "title": "Ecosystem", "type": "string"}, "required": false, "description": "The affected package's ecosystem"}, {"in": "query", "name": "purl", "schema": {"default": "", "description": "The affected package's purl", "title": "Purl", "type": "string"}, "required": false, "description": "The affected package's purl"}, {"in": "query", "name": "sbom_id", "schema": {"default": "", "description": "The SBOM the vulnerability was found in. Defaults to the newest", "title": "Sbom Id", "type": "string"}, "required": false, "description": "The SBOM the vulnerability was found in. Defaults to the newest"}, {"in": "query", "name": "release_id", "schema": {"default": "", "description": "The release whose scans to read", "title": "Release Id", "type": "string"}, "required": false, "description": "The release whose scans to read"}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/FixPromptSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Instructions for a coding agent to fix, or to triage, one vulnerability in one package of a component, built from the component's latest scan. Identify the occurrence the way a row of the vulnerabilities list does: the component and advisory, narrowed by package, version, ecosystem and purl. Pass the SBOM and release the row came from to read the scan of that SBOM in that release. A 404 means the workspace has no such component or SBOM, or the vulnerability is no longer in its latest scan.", "tags": ["Vulnerability Scanning"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/vulnerability-scanning/components/{component_id}/triage": {"get": {"operationId": "sbomify_apps_vulnerability_scanning_apis_get_component_triage", "summary": "Get Component Triage", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}}, "description": "Current in-app triage decisions for a component, plus the allowed vocabulary.", "tags": ["Vulnerability Scanning"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "post": {"operationId": "sbomify_apps_vulnerability_scanning_apis_apply_component_triage", "summary": "Record triage decisions for a component", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}, {"in": "query", "name": "review", "schema": {"default": false, "description": "Send the decisions for a person to approve instead of applying them (202).", "title": "Review", "type": "boolean"}, "required": false, "description": "Send the decisions for a person to approve instead of applying them (202)."}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "202": {"description": "Accepted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VexSubmissionSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "502": {"description": "Bad Gateway", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}}, "description": "Record triage decisions for a component's vulnerabilities.\n\nWithout `review`, the decisions apply straight away and the response is `200` with `changed` and `vex_id`. That needs permission to publish VEX.\n\nWith `review=true`, the decisions wait for a person to approve them and the response is `202` with the submission (`id`, `status`, ...). Nothing changes until it is approved. Read it back with `GET /api/v2/vulnerability-scanning/vex-submissions/{id}`. Add `context` (what you checked and why) and `fix_reference` for the reviewer. An API token made with the AI agent preset can only use this mode: without `review=true` it gets a 403 that says so.\n\nIn review mode, `resolved` and `risk_accepted` are refused for tokens and pipelines, every decision must set a state, and a ruling already waiting for review is refused with 409 naming the submission that holds it.", "tags": ["Vulnerability Scanning"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/TriageApplyIn"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/vulnerability-scanning/triage/bulk": {"post": {"operationId": "sbomify_apps_vulnerability_scanning_apis_bulk_triage", "summary": "Bulk Triage", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}}, "description": "Apply one component-wide decision for a CVE across a set of components,\na product, or a whole workspace.\n\nPermissions are all-or-nothing: the endpoint fails with 403 before writing\nanything if any target component is not writable. The writes themselves are\nper-component and best-effort \u2014 a component that hits write contention or an\nunreadable prior triage VEX is returned in ``failed`` (with the others in\n``changed``/``unchanged``) rather than 500-ing the batch.", "tags": ["Vulnerability Scanning"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/BulkTriageIn"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/vulnerability-scanning/components/{component_id}/vex-preview": {"post": {"operationId": "sbomify_apps_vulnerability_scanning_apis_preview_vex", "summary": "Preview Vex", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}}, "description": "Dry-run a VEX document against the component's current findings.\n\nAccepts the raw document (any supported format, JSON or CycloneDX XML) as\nthe request body and reports what applying it would do \u2014 before anything\nis stored. Only suppressing statements are counted: that is what applying\nthe document changes.", "tags": ["Vulnerability Scanning"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/vulnerability-scanning/components/{component_id}/vex-submissions": {"post": {"operationId": "sbomify_apps_vulnerability_scanning_apis_create_vex_submission", "summary": "Create Vex Submission", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VexSubmissionSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Send a VEX ruling for a person to approve. Nothing changes until it is approved.\n\nSend either a VEX file as ``document`` (CycloneDX, OpenVEX or CSAF) or the\ntriage decisions JSON as ``decisions``. A VEX file's not_affected and\nfalse_positive statements become rulings; send any other state as\ndecisions. Put what you changed, and why the vulnerability does or does not\napply, in ``context``: it is what the reviewer reads first.\n\nRulings already waiting for review are refused with 409, naming every\nsubmission that holds one of them. ``impact`` is null in the response and is filled\nin shortly after; read the submission back to see it.", "tags": ["Vulnerability Scanning"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/VexSubmissionIn"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "get": {"operationId": "sbomify_apps_vulnerability_scanning_apis_list_component_vex_submissions", "summary": "List Component Vex Submissions", "parameters": [{"in": "path", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}, {"in": "query", "name": "status", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Status"}, "required": false}, {"in": "query", "name": "page", "schema": {"default": 1, "title": "Page", "type": "integer"}, "required": false}, {"in": "query", "name": "page_size", "schema": {"default": 15, "title": "Page Size", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VexSubmissionListSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "The component's VEX submissions, newest first.", "tags": ["Vulnerability Scanning"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/vulnerability-scanning/workspaces/{team_key}/vex-submissions": {"get": {"operationId": "sbomify_apps_vulnerability_scanning_apis_list_workspace_vex_submissions", "summary": "List Workspace Vex Submissions", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}, {"in": "query", "name": "status", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Status"}, "required": false}, {"in": "query", "name": "page", "schema": {"default": 1, "title": "Page", "type": "integer"}, "required": false}, {"in": "query", "name": "page_size", "schema": {"default": 15, "title": "Page Size", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VexSubmissionListSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Every VEX submission in the workspace, newest first.", "tags": ["Vulnerability Scanning"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/vulnerability-scanning/vex-submissions/{submission_id}": {"get": {"operationId": "sbomify_apps_vulnerability_scanning_apis_get_vex_submission", "summary": "Get Vex Submission", "parameters": [{"in": "path", "name": "submission_id", "schema": {"title": "Submission Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VexSubmissionSchema"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "One submission, so an agent can see whether its ruling was approved.", "tags": ["Vulnerability Scanning"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/vulnerability-scanning/vex-submissions/{submission_id}/withdraw": {"post": {"operationId": "sbomify_apps_vulnerability_scanning_apis_withdraw_vex_submission", "summary": "Withdraw Vex Submission", "parameters": [{"in": "path", "name": "submission_id", "schema": {"title": "Submission Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VexSubmissionSchema"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Take back a submission nobody has ruled on yet. Only its submitter can.", "tags": ["Vulnerability Scanning"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/licensing/licenses": {"get": {"operationId": "sbomify_apps_licensing_api_list_licenses", "summary": "List Licenses", "parameters": [], "responses": {"200": {"description": "OK"}}, "description": "Get a list of all available licenses.", "tags": ["Licensing"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/licensing/license-expressions/validate": {"post": {"operationId": "sbomify_apps_licensing_api_validate_license_expression", "summary": "Validate License Expression", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ValidationResponseSchema"}}}}}, "description": "Validate a license expression and return detailed information.", "tags": ["Licensing"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ValidationRequestSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/plugins/assessments/{sbom_id}": {"get": {"operationId": "sbomify_apps_plugins_apis_get_sbom_assessments", "summary": "Get Sbom Assessments", "parameters": [{"in": "path", "name": "sbom_id", "schema": {"title": "Sbom Id", "type": "string"}, "required": true}, {"in": "query", "name": "findings_limit", "schema": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Findings Limit"}, "required": false}, {"in": "query", "name": "include_history", "schema": {"default": true, "title": "Include History", "type": "boolean"}, "required": false}, {"in": "query", "name": "history_limit", "schema": {"default": 50, "title": "History Limit", "type": "integer"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SBOMAssessmentsResponse"}}}}}, "description": "Get assessment runs for an SBOM: the latest per plugin, plus recent history.\n\nThree knobs, because the unbounded version of this response is a denial of\nservice on a public endpoint. ``auth=None``: for a public component, any\nunauthenticated caller could make the server de-TOAST an SBOM's entire scan\nhistory, and a scheduled scanner writes a run per SBOM per cycle, so that\nhistory grows without limit for as long as the artifact exists.\n\n``findings_limit`` bounds the findings carried per run. The artifact page's\ncard shows counts from ``result.summary`` and exactly one title, and the\nfindings list behind it reached 31 MB on a four-thousand-finding scan, which\nis a 504 at the gateway before the page is ever written.\n\n``include_history`` drops ``all_runs``. Every finding was otherwise stamped,\nvalidated and serialized twice, once for the latest run per plugin and again\nfor the same run inside the history, and the artifact page reads only the\nformer.\n\n``history_limit`` bounds how many runs ``all_runs`` carries, up to\n``DEFAULT_HISTORY_LIMIT`` whatever the caller asks for. This is the one\nthat makes the response size a function of the request rather than of how\nlong the SBOM has existed. ``all_runs_total`` reports the true count so a\ncaller can see that it was truncated.\n\nOnly the latest runs carry their findings. A history row carries the run's\nstatus and its result without the findings array, which is what grows with\nthe SBOM, so ``history_limit`` bounds the response's size as well as its\nlength. The newest run per plugin is found on its own, so it shows even when\nit falls outside the history window: deriving it from the truncated history\nwould hide a plugin whose last run predates the newest ``history_limit`` runs.", "tags": ["plugins"], "deprecated": true}}, "/api/v1/plugins/assessments/{sbom_id}/badge": {"get": {"operationId": "sbomify_apps_plugins_apis_get_sbom_assessment_badge", "summary": "Get Sbom Assessment Badge", "parameters": [{"in": "path", "name": "sbom_id", "schema": {"title": "Sbom Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AssessmentBadgeData"}}}}}, "description": "Get minimal assessment data for badge display.\n\nReturns only what's needed for the assessment badge component.", "tags": ["plugins"], "deprecated": true}}, "/api/v1/plugins/registered": {"get": {"operationId": "sbomify_apps_plugins_apis_get_registered_plugins", "summary": "Get Registered Plugins", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"additionalProperties": true, "type": "object"}, "title": "Response", "type": "array"}}}}}, "description": "Get all registered and enabled plugins.", "tags": ["plugins"], "deprecated": true}}, "/api/v1/plugins/workspaces/{team_key}/settings": {"get": {"operationId": "sbomify_apps_plugins_apis_get_team_plugin_settings", "summary": "Get Team Plugin Settings", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TeamPluginSettingsResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get plugin settings for a team.\n\nReturns a tuple of (status_code, data).", "tags": ["plugins"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "put": {"operationId": "sbomify_apps_plugins_apis_update_team_plugin_settings", "summary": "Update Team Plugin Settings", "parameters": [{"in": "path", "name": "team_key", "schema": {"title": "Team Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateTeamPluginSettingsResponse"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Update plugin settings for a team.\n\nReturns a tuple of (status_code, data).", "tags": ["plugins"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateTeamPluginSettingsRequest"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/plugins/assessments/{sbom_id}/{plugin_name}/rerun": {"post": {"operationId": "sbomify_apps_plugins_apis_rerun_assessment", "summary": "Rerun Assessment", "parameters": [{"in": "path", "name": "sbom_id", "schema": {"title": "Sbom Id", "type": "string"}, "required": true}, {"in": "path", "name": "plugin_name", "schema": {"title": "Plugin Name", "type": "string"}, "required": true}], "responses": {"202": {"description": "Accepted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AssessmentRerunResponse"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Queue a fresh run of one plugin against one SBOM.\n\nThe manual path existed on every layer but the top: ``RunReason.MANUAL``,\n``AssessmentRun.triggered_by_user`` and the task's ``triggered_by_user_id``\nwere all in place with nothing able to call them, so recovering from a\nmisconfigured plugin or an outage meant re-uploading the SBOM.", "tags": ["plugins"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/compliance/cra/product/{product_id}": {"post": {"operationId": "sbomify_apps_compliance_apis_create_or_get_assessment", "summary": "Create Or Get Assessment", "parameters": [{"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CRAAssessmentSchema"}}}}, "201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CRAAssessmentSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Create or get a CRA assessment for a product.", "tags": ["Compliance"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/compliance/cra/{assessment_id}": {"get": {"operationId": "sbomify_apps_compliance_apis_get_assessment", "summary": "Get Assessment", "parameters": [{"in": "path", "name": "assessment_id", "schema": {"title": "Assessment Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CRAAssessmentSchema"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get assessment status.", "tags": ["Compliance"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/compliance/cra/{assessment_id}/step/{step}": {"get": {"operationId": "sbomify_apps_compliance_apis_get_step_context", "summary": "Get Step Context", "parameters": [{"in": "path", "name": "assessment_id", "schema": {"title": "Assessment Id", "type": "string"}, "required": true}, {"in": "path", "name": "step", "schema": {"title": "Step", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/StepContextSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get context data for a wizard step.", "tags": ["Compliance"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "patch": {"operationId": "sbomify_apps_compliance_apis_save_step_data", "summary": "Save Step Data", "parameters": [{"in": "path", "name": "assessment_id", "schema": {"title": "Assessment Id", "type": "string"}, "required": true}, {"in": "path", "name": "step", "schema": {"title": "Step", "type": "integer"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CRAAssessmentSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Save data for a wizard step.", "tags": ["Compliance"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/StepDataSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/compliance/cra/{assessment_id}/sbom-status": {"get": {"operationId": "sbomify_apps_compliance_apis_get_sbom_status", "summary": "Get Sbom Status", "parameters": [{"in": "path", "name": "assessment_id", "schema": {"title": "Assessment Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SBOMStatusSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get SBOM compliance status for all product components.", "tags": ["Compliance"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/compliance/cra/{assessment_id}/findings/{finding_id}": {"put": {"operationId": "sbomify_apps_compliance_apis_update_finding", "summary": "Update Finding", "parameters": [{"in": "path", "name": "assessment_id", "schema": {"title": "Assessment Id", "type": "string"}, "required": true}, {"in": "path", "name": "finding_id", "schema": {"title": "Finding Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/FindingSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Update a single finding's status, notes, and justification.\n\n``justification`` is required when a Part I control is marked\n``not-applicable`` (CRA Art 13(4)).", "tags": ["Compliance"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/FindingUpdateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/compliance/cra/{assessment_id}/findings/{finding_id}/observations": {"post": {"operationId": "sbomify_apps_compliance_apis_create_observation", "summary": "Create Observation", "parameters": [{"in": "path", "name": "assessment_id", "schema": {"title": "Assessment Id", "type": "string"}, "required": true}, {"in": "path", "name": "finding_id", "schema": {"title": "Finding Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ObservationSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Add an observation (evidence) to a finding.", "tags": ["Compliance"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ObservationCreateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/compliance/cra/{assessment_id}/generate/{kind}": {"post": {"operationId": "sbomify_apps_compliance_apis_generate_document", "summary": "Generate Document", "parameters": [{"in": "path", "name": "assessment_id", "schema": {"title": "Assessment Id", "type": "string"}, "required": true}, {"in": "path", "name": "kind", "schema": {"title": "Kind", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DocumentSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "502": {"description": "Bad Gateway", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Generate a compliance document.", "tags": ["Compliance"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/compliance/cra/{assessment_id}/documents/{kind}/preview": {"get": {"operationId": "sbomify_apps_compliance_apis_preview_document", "summary": "Preview Document", "parameters": [{"in": "path", "name": "assessment_id", "schema": {"title": "Assessment Id", "type": "string"}, "required": true}, {"in": "path", "name": "kind", "schema": {"title": "Kind", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Preview a document without persisting.", "tags": ["Compliance"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/compliance/cra/{assessment_id}/documents/{kind}/download": {"get": {"operationId": "sbomify_apps_compliance_apis_download_document_pdf", "summary": "Download Document Pdf", "parameters": [{"in": "path", "name": "assessment_id", "schema": {"title": "Assessment Id", "type": "string"}, "required": true}, {"in": "path", "name": "kind", "schema": {"title": "Kind", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}}, "description": "Render the named CRA document on-demand and return it as a PDF.\n\nReuses the same markdown source the bundle export ships, runs it\nthrough ``markdown_to_pdf``, and streams the result with a\n``Content-Disposition: attachment`` header so the browser triggers\na download rather than rendering inline. We render fresh on every\nrequest (rather than fetching a cached PDF from S3) so a signature\nupdate or staleness flip is reflected immediately \u2014 the operator\ndoesn't have to re-export the whole bundle to grab one document.\n\nFalls back to a 503 ``ErrorResponse`` when WeasyPrint is unavailable\n(distroless prod without Pango); the client can still hit the\n``/preview`` endpoint and copy markdown manually in that case.", "tags": ["Compliance"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/compliance/cra/{assessment_id}/signature": {"get": {"operationId": "sbomify_apps_compliance_apis_get_doc_signature", "summary": "Get Doc Signature", "parameters": [{"in": "path", "name": "assessment_id", "schema": {"title": "Assessment Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SignatureResponseSchema"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Read the manufacturer signature block stored on the assessment.", "tags": ["Compliance"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "put": {"operationId": "sbomify_apps_compliance_apis_save_doc_signature", "summary": "Save Doc Signature", "parameters": [{"in": "path", "name": "assessment_id", "schema": {"title": "Assessment Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SignatureResponseSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Save the manufacturer signature block.\n\nThe signature image must be a base64-encoded PNG data URL produced\nby the wizard's ``signature_pad`` canvas. We validate the prefix\nand an upper byte cap server-side because:\n\n* the canvas can in principle return arbitrarily large payloads\n  if a future UI change resizes the drawing surface, and\n* the field is rendered into the DoC template as ``data:image/png;\n  base64,...`` \u2014 anything other than a real PNG would either render\n  as a broken image (best case) or get scheme-blocked by the\n  ``mark_safe`` rendering path (worst case).\n\nSaving the signature bumps any existing DoC ``CRAGeneratedDocument``\nto ``is_stale=True`` so the wizard's \"Refresh stale documents\"\nbutton picks it up \u2014 the operator must regenerate before the\npublic reader will surface the updated declaration. We do not\nauto-regenerate here because a signature change is a deliberate\nlegal act and we want the operator to confirm by clicking\nGenerate.", "tags": ["Compliance"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/SignatureSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/compliance/cra/{assessment_id}/export": {"post": {"operationId": "sbomify_apps_compliance_apis_create_export", "summary": "Create Export", "parameters": [{"in": "path", "name": "assessment_id", "schema": {"title": "Assessment Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ExportPackageSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "502": {"description": "Bad Gateway", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Build a ZIP export package.", "tags": ["Compliance"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/compliance/cra/{assessment_id}/export/{package_id}": {"get": {"operationId": "sbomify_apps_compliance_apis_get_export", "summary": "Get Export", "parameters": [{"in": "path", "name": "assessment_id", "schema": {"title": "Assessment Id", "type": "string"}, "required": true}, {"in": "path", "name": "package_id", "schema": {"title": "Package Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "One export package as step 5 shows it.\n\nA page that just exported reads its own package here rather than the\nassessment's newest, which another export may already have replaced, so\nthe signing form names the ZIP that was downloaded.", "tags": ["Compliance"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/compliance/cra/{assessment_id}/export/{package_id}/download": {"get": {"operationId": "sbomify_apps_compliance_apis_download_export", "summary": "Download Export", "parameters": [{"in": "path", "name": "assessment_id", "schema": {"title": "Assessment Id", "type": "string"}, "required": true}, {"in": "path", "name": "package_id", "schema": {"title": "Package Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "500": {"description": "Internal Server Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Get a short-lived presigned download URL for an export package.\n\nResponse shape (200):\n\n- ``download_url``: presigned URL for the ZIP.\n- ``signature_url``: presigned URL for the manufacturer's Sigstore\n  bundle (``.sigstore.json``), or ``null`` while the ZIP is unsigned.\n\nThe response carries ``Cache-Control: no-store`` and\n``Pragma: no-cache`` so intermediate caches (Caddy, corporate\nproxies, browser) don't retain the presigned URL past its server\nlifetime. The URL itself is already short-lived (see\n``_PRESIGNED_URL_EXPIRY_SECONDS`` in export_service) but the\ncache-control header stops it from being replayed from a stale\ncache entry after expiry. The headers apply to error responses too\n\u2014 a 404 or 403 can leak the existence of a package id / assessment\nscope via a shared cache otherwise.", "tags": ["Compliance"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/compliance/cra/{assessment_id}/export/{package_id}/signature": {"post": {"operationId": "sbomify_apps_compliance_apis_sign_export", "summary": "Sign Export", "parameters": [{"in": "path", "name": "assessment_id", "schema": {"title": "Assessment Id", "type": "string"}, "required": true}, {"in": "path", "name": "package_id", "schema": {"title": "Package Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ExportSignatureSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "502": {"description": "Bad Gateway", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Attach the manufacturer's keyless Sigstore signature to an export package.\n\nSign the ZIP with ``cosign sign-blob <zip> --bundle <zip>.sigstore.json``\nand send that file as the multipart ``bundle`` part, with the certificate\n``identity`` and OIDC ``issuer`` it was signed under as form fields.\nsbomify verifies it as ``cosign verify-blob`` would and keeps the file\nbeside the ZIP exactly as sent. A package takes one signature.", "tags": ["Compliance"], "deprecated": true, "requestBody": {"content": {"multipart/form-data": {"schema": {"title": "MultiPartBodyParams", "type": "object", "properties": {"identity": {"maxLength": 512, "minLength": 1, "title": "Identity", "type": "string"}, "issuer": {"maxLength": 255, "minLength": 1, "title": "Issuer", "type": "string"}, "bundle": {"format": "binary", "title": "Bundle", "type": "string"}}, "required": ["identity", "issuer", "bundle"]}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/compliance/cra/{assessment_id}/staleness": {"get": {"operationId": "sbomify_apps_compliance_apis_check_staleness", "summary": "Check Staleness", "parameters": [{"in": "path", "name": "assessment_id", "schema": {"title": "Assessment Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/StalenessSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Check which documents/steps are stale.", "tags": ["Compliance"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/compliance/cra/{assessment_id}/oscal-export": {"get": {"operationId": "sbomify_apps_compliance_apis_export_oscal_json", "summary": "Export Oscal Json", "parameters": [{"in": "path", "name": "assessment_id", "schema": {"title": "Assessment Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Export OSCAL Assessment Results as JSON.", "tags": ["Compliance"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/compliance/cra/{assessment_id}/refresh": {"post": {"operationId": "sbomify_apps_compliance_apis_refresh_stale", "summary": "Refresh Stale", "parameters": [{"in": "path", "name": "assessment_id", "schema": {"title": "Assessment Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "502": {"description": "Bad Gateway", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Regenerate stale documents.", "tags": ["Compliance"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/compliance/cra-reports": {"get": {"operationId": "sbomify_apps_compliance_apis_list_cra_reports", "summary": "List Cra Reports", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/CRAReportSchema"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Every CRA Article 14 report in the workspace, soonest deadline first.", "tags": ["Compliance"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "post": {"operationId": "sbomify_apps_compliance_apis_create_cra_report", "summary": "Create Cra Report", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CRAReportSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Start a report for an actively exploited vulnerability (from an advisory) or a severe incident.", "tags": ["Compliance"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CRAReportCreateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/compliance/cra-reports/{report_id}": {"get": {"operationId": "sbomify_apps_compliance_apis_get_cra_report", "summary": "Get Cra Report", "parameters": [{"in": "path", "name": "report_id", "schema": {"title": "Report Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CRAReportSchema"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Compliance"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "patch": {"operationId": "sbomify_apps_compliance_apis_update_cra_report", "summary": "Update Cra Report", "parameters": [{"in": "path", "name": "report_id", "schema": {"title": "Report Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CRAReportSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Compliance"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CRAReportUpdateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "delete": {"operationId": "sbomify_apps_compliance_apis_delete_cra_report", "summary": "Delete Cra Report", "parameters": [{"in": "path", "name": "report_id", "schema": {"title": "Report Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Compliance"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/compliance/cra-reports/{report_id}/filings": {"post": {"operationId": "sbomify_apps_compliance_apis_record_cra_filing", "summary": "Record Cra Filing", "parameters": [{"in": "path", "name": "report_id", "schema": {"title": "Report Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CRAFilingSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Record a notification submitted in ENISA's Single Reporting Platform.", "tags": ["Compliance"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CRAFilingCreateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/compliance/cra-reports/{report_id}/filings/{filing_id}": {"get": {"operationId": "sbomify_apps_compliance_apis_get_cra_filing", "summary": "Get Cra Filing", "parameters": [{"in": "path", "name": "report_id", "schema": {"title": "Report Id", "type": "string"}, "required": true}, {"in": "path", "name": "filing_id", "schema": {"title": "Filing Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CRAFilingDetailSchema"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "One filing with the report as it stood when the filing was recorded.", "tags": ["Compliance"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/compliance/cra-reports/{report_id}/srp": {"get": {"operationId": "sbomify_apps_compliance_apis_get_cra_report_srp", "summary": "Get Cra Report Srp", "parameters": [{"in": "path", "name": "report_id", "schema": {"title": "Report Id", "type": "string"}, "required": true}, {"in": "query", "name": "stage", "schema": {"default": "", "title": "Stage", "type": "string"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SRPLayoutSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "The report laid out field by field as ENISA's portal asks for it.", "tags": ["Compliance"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/controls/catalogs/": {"get": {"operationId": "sbomify_apps_controls_apis_list_catalogs", "summary": "List catalogs for the current workspace", "parameters": [{"in": "query", "name": "include_inactive", "schema": {"default": false, "title": "Include Inactive", "type": "boolean"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/CatalogSchema"}, "title": "Response", "type": "array"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Controls"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/controls/catalogs/activate/": {"post": {"operationId": "sbomify_apps_controls_apis_activate_catalog", "summary": "Activate a built-in catalog", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CatalogSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Controls"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ActivateCatalogSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/controls/catalogs/import-oscal/": {"post": {"operationId": "sbomify_apps_controls_apis_import_oscal", "summary": "Import an OSCAL catalog", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CatalogSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Import an OSCAL catalog JSON. Accepts standard NIST OSCAL format.", "tags": ["Controls"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/controls/catalogs/{catalog_id}/": {"get": {"operationId": "sbomify_apps_controls_apis_get_catalog", "summary": "Get catalog detail", "parameters": [{"in": "path", "name": "catalog_id", "schema": {"title": "Catalog Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CatalogDetailSchema"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Controls"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "patch": {"operationId": "sbomify_apps_controls_apis_update_catalog", "summary": "Update catalog (toggle is_active)", "parameters": [{"in": "path", "name": "catalog_id", "schema": {"title": "Catalog Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CatalogSchema"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Controls"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CatalogPatchSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "delete": {"operationId": "sbomify_apps_controls_apis_delete_catalog_endpoint", "summary": "Delete a catalog and all its controls/statuses", "parameters": [{"in": "path", "name": "catalog_id", "schema": {"title": "Catalog Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Controls"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/controls/catalogs/{catalog_id}/export/csv": {"get": {"operationId": "sbomify_apps_controls_apis_export_csv", "summary": "Export controls as CSV", "parameters": [{"in": "path", "name": "catalog_id", "schema": {"title": "Catalog Id", "type": "string"}, "required": true}, {"in": "query", "name": "product_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Product Id"}, "required": false}], "responses": {"200": {"description": "The CSV file", "content": {"text/csv": {"schema": {"type": "string"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Controls"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/controls/catalogs/{catalog_id}/export/summary-csv": {"get": {"operationId": "sbomify_apps_controls_apis_export_summary_csv", "summary": "Export controls summary as CSV", "parameters": [{"in": "path", "name": "catalog_id", "schema": {"title": "Catalog Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "The CSV file", "content": {"text/csv": {"schema": {"type": "string"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Controls"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/controls/catalogs/{catalog_id}/controls/": {"get": {"operationId": "sbomify_apps_controls_apis_list_controls", "summary": "List controls with statuses for a catalog", "parameters": [{"in": "path", "name": "catalog_id", "schema": {"title": "Catalog Id", "type": "string"}, "required": true}, {"in": "query", "name": "product_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Product Id"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/ControlWithStatusSchema"}, "title": "Response", "type": "array"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Controls"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/controls/controls/{control_id}/status/": {"put": {"operationId": "sbomify_apps_controls_apis_upsert_control_status", "summary": "Upsert a control status", "parameters": [{"in": "path", "name": "control_id", "schema": {"title": "Control Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ControlStatusSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Controls"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/StatusUpdateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/controls/status/bulk/": {"post": {"operationId": "sbomify_apps_controls_apis_bulk_update", "summary": "Bulk update control statuses (atomic)", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BulkResultSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Controls"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/BulkStatusUpdateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/controls/controls/{control_id}/mappings/": {"get": {"operationId": "sbomify_apps_controls_apis_list_control_mappings", "summary": "Get all mappings for a control (both directions)", "parameters": [{"in": "path", "name": "control_id", "schema": {"title": "Control Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/ControlMappingSchema"}, "title": "Response", "type": "array"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Controls"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/controls/mappings/": {"post": {"operationId": "sbomify_apps_controls_apis_create_control_mapping", "summary": "Create a control mapping (admin only)", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ControlMappingSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Controls"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateMappingSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/controls/mappings/bulk/": {"post": {"operationId": "sbomify_apps_controls_apis_bulk_import_mappings", "summary": "Bulk import control mappings (admin only)", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BulkResultSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Controls"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/BulkMappingSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/controls/controls/{control_id}/evidence/": {"get": {"operationId": "sbomify_apps_controls_apis_list_evidence", "summary": "List evidence for a control", "parameters": [{"in": "path", "name": "control_id", "schema": {"title": "Control Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/ControlEvidenceSchema"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Controls"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "post": {"operationId": "sbomify_apps_controls_apis_add_evidence", "summary": "Add evidence to a control", "parameters": [{"in": "path", "name": "control_id", "schema": {"title": "Control Id", "type": "string"}, "required": true}], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ControlEvidenceSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Controls"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateEvidenceSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/controls/evidence/{evidence_id}/": {"delete": {"operationId": "sbomify_apps_controls_apis_delete_evidence", "summary": "Delete evidence", "parameters": [{"in": "path", "name": "evidence_id", "schema": {"title": "Evidence Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Controls"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/controls/automation/sync/": {"post": {"operationId": "sbomify_apps_controls_apis_sync_automation", "summary": "Sync control statuses from latest plugin assessments (admin only)", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AutomationSyncResultSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Controls"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/controls/automation/mappings/": {"get": {"operationId": "sbomify_apps_controls_apis_list_automation_mappings", "summary": "Get plugin-to-control automation mappings", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AutomationMappingSchema"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Controls"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/controls/public/{workspace_key}/": {"get": {"operationId": "sbomify_apps_controls_apis_public_controls_summary", "summary": "Public controls compliance summary for a workspace", "parameters": [{"in": "path", "name": "workspace_key", "schema": {"title": "Workspace Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PublicControlsSummarySchema"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Controls"], "deprecated": true}}, "/api/v1/controls/public/{workspace_key}/{product_id}/": {"get": {"operationId": "sbomify_apps_controls_apis_public_product_controls_summary", "summary": "Public controls compliance summary for a product", "parameters": [{"in": "path", "name": "workspace_key", "schema": {"title": "Workspace Key", "type": "string"}, "required": true}, {"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PublicControlsSummarySchema"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Controls"], "deprecated": true}}, "/api/v1/advisories/": {"get": {"operationId": "sbomify_apps_security_advisories_apis_list_advisories", "summary": "List advisories in the current workspace", "parameters": [{"in": "query", "name": "search", "schema": {"default": "", "title": "Search", "type": "string"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/AdvisorySchema"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Security Advisories"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "post": {"operationId": "sbomify_apps_security_advisories_apis_create_advisory", "summary": "Create an advisory", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AdvisoryDetailSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Security Advisories"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateAdvisorySchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/advisories/proposals": {"get": {"operationId": "sbomify_apps_security_advisories_apis_list_sent_proposals", "summary": "List the changes you proposed, and what was decided", "parameters": [{"in": "query", "name": "status", "schema": {"default": "", "title": "Status", "type": "string"}, "required": false}, {"in": "query", "name": "since", "schema": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Since"}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/SentAdvisoryProposalSchema"}, "title": "Response", "type": "array"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Every change the calling token proposed, across the workspace's advisories, newest decision first. Called with a session, the signed-in person's own. This is the feedback channel: a rejection carries rejection_reason, decision_note and next_step. status narrows to pending, approved, rejected or superseded; since (ISO 8601) to what was decided, or sent, after it.", "tags": ["Security Advisories"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/advisories/{advisory_id}": {"get": {"operationId": "sbomify_apps_security_advisories_apis_get_advisory", "summary": "Get one advisory", "parameters": [{"in": "path", "name": "advisory_id", "schema": {"title": "Advisory Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AdvisoryDetailSchema"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Security Advisories"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "patch": {"operationId": "sbomify_apps_security_advisories_apis_update_advisory", "summary": "Update an advisory's own fields", "parameters": [{"in": "path", "name": "advisory_id", "schema": {"title": "Advisory Id", "type": "string"}, "required": true}], "responses": {"202": {"description": "Accepted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AdvisoryProposalSchema"}}}}, "200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AdvisoryDetailSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Fields left out of the body keep their stored value. Send cvss_score as null to clear the CVSS entry. From an AI agent token, a write to a published or withdrawn advisory is not applied: it is held for a person to approve and answers 202 with the proposed change. A draft is written at once.", "tags": ["Security Advisories"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateAdvisorySchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "delete": {"operationId": "sbomify_apps_security_advisories_apis_delete_advisory", "summary": "Delete an advisory", "parameters": [{"in": "path", "name": "advisory_id", "schema": {"title": "Advisory Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Deletes the advisory and everything hanging off it: vulnerabilities, product statuses and the timeline. Nothing survives to say it existed, so a published advisory is usually better withdrawn, which keeps its tracking id resolvable and records why. An advisory with a filed CRA report is kept, with a 409, because the report is evidence.", "tags": ["Security Advisories"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/advisories/{advisory_id}/statuses/{status_id}": {"patch": {"operationId": "sbomify_apps_security_advisories_apis_update_product_status", "summary": "Update one product status on an advisory", "parameters": [{"in": "path", "name": "advisory_id", "schema": {"title": "Advisory Id", "type": "string"}, "required": true}, {"in": "path", "name": "status_id", "schema": {"title": "Status Id", "type": "string"}, "required": true}], "responses": {"202": {"description": "Accepted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AdvisoryProposalSchema"}}}}, "200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AdvisoryDetailSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Only the fields sent are written, and each change lands on the advisory's timeline. A resolved advisory refuses moving a product back to in_triage or exploitable, a published one refuses an edit that would fail the rules it was published under, and a withdrawn one is final. From an AI agent token, a write to a published or withdrawn advisory is not applied: it is held for a person to approve and answers 202 with the proposed change. A draft is written at once.", "tags": ["Security Advisories"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProductStatusUpdateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/advisories/{advisory_id}/products/{product_id}/status": {"patch": {"operationId": "sbomify_apps_security_advisories_apis_update_product_statuses", "summary": "Update a product's status on an advisory", "parameters": [{"in": "path", "name": "advisory_id", "schema": {"title": "Advisory Id", "type": "string"}, "required": true}, {"in": "path", "name": "product_id", "schema": {"title": "Product Id", "type": "string"}, "required": true}, {"in": "query", "name": "vulnerability_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Vulnerability Id"}, "required": false}], "responses": {"202": {"description": "Accepted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AdvisoryProposalSchema"}}}}, "200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AdvisoryDetailSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "The same edit, applied to the product's row for every vulnerability on the advisory, or only to vulnerability_id's. product_id is the sbomify product. Only the fields sent are written, and each change lands on the advisory's timeline. A resolved advisory refuses moving a product back to in_triage or exploitable, a published one refuses an edit that would fail the rules it was published under, and a withdrawn one is final. From an AI agent token, a write to a published or withdrawn advisory is not applied: it is held for a person to approve and answers 202 with the proposed change. A draft is written at once.", "tags": ["Security Advisories"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProductStatusUpdateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/advisories/{advisory_id}/products": {"post": {"operationId": "sbomify_apps_security_advisories_apis_add_advisory_product", "summary": "Add a product, or affected releases, to an advisory", "parameters": [{"in": "path", "name": "advisory_id", "schema": {"title": "Advisory Id", "type": "string"}, "required": true}], "responses": {"202": {"description": "Accepted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AdvisoryProposalSchema"}}}}, "200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AdvisoryDetailSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "A product already on the advisory gains only the releases it does not list yet. A new product starts under investigation unless a status is sent, which a resolved advisory requires.", "tags": ["Security Advisories"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AddAdvisoryProductSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/advisories/{advisory_id}/updates": {"post": {"operationId": "sbomify_apps_security_advisories_apis_post_advisory_update", "summary": "Post a timeline update or move the remediation status", "parameters": [{"in": "path", "name": "advisory_id", "schema": {"title": "Advisory Id", "type": "string"}, "required": true}], "responses": {"202": {"description": "Accepted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AdvisoryProposalSchema"}}}}, "200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AdvisoryDetailSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "kind is 'update' for a note, or a remediation status to move to, with the note as commentary. From an AI agent token, a write to a published or withdrawn advisory is not applied: it is held for a person to approve and answers 202 with the proposed change. A draft is written at once.", "tags": ["Security Advisories"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/AdvisoryUpdateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/advisories/{advisory_id}/updates/{event_id}": {"patch": {"operationId": "sbomify_apps_security_advisories_apis_edit_advisory_update", "summary": "Edit the text of a timeline update", "parameters": [{"in": "path", "name": "advisory_id", "schema": {"title": "Advisory Id", "type": "string"}, "required": true}, {"in": "path", "name": "event_id", "schema": {"title": "Event Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AdvisoryDetailSchema"}}}}, "202": {"description": "Accepted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AdvisoryProposalSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "event_id is a timeline entry's id: an update, a comment, or the note on a status change. The original text stays on record and every reader, the trust center included, shows the new one. From an AI agent token, a write to a published or withdrawn advisory is not applied: it is held for a person to approve and answers 202 with the proposed change. A draft is written at once.", "tags": ["Security Advisories"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/EditAdvisoryUpdateSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/advisories/{advisory_id}/proposals": {"get": {"operationId": "sbomify_apps_security_advisories_apis_list_advisory_proposals", "summary": "List the changes waiting for approval on an advisory", "parameters": [{"in": "path", "name": "advisory_id", "schema": {"title": "Advisory Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/AdvisoryProposalSchema"}, "title": "Response", "type": "array"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Every pending change, oldest first, then the most recently decided ones.", "tags": ["Security Advisories"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/advisories/{advisory_id}/proposals/{proposal_id}": {"get": {"operationId": "sbomify_apps_security_advisories_apis_get_advisory_proposal", "summary": "Get one proposed change", "parameters": [{"in": "path", "name": "advisory_id", "schema": {"title": "Advisory Id", "type": "string"}, "required": true}, {"in": "path", "name": "proposal_id", "schema": {"title": "Proposal Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AdvisoryProposalSchema"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "So whoever sent a change can see whether it was approved, and what the reviewer said.", "tags": ["Security Advisories"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/advisories/{advisory_id}/proposals/{proposal_id}/approve": {"post": {"operationId": "sbomify_apps_security_advisories_apis_approve_advisory_proposal", "summary": "Approve a proposed change", "parameters": [{"in": "path", "name": "advisory_id", "schema": {"title": "Advisory Id", "type": "string"}, "required": true}, {"in": "path", "name": "proposal_id", "schema": {"title": "Proposal Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AdvisoryProposalSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "Applies the change through the same write a direct edit uses, so it is refused for the same reasons, and stays pending if it is. note rewords a new or edited update before it is posted.", "tags": ["Security Advisories"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProposalDecisionSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/advisories/{advisory_id}/proposals/{proposal_id}/reject": {"post": {"operationId": "sbomify_apps_security_advisories_apis_reject_advisory_proposal", "summary": "Reject a proposed change", "parameters": [{"in": "path", "name": "advisory_id", "schema": {"title": "Advisory Id", "type": "string"}, "required": true}, {"in": "path", "name": "proposal_id", "schema": {"title": "Proposal Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AdvisoryProposalSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "reason and decision_note are both required: the sender reads them back, with a next step for the reason, so an agent learns what to do differently instead of sending the same change again.", "tags": ["Security Advisories"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProposalDecisionSchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/advisories/{advisory_id}/publish": {"post": {"operationId": "sbomify_apps_security_advisories_apis_publish_advisory", "summary": "Publish an advisory at a visibility", "parameters": [{"in": "path", "name": "advisory_id", "schema": {"title": "Advisory Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AdvisoryDetailSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["Security Advisories"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/PublishAdvisorySchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/advisories/{advisory_id}/withdraw": {"post": {"operationId": "sbomify_apps_security_advisories_apis_withdraw_advisory", "summary": "Withdraw a published advisory", "parameters": [{"in": "path", "name": "advisory_id", "schema": {"title": "Advisory Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AdvisoryDetailSchema"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "The advisory stays listed on the trust center, marked withdrawn and carrying the reason.", "tags": ["Security Advisories"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/WithdrawAdvisorySchema"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/advisories/public/{workspace_key}": {"get": {"operationId": "sbomify_apps_security_advisories_apis_list_public_advisories", "summary": "List a workspace's public advisories", "parameters": [{"in": "path", "name": "workspace_key", "schema": {"title": "Workspace Key", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PublicAdvisoryListSchema"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "What the trust center shows this reader, as JSON. Takes the trust center's own filters: search, severity (repeatable), product (repeatable), from and to (YYYY-MM-DD), sort and page. A bearer token or session identifies the reader, which is what decides whether gated advisories appear.", "tags": ["Security Advisories"], "deprecated": true}}, "/api/v1/advisories/public/{workspace_key}/{advisory_id}": {"get": {"operationId": "sbomify_apps_security_advisories_apis_get_public_advisory", "summary": "Get one public advisory", "parameters": [{"in": "path", "name": "workspace_key", "schema": {"title": "Workspace Key", "type": "string"}, "required": true}, {"in": "path", "name": "advisory_id", "schema": {"title": "Advisory Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PublicAdvisoryDetailSchema"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "By tracking id or record id. An advisory this reader may not see is a 404, not a 403.", "tags": ["Security Advisories"], "deprecated": true}}, "/api/v1/advisories/public/{workspace_key}/{advisory_id}/csaf": {"get": {"operationId": "sbomify_apps_security_advisories_apis_get_public_advisory_csaf", "summary": "Get one public advisory as a CSAF 2.0 document", "parameters": [{"in": "path", "name": "workspace_key", "schema": {"title": "Workspace Key", "type": "string"}, "required": true}, {"in": "path", "name": "advisory_id", "schema": {"title": "Advisory Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"additionalProperties": true, "title": "Response", "type": "object"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "description": "The same advisory, filtered for the same reader, in the format CSAF-aware tooling expects.", "tags": ["Security Advisories"], "deprecated": true}}, "/api/v1/internal/domains": {"get": {"operationId": "sbomify_apps_teams_apis_check_domain_allowed", "summary": "Check Domain Allowed", "parameters": [{"in": "query", "name": "domain", "schema": {"title": "Domain", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}, "404": {"description": "Not Found"}}, "description": "Check if a domain is allowed for on-demand TLS certificate provisioning.\n\nThis endpoint is used by Caddy's on-demand TLS feature. Caddy will call this\nendpoint with ?domain=example.com before issuing a certificate.\n\nExpected behavior (per Caddy docs):\n- Return 200 OK if the domain is recognized and should get a certificate\n- Return 404 (or any non-200) if the domain should NOT get a certificate\n\nAllowed domains:\n- Main application domain (APP_BASE_URL)\n- Trust center subdomains ({slug}.TRUST_CENTER_DOMAIN) for public teams\n- Custom domains from teams with Business or Enterprise plans\n\nSecurity: This endpoint MUST be blocked from external access at the proxy level.\nSee Caddyfile configuration for access restrictions.\n\nArgs:\n    domain: The domain name to check (provided as query parameter by Caddy)\n\nReturns:\n    200 OK if domain is allowed, 404 if not allowed", "tags": ["Internal"], "deprecated": true}}, "/api/v1/auth/oidc/github/exchange": {"post": {"operationId": "sbomify_apps_oidc_apis_github_token_exchange", "summary": "Exchange a GitHub Actions OIDC token for a short-lived sbomify token.", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ExchangeResponse"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "401": {"description": "Unauthorized", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "403": {"description": "Forbidden", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "429": {"description": "Too Many Requests", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "503": {"description": "Service Unavailable", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["OIDC Trusted Publishing"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ExchangeRequest"}}}, "required": true}}}, "/api/v1/auth/oidc/github/bindings": {"get": {"operationId": "sbomify_apps_oidc_apis_list_github_bindings", "summary": "List GitHub trusted-publisher bindings for a component.", "parameters": [{"in": "query", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/BindingResponse"}, "title": "Response", "type": "array"}}}}, "401": {"description": "Unauthorized", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["OIDC Trusted Publishing"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}, "post": {"operationId": "sbomify_apps_oidc_apis_create_github_binding", "summary": "Create a GitHub trusted-publisher binding for a component.", "parameters": [], "responses": {"201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BindingResponse"}}}}, "400": {"description": "Bad Request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "401": {"description": "Unauthorized", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "409": {"description": "Conflict", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["OIDC Trusted Publishing"], "deprecated": true, "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/BindingCreateRequest"}}}, "required": true}, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}, "/api/v1/auth/oidc/github/bindings/{binding_id}": {"delete": {"operationId": "sbomify_apps_oidc_apis_delete_github_binding", "summary": "Delete a GitHub trusted-publisher binding.", "parameters": [{"in": "path", "name": "binding_id", "schema": {"title": "Binding Id", "type": "string"}, "required": true}, {"in": "query", "name": "component_id", "schema": {"title": "Component Id", "type": "string"}, "required": true}], "responses": {"204": {"description": "No Content"}, "401": {"description": "Unauthorized", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}, "404": {"description": "Not Found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorResponse"}}}}}, "tags": ["OIDC Trusted Publishing"], "deprecated": true, "security": [{"PersonalAccessTokenAuth": []}, {"SessionAuth": []}]}}}, "components": {"schemas": {"SBOMUploadRequest": {"properties": {"id": {"title": "Id", "type": "string"}}, "required": ["id"], "title": "SBOMUploadRequest", "type": "object"}, "ErrorCode": {"description": "Structured error codes for API responses", "enum": ["UNAUTHORIZED", "FORBIDDEN", "NO_CURRENT_TEAM", "VALIDATION_ERROR", "DUPLICATE_NAME", "DUPLICATE_ARTIFACT", "INVALID_DATA", "BAD_REQUEST", "BILLING_LIMIT_EXCEEDED", "NO_BILLING_PLAN", "INVALID_BILLING_PLAN", "NOT_FOUND", "TEAM_NOT_FOUND", "ITEM_NOT_FOUND", "PRODUCT_NOT_FOUND", "COMPONENT_NOT_FOUND", "RELEASE_NOT_FOUND", "COMPONENT_RELEASE_NOT_FOUND", "TEAM_MISMATCH", "RELEASE_MODIFICATION_NOT_ALLOWED", "RELEASE_DELETION_NOT_ALLOWED", "CONFLICT", "TOO_MANY_REQUESTS", "INTERNAL_ERROR", "SERVICE_UNAVAILABLE", "UNKNOWN_ERROR"], "title": "ErrorCode", "type": "string"}, "ErrorResponse": {"properties": {"detail": {"title": "Detail", "type": "string"}, "error_code": {"anyOf": [{"$ref": "#/components/schemas/ErrorCode"}, {"type": "null"}]}, "errors": {"anyOf": [{"additionalProperties": {"items": {"type": "string"}, "type": "array"}, "type": "object"}, {"type": "null"}], "title": "Errors"}}, "required": ["detail"], "title": "ErrorResponse", "type": "object"}, "CycloneDXSupportedVersion": {"description": "Supported CycloneDX specification versions.\n\nTo add support for a new CycloneDX version (e.g., 2.0):\n1. Add the version here: v2_0 = \"2.0\"\n2. Import the schema module at the top of this file: from sbomify.apps.sboms.sbom_format_schemas import cdx20\n3. Add it to the module_map in get_cyclonedx_module() below\n4. That's it! The API will automatically support the new version.", "enum": ["1.3", "1.4", "1.5", "1.6", "1.7"], "title": "CycloneDXSupportedVersion", "type": "string"}, "AlgorithmFamiliesEnum": {"enum": ["3DES", "3GPP-XOR", "A5/1", "A5/2", "AES", "ARIA", "Ascon", "BLAKE2", "BLAKE3", "BLS", "Blowfish", "CAMELLIA", "CAST5", "CAST6", "CMAC", "CMEA", "ChaCha", "ChaCha20", "DES", "DSA", "ECDH", "ECDSA", "ECIES", "EdDSA", "ElGamal", "FFDH", "Fortuna", "GOST", "HC", "HKDF", "HMAC", "IDEA", "IKE-PRF", "KMAC", "LMS", "MD2", "MD4", "MD5", "MILENAGE", "ML-DSA", "ML-KEM", "MQV", "PBES1", "PBES2", "PBKDF1", "PBKDF2", "PBMAC1", "Poly1305", "RABBIT", "RC2", "RC4", "RC5", "RC6", "RIPEMD", "RSAES-OAEP", "RSAES-PKCS1", "RSASSA-PKCS1", "RSASSA-PSS", "SEED", "SHA-1", "SHA-2", "SHA-3", "SLH-DSA", "SNOW3G", "SP800-108", "Salsa20", "Serpent", "SipHash", "Skipjack", "TUAK", "Twofish", "Whirlpool", "X3DH", "XMSS", "Yarrow", "ZUC", "bcrypt"], "title": "AlgorithmFamiliesEnum", "type": "string"}, "AssertionType": {"enum": ["ownership", "license", "third-party-claim", "standards-inclusion", "prior-art", "exclusive-rights", "non-assertion", "research-or-evaluation"], "title": "AssertionType", "type": "string"}, "BomLinkDocumentType": {"description": "Descriptor for another BOM document. See https://cyclonedx.org/capabilities/bomlink/", "pattern": "^urn:cdx:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/[1-9][0-9]*$", "title": "BOM-Link Document", "type": "string"}, "BomLinkElementType": {"description": "Descriptor for an element in a BOM document. See https://cyclonedx.org/capabilities/bomlink/", "pattern": "^urn:cdx:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/[1-9][0-9]*#.+$", "title": "BOM-Link Element", "type": "string"}, "CertificateExtensions": {"additionalProperties": false, "properties": {"commonExtensionName": {"$ref": "#/components/schemas/CommonExtensionName", "description": "The name of the extension.", "title": "name"}, "commonExtensionValue": {"description": "The value of the certificate extension.", "title": "Value", "type": "string"}}, "required": ["commonExtensionName", "commonExtensionValue"], "title": "CertificateExtensions", "type": "object"}, "CertificateExtensions1": {"additionalProperties": false, "properties": {"customExtensionName": {"description": "The name for the custom certificate extension.", "title": "Name", "type": "string"}, "customExtensionValue": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The description of the custom certificate extension.", "title": "Value"}}, "required": ["customExtensionName"], "title": "CertificateExtensions1", "type": "object"}, "CertificateState": {"additionalProperties": false, "properties": {"state": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__State", "description": "A pre-defined state in the certificate lifecycle."}, "reason": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A reason for the certificate being in this state.", "title": "Reason"}}, "required": ["state"], "title": "CertificateState", "type": "object"}, "CertificateState1": {"additionalProperties": false, "properties": {"name": {"description": "The name of the certificate lifecycle state.", "title": "State", "type": "string"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The description of the certificate lifecycle state.", "title": "Description"}, "reason": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A reason for the certificate being in this state.", "title": "Reason"}}, "required": ["name"], "title": "CertificateState1", "type": "object"}, "CertificationLevelEnum": {"enum": ["none", "fips140-1-l1", "fips140-1-l2", "fips140-1-l3", "fips140-1-l4", "fips140-2-l1", "fips140-2-l2", "fips140-2-l3", "fips140-2-l4", "fips140-3-l1", "fips140-3-l2", "fips140-3-l3", "fips140-3-l4", "cc-eal1", "cc-eal1+", "cc-eal2", "cc-eal2+", "cc-eal3", "cc-eal3+", "cc-eal4", "cc-eal4+", "cc-eal5", "cc-eal5+", "cc-eal6", "cc-eal6+", "cc-eal7", "cc-eal7+", "other", "unknown"], "title": "CertificationLevelEnum", "type": "string"}, "CommonExtensionName": {"enum": ["basicConstraints", "keyUsage", "extendedKeyUsage", "subjectAlternativeName", "authorityKeyIdentifier", "subjectKeyIdentifier", "authorityInformationAccess", "certificatePolicies", "crlDistributionPoints", "signedCertificateTimestamp"], "title": "CommonExtensionName", "type": "string"}, "Contents": {"additionalProperties": false, "description": "The contents or references to the contents of the data being described.", "properties": {"attachment": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Attachment"}, {"type": "null"}], "description": "An optional way to include textual or encoded data.", "title": "Data Attachment"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to where the data can be retrieved.", "title": "Data URL"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Property"}, "type": "array"}, {"type": "null"}], "title": "Configuration Properties", "description": "Provides the ability to document name-value parameters used for configuration."}}, "title": "Contents", "type": "object"}, "CryptoFunction": {"enum": ["generate", "keygen", "encrypt", "decrypt", "digest", "tag", "keyderive", "sign", "verify", "encapsulate", "decapsulate", "other", "unknown"], "title": "CryptoFunction", "type": "string"}, "DataClassification": {"description": "Data classification tags data according to its type, sensitivity, and value if altered, stolen, or destroyed.", "title": "Data Classification", "type": "string"}, "DistributionConstraints": {"additionalProperties": false, "properties": {"tlp": {"anyOf": [{"$ref": "#/components/schemas/TlpClassification"}, {"type": "null"}], "default": "CLEAR", "description": "The Traffic Light Protocol (TLP) classification that controls the sharing and distribution of the data that the BOM describes."}}, "title": "DistributionConstraints", "type": "object"}, "EllipticCurvesEnum": {"enum": ["anssi/FRP256v1", "bls/BLS12-377", "bls/BLS12-381", "bls/BLS12-446", "bls/BLS12-455", "bls/BLS12-638", "bls/BLS24-477", "bls/Bandersnatch", "bn/bn158", "bn/bn190", "bn/bn222", "bn/bn254", "bn/bn286", "bn/bn318", "bn/bn350", "bn/bn382", "bn/bn414", "bn/bn446", "bn/bn478", "bn/bn510", "bn/bn542", "bn/bn574", "bn/bn606", "bn/bn638", "brainpool/brainpoolP160r1", "brainpool/brainpoolP160t1", "brainpool/brainpoolP192r1", "brainpool/brainpoolP192t1", "brainpool/brainpoolP224r1", "brainpool/brainpoolP224t1", "brainpool/brainpoolP256r1", "brainpool/brainpoolP256t1", "brainpool/brainpoolP320r1", "brainpool/brainpoolP320t1", "brainpool/brainpoolP384r1", "brainpool/brainpoolP384t1", "brainpool/brainpoolP512r1", "brainpool/brainpoolP512t1", "gost/gost256", "gost/gost512", "gost/id-GostR3410-2001-CryptoPro-A-ParamSet", "gost/id-GostR3410-2001-CryptoPro-B-ParamSet", "gost/id-GostR3410-2001-CryptoPro-C-ParamSet", "gost/id-tc26-gost-3410-12-512-paramSetA", "gost/id-tc26-gost-3410-12-512-paramSetB", "gost/id-tc26-gost-3410-2012-256-paramSetA", "gost/id-tc26-gost-3410-2012-512-paramSetC", "mnt/mnt1", "mnt/mnt2/1", "mnt/mnt2/2", "mnt/mnt3/1", "mnt/mnt3/2", "mnt/mnt3/3", "mnt/mnt4", "mnt/mnt5/1", "mnt/mnt5/2", "mnt/mnt5/3", "nist/B-163", "nist/B-233", "nist/B-283", "nist/B-409", "nist/B-571", "nist/K-163", "nist/K-233", "nist/K-283", "nist/K-409", "nist/K-571", "nist/P-192", "nist/P-224", "nist/P-256", "nist/P-384", "nist/P-521", "nums/ed-254-mont", "nums/ed-255-mers", "nums/ed-256-mont", "nums/ed-382-mont", "nums/ed-383-mers", "nums/ed-384-mont", "nums/ed-510-mont", "nums/ed-511-mers", "nums/ed-512-mont", "nums/numsp256d1", "nums/numsp256t1", "nums/numsp384d1", "nums/numsp384t1", "nums/numsp512d1", "nums/numsp512t1", "nums/w-254-mont", "nums/w-255-mers", "nums/w-256-mont", "nums/w-382-mont", "nums/w-383-mers", "nums/w-384-mont", "nums/w-510-mont", "nums/w-511-mers", "nums/w-512-mont", "oakley/192-bit Random ECP Group", "oakley/224-bit Random ECP Group", "oakley/256-bit Random ECP Group", "oakley/384-bit Random ECP Group", "oakley/521-bit Random ECP Group", "oakley/Oakley Group 3", "oakley/Oakley Group 4", "oscaa/SM2", "other/BADA55-R-256", "other/BADA55-VPR-224", "other/BADA55-VPR2-224", "other/BADA55-VR-224", "other/BADA55-VR-256", "other/BADA55-VR-384", "other/Curve1174", "other/Curve22103", "other/Curve25519", "other/Curve383187", "other/Curve41417", "other/Curve4417", "other/Curve448", "other/Curve67254", "other/E-222", "other/E-382", "other/E-521", "other/Ed25519", "other/Ed448", "other/Ed448-Goldilocks", "other/FourQ", "other/Fp224BN", "other/Fp254BNa", "other/Fp254BNb", "other/Fp254n2BNa", "other/Fp256BN", "other/Fp384BN", "other/Fp512BN", "other/JubJub", "other/M-221", "other/M-383", "other/M-511", "other/MDC201601", "other/Pallas", "other/Tom-256", "other/Tom-384", "other/Tom-521", "other/Tweedledee", "other/Tweedledum", "other/Vesta", "other/ssc-160", "other/ssc-192", "other/ssc-224", "other/ssc-256", "other/ssc-288", "other/ssc-320", "other/ssc-384", "other/ssc-512", "secg/secp112r1", "secg/secp112r2", "secg/secp128r1", "secg/secp128r2", "secg/secp160k1", "secg/secp160r1", "secg/secp160r2", "secg/secp192k1", "secg/secp192r1", "secg/secp224k1", "secg/secp224r1", "secg/secp256k1", "secg/secp256r1", "secg/secp384r1", "secg/secp521r1", "secg/sect113r1", "secg/sect113r2", "secg/sect131r1", "secg/sect131r2", "secg/sect163k1", "secg/sect163r1", "secg/sect163r2", "secg/sect193r1", "secg/sect193r2", "secg/sect233k1", "secg/sect233r1", "secg/sect239k1", "secg/sect283k1", "secg/sect283r1", "secg/sect409k1", "secg/sect409r1", "secg/sect571k1", "secg/sect571r1", "wtls/wap-wsg-idm-ecid-wtls1", "wtls/wap-wsg-idm-ecid-wtls10", "wtls/wap-wsg-idm-ecid-wtls11", "wtls/wap-wsg-idm-ecid-wtls12", "wtls/wap-wsg-idm-ecid-wtls3", "wtls/wap-wsg-idm-ecid-wtls4", "wtls/wap-wsg-idm-ecid-wtls5", "wtls/wap-wsg-idm-ecid-wtls6", "wtls/wap-wsg-idm-ecid-wtls7", "wtls/wap-wsg-idm-ecid-wtls8", "wtls/wap-wsg-idm-ecid-wtls9", "x962/c2onb191v4", "x962/c2onb191v5", "x962/c2onb239v4", "x962/c2onb239v5", "x962/c2pnb163v1", "x962/c2pnb163v2", "x962/c2pnb163v3", "x962/c2pnb176w1", "x962/c2pnb208w1", "x962/c2pnb272w1", "x962/c2pnb304w1", "x962/c2pnb368w1", "x962/c2tnb191v1", "x962/c2tnb191v2", "x962/c2tnb191v3", "x962/c2tnb239v1", "x962/c2tnb239v2", "x962/c2tnb239v3", "x962/c2tnb359v1", "x962/c2tnb431r1", "x962/prime192v1", "x962/prime192v2", "x962/prime192v3", "x962/prime239v1", "x962/prime239v2", "x962/prime239v3", "x962/prime256v1", "x963/ansip160k1", "x963/ansip160r1", "x963/ansip160r2", "x963/ansip192k1", "x963/ansip224k1", "x963/ansip224r1", "x963/ansip256k1", "x963/ansip384r1", "x963/ansip521r1", "x963/ansit163k1", "x963/ansit163r1", "x963/ansit163r2", "x963/ansit193r1", "x963/ansit193r2", "x963/ansit233k1", "x963/ansit233r1", "x963/ansit239k1", "x963/ansit283k1", "x963/ansit283r1", "x963/ansit409k1", "x963/ansit409r1", "x963/ansit571k1", "x963/ansit571r1"], "title": "EllipticCurvesEnum", "type": "string"}, "ExpressionDetail": {"additionalProperties": false, "properties": {"licenseIdentifier": {"description": "The valid SPDX license identifier. Refer to https://spdx.org/specifications for syntax requirements.\nThis property serves as the primary key, which uniquely identifies each record.", "examples": ["Apache-2.0", "GPL-3.0-only WITH Classpath-exception-2.0", "LicenseRef-my-custom-license"], "title": "License Identifier", "type": "string"}, "bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "An identifier which can be used to reference the license elsewhere in the BOM. Every `bom-ref` must be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "title": "BOM Reference"}, "text": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Attachment"}, {"type": "null"}], "description": "A way to include the textual content of the license.", "title": "License texts"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to the license file. If specified, a 'license' externalReference should also be specified for completeness", "examples": ["https://www.apache.org/licenses/LICENSE-2.0.txt"], "title": "License URL"}}, "required": ["licenseIdentifier"], "title": "ExpressionDetail", "type": "object"}, "Identity": {"additionalProperties": false, "description": "Evidence that substantiates the identity of a component.", "properties": {"field": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__FieldModel", "title": "Field"}, "confidence": {"anyOf": [{"maximum": 1.0, "minimum": 0.0, "type": "number"}, {"type": "null"}], "description": "The overall confidence of the evidence from 0 - 1, where 1 is 100% confidence.", "title": "Confidence"}, "methods": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Method"}, "type": "array"}, {"type": "null"}], "description": "The methods used to extract and/or analyze the evidence.", "title": "Methods"}, "tools": {"anyOf": [{"items": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__RefLinkType"}, {"$ref": "#/components/schemas/BomLinkElementType"}]}, "type": "array"}, {"type": "null"}], "description": "The object in the BOM identified by its bom-ref. This is often a component or service, but may be any object type supporting bom-refs. Tools used for analysis should already be defined in the BOM, either in the metadata/tools, components, or formulation.", "title": "BOM References"}}, "required": ["field"], "title": "Identity", "type": "object"}, "IkeV2Auth": {"additionalProperties": false, "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A name for the authentication method.", "title": "Name"}, "algorithm": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "The bom-ref to algorithm cryptographic asset.", "title": "Algorithm reference"}}, "title": "IkeV2Auth", "type": "object"}, "IkeV2Enc": {"additionalProperties": false, "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A name for the encryption method.", "examples": ["ENCR_AES_GCM_16"], "title": "Name"}, "keyLength": {"anyOf": [{"type": "integer"}, {"type": "null"}], "description": "The key length of the encryption algorithm.", "title": "Encryption algorithm key length"}, "algorithm": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "The bom-ref to algorithm cryptographic asset.", "title": "Algorithm reference"}}, "title": "IkeV2Enc", "type": "object"}, "IkeV2Integ": {"additionalProperties": false, "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A name for the integrity algorithm.", "examples": ["AUTH_HMAC_SHA2_256_128"], "title": "Name"}, "algorithm": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "The bom-ref to algorithm cryptographic asset.", "title": "Algorithm reference"}}, "title": "IkeV2Integ", "type": "object"}, "IkeV2Ke": {"additionalProperties": false, "properties": {"group": {"anyOf": [{"type": "integer"}, {"type": "null"}], "description": "A group identifier for the key exchange algorithm.", "title": "Group Identifier"}, "algorithm": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "The bom-ref to algorithm cryptographic asset.", "title": "Algorithm reference"}}, "title": "IkeV2Ke", "type": "object"}, "IkeV2Prf": {"additionalProperties": false, "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A name for the pseudorandom function.", "examples": ["PRF_HMAC_SHA2_256"], "title": "Name"}, "algorithm": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "The bom-ref to algorithm cryptographic asset.", "title": "Algorithm reference"}}, "title": "IkeV2Prf", "type": "object"}, "LicenseAcknowledgementEnumeration": {"enum": ["declared", "concluded"], "title": "LicenseAcknowledgementEnumeration", "type": "string"}, "LicenseType": {"enum": ["academic", "appliance", "client-access", "concurrent-user", "core-points", "custom-metric", "device", "evaluation", "named-user", "node-locked", "oem", "perpetual", "processor-points", "subscription", "user", "other"], "title": "LicenseType", "type": "string"}, "Licensee": {"additionalProperties": false, "properties": {"organization": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalEntity", "description": "The organization that was granted the license", "title": "Licensee (Organization)"}, "individual": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalContact"}, {"type": "null"}], "description": "The individual, not associated with an organization, that was granted the license", "title": "Licensee (Individual)"}}, "required": ["organization"], "title": "Licensee", "type": "object"}, "Licensee1": {"additionalProperties": false, "properties": {"organization": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalEntity"}, {"type": "null"}], "description": "The organization that was granted the license", "title": "Licensee (Organization)"}, "individual": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalContact", "description": "The individual, not associated with an organization, that was granted the license", "title": "Licensee (Individual)"}}, "required": ["individual"], "title": "Licensee1", "type": "object"}, "Licensing": {"additionalProperties": false, "properties": {"altIds": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "License identifiers that may be used to manage licenses and their lifecycle", "title": "Alternate License Identifiers"}, "licensor": {"anyOf": [{"$ref": "#/components/schemas/Licensor"}, {"$ref": "#/components/schemas/Licensor1"}, {"type": "null"}], "description": "The individual or organization that grants a license to another individual or organization", "title": "Licensor"}, "licensee": {"anyOf": [{"$ref": "#/components/schemas/Licensee"}, {"$ref": "#/components/schemas/Licensee1"}, {"type": "null"}], "description": "The individual or organization for which a license was granted to", "title": "Licensee"}, "purchaser": {"anyOf": [{"$ref": "#/components/schemas/Purchaser"}, {"$ref": "#/components/schemas/Purchaser1"}, {"type": "null"}], "description": "The individual or organization that purchased the license", "title": "Purchaser"}, "purchaseOrder": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The purchase order identifier the purchaser sent to a supplier or vendor to authorize a purchase", "title": "Purchase Order"}, "licenseTypes": {"anyOf": [{"items": {"$ref": "#/components/schemas/LicenseType"}, "type": "array"}, {"type": "null"}], "description": "The type of license(s) that was granted to the licensee.", "title": "License Type"}, "lastRenewal": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The timestamp indicating when the license was last renewed. For new purchases, this is often the purchase or acquisition date. For non-perpetual licenses or subscriptions, this is the timestamp of when the license was last renewed.", "title": "Last Renewal"}, "expiration": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The timestamp indicating when the current license expires (if applicable).", "title": "Expiration"}}, "title": "Licensing", "type": "object"}, "Licensor": {"additionalProperties": false, "properties": {"organization": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalEntity", "description": "The organization that granted the license", "title": "Licensor (Organization)"}, "individual": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalContact"}, {"type": "null"}], "description": "The individual, not associated with an organization, that granted the license", "title": "Licensor (Individual)"}}, "required": ["organization"], "title": "Licensor", "type": "object"}, "Licensor1": {"additionalProperties": false, "properties": {"organization": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalEntity"}, {"type": "null"}], "description": "The organization that granted the license", "title": "Licensor (Organization)"}, "individual": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalContact", "description": "The individual, not associated with an organization, that granted the license", "title": "Licensor (Individual)"}}, "required": ["individual"], "title": "Licensor1", "type": "object"}, "PatentAssertion": {"additionalProperties": false, "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "A reference to the patent or patent family object within the BOM. This must match the `bom-ref` of a `patent` or `patentFamily` object.", "title": "BOM Reference"}, "assertionType": {"$ref": "#/components/schemas/AssertionType", "description": "The type of assertion being made about the patent or patent family. Examples include ownership, licensing, and standards inclusion.", "title": "Assertion Type"}, "patentRefs": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, "type": "array"}, {"type": "null"}], "description": "A list of BOM references (`bom-ref`) linking to patents or patent families associated with this assertion.", "title": "Patent References"}, "asserter": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalEntity"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalContact"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefLinkType"}], "title": "Asserter"}, "notes": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Additional notes or clarifications regarding the assertion, if necessary. For example, geographical restrictions, duration, or limitations of a license.", "title": "Notes"}}, "required": ["assertionType", "asserter"], "title": "PatentAssertion", "type": "object"}, "PatentAssertions": {"description": "A list of assertions made regarding patents associated with this component or service. Assertions distinguish between ownership, licensing, and other relevant interactions with patents.", "items": {"$ref": "#/components/schemas/PatentAssertion"}, "title": "Patent Assertions", "type": "array"}, "Purchaser": {"additionalProperties": false, "properties": {"organization": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalEntity", "description": "The organization that purchased the license", "title": "Purchaser (Organization)"}, "individual": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalContact"}, {"type": "null"}], "description": "The individual, not associated with an organization, that purchased the license", "title": "Purchaser (Individual)"}}, "required": ["organization"], "title": "Purchaser", "type": "object"}, "Purchaser1": {"additionalProperties": false, "properties": {"organization": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalEntity"}, {"type": "null"}], "description": "The organization that purchased the license", "title": "Purchaser (Organization)"}, "individual": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalContact", "description": "The individual, not associated with an organization, that purchased the license", "title": "Purchaser (Individual)"}}, "required": ["individual"], "title": "Purchaser1", "type": "object"}, "RelatedCryptographicAsset": {"additionalProperties": false, "properties": {"type": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Specifies the mechanism by which the cryptographic asset is secured by.", "examples": ["publicKey", "privateKey", "algorithm"], "title": "Type"}, "ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "The bom-ref to cryptographic asset.", "title": "Reference to cryptographic asset"}}, "title": "RelatedCryptographicAsset", "type": "object"}, "RelatedCryptographicAssets": {"description": "A list of cryptographic assets related to this component.", "items": {"$ref": "#/components/schemas/RelatedCryptographicAsset"}, "title": "Related Cryptographic Assets", "type": "array"}, "Schema": {"enum": ["0BSD", "3D-Slicer-1.0", "AAL", "Abstyles", "AdaCore-doc", "Adobe-2006", "Adobe-Display-PostScript", "Adobe-Glyph", "Adobe-Utopia", "ADSL", "AFL-1.1", "AFL-1.2", "AFL-2.0", "AFL-2.1", "AFL-3.0", "Afmparse", "AGPL-1.0", "AGPL-1.0-only", "AGPL-1.0-or-later", "AGPL-3.0", "AGPL-3.0-only", "AGPL-3.0-or-later", "Aladdin", "AMD-newlib", "AMDPLPA", "AML", "AML-glslang", "AMPAS", "ANTLR-PD", "ANTLR-PD-fallback", "any-OSI", "Apache-1.0", "Apache-1.1", "Apache-2.0", "APAFML", "APL-1.0", "App-s2p", "APSL-1.0", "APSL-1.1", "APSL-1.2", "APSL-2.0", "Arphic-1999", "Artistic-1.0", "Artistic-1.0-cl8", "Artistic-1.0-Perl", "Artistic-2.0", "ASWF-Digital-Assets-1.0", "ASWF-Digital-Assets-1.1", "Baekmuk", "Bahyph", "Barr", "bcrypt-Solar-Designer", "Beerware", "Bitstream-Charter", "Bitstream-Vera", "BitTorrent-1.0", "BitTorrent-1.1", "blessing", "BlueOak-1.0.0", "Boehm-GC", "Borceux", "Brian-Gladman-2-Clause", "Brian-Gladman-3-Clause", "BSD-1-Clause", "BSD-2-Clause", "BSD-2-Clause-Darwin", "BSD-2-Clause-first-lines", "BSD-2-Clause-FreeBSD", "BSD-2-Clause-NetBSD", "BSD-2-Clause-Patent", "BSD-2-Clause-Views", "BSD-3-Clause", "BSD-3-Clause-acpica", "BSD-3-Clause-Attribution", "BSD-3-Clause-Clear", "BSD-3-Clause-flex", "BSD-3-Clause-HP", "BSD-3-Clause-LBNL", "BSD-3-Clause-Modification", "BSD-3-Clause-No-Military-License", "BSD-3-Clause-No-Nuclear-License", "BSD-3-Clause-No-Nuclear-License-2014", "BSD-3-Clause-No-Nuclear-Warranty", "BSD-3-Clause-Open-MPI", "BSD-3-Clause-Sun", "BSD-4-Clause", "BSD-4-Clause-Shortened", "BSD-4-Clause-UC", "BSD-4.3RENO", "BSD-4.3TAHOE", "BSD-Advertising-Acknowledgement", "BSD-Attribution-HPND-disclaimer", "BSD-Inferno-Nettverk", "BSD-Protection", "BSD-Source-beginning-file", "BSD-Source-Code", "BSD-Systemics", "BSD-Systemics-W3Works", "BSL-1.0", "BUSL-1.1", "bzip2-1.0.5", "bzip2-1.0.6", "C-UDA-1.0", "CAL-1.0", "CAL-1.0-Combined-Work-Exception", "Caldera", "Caldera-no-preamble", "Catharon", "CATOSL-1.1", "CC-BY-1.0", "CC-BY-2.0", "CC-BY-2.5", "CC-BY-2.5-AU", "CC-BY-3.0", "CC-BY-3.0-AT", "CC-BY-3.0-AU", "CC-BY-3.0-DE", "CC-BY-3.0-IGO", "CC-BY-3.0-NL", "CC-BY-3.0-US", "CC-BY-4.0", "CC-BY-NC-1.0", "CC-BY-NC-2.0", "CC-BY-NC-2.5", "CC-BY-NC-3.0", "CC-BY-NC-3.0-DE", "CC-BY-NC-4.0", "CC-BY-NC-ND-1.0", "CC-BY-NC-ND-2.0", "CC-BY-NC-ND-2.5", "CC-BY-NC-ND-3.0", "CC-BY-NC-ND-3.0-DE", "CC-BY-NC-ND-3.0-IGO", "CC-BY-NC-ND-4.0", "CC-BY-NC-SA-1.0", "CC-BY-NC-SA-2.0", "CC-BY-NC-SA-2.0-DE", "CC-BY-NC-SA-2.0-FR", "CC-BY-NC-SA-2.0-UK", "CC-BY-NC-SA-2.5", "CC-BY-NC-SA-3.0", "CC-BY-NC-SA-3.0-DE", "CC-BY-NC-SA-3.0-IGO", "CC-BY-NC-SA-4.0", "CC-BY-ND-1.0", "CC-BY-ND-2.0", "CC-BY-ND-2.5", "CC-BY-ND-3.0", "CC-BY-ND-3.0-DE", "CC-BY-ND-4.0", "CC-BY-SA-1.0", "CC-BY-SA-2.0", "CC-BY-SA-2.0-UK", "CC-BY-SA-2.1-JP", "CC-BY-SA-2.5", "CC-BY-SA-3.0", "CC-BY-SA-3.0-AT", "CC-BY-SA-3.0-DE", "CC-BY-SA-3.0-IGO", "CC-BY-SA-4.0", "CC-PDDC", "CC0-1.0", "CDDL-1.0", "CDDL-1.1", "CDL-1.0", "CDLA-Permissive-1.0", "CDLA-Permissive-2.0", "CDLA-Sharing-1.0", "CECILL-1.0", "CECILL-1.1", "CECILL-2.0", "CECILL-2.1", "CECILL-B", "CECILL-C", "CERN-OHL-1.1", "CERN-OHL-1.2", "CERN-OHL-P-2.0", "CERN-OHL-S-2.0", "CERN-OHL-W-2.0", "CFITSIO", "check-cvs", "checkmk", "ClArtistic", "Clips", "CMU-Mach", "CMU-Mach-nodoc", "CNRI-Jython", "CNRI-Python", "CNRI-Python-GPL-Compatible", "COIL-1.0", "Community-Spec-1.0", "Condor-1.1", "copyleft-next-0.3.0", "copyleft-next-0.3.1", "Cornell-Lossless-JPEG", "CPAL-1.0", "CPL-1.0", "CPOL-1.02", "Cronyx", "Crossword", "CrystalStacker", "CUA-OPL-1.0", "Cube", "curl", "cve-tou", "D-FSL-1.0", "DEC-3-Clause", "diffmark", "DL-DE-BY-2.0", "DL-DE-ZERO-2.0", "DOC", "Dotseqn", "DRL-1.0", "DRL-1.1", "DSDP", "dtoa", "dvipdfm", "ECL-1.0", "ECL-2.0", "eCos-2.0", "EFL-1.0", "EFL-2.0", "eGenix", "Elastic-2.0", "Entessa", "EPICS", "EPL-1.0", "EPL-2.0", "ErlPL-1.1", "etalab-2.0", "EUDatagrid", "EUPL-1.0", "EUPL-1.1", "EUPL-1.2", "Eurosym", "Fair", "FBM", "FDK-AAC", "Ferguson-Twofish", "Frameworx-1.0", "FreeBSD-DOC", "FreeImage", "FSFAP", "FSFAP-no-warranty-disclaimer", "FSFUL", "FSFULLR", "FSFULLRWD", "FTL", "Furuseth", "fwlw", "GCR-docs", "GD", "GFDL-1.1", "GFDL-1.1-invariants-only", "GFDL-1.1-invariants-or-later", "GFDL-1.1-no-invariants-only", "GFDL-1.1-no-invariants-or-later", "GFDL-1.1-only", "GFDL-1.1-or-later", "GFDL-1.2", "GFDL-1.2-invariants-only", "GFDL-1.2-invariants-or-later", "GFDL-1.2-no-invariants-only", "GFDL-1.2-no-invariants-or-later", "GFDL-1.2-only", "GFDL-1.2-or-later", "GFDL-1.3", "GFDL-1.3-invariants-only", "GFDL-1.3-invariants-or-later", "GFDL-1.3-no-invariants-only", "GFDL-1.3-no-invariants-or-later", "GFDL-1.3-only", "GFDL-1.3-or-later", "Giftware", "GL2PS", "Glide", "Glulxe", "GLWTPL", "gnuplot", "GPL-1.0", "GPL-1.0+", "GPL-1.0-only", "GPL-1.0-or-later", "GPL-2.0", "GPL-2.0+", "GPL-2.0-only", "GPL-2.0-or-later", "GPL-2.0-with-autoconf-exception", "GPL-2.0-with-bison-exception", "GPL-2.0-with-classpath-exception", "GPL-2.0-with-font-exception", "GPL-2.0-with-GCC-exception", "GPL-3.0", "GPL-3.0+", "GPL-3.0-only", "GPL-3.0-or-later", "GPL-3.0-with-autoconf-exception", "GPL-3.0-with-GCC-exception", "Graphics-Gems", "gSOAP-1.3b", "gtkbook", "Gutmann", "HaskellReport", "hdparm", "Hippocratic-2.1", "HP-1986", "HP-1989", "HPND", "HPND-DEC", "HPND-doc", "HPND-doc-sell", "HPND-export-US", "HPND-export-US-acknowledgement", "HPND-export-US-modify", "HPND-export2-US", "HPND-Fenneberg-Livingston", "HPND-INRIA-IMAG", "HPND-Intel", "HPND-Kevlin-Henney", "HPND-Markus-Kuhn", "HPND-merchantability-variant", "HPND-MIT-disclaimer", "HPND-Pbmplus", "HPND-sell-MIT-disclaimer-xserver", "HPND-sell-regexpr", "HPND-sell-variant", "HPND-sell-variant-MIT-disclaimer", "HPND-sell-variant-MIT-disclaimer-rev", "HPND-UC", "HPND-UC-export-US", "HTMLTIDY", "IBM-pibs", "ICU", "IEC-Code-Components-EULA", "IJG", "IJG-short", "ImageMagick", "iMatix", "Imlib2", "Info-ZIP", "Inner-Net-2.0", "Intel", "Intel-ACPI", "Interbase-1.0", "IPA", "IPL-1.0", "ISC", "ISC-Veillard", "Jam", "JasPer-2.0", "JPL-image", "JPNIC", "JSON", "Kastrup", "Kazlib", "Knuth-CTAN", "LAL-1.2", "LAL-1.3", "Latex2e", "Latex2e-translated-notice", "Leptonica", "LGPL-2.0", "LGPL-2.0+", "LGPL-2.0-only", "LGPL-2.0-or-later", "LGPL-2.1", "LGPL-2.1+", "LGPL-2.1-only", "LGPL-2.1-or-later", "LGPL-3.0", "LGPL-3.0+", "LGPL-3.0-only", "LGPL-3.0-or-later", "LGPLLR", "Libpng", "libpng-2.0", "libselinux-1.0", "libtiff", "libutil-David-Nugent", "LiLiQ-P-1.1", "LiLiQ-R-1.1", "LiLiQ-Rplus-1.1", "Linux-man-pages-1-para", "Linux-man-pages-copyleft", "Linux-man-pages-copyleft-2-para", "Linux-man-pages-copyleft-var", "Linux-OpenIB", "LOOP", "LPD-document", "LPL-1.0", "LPL-1.02", "LPPL-1.0", "LPPL-1.1", "LPPL-1.2", "LPPL-1.3a", "LPPL-1.3c", "lsof", "Lucida-Bitmap-Fonts", "LZMA-SDK-9.11-to-9.20", "LZMA-SDK-9.22", "Mackerras-3-Clause", "Mackerras-3-Clause-acknowledgment", "magaz", "mailprio", "MakeIndex", "Martin-Birgmeier", "McPhee-slideshow", "metamail", "Minpack", "MirOS", "MIT", "MIT-0", "MIT-advertising", "MIT-CMU", "MIT-enna", "MIT-feh", "MIT-Festival", "MIT-Khronos-old", "MIT-Modern-Variant", "MIT-open-group", "MIT-testregex", "MIT-Wu", "MITNFA", "MMIXware", "Motosoto", "MPEG-SSG", "mpi-permissive", "mpich2", "MPL-1.0", "MPL-1.1", "MPL-2.0", "MPL-2.0-no-copyleft-exception", "mplus", "MS-LPL", "MS-PL", "MS-RL", "MTLL", "MulanPSL-1.0", "MulanPSL-2.0", "Multics", "Mup", "NAIST-2003", "NASA-1.3", "Naumen", "NBPL-1.0", "NCBI-PD", "NCGL-UK-2.0", "NCL", "NCSA", "Net-SNMP", "NetCDF", "Newsletr", "NGPL", "NICTA-1.0", "NIST-PD", "NIST-PD-fallback", "NIST-Software", "NLOD-1.0", "NLOD-2.0", "NLPL", "Nokia", "NOSL", "Noweb", "NPL-1.0", "NPL-1.1", "NPOSL-3.0", "NRL", "NTP", "NTP-0", "Nunit", "O-UDA-1.0", "OAR", "OCCT-PL", "OCLC-2.0", "ODbL-1.0", "ODC-By-1.0", "OFFIS", "OFL-1.0", "OFL-1.0-no-RFN", "OFL-1.0-RFN", "OFL-1.1", "OFL-1.1-no-RFN", "OFL-1.1-RFN", "OGC-1.0", "OGDL-Taiwan-1.0", "OGL-Canada-2.0", "OGL-UK-1.0", "OGL-UK-2.0", "OGL-UK-3.0", "OGTSL", "OLDAP-1.1", "OLDAP-1.2", "OLDAP-1.3", "OLDAP-1.4", "OLDAP-2.0", "OLDAP-2.0.1", "OLDAP-2.1", "OLDAP-2.2", "OLDAP-2.2.1", "OLDAP-2.2.2", "OLDAP-2.3", "OLDAP-2.4", "OLDAP-2.5", "OLDAP-2.6", "OLDAP-2.7", "OLDAP-2.8", "OLFL-1.3", "OML", "OpenPBS-2.3", "OpenSSL", "OpenSSL-standalone", "OpenVision", "OPL-1.0", "OPL-UK-3.0", "OPUBL-1.0", "OSET-PL-2.1", "OSL-1.0", "OSL-1.1", "OSL-2.0", "OSL-2.1", "OSL-3.0", "PADL", "Parity-6.0.0", "Parity-7.0.0", "PDDL-1.0", "PHP-3.0", "PHP-3.01", "Pixar", "pkgconf", "Plexus", "pnmstitch", "PolyForm-Noncommercial-1.0.0", "PolyForm-Small-Business-1.0.0", "PostgreSQL", "PPL", "PSF-2.0", "psfrag", "psutils", "Python-2.0", "Python-2.0.1", "python-ldap", "Qhull", "QPL-1.0", "QPL-1.0-INRIA-2004", "radvd", "Rdisc", "RHeCos-1.1", "RPL-1.1", "RPL-1.5", "RPSL-1.0", "RSA-MD", "RSCPL", "Ruby", "SAX-PD", "SAX-PD-2.0", "Saxpath", "SCEA", "SchemeReport", "Sendmail", "Sendmail-8.23", "SGI-B-1.0", "SGI-B-1.1", "SGI-B-2.0", "SGI-OpenGL", "SGP4", "SHL-0.5", "SHL-0.51", "SimPL-2.0", "SISSL", "SISSL-1.2", "SL", "Sleepycat", "SMLNJ", "SMPPL", "SNIA", "snprintf", "softSurfer", "Soundex", "Spencer-86", "Spencer-94", "Spencer-99", "SPL-1.0", "ssh-keyscan", "SSH-OpenSSH", "SSH-short", "SSLeay-standalone", "SSPL-1.0", "StandardML-NJ", "SugarCRM-1.1.3", "Sun-PPP", "Sun-PPP-2000", "SunPro", "SWL", "swrule", "Symlinks", "TAPR-OHL-1.0", "TCL", "TCP-wrappers", "TermReadKey", "TGPPL-1.0", "threeparttable", "TMate", "TORQUE-1.1", "TOSL", "TPDL", "TPL-1.0", "TTWL", "TTYP0", "TU-Berlin-1.0", "TU-Berlin-2.0", "UCAR", "UCL-1.0", "ulem", "UMich-Merit", "Unicode-3.0", "Unicode-DFS-2015", "Unicode-DFS-2016", "Unicode-TOU", "UnixCrypt", "Unlicense", "UPL-1.0", "URT-RLE", "Vim", "VOSTROM", "VSL-1.0", "W3C", "W3C-19980720", "W3C-20150513", "w3m", "Watcom-1.0", "Widget-Workshop", "Wsuipa", "WTFPL", "wxWindows", "X11", "X11-distribute-modifications-variant", "Xdebug-1.03", "Xerox", "Xfig", "XFree86-1.1", "xinetd", "xkeyboard-config-Zinoviev", "xlock", "Xnet", "xpp", "XSkat", "xzoom", "YPL-1.0", "YPL-1.1", "Zed", "Zeeff", "Zend-2.0", "Zimbra-1.3", "Zimbra-1.4", "Zlib", "zlib-acknowledgement", "ZPL-1.1", "ZPL-2.0", "ZPL-2.1", "389-exception", "Asterisk-exception", "Asterisk-linking-protocols-exception", "Autoconf-exception-2.0", "Autoconf-exception-3.0", "Autoconf-exception-generic", "Autoconf-exception-generic-3.0", "Autoconf-exception-macro", "Bison-exception-1.24", "Bison-exception-2.2", "Bootloader-exception", "Classpath-exception-2.0", "CLISP-exception-2.0", "cryptsetup-OpenSSL-exception", "DigiRule-FOSS-exception", "eCos-exception-2.0", "Fawkes-Runtime-exception", "FLTK-exception", "fmt-exception", "Font-exception-2.0", "freertos-exception-2.0", "GCC-exception-2.0", "GCC-exception-2.0-note", "GCC-exception-3.1", "Gmsh-exception", "GNAT-exception", "GNOME-examples-exception", "GNU-compiler-exception", "gnu-javamail-exception", "GPL-3.0-interface-exception", "GPL-3.0-linking-exception", "GPL-3.0-linking-source-exception", "GPL-CC-1.0", "GStreamer-exception-2005", "GStreamer-exception-2008", "i2p-gpl-java-exception", "KiCad-libraries-exception", "LGPL-3.0-linking-exception", "libpri-OpenH323-exception", "Libtool-exception", "Linux-syscall-note", "LLGPL", "LLVM-exception", "LZMA-exception", "mif-exception", "Nokia-Qt-exception-1.1", "OCaml-LGPL-linking-exception", "OCCT-exception-1.0", "OpenJDK-assembly-exception-1.0", "openvpn-openssl-exception", "PCRE2-exception", "PS-or-PDF-font-exception-20170817", "QPL-1.0-INRIA-2004-exception", "Qt-GPL-exception-1.0", "Qt-LGPL-exception-1.1", "Qwt-exception-1.0", "RRDtool-FLOSS-exception-2.0", "SANE-exception", "SHL-2.0", "SHL-2.1", "stunnel-exception", "SWI-exception", "Swift-exception", "Texinfo-exception", "u-boot-exception-2.0", "UBDL-exception", "Universal-FOSS-exception-1.0", "vsftpd-openssl-exception", "WxWindows-exception-3.1", "x11vnc-openssl-exception"], "title": "Schema", "type": "string"}, "State1": {"enum": ["pre-activation", "active", "suspended", "deactivated", "compromised", "destroyed"], "title": "State1", "type": "string"}, "Tags": {"description": "Textual strings that aid in discovery, search, and retrieval of the associated object. Tags often serve as a way to group or categorize similar or related objects by various attributes.", "examples": ["json-parser", "object-persistence", "text-to-image", "translation", "object-detection"], "items": {"type": "string"}, "title": "Tags", "type": "array"}, "TlpClassification": {"enum": ["CLEAR", "GREEN", "AMBER", "AMBER_AND_STRICT", "RED"], "title": "TlpClassification", "type": "string"}, "Version": {"description": "A single disjunctive version identifier, for a component or service.", "examples": ["9.0.14", "v1.33.7", "7.0.0-M1", "2.0pre1", "1.0.0-beta1", "0.8.15"], "maxLength": 1024, "title": "Version", "type": "string"}, "VersionRange": {"description": "A version range specified in Package URL Version Range syntax (vers) which is defined at https://github.com/package-url/vers-spec", "examples": ["vers:cargo/9.0.14", "vers:npm/1.2.3|>=2.0.0|<5.0.0", "vers:pypi/0.0.0|0.0.1|0.0.2|0.0.3|1.0|2.0pre1", "vers:tomee/>=1.0.0-beta1|<=1.7.5|>=7.0.0-M1|<=7.0.7|>=7.1.0|<=7.1.2|>=8.0.0-M1|<=8.0.1", "vers:gem/>=2.2.0|!= 2.2.1|<2.3.0"], "maxLength": 4096, "minLength": 1, "title": "VersionRange", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Attachment": {"properties": {"contentType": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": "text/plain", "description": "Specifies the content type of the text. Defaults to text/plain if not specified.", "title": "Content-Type"}, "encoding": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Encoding"}, {"type": "null"}], "description": "Specifies the optional encoding the text is represented in.", "title": "Encoding"}, "content": {"description": "The attachment data", "title": "Attachment Text", "type": "string"}}, "required": ["content"], "title": "Attachment", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Commit": {"properties": {"uid": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A unique identifier of the commit. This may be version control specific. For example, Subversion uses revision numbers whereas git uses commit hashes.", "title": "UID"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to the commit. This URL will typically point to a commit in a version control system.", "title": "URL"}, "author": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__IdentifiableAction"}, {"type": "null"}], "description": "The author who created the changes in the commit", "title": "Author"}, "committer": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__IdentifiableAction"}, {"type": "null"}], "description": "The person who committed or pushed the commit", "title": "Committer"}, "message": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The text description of the contents of the commit", "title": "Message"}}, "title": "Commit", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Component": {"properties": {"type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Type", "description": "Specifies the type of component. For software components, classify as application if no more specific appropriate classification is available or cannot be determined for the component.", "examples": ["library"], "title": "Component Type"}, "mime-type": {"anyOf": [{"pattern": "^[-+a-z0-9.]+/[-+a-z0-9.]+$", "type": "string"}, {"type": "null"}], "description": "The optional mime-type of the component. When used on file components, the mime-type can provide additional context about the kind of file being represented such as an image, font, or executable. Some library or framework components may also have an associated mime-type.", "examples": ["image/jpeg"], "title": "Mime-Type"}, "bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__RefType"}, {"type": "null"}], "description": "An optional identifier which can be used to reference the component elsewhere in the BOM. Every bom-ref should be unique.", "title": "BOM Reference"}, "supplier": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__OrganizationalEntity"}, {"type": "null"}], "description": " The organization that supplied the component. The supplier may often be the manufacturer, but may also be a distributor or repackager.", "title": "Component Supplier"}, "author": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The person(s) or organization(s) that authored the component", "examples": ["Acme Inc"], "title": "Component Author"}, "publisher": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The person(s) or organization(s) that published the component", "examples": ["Acme Inc"], "title": "Component Publisher"}, "group": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The grouping name or identifier. This will often be a shortened, single name of the company or project that produced the component, or the source package or domain name. Whitespace and special characters should be avoided. Examples include: apache, org.apache.commons, and apache.org.", "examples": ["com.acme"], "title": "Component Group"}, "name": {"description": "The name of the component. This will often be a shortened, single name of the component. Examples: commons-lang3 and jquery", "examples": ["tomcat-catalina"], "title": "Component Name", "type": "string"}, "version": {"description": "The component version. The version should ideally comply with semantic versioning but is not enforced.", "examples": ["9.0.14"], "title": "Component Version", "type": "string"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Specifies a description for the component", "title": "Component Description"}, "scope": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Scope"}, {"type": "null"}], "default": "required", "description": "Specifies the scope of the component. If scope is not specified, 'required' scope should be assumed by the consumer of the BOM", "title": "Component Scope"}, "hashes": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Hash"}, "type": "array"}, {"type": "null"}], "title": "Component Hashes"}, "licenses": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__LicenseChoice"}, "type": "array"}, {"type": "null"}], "title": "Component License(s)"}, "copyright": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "An optional copyright notice informing users of the underlying claims to copyright ownership in a published work.", "examples": ["Acme Inc"], "title": "Component Copyright"}, "cpe": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "DEPRECATED - DO NOT USE. This will be removed in a future version. Specifies a well-formed CPE name. See https://nvd.nist.gov/products/cpe", "examples": ["cpe:2.3:a:acme:component_framework:-:*:*:*:*:*:*:*"], "title": "Component Common Platform Enumeration (CPE)"}, "purl": {"anyOf": [{"type": "string"}, {"type": "null"}], "examples": ["pkg:maven/com.acme/tomcat-catalina@9.0.14?packaging=jar"], "title": "Component Package URL (purl)"}, "swid": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Swid"}, {"type": "null"}], "description": "Specifies metadata and content for ISO-IEC 19770-2 Software Identification (SWID) Tags.", "title": "SWID Tag"}, "modified": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "description": "DEPRECATED - DO NOT USE. This will be removed in a future version. Use the pedigree element instead to supply information on exactly how the component was modified. A boolean value indicating is the component has been modified from the original. A value of true indicates the component is a derivative of the original. A value of false indicates the component has not been modified from the original.", "title": "Component Modified From Original"}, "pedigree": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Pedigree"}, {"type": "null"}], "description": "Component pedigree is a way to document complex supply chain scenarios where components are created, distributed, modified, redistributed, combined with other components, etc. Pedigree supports viewing this complex chain from the beginning, the end, or anywhere in the middle. It also provides a way to document variants where the exact relation may not be known.", "title": "Component Pedigree"}, "externalReferences": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__ExternalReference"}, "type": "array"}, {"type": "null"}], "title": "External References"}, "components": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Component"}, "type": "array"}, {"type": "null"}], "title": "Components"}, "evidence": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__ComponentEvidence"}, {"type": "null"}], "description": "Provides the ability to document evidence collected through various forms of extraction or analysis.", "title": "Evidence"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values."}}, "required": ["type", "name", "version"], "title": "Component", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__ComponentEvidence": {"properties": {"licenses": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__LicenseChoice"}, "type": "array"}, {"type": "null"}], "title": "Component License(s)"}, "copyright": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Copyright"}, "type": "array"}, {"type": "null"}], "title": "Copyright"}}, "title": "ComponentEvidence", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Copyright": {"properties": {"text": {"title": "Copyright Text", "type": "string"}}, "required": ["text"], "title": "Copyright", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Diff": {"properties": {"text": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Attachment"}, {"type": "null"}], "description": "Specifies the optional text of the diff", "title": "Diff text"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Specifies the URL to the diff", "title": "URL"}}, "title": "Diff", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Encoding": {"enum": ["base64"], "title": "Encoding", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__ExternalReference": {"properties": {"url": {"description": "The URL to the external reference", "title": "URL", "type": "string"}, "comment": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "An optional comment describing the external reference", "title": "Comment"}, "type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Type3", "description": "Specifies the type of external reference. There are built-in types to describe common references. If a type does not exist for the reference being referred to, use the \"other\" type.", "title": "Type"}, "hashes": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Hash"}, "type": "array"}, {"type": "null"}], "description": "The hashes of the external reference (if applicable).", "title": "Hashes"}}, "required": ["url", "type"], "title": "ExternalReference", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Hash": {"properties": {"alg": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__HashAlg"}, "content": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__HashContent"}}, "required": ["alg", "content"], "title": "Hash", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__HashAlg": {"enum": ["MD5", "SHA-1", "SHA-256", "SHA-384", "SHA-512", "SHA3-256", "SHA3-384", "SHA3-512", "BLAKE2b-256", "BLAKE2b-384", "BLAKE2b-512", "BLAKE3"], "title": "HashAlg", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__HashContent": {"examples": ["3942447fac867ae5cdb3229b658f4d48"], "pattern": "^([a-fA-F0-9]{32}|[a-fA-F0-9]{40}|[a-fA-F0-9]{64}|[a-fA-F0-9]{96}|[a-fA-F0-9]{128})$", "title": "Hash Content (value)", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__IdentifiableAction": {"properties": {"timestamp": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The timestamp in which the action occurred", "title": "Timestamp"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the individual who performed the action", "title": "Name"}, "email": {"anyOf": [{"format": "email", "type": "string"}, {"type": "null"}], "description": "The email address of the individual who performed the action", "title": "E-mail"}}, "title": "IdentifiableAction", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Issue": {"properties": {"type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Type2", "description": "Specifies the type of issue", "title": "Type"}, "id": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The identifier of the issue assigned by the source of the issue", "title": "ID"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the issue", "title": "Name"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A description of the issue", "title": "Description"}, "source": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Source"}, {"type": "null"}], "description": "The source of the issue where it is documented", "title": "Source"}, "references": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "A collection of URL's for reference. Multiple URLs are allowed.", "examples": ["https://example.com"], "title": "References"}}, "required": ["type"], "title": "Issue", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__License": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__License1"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__License2"}], "title": "License Object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__License1": {"properties": {"id": {"$ref": "#/components/schemas/Schema", "description": "A valid SPDX license ID", "examples": ["Apache-2.0"], "title": "License ID (SPDX)"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "If SPDX does not define the license used, this field may be used to provide the license name", "examples": ["Acme Software License"], "title": "License Name"}, "text": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Attachment"}, {"type": "null"}], "description": "An optional way to include the textual content of a license.", "title": "License text"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to the license file. If specified, a 'license' externalReference should also be specified for completeness", "examples": ["https://www.apache.org/licenses/LICENSE-2.0.txt"], "title": "License URL"}}, "required": ["id"], "title": "License1", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__License2": {"properties": {"id": {"anyOf": [{"$ref": "#/components/schemas/Schema"}, {"type": "null"}], "description": "A valid SPDX license ID", "examples": ["Apache-2.0"], "title": "License ID (SPDX)"}, "name": {"description": "If SPDX does not define the license used, this field may be used to provide the license name", "examples": ["Acme Software License"], "title": "License Name", "type": "string"}, "text": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Attachment"}, {"type": "null"}], "description": "An optional way to include the textual content of a license.", "title": "License text"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to the license file. If specified, a 'license' externalReference should also be specified for completeness", "examples": ["https://www.apache.org/licenses/LICENSE-2.0.txt"], "title": "License URL"}}, "required": ["name"], "title": "License2", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__LicenseChoice": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__LicenseChoice1"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__LicenseChoice2"}], "title": "License(s)"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__LicenseChoice1": {"properties": {"license": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__License"}, "expression": {"anyOf": [{"type": "string"}, {"type": "null"}], "examples": ["Apache-2.0 AND (MIT OR GPL-2.0-only)", "GPL-3.0-only WITH Classpath-exception-2.0"], "title": "SPDX License Expression"}}, "required": ["license"], "title": "LicenseChoice1", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__LicenseChoice2": {"properties": {"license": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__License"}, {"type": "null"}]}, "expression": {"examples": ["Apache-2.0 AND (MIT OR GPL-2.0-only)", "GPL-3.0-only WITH Classpath-exception-2.0"], "title": "SPDX License Expression", "type": "string"}}, "required": ["expression"], "title": "LicenseChoice2", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Metadata": {"properties": {"timestamp": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the document was created.", "title": "Timestamp"}, "tools": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Tool"}, "type": "array"}, {"type": "null"}], "description": "The tool(s) used in the creation of the BOM.", "title": "Creation Tools"}, "authors": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__OrganizationalContact"}, "type": "array"}, {"type": "null"}], "description": "The person(s) who created the BOM. Authors are common in BOMs created through manual processes. BOMs created through automated means may not have authors.", "title": "Authors"}, "component": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Component"}, {"type": "null"}], "description": "The component that the BOM describes.", "title": "Component"}, "manufacture": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__OrganizationalEntity"}, {"type": "null"}], "description": "The organization that manufactured the component that the BOM describes.", "title": "Manufacture"}, "supplier": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__OrganizationalEntity"}, {"type": "null"}], "description": " The organization that supplied the component that the BOM describes. The supplier may often be the manufacturer, but may also be a distributor or repackager.", "title": "Supplier"}, "licenses": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__LicenseChoice"}, "type": "array"}, {"type": "null"}], "title": "BOM License(s)"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values."}}, "title": "Metadata", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__OrganizationalContact": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of a contact", "examples": ["Contact name"], "title": "Name"}, "email": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The email address of the contact.", "examples": ["firstname.lastname@example.com"], "title": "Email Address"}, "phone": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The phone number of the contact.", "examples": ["800-555-1212"], "title": "Phone"}}, "title": "OrganizationalContact", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__OrganizationalEntity": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the organization", "examples": ["Example Inc."], "title": "Name"}, "url": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "The URL of the organization. Multiple URLs are allowed.", "examples": ["https://example.com"], "title": "URL"}, "contact": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__OrganizationalContact"}, "type": "array"}, {"type": "null"}], "description": "A contact at the organization. Multiple contacts are allowed.", "title": "Contact"}}, "title": "OrganizationalEntity", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Patch": {"properties": {"type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Type1", "description": "Specifies the purpose for the patch including the resolution of defects, security issues, or new behavior or functionality", "title": "Type"}, "diff": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Diff"}, {"type": "null"}], "description": "The patch file (or diff) that show changes. Refer to https://en.wikipedia.org/wiki/Diff", "title": "Diff"}, "resolves": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Issue"}, "type": "array"}, {"type": "null"}], "description": "A collection of issues the patch resolves", "title": "Resolves"}}, "required": ["type"], "title": "Patch", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Pedigree": {"properties": {"ancestors": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Component"}, "type": "array"}, {"type": "null"}], "description": "Describes zero or more components in which a component is derived from. This is commonly used to describe forks from existing projects where the forked version contains a ancestor node containing the original component it was forked from. For example, Component A is the original component. Component B is the component being used and documented in the BOM. However, Component B contains a pedigree node with a single ancestor documenting Component A - the original component from which Component B is derived from.", "title": "Ancestors"}, "descendants": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Component"}, "type": "array"}, {"type": "null"}], "description": "Descendants are the exact opposite of ancestors. This provides a way to document all forks (and their forks) of an original or root component.", "title": "Descendants"}, "variants": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Component"}, "type": "array"}, {"type": "null"}], "description": "Variants describe relations where the relationship between the components are not known. For example, if Component A contains nearly identical code to Component B. They are both related, but it is unclear if one is derived from the other, or if they share a common ancestor.", "title": "Variants"}, "commits": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Commit"}, "type": "array"}, {"type": "null"}], "description": "A list of zero or more commits which provide a trail describing how the component deviates from an ancestor, descendant, or variant.", "title": "Commits"}, "patches": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Patch"}, "type": "array"}, {"type": "null"}], "description": ">A list of zero or more patches describing how the component deviates from an ancestor, descendant, or variant. Patches may be complimentary to commits or may be used in place of commits.", "title": "Patches"}, "notes": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Notes, observations, and other non-structured commentary describing the components pedigree.", "title": "Notes"}}, "title": "Pedigree", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Property": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the property. Duplicate names are allowed, each potentially having a different value.", "title": "Name"}, "value": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The value of the property.", "title": "Value"}}, "title": "Property", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__RefType": {"title": "RefType", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Scope": {"enum": ["required", "optional", "excluded"], "title": "Scope", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Source": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the source. For example 'National Vulnerability Database', 'NVD', and 'Apache'", "title": "Name"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The url of the issue documentation as provided by the source", "title": "URL"}}, "title": "Source", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Swid": {"properties": {"tagId": {"description": "Maps to the tagId of a SoftwareIdentity.", "title": "Tag ID", "type": "string"}, "name": {"description": "Maps to the name of a SoftwareIdentity.", "title": "Name", "type": "string"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": "0.0", "description": "Maps to the version of a SoftwareIdentity.", "title": "Version"}, "tagVersion": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": 0, "description": "Maps to the tagVersion of a SoftwareIdentity.", "title": "Tag Version"}, "patch": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": false, "description": "Maps to the patch of a SoftwareIdentity.", "title": "Patch"}, "text": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Attachment"}, {"type": "null"}], "description": "Specifies the metadata and content of the SWID tag.", "title": "Attachment text"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to the SWID file.", "title": "URL"}}, "required": ["tagId", "name"], "title": "Swid", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Tool": {"properties": {"vendor": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the document was created.", "title": "Tool Vendor"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the document was created.", "title": "Tool Name"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the document was created.", "title": "Tool Version"}, "hashes": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Hash"}, "type": "array"}, {"type": "null"}], "description": "The hashes of the tool (if applicable).", "title": "Hashes"}}, "title": "Tool", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Type": {"enum": ["application", "framework", "library", "container", "operating-system", "device", "firmware", "file"], "title": "Type", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Type1": {"enum": ["unofficial", "monkey", "backport", "cherry-pick"], "title": "Type1", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Type2": {"enum": ["defect", "enhancement", "security"], "title": "Type2", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_3__Type3": {"enum": ["vcs", "issue-tracker", "website", "advisories", "bom", "mailing-list", "social", "chat", "documentation", "support", "distribution", "license", "build-meta", "build-system", "other"], "title": "Type3", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Algorithm": {"enum": ["RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512", "Ed25519", "Ed448", "HS256", "HS384", "HS512"], "title": "Algorithm", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Attachment": {"additionalProperties": false, "properties": {"contentType": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": "text/plain", "description": "Specifies the content type of the text. Defaults to text/plain if not specified.", "title": "Content-Type"}, "encoding": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Encoding"}, {"type": "null"}], "description": "Specifies the optional encoding the text is represented in.", "title": "Encoding"}, "content": {"description": "The attachment data. Proactive controls such as input validation and sanitization should be employed to prevent misuse of attachment text.", "title": "Attachment Text", "type": "string"}}, "required": ["content"], "title": "Attachment", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Commit": {"additionalProperties": false, "properties": {"uid": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A unique identifier of the commit. This may be version control specific. For example, Subversion uses revision numbers whereas git uses commit hashes.", "title": "UID"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to the commit. This URL will typically point to a commit in a version control system.", "title": "URL"}, "author": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__IdentifiableAction"}, {"type": "null"}], "description": "The author who created the changes in the commit", "title": "Author"}, "committer": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__IdentifiableAction"}, {"type": "null"}], "description": "The person who committed or pushed the commit", "title": "Committer"}, "message": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The text description of the contents of the commit", "title": "Message"}}, "title": "Commit", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Component": {"additionalProperties": false, "properties": {"type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Type", "description": "Specifies the type of component. For software components, classify as application if no more specific appropriate classification is available or cannot be determined for the component. Types include:\n\n* __application__ = A software application. Refer to [https://en.wikipedia.org/wiki/Application_software](https://en.wikipedia.org/wiki/Application_software) for information about applications.\n* __framework__ = A software framework. Refer to [https://en.wikipedia.org/wiki/Software_framework](https://en.wikipedia.org/wiki/Software_framework) for information on how frameworks vary slightly from libraries.\n* __library__ = A software library. Refer to [https://en.wikipedia.org/wiki/Library_(computing)](https://en.wikipedia.org/wiki/Library_(computing))\n for information about libraries. All third-party and open source reusable components will likely be a library. If the library also has key features of a framework, then it should be classified as a framework. If not, or is unknown, then specifying library is RECOMMENDED.\n* __container__ = A packaging and/or runtime format, not specific to any particular technology, which isolates software inside the container from software outside of a container through virtualization technology. Refer to [https://en.wikipedia.org/wiki/OS-level_virtualization](https://en.wikipedia.org/wiki/OS-level_virtualization)\n* __operating-system__ = A software operating system without regard to deployment model (i.e. installed on physical hardware, virtual machine, image, etc) Refer to [https://en.wikipedia.org/wiki/Operating_system](https://en.wikipedia.org/wiki/Operating_system)\n* __device__ = A hardware device such as a processor, or chip-set. A hardware device containing firmware SHOULD include a component for the physical hardware itself, and another component of type 'firmware' or 'operating-system' (whichever is relevant), describing information about the software running on the device.\n  See also the list of [known device properties](https://github.com/CycloneDX/cyclonedx-property-taxonomy/blob/main/cdx/device.md).\n* __firmware__ = A special type of software that provides low-level control over a devices hardware. Refer to [https://en.wikipedia.org/wiki/Firmware](https://en.wikipedia.org/wiki/Firmware)\n* __file__ = A computer file. Refer to [https://en.wikipedia.org/wiki/Computer_file](https://en.wikipedia.org/wiki/Computer_file) for information about files.", "examples": ["library"], "title": "Component Type"}, "mime-type": {"anyOf": [{"pattern": "^[-+a-z0-9.]+/[-+a-z0-9.]+$", "type": "string"}, {"type": "null"}], "description": "The optional mime-type of the component. When used on file components, the mime-type can provide additional context about the kind of file being represented such as an image, font, or executable. Some library or framework components may also have an associated mime-type.", "examples": ["image/jpeg"], "title": "Mime-Type"}, "bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__RefType"}, {"type": "null"}], "description": "An optional identifier which can be used to reference the component elsewhere in the BOM. Every bom-ref MUST be unique within the BOM.", "title": "BOM Reference"}, "supplier": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__OrganizationalEntity"}, {"type": "null"}], "description": " The organization that supplied the component. The supplier may often be the manufacturer, but may also be a distributor or repackager.", "title": "Component Supplier"}, "author": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The person(s) or organization(s) that authored the component", "examples": ["Acme Inc"], "title": "Component Author"}, "publisher": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The person(s) or organization(s) that published the component", "examples": ["Acme Inc"], "title": "Component Publisher"}, "group": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The grouping name or identifier. This will often be a shortened, single name of the company or project that produced the component, or the source package or domain name. Whitespace and special characters should be avoided. Examples include: apache, org.apache.commons, and apache.org.", "examples": ["com.acme"], "title": "Component Group"}, "name": {"description": "The name of the component. This will often be a shortened, single name of the component. Examples: commons-lang3 and jquery", "examples": ["tomcat-catalina"], "title": "Component Name", "type": "string"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The component version. The version should ideally comply with semantic versioning but is not enforced.", "examples": ["9.0.14"], "title": "Component Version"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Specifies a description for the component", "title": "Component Description"}, "scope": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Scope"}, {"type": "null"}], "default": "required", "description": "Specifies the scope of the component. If scope is not specified, 'required' scope SHOULD be assumed by the consumer of the BOM.", "title": "Component Scope"}, "hashes": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Hash"}, "type": "array"}, {"type": "null"}], "title": "Component Hashes"}, "licenses": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__LicenseChoice"}, "type": "array"}, {"type": "null"}], "title": "Component License(s)"}, "copyright": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A copyright notice informing users of the underlying claims to copyright ownership in a published work.", "examples": ["Acme Inc"], "title": "Component Copyright"}, "cpe": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Specifies a well-formed CPE name that conforms to the CPE 2.2 or 2.3 specification. See [https://nvd.nist.gov/products/cpe](https://nvd.nist.gov/products/cpe)", "examples": ["cpe:2.3:a:acme:component_framework:-:*:*:*:*:*:*:*"], "title": "Component Common Platform Enumeration (CPE)"}, "purl": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Specifies the package-url (purl). The purl, if specified, MUST be valid and conform to the specification defined at: [https://github.com/package-url/purl-spec](https://github.com/package-url/purl-spec)", "examples": ["pkg:maven/com.acme/tomcat-catalina@9.0.14?packaging=jar"], "title": "Component Package URL (purl)"}, "swid": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Swid"}, {"type": "null"}], "description": "Specifies metadata and content for [ISO-IEC 19770-2 Software Identification (SWID) Tags](https://www.iso.org/standard/65666.html).", "title": "SWID Tag"}, "modified": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "description": "[Deprecated] - DO NOT USE. This will be removed in a future version. Use the pedigree element instead to supply information on exactly how the component was modified. A boolean value indicating if the component has been modified from the original. A value of true indicates the component is a derivative of the original. A value of false indicates the component has not been modified from the original.", "title": "Component Modified From Original"}, "pedigree": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Pedigree"}, {"type": "null"}], "description": "Component pedigree is a way to document complex supply chain scenarios where components are created, distributed, modified, redistributed, combined with other components, etc. Pedigree supports viewing this complex chain from the beginning, the end, or anywhere in the middle. It also provides a way to document variants where the exact relation may not be known.", "title": "Component Pedigree"}, "externalReferences": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__ExternalReference"}, "type": "array"}, {"type": "null"}], "description": "External references provide a way to document systems, sites, and information that may be relevant but which are not included with the BOM.", "title": "External References"}, "components": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Component"}, "type": "array"}, {"type": "null"}], "description": "A list of software and hardware components included in the parent component. This is not a dependency tree. It provides a way to specify a hierarchical representation of component assemblies, similar to system &#8594; subsystem &#8594; parts assembly in physical supply chains.", "title": "Components"}, "evidence": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__ComponentEvidence"}, {"type": "null"}], "description": "Provides the ability to document evidence collected through various forms of extraction or analysis.", "title": "Evidence"}, "releaseNotes": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__ReleaseNotes"}, {"type": "null"}], "description": "Specifies optional release notes.", "title": "Release notes"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL."}, "signature": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Signature"}, {"type": "null"}], "description": "Enveloped signature in [JSON Signature Format (JSF)](https://cyberphone.github.io/doc/security/jsf.html).", "title": "Signature"}}, "required": ["type", "name"], "title": "Component", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__ComponentEvidence": {"additionalProperties": false, "properties": {"licenses": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__LicenseChoice"}, "type": "array"}, {"type": "null"}], "title": "Component License(s)"}, "copyright": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Copyright"}, "type": "array"}, {"type": "null"}], "title": "Copyright"}}, "title": "ComponentEvidence", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Copyright": {"additionalProperties": false, "properties": {"text": {"title": "Copyright Text", "type": "string"}}, "required": ["text"], "title": "Copyright", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Diff": {"additionalProperties": false, "properties": {"text": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Attachment"}, {"type": "null"}], "description": "Specifies the optional text of the diff", "title": "Diff text"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Specifies the URL to the diff", "title": "URL"}}, "title": "Diff", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Encoding": {"enum": ["base64"], "title": "Encoding", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__ExternalReference": {"additionalProperties": false, "properties": {"url": {"description": "The URL to the external reference", "title": "URL", "type": "string"}, "comment": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "An optional comment describing the external reference", "title": "Comment"}, "type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Type3", "description": "Specifies the type of external reference. There are built-in types to describe common references. If a type does not exist for the reference being referred to, use the \"other\" type.", "title": "Type"}, "hashes": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Hash"}, "type": "array"}, {"type": "null"}], "description": "The hashes of the external reference (if applicable).", "title": "Hashes"}}, "required": ["url", "type"], "title": "ExternalReference", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Hash": {"additionalProperties": false, "properties": {"alg": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__HashAlg"}, "content": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__HashContent"}}, "required": ["alg", "content"], "title": "Hash", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__HashAlg": {"enum": ["MD5", "SHA-1", "SHA-256", "SHA-384", "SHA-512", "SHA3-256", "SHA3-384", "SHA3-512", "BLAKE2b-256", "BLAKE2b-384", "BLAKE2b-512", "BLAKE3"], "title": "HashAlg", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__HashContent": {"examples": ["3942447fac867ae5cdb3229b658f4d48"], "pattern": "^([a-fA-F0-9]{32}|[a-fA-F0-9]{40}|[a-fA-F0-9]{64}|[a-fA-F0-9]{96}|[a-fA-F0-9]{128})$", "title": "Hash Content (value)", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__IdentifiableAction": {"additionalProperties": false, "properties": {"timestamp": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The timestamp in which the action occurred", "title": "Timestamp"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the individual who performed the action", "title": "Name"}, "email": {"anyOf": [{"format": "email", "type": "string"}, {"type": "null"}], "description": "The email address of the individual who performed the action", "title": "E-mail"}}, "title": "IdentifiableAction", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Issue": {"additionalProperties": false, "properties": {"type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Type2", "description": "Specifies the type of issue", "title": "Type"}, "id": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The identifier of the issue assigned by the source of the issue", "title": "ID"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the issue", "title": "Name"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A description of the issue", "title": "Description"}, "source": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Source"}, {"type": "null"}], "description": "The source of the issue where it is documented", "title": "Source"}, "references": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "A collection of URL's for reference. Multiple URLs are allowed.", "examples": ["https://example.com"], "title": "References"}}, "required": ["type"], "title": "Issue", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__KeyType": {"enum": ["EC", "OKP", "RSA"], "title": "KeyType", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__License": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__License1"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__License2"}], "title": "License Object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__License1": {"additionalProperties": false, "properties": {"id": {"$ref": "#/components/schemas/Schema", "description": "A valid SPDX license ID", "examples": ["Apache-2.0"], "title": "License ID (SPDX)"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "If SPDX does not define the license used, this field may be used to provide the license name", "examples": ["Acme Software License"], "title": "License Name"}, "text": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Attachment"}, {"type": "null"}], "description": "An optional way to include the textual content of a license.", "title": "License text"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to the license file. If specified, a 'license' externalReference should also be specified for completeness", "examples": ["https://www.apache.org/licenses/LICENSE-2.0.txt"], "title": "License URL"}}, "required": ["id"], "title": "License1", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__License2": {"additionalProperties": false, "properties": {"id": {"anyOf": [{"$ref": "#/components/schemas/Schema"}, {"type": "null"}], "description": "A valid SPDX license ID", "examples": ["Apache-2.0"], "title": "License ID (SPDX)"}, "name": {"description": "If SPDX does not define the license used, this field may be used to provide the license name", "examples": ["Acme Software License"], "title": "License Name", "type": "string"}, "text": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Attachment"}, {"type": "null"}], "description": "An optional way to include the textual content of a license.", "title": "License text"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to the license file. If specified, a 'license' externalReference should also be specified for completeness", "examples": ["https://www.apache.org/licenses/LICENSE-2.0.txt"], "title": "License URL"}}, "required": ["name"], "title": "License2", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__LicenseChoice": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__LicenseChoice1"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__LicenseChoice2"}], "title": "License(s)"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__LicenseChoice1": {"additionalProperties": false, "properties": {"license": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__License"}, "expression": {"anyOf": [{"type": "string"}, {"type": "null"}], "examples": ["Apache-2.0 AND (MIT OR GPL-2.0-only)", "GPL-3.0-only WITH Classpath-exception-2.0"], "title": "SPDX License Expression"}}, "required": ["license"], "title": "LicenseChoice1", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__LicenseChoice2": {"additionalProperties": false, "properties": {"license": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__License"}, {"type": "null"}]}, "expression": {"examples": ["Apache-2.0 AND (MIT OR GPL-2.0-only)", "GPL-3.0-only WITH Classpath-exception-2.0"], "title": "SPDX License Expression", "type": "string"}}, "required": ["expression"], "title": "LicenseChoice2", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__LocaleType": {"description": "Defines a syntax for representing two character language code (ISO-639) followed by an optional two character country code. The language code MUST be lower case. If the country code is specified, the country code MUST be upper case. The language code and country code MUST be separated by a minus sign. Examples: en, en-US, fr, fr-CA", "pattern": "^([a-z]{2})(-[A-Z]{2})?$", "title": "Locale", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Metadata": {"additionalProperties": false, "properties": {"timestamp": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the BOM was created.", "title": "Timestamp"}, "tools": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Tool"}, "type": "array"}, {"type": "null"}], "description": "The tool(s) used in the creation of the BOM.", "title": "Creation Tools"}, "authors": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__OrganizationalContact"}, "type": "array"}, {"type": "null"}], "description": "The person(s) who created the BOM. Authors are common in BOMs created through manual processes. BOMs created through automated means may not have authors.", "title": "Authors"}, "component": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Component"}, {"type": "null"}], "description": "The component that the BOM describes.", "title": "Component"}, "manufacture": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__OrganizationalEntity"}, {"type": "null"}], "description": "The organization that manufactured the component that the BOM describes.", "title": "Manufacture"}, "supplier": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__OrganizationalEntity"}, {"type": "null"}], "description": " The organization that supplied the component that the BOM describes. The supplier may often be the manufacturer, but may also be a distributor or repackager.", "title": "Supplier"}, "licenses": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__LicenseChoice"}, "type": "array"}, {"type": "null"}], "title": "BOM License(s)"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL."}}, "title": "Metadata", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Note": {"additionalProperties": false, "properties": {"locale": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__LocaleType"}, {"type": "null"}], "description": "The ISO-639 (or higher) language code and optional ISO-3166 (or higher) country code. Examples include: \"en\", \"en-US\", \"fr\" and \"fr-CA\"", "title": "Locale"}, "text": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Attachment", "description": "Specifies the full content of the release note.", "title": "Release note content"}}, "required": ["text"], "title": "Note", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__OrganizationalContact": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of a contact", "examples": ["Contact name"], "title": "Name"}, "email": {"anyOf": [{"format": "email", "type": "string"}, {"type": "null"}], "description": "The email address of the contact.", "examples": ["firstname.lastname@example.com"], "title": "Email Address"}, "phone": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The phone number of the contact.", "examples": ["800-555-1212"], "title": "Phone"}}, "title": "OrganizationalContact", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__OrganizationalEntity": {"additionalProperties": false, "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the organization", "examples": ["Example Inc."], "title": "Name"}, "url": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "The URL of the organization. Multiple URLs are allowed.", "examples": ["https://example.com"], "title": "URL"}, "contact": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__OrganizationalContact"}, "type": "array"}, {"type": "null"}], "description": "A contact at the organization. Multiple contacts are allowed.", "title": "Contact"}}, "title": "OrganizationalEntity", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Patch": {"additionalProperties": false, "properties": {"type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Type1", "description": "Specifies the purpose for the patch including the resolution of defects, security issues, or new behavior or functionality.\n\n* __unofficial__ = A patch which is not developed by the creators or maintainers of the software being patched. Refer to [https://en.wikipedia.org/wiki/Unofficial_patch](https://en.wikipedia.org/wiki/Unofficial_patch)\n* __monkey__ = A patch which dynamically modifies runtime behavior. Refer to [https://en.wikipedia.org/wiki/Monkey_patch](https://en.wikipedia.org/wiki/Monkey_patch)\n* __backport__ = A patch which takes code from a newer version of software and applies it to older versions of the same software. Refer to [https://en.wikipedia.org/wiki/Backporting](https://en.wikipedia.org/wiki/Backporting)\n* __cherry-pick__ = A patch created by selectively applying commits from other versions or branches of the same software.", "title": "Type"}, "diff": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Diff"}, {"type": "null"}], "description": "The patch file (or diff) that show changes. Refer to [https://en.wikipedia.org/wiki/Diff](https://en.wikipedia.org/wiki/Diff)", "title": "Diff"}, "resolves": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Issue"}, "type": "array"}, {"type": "null"}], "description": "A collection of issues the patch resolves", "title": "Resolves"}}, "required": ["type"], "title": "Patch", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Pedigree": {"additionalProperties": false, "properties": {"ancestors": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Component"}, "type": "array"}, {"type": "null"}], "description": "Describes zero or more components in which a component is derived from. This is commonly used to describe forks from existing projects where the forked version contains a ancestor node containing the original component it was forked from. For example, Component A is the original component. Component B is the component being used and documented in the BOM. However, Component B contains a pedigree node with a single ancestor documenting Component A - the original component from which Component B is derived from.", "title": "Ancestors"}, "descendants": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Component"}, "type": "array"}, {"type": "null"}], "description": "Descendants are the exact opposite of ancestors. This provides a way to document all forks (and their forks) of an original or root component.", "title": "Descendants"}, "variants": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Component"}, "type": "array"}, {"type": "null"}], "description": "Variants describe relations where the relationship between the components are not known. For example, if Component A contains nearly identical code to Component B. They are both related, but it is unclear if one is derived from the other, or if they share a common ancestor.", "title": "Variants"}, "commits": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Commit"}, "type": "array"}, {"type": "null"}], "description": "A list of zero or more commits which provide a trail describing how the component deviates from an ancestor, descendant, or variant.", "title": "Commits"}, "patches": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Patch"}, "type": "array"}, {"type": "null"}], "description": ">A list of zero or more patches describing how the component deviates from an ancestor, descendant, or variant. Patches may be complimentary to commits or may be used in place of commits.", "title": "Patches"}, "notes": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Notes, observations, and other non-structured commentary describing the components pedigree.", "title": "Notes"}}, "title": "Pedigree", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Property": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the property. Duplicate names are allowed, each potentially having a different value.", "title": "Name"}, "value": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The value of the property.", "title": "Value"}}, "title": "Property", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__PublicKey": {"additionalProperties": true, "properties": {"kty": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__KeyType"}}, "required": ["kty"], "title": "PublicKey", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__RefType": {"title": "RefType", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__ReleaseNotes": {"additionalProperties": false, "properties": {"type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__ReleaseType", "description": "The software versioning type the release note describes.", "title": "Type"}, "title": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The title of the release.", "title": "Title"}, "featuredImage": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to an image that may be prominently displayed with the release note.", "title": "Featured image"}, "socialImage": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to an image that may be used in messaging on social media platforms.", "title": "Social image"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A short description of the release.", "title": "Description"}, "timestamp": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the release note was created.", "title": "Timestamp"}, "aliases": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "One or more alternate names the release may be referred to. This may include unofficial terms used by development and marketing teams (e.g. code names).", "title": "Aliases"}, "tags": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "One or more tags that may aid in search or retrieval of the release note.", "title": "Tags"}, "resolves": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Issue"}, "type": "array"}, {"type": "null"}], "description": "A collection of issues that have been resolved.", "title": "Resolves"}, "notes": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Note"}, "type": "array"}, {"type": "null"}], "description": "Zero or more release notes containing the locale and content. Multiple note objects may be specified to support release notes in a wide variety of languages.", "title": "Notes"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL."}}, "required": ["type"], "title": "ReleaseNotes", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__ReleaseType": {"description": "The software versioning type. It is RECOMMENDED that the release type use one of 'major', 'minor', 'patch', 'pre-release', or 'internal'. Representing all possible software release types is not practical, so standardizing on the recommended values, whenever possible, is strongly encouraged.\n\n* __major__ = A major release may contain significant changes or may introduce breaking changes.\n* __minor__ = A minor release, also known as an update, may contain a smaller number of changes than major releases.\n* __patch__ = Patch releases are typically unplanned and may resolve defects or important security issues.\n* __pre-release__ = A pre-release may include alpha, beta, or release candidates and typically have limited support. They provide the ability to preview a release prior to its general availability.\n* __internal__ = Internal releases are not for public consumption and are intended to be used exclusively by the project or manufacturer that produced it.", "examples": ["major", "minor", "patch", "pre-release", "internal"], "title": "ReleaseType", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Scope": {"enum": ["required", "optional", "excluded"], "title": "Scope", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Signature": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Signature1"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Signature2"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Signer"}], "title": "Signature"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Signature1": {"additionalProperties": false, "properties": {"signers": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Signer"}, "type": "array"}, {"type": "null"}], "description": "Unique top level property for Multiple Signatures. (multisignature)", "title": "Signature"}}, "title": "Signature1", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Signature2": {"additionalProperties": false, "properties": {"chain": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Signer"}, "type": "array"}, {"type": "null"}], "description": "Unique top level property for Signature Chains. (signaturechain)", "title": "Signature"}}, "title": "Signature2", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Signer": {"additionalProperties": false, "properties": {"algorithm": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Algorithm"}, {"format": "uri", "minLength": 1, "type": "string"}], "title": "Algorithm"}, "keyId": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Optional. Application specific string identifying the signature key.", "title": "Key ID"}, "publicKey": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__PublicKey"}, {"type": "null"}], "description": "Optional. Public key object.", "title": "Public key"}, "certificatePath": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "Optional. Sorted array of X.509 [RFC5280] certificates, where the first element must contain the signature certificate. The certificate path must be contiguous but is not required to be complete.", "title": "Certificate path"}, "excludes": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "Optional. Array holding the names of one or more application level properties that must be excluded from the signature process. Note that the \"excludes\" property itself, must also be excluded from the signature process. Since both the \"excludes\" property and the associated data it points to are unsigned, a conforming JSF implementation must provide options for specifying which properties to accept.", "title": "Excludes"}, "value": {"description": "The signature data. Note that the binary representation must follow the JWA [RFC7518] specifications.", "title": "Signature", "type": "string"}}, "required": ["algorithm", "value"], "title": "Signer", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Source": {"additionalProperties": false, "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the source. For example 'National Vulnerability Database', 'NVD', and 'Apache'", "title": "Name"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The url of the issue documentation as provided by the source", "title": "URL"}}, "title": "Source", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Swid": {"additionalProperties": false, "properties": {"tagId": {"description": "Maps to the tagId of a SoftwareIdentity.", "title": "Tag ID", "type": "string"}, "name": {"description": "Maps to the name of a SoftwareIdentity.", "title": "Name", "type": "string"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": "0.0", "description": "Maps to the version of a SoftwareIdentity.", "title": "Version"}, "tagVersion": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": 0, "description": "Maps to the tagVersion of a SoftwareIdentity.", "title": "Tag Version"}, "patch": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": false, "description": "Maps to the patch of a SoftwareIdentity.", "title": "Patch"}, "text": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Attachment"}, {"type": "null"}], "description": "Specifies the metadata and content of the SWID tag.", "title": "Attachment text"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to the SWID file.", "title": "URL"}}, "required": ["tagId", "name"], "title": "Swid", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Tool": {"additionalProperties": false, "properties": {"vendor": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the vendor who created the tool", "title": "Tool Vendor"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the tool", "title": "Tool Name"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The version of the tool", "title": "Tool Version"}, "hashes": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Hash"}, "type": "array"}, {"type": "null"}], "description": "The hashes of the tool (if applicable).", "title": "Hashes"}, "externalReferences": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__ExternalReference"}, "type": "array"}, {"type": "null"}], "description": "External references provide a way to document systems, sites, and information that may be relevant but which are not included with the BOM.", "title": "External References"}}, "title": "Tool", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Type": {"enum": ["application", "framework", "library", "container", "operating-system", "device", "firmware", "file"], "title": "Type", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Type1": {"enum": ["unofficial", "monkey", "backport", "cherry-pick"], "title": "Type1", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Type2": {"enum": ["defect", "enhancement", "security"], "title": "Type2", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_4__Type3": {"enum": ["vcs", "issue-tracker", "website", "advisories", "bom", "mailing-list", "social", "chat", "documentation", "support", "distribution", "license", "build-meta", "build-system", "release-notes", "other"], "title": "Type3", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Algorithm": {"description": "Signature algorithm. The currently recognized JWA [RFC7518] and RFC8037 [RFC8037] asymmetric key algorithms. Note: Unlike RFC8037 [RFC8037] JSF requires explicit Ed* algorithm names instead of \"EdDSA\".", "enum": ["RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512", "Ed25519", "Ed448", "HS256", "HS384", "HS512"], "title": "Algorithm", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Approach": {"additionalProperties": false, "description": "The overall approach to learning used by the model for problem solving.", "properties": {"type": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Type4"}, {"type": "null"}], "description": "Learning types describing the learning problem or hybrid learning problem.", "title": "Learning Type"}}, "title": "Approach", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Attachment": {"additionalProperties": false, "description": "Specifies the metadata and content for an attachment.", "properties": {"contentType": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": "text/plain", "description": "Specifies the content type of the text. Defaults to text/plain if not specified.", "title": "Content-Type"}, "encoding": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Encoding"}, {"type": "null"}], "description": "Specifies the optional encoding the text is represented in.", "title": "Encoding"}, "content": {"description": "The attachment data. Proactive controls such as input validation and sanitization should be employed to prevent misuse of attachment text.", "title": "Attachment Text", "type": "string"}}, "required": ["content"], "title": "Attachment", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__BomLink": {"anyOf": [{"$ref": "#/components/schemas/BomLinkDocumentType"}, {"$ref": "#/components/schemas/BomLinkElementType"}], "title": "BomLink"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Callstack": {"additionalProperties": false, "description": "Evidence of the components use through the callstack.", "properties": {"frames": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Frame"}, "type": "array"}, {"type": "null"}], "title": "Methods"}}, "title": "Callstack", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Commit": {"additionalProperties": false, "description": "Specifies an individual commit", "properties": {"uid": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A unique identifier of the commit. This may be version control specific. For example, Subversion uses revision numbers whereas git uses commit hashes.", "title": "UID"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to the commit. This URL will typically point to a commit in a version control system.", "title": "URL"}, "author": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__IdentifiableAction"}, {"type": "null"}], "description": "The author who created the changes in the commit", "title": "Author"}, "committer": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__IdentifiableAction"}, {"type": "null"}], "description": "The person who committed or pushed the commit", "title": "Committer"}, "message": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The text description of the contents of the commit", "title": "Message"}}, "title": "Commit", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Component": {"additionalProperties": false, "properties": {"type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Type", "examples": ["library"], "title": "Component Type"}, "mime-type": {"anyOf": [{"pattern": "^[-+a-z0-9.]+/[-+a-z0-9.]+$", "type": "string"}, {"type": "null"}], "description": "The optional mime-type of the component. When used on file components, the mime-type can provide additional context about the kind of file being represented such as an image, font, or executable. Some library or framework components may also have an associated mime-type.", "examples": ["image/jpeg"], "title": "Mime-Type"}, "bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__RefType"}, {"type": "null"}], "description": "An optional identifier which can be used to reference the component elsewhere in the BOM. Every bom-ref MUST be unique within the BOM.", "title": "BOM Reference"}, "supplier": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__OrganizationalEntity"}, {"type": "null"}], "description": " The organization that supplied the component. The supplier may often be the manufacturer, but may also be a distributor or repackager.", "title": "Component Supplier"}, "author": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The person(s) or organization(s) that authored the component", "examples": ["Acme Inc"], "title": "Component Author"}, "publisher": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The person(s) or organization(s) that published the component", "examples": ["Acme Inc"], "title": "Component Publisher"}, "group": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The grouping name or identifier. This will often be a shortened, single name of the company or project that produced the component, or the source package or domain name. Whitespace and special characters should be avoided. Examples include: apache, org.apache.commons, and apache.org.", "examples": ["com.acme"], "title": "Component Group"}, "name": {"description": "The name of the component. This will often be a shortened, single name of the component. Examples: commons-lang3 and jquery", "examples": ["tomcat-catalina"], "title": "Component Name", "type": "string"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The component version. The version should ideally comply with semantic versioning but is not enforced.", "examples": ["9.0.14"], "title": "Component Version"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Specifies a description for the component", "title": "Component Description"}, "scope": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Scope"}, {"type": "null"}], "default": "required", "description": "Specifies the scope of the component. If scope is not specified, 'required' scope SHOULD be assumed by the consumer of the BOM.", "title": "Component Scope"}, "hashes": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Hash"}, "type": "array"}, {"type": "null"}], "title": "Component Hashes"}, "licenses": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__LicenseChoice"}, {"type": "null"}], "title": "Component License(s)"}, "copyright": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A copyright notice informing users of the underlying claims to copyright ownership in a published work.", "examples": ["Acme Inc"], "title": "Component Copyright"}, "cpe": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Specifies a well-formed CPE name that conforms to the CPE 2.2 or 2.3 specification. See [https://nvd.nist.gov/products/cpe](https://nvd.nist.gov/products/cpe)", "examples": ["cpe:2.3:a:acme:component_framework:-:*:*:*:*:*:*:*"], "title": "Component Common Platform Enumeration (CPE)"}, "purl": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Specifies the package-url (purl). The purl, if specified, MUST be valid and conform to the specification defined at: [https://github.com/package-url/purl-spec](https://github.com/package-url/purl-spec)", "examples": ["pkg:maven/com.acme/tomcat-catalina@9.0.14?packaging=jar"], "title": "Component Package URL (purl)"}, "swid": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Swid"}, {"type": "null"}], "description": "Specifies metadata and content for [ISO-IEC 19770-2 Software Identification (SWID) Tags](https://www.iso.org/standard/65666.html).", "title": "SWID Tag"}, "modified": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "description": "[Deprecated] - DO NOT USE. This will be removed in a future version. Use the pedigree element instead to supply information on exactly how the component was modified. A boolean value indicating if the component has been modified from the original. A value of true indicates the component is a derivative of the original. A value of false indicates the component has not been modified from the original.", "title": "Component Modified From Original"}, "pedigree": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Pedigree"}, {"type": "null"}], "description": "Component pedigree is a way to document complex supply chain scenarios where components are created, distributed, modified, redistributed, combined with other components, etc. Pedigree supports viewing this complex chain from the beginning, the end, or anywhere in the middle. It also provides a way to document variants where the exact relation may not be known.", "title": "Component Pedigree"}, "externalReferences": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__ExternalReference"}, "type": "array"}, {"type": "null"}], "description": "External references provide a way to document systems, sites, and information that may be relevant, but are not included with the BOM. They may also establish specific relationships within or external to the BOM.", "title": "External References"}, "components": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Component"}, "type": "array"}, {"type": "null"}], "description": "A list of software and hardware components included in the parent component. This is not a dependency tree. It provides a way to specify a hierarchical representation of component assemblies, similar to system &#8594; subsystem &#8594; parts assembly in physical supply chains.", "title": "Components"}, "evidence": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__ComponentEvidence"}, {"type": "null"}], "description": "Provides the ability to document evidence collected through various forms of extraction or analysis.", "title": "Evidence"}, "releaseNotes": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__ReleaseNotes"}, {"type": "null"}], "description": "Specifies optional release notes.", "title": "Release notes"}, "modelCard": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__ModelCard"}, {"type": "null"}], "title": "Machine Learning Model Card"}, "data": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__ComponentData"}, "type": "array"}, {"type": "null"}], "description": "This object SHOULD be specified for any component of type `data` and MUST NOT be specified for other component types.", "title": "Data"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL."}, "signature": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Signature"}, {"type": "null"}], "description": "Enveloped signature in [JSON Signature Format (JSF)](https://cyberphone.github.io/doc/security/jsf.html).", "title": "Signature"}}, "required": ["type", "name"], "title": "Component", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__ComponentData": {"additionalProperties": false, "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__RefType"}, {"type": "null"}], "description": "An optional identifier which can be used to reference the dataset elsewhere in the BOM. Every bom-ref MUST be unique within the BOM.", "title": "BOM Reference"}, "type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Type5", "title": "Type of Data"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the dataset.", "title": "Name"}, "contents": {"anyOf": [{"$ref": "#/components/schemas/Contents"}, {"type": "null"}], "description": "The contents or references to the contents of the data being described.", "title": "Data Contents"}, "classification": {"anyOf": [{"$ref": "#/components/schemas/DataClassification"}, {"type": "null"}]}, "sensitiveData": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "A description of any sensitive data in a dataset.", "title": "Sensitivedata"}, "graphics": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__GraphicsCollection"}, {"type": "null"}]}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A description of the dataset. Can describe size of dataset, whether it's used for source code, training, testing, or validation, etc.", "title": "Description"}, "governance": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__DataGovernance"}, {"type": "null"}], "title": "Data Governance"}}, "required": ["type"], "title": "ComponentData", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__ComponentEvidence": {"additionalProperties": false, "description": "Provides the ability to document evidence collected through various forms of extraction or analysis.", "properties": {"identity": {"anyOf": [{"$ref": "#/components/schemas/Identity"}, {"type": "null"}], "description": "Evidence that substantiates the identity of a component."}, "occurrences": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Occurrence"}, "type": "array"}, {"type": "null"}], "description": "Evidence of individual instances of a component spread across multiple locations.", "title": "Occurrences"}, "callstack": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Callstack"}, {"type": "null"}], "description": "Evidence of the components use through the callstack."}, "licenses": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__LicenseChoice"}, {"type": "null"}], "title": "Component License(s)"}, "copyright": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Copyright"}, "type": "array"}, {"type": "null"}], "title": "Copyright"}}, "title": "ComponentEvidence", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__ConfidenceInterval": {"additionalProperties": false, "description": "The confidence interval of the metric.", "properties": {"lowerBound": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The lower bound of the confidence interval.", "title": "Lowerbound"}, "upperBound": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The upper bound of the confidence interval.", "title": "Upperbound"}}, "title": "ConfidenceInterval", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Considerations": {"additionalProperties": false, "description": "What considerations should be taken into account regarding the model's construction, training, and application?", "properties": {"users": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "Who are the intended users of the model?", "title": "Users"}, "useCases": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "What are the intended use cases of the model?", "title": "Use Cases"}, "technicalLimitations": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "What are the known technical limitations of the model? E.g. What kind(s) of data should the model be expected not to perform well on? What are the factors that might degrade model performance?", "title": "Technical Limitations"}, "performanceTradeoffs": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "What are the known tradeoffs in accuracy/performance of the model?", "title": "Performance Tradeoffs"}, "ethicalConsiderations": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Risk"}, "type": "array"}, {"type": "null"}], "description": "What are the ethical (or environmental) risks involved in the application of this model?", "title": "Ethical Considerations"}, "fairnessAssessments": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__FairnessAssessment"}, "type": "array"}, {"type": "null"}], "description": "How does the model affect groups at risk of being systematically disadvantaged? What are the harms and benefits to the various affected groups?", "title": "Fairness Assessments"}}, "title": "Considerations", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Copyright": {"additionalProperties": false, "properties": {"text": {"title": "Copyright Text", "type": "string"}}, "required": ["text"], "title": "Copyright", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__DataFlowDirection": {"description": "Specifies the flow direction of the data. Direction is relative to the service. Inbound flow states that data enters the service. Outbound flow states that data leaves the service. Bi-directional states that data flows both ways, and unknown states that the direction is not known.", "enum": ["inbound", "outbound", "bi-directional", "unknown"], "title": "DataFlowDirection", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__DataGovernance": {"additionalProperties": false, "properties": {"custodians": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__DataGovernanceResponsibleParty"}, "type": "array"}, {"type": "null"}], "description": "Data custodians are responsible for the safe custody, transport, and storage of data.", "title": "Data Custodians"}, "stewards": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__DataGovernanceResponsibleParty"}, "type": "array"}, {"type": "null"}], "description": "Data stewards are responsible for data content, context, and associated business rules.", "title": "Data Stewards"}, "owners": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__DataGovernanceResponsibleParty"}, "type": "array"}, {"type": "null"}], "description": "Data owners are concerned with risk and appropriate access to data.", "title": "Data Owners"}}, "title": "DataGovernance", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__DataGovernanceResponsibleParty": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__DataGovernanceResponsibleParty1"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__DataGovernanceResponsibleParty2"}], "title": "DataGovernanceResponsibleParty"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__DataGovernanceResponsibleParty1": {"additionalProperties": false, "properties": {"organization": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__OrganizationalEntity", "title": "Organization"}, "contact": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__OrganizationalContact"}, {"type": "null"}], "title": "Individual"}}, "required": ["organization"], "title": "DataGovernanceResponsibleParty1", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__DataGovernanceResponsibleParty2": {"additionalProperties": false, "properties": {"organization": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__OrganizationalEntity"}, {"type": "null"}], "title": "Organization"}, "contact": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__OrganizationalContact", "title": "Individual"}}, "required": ["contact"], "title": "DataGovernanceResponsibleParty2", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Datasets": {"additionalProperties": false, "properties": {"ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__RefLinkType"}, {"$ref": "#/components/schemas/BomLinkElementType"}, {"type": "null"}], "description": "References a data component by the components bom-ref attribute", "title": "Reference"}}, "title": "Datasets", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Diff": {"additionalProperties": false, "description": "The patch file (or diff) that show changes. Refer to https://en.wikipedia.org/wiki/Diff", "properties": {"text": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Attachment"}, {"type": "null"}], "description": "Specifies the optional text of the diff", "title": "Diff text"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Specifies the URL to the diff", "title": "URL"}}, "title": "Diff", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Encoding": {"description": "Specifies the optional encoding the text is represented in.", "enum": ["base64"], "title": "Encoding", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__ExternalReference": {"additionalProperties": false, "description": "External references provide a way to document systems, sites, and information that may be relevant, but are not included with the BOM. They may also establish specific relationships within or external to the BOM.", "properties": {"url": {"anyOf": [{"type": "string"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__BomLink"}], "description": "The URI (URL or URN) to the external reference. External references are URIs and therefore can accept any URL scheme including https ([RFC-7230](https://www.ietf.org/rfc/rfc7230.txt)), mailto ([RFC-2368](https://www.ietf.org/rfc/rfc2368.txt)), tel ([RFC-3966](https://www.ietf.org/rfc/rfc3966.txt)), and dns ([RFC-4501](https://www.ietf.org/rfc/rfc4501.txt)). External references may also include formally registered URNs such as [CycloneDX BOM-Link](https://cyclonedx.org/capabilities/bomlink/) to reference CycloneDX BOMs or any object within a BOM. BOM-Link transforms applicable external references into relationships that can be expressed in a BOM or across BOMs.", "title": "URL"}, "comment": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "An optional comment describing the external reference", "title": "Comment"}, "type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Type3", "title": "Type"}, "hashes": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Hash"}, "type": "array"}, {"type": "null"}], "description": "The hashes of the external reference (if applicable).", "title": "Hashes"}}, "required": ["url", "type"], "title": "ExternalReference", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__FairnessAssessment": {"additionalProperties": false, "description": "Information about the benefits and harms of the model to an identified at risk group.", "properties": {"groupAtRisk": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The groups or individuals at risk of being systematically disadvantaged by the model.", "title": "Groupatrisk"}, "benefits": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Expected benefits to the identified groups.", "title": "Benefits"}, "harms": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Expected harms to the identified groups.", "title": "Harms"}, "mitigationStrategy": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "With respect to the benefits and harms outlined, please describe any mitigation strategy implemented.", "title": "Mitigationstrategy"}}, "title": "FairnessAssessment", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__FieldModel": {"description": "The identity field of the component which the evidence describes.", "enum": ["group", "name", "version", "purl", "cpe", "swid", "hash"], "title": "FieldModel", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Frame": {"additionalProperties": false, "properties": {"package": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A package organizes modules into namespaces, providing a unique namespace for each type it contains.", "title": "Package"}, "module": {"description": "A module or class that encloses functions/methods and other code.", "title": "Module", "type": "string"}, "function": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A block of code designed to perform a particular task.", "title": "Function"}, "parameters": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "Optional arguments that are passed to the module or function.", "title": "Parameters"}, "line": {"anyOf": [{"type": "integer"}, {"type": "null"}], "description": "The line number the code that is called resides on.", "title": "Line"}, "column": {"anyOf": [{"type": "integer"}, {"type": "null"}], "description": "The column the code that is called resides.", "title": "Column"}, "fullFilename": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The full path and filename of the module.", "title": "Full Filename"}}, "required": ["module"], "title": "Frame", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Graphic": {"additionalProperties": false, "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the graphic.", "title": "Name"}, "image": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Attachment"}, {"type": "null"}], "description": "The graphic (vector or raster). Base64 encoding MUST be specified for binary images.", "title": "Graphic Image"}}, "title": "Graphic", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__GraphicsCollection": {"additionalProperties": false, "description": "A collection of graphics that represent various measurements.", "properties": {"description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A description of this collection of graphics.", "title": "Description"}, "collection": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Graphic"}, "type": "array"}, {"type": "null"}], "description": "A collection of graphics.", "title": "Collection"}}, "title": "GraphicsCollection", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Hash": {"additionalProperties": false, "properties": {"alg": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__HashAlg"}, "content": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__HashContent"}}, "required": ["alg", "content"], "title": "Hash", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__HashAlg": {"enum": ["MD5", "SHA-1", "SHA-256", "SHA-384", "SHA-512", "SHA3-256", "SHA3-384", "SHA3-512", "BLAKE2b-256", "BLAKE2b-384", "BLAKE2b-512", "BLAKE3"], "title": "HashAlg", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__HashContent": {"examples": ["3942447fac867ae5cdb3229b658f4d48"], "pattern": "^([a-fA-F0-9]{32}|[a-fA-F0-9]{40}|[a-fA-F0-9]{64}|[a-fA-F0-9]{96}|[a-fA-F0-9]{128})$", "title": "Hash Content (value)", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__IdentifiableAction": {"additionalProperties": false, "description": "Specifies an individual commit", "properties": {"timestamp": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The timestamp in which the action occurred", "title": "Timestamp"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the individual who performed the action", "title": "Name"}, "email": {"anyOf": [{"format": "email", "type": "string"}, {"type": "null"}], "description": "The email address of the individual who performed the action", "title": "E-mail"}}, "title": "IdentifiableAction", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__InputOutputMLParameters": {"additionalProperties": false, "properties": {"format": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The data format for input/output to the model. Example formats include string, image, time-series", "title": "Format"}}, "title": "InputOutputMLParameters", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Issue": {"additionalProperties": false, "description": "An individual issue that has been resolved.", "properties": {"type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Type2", "title": "Type"}, "id": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The identifier of the issue assigned by the source of the issue", "title": "ID"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the issue", "title": "Name"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A description of the issue", "title": "Description"}, "source": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Source"}, {"type": "null"}], "description": "The source of the issue where it is documented", "title": "Source"}, "references": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "A collection of URL's for reference. Multiple URLs are allowed.", "examples": ["https://example.com"], "title": "References"}}, "required": ["type"], "title": "Issue", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__KeyType": {"description": "Key type indicator.", "enum": ["EC", "OKP", "RSA"], "title": "KeyType", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__LicenseChoice": {"description": "EITHER (list of SPDX licenses and/or named licenses) OR (tuple of one SPDX License Expression)", "items": {}, "title": "License Choice", "type": "array"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Lifecycles": {"additionalProperties": false, "description": "The product lifecycle(s) that this BOM represents.", "properties": {"phase": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Phase"}}, "required": ["phase"], "title": "Lifecycles", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Lifecycles1": {"additionalProperties": false, "description": "The product lifecycle(s) that this BOM represents.", "properties": {"name": {"description": "The name of the lifecycle phase", "title": "Name", "type": "string"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The description of the lifecycle phase", "title": "Description"}}, "required": ["name"], "title": "Lifecycles1", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__LocaleType": {"description": "Defines a syntax for representing two character language code (ISO-639) followed by an optional two character country code. The language code MUST be lower case. If the country code is specified, the country code MUST be upper case. The language code and country code MUST be separated by a minus sign. Examples: en, en-US, fr, fr-CA", "pattern": "^([a-z]{2})(-[A-Z]{2})?$", "title": "Locale", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Metadata": {"additionalProperties": false, "properties": {"timestamp": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the BOM was created.", "title": "Timestamp"}, "lifecycles": {"anyOf": [{"items": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Lifecycles"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Lifecycles1"}]}, "type": "array"}, {"type": "null"}], "description": "", "title": "Lifecycles"}, "tools": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Tools"}, {"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Tool"}, "type": "array"}, {"type": "null"}], "title": "Tools"}, "authors": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__OrganizationalContact"}, "type": "array"}, {"type": "null"}], "description": "The person(s) who created the BOM. Authors are common in BOMs created through manual processes. BOMs created through automated means may not have authors.", "title": "Authors"}, "component": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Component"}, {"type": "null"}], "description": "The component that the BOM describes.", "title": "Component"}, "manufacture": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__OrganizationalEntity"}, {"type": "null"}], "description": "The organization that manufactured the component that the BOM describes.", "title": "Manufacture"}, "supplier": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__OrganizationalEntity"}, {"type": "null"}], "description": " The organization that supplied the component that the BOM describes. The supplier may often be the manufacturer, but may also be a distributor or repackager.", "title": "Supplier"}, "licenses": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__LicenseChoice"}, {"type": "null"}], "title": "BOM License(s)"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL."}}, "title": "Metadata", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Method": {"additionalProperties": false, "properties": {"technique": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Technique"}, "confidence": {"description": "The confidence of the evidence from 0 - 1, where 1 is 100% confidence. Confidence is specific to the technique used. Each technique of analysis can have independent confidence.", "maximum": 1.0, "minimum": 0.0, "title": "Confidence", "type": "number"}, "value": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The value or contents of the evidence.", "title": "Value"}}, "required": ["technique", "confidence"], "title": "Method", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__ModelCard": {"additionalProperties": false, "description": "A model card describes the intended uses of a machine learning model and potential limitations, including biases and ethical considerations. Model cards typically contain the training parameters, which datasets were used to train the model, performance metrics, and other relevant data useful for ML transparency. This object SHOULD be specified for any component of type `machine-learning-model` and MUST NOT be specified for other component types.", "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__RefType"}, {"type": "null"}], "description": "An optional identifier which can be used to reference the model card elsewhere in the BOM. Every bom-ref MUST be unique within the BOM.", "title": "BOM Reference"}, "modelParameters": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__ModelParameters"}, {"type": "null"}], "description": "Hyper-parameters for construction of the model.", "title": "Model Parameters"}, "quantitativeAnalysis": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__QuantitativeAnalysis"}, {"type": "null"}], "description": "A quantitative analysis of the model", "title": "Quantitative Analysis"}, "considerations": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Considerations"}, {"type": "null"}], "description": "What considerations should be taken into account regarding the model's construction, training, and application?", "title": "Considerations"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL."}}, "title": "ModelCard", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__ModelParameters": {"additionalProperties": false, "description": "Hyper-parameters for construction of the model.", "properties": {"approach": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Approach"}, {"type": "null"}], "description": "The overall approach to learning used by the model for problem solving.", "title": "Approach"}, "task": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Directly influences the input and/or output. Examples include classification, regression, clustering, etc.", "title": "Task"}, "architectureFamily": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The model architecture family such as transformer network, convolutional neural network, residual neural network, LSTM neural network, etc.", "title": "Architecture Family"}, "modelArchitecture": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The specific architecture of the model such as GPT-1, ResNet-50, YOLOv3, etc.", "title": "Model Architecture"}, "datasets": {"anyOf": [{"items": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__ComponentData"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Datasets"}]}, "type": "array"}, {"type": "null"}], "description": "The datasets used to train and evaluate the model.", "title": "Datasets"}, "inputs": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__InputOutputMLParameters"}, "type": "array"}, {"type": "null"}], "description": "The input format(s) of the model", "title": "Inputs"}, "outputs": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__InputOutputMLParameters"}, "type": "array"}, {"type": "null"}], "description": "The output format(s) from the model", "title": "Outputs"}}, "title": "ModelParameters", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Note": {"additionalProperties": false, "description": "A note containing the locale and content.", "properties": {"locale": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__LocaleType"}, {"type": "null"}], "description": "The ISO-639 (or higher) language code and optional ISO-3166 (or higher) country code. Examples include: \"en\", \"en-US\", \"fr\" and \"fr-CA\"", "title": "Locale"}, "text": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Attachment", "description": "Specifies the full content of the release note.", "title": "Release note content"}}, "required": ["text"], "title": "Note", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Occurrence": {"additionalProperties": false, "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__RefType"}, {"type": "null"}], "description": "An optional identifier which can be used to reference the occurrence elsewhere in the BOM. Every bom-ref MUST be unique within the BOM.", "title": "BOM Reference"}, "location": {"description": "The location or path to where the component was found.", "title": "Location", "type": "string"}}, "required": ["location"], "title": "Occurrence", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__OrganizationalContact": {"properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__RefType"}, {"type": "null"}], "description": "An optional identifier which can be used to reference the object elsewhere in the BOM. Every bom-ref MUST be unique within the BOM.", "title": "BOM Reference"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of a contact", "examples": ["Contact name"], "title": "Name"}, "email": {"anyOf": [{"format": "email", "type": "string"}, {"type": "null"}], "description": "The email address of the contact.", "examples": ["firstname.lastname@example.com"], "title": "Email Address"}, "phone": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The phone number of the contact.", "examples": ["800-555-1212"], "title": "Phone"}}, "title": "OrganizationalContact", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__OrganizationalEntity": {"additionalProperties": false, "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__RefType"}, {"type": "null"}], "description": "An optional identifier which can be used to reference the object elsewhere in the BOM. Every bom-ref MUST be unique within the BOM.", "title": "BOM Reference"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the organization", "examples": ["Example Inc."], "title": "Name"}, "url": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "The URL of the organization. Multiple URLs are allowed.", "examples": ["https://example.com"], "title": "URL"}, "contact": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__OrganizationalContact"}, "type": "array"}, {"type": "null"}], "description": "A contact at the organization. Multiple contacts are allowed.", "title": "Contact"}}, "title": "OrganizationalEntity", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Patch": {"additionalProperties": false, "description": "Specifies an individual patch", "properties": {"type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Type1", "title": "Type"}, "diff": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Diff"}, {"type": "null"}], "description": "The patch file (or diff) that show changes. Refer to [https://en.wikipedia.org/wiki/Diff](https://en.wikipedia.org/wiki/Diff)", "title": "Diff"}, "resolves": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Issue"}, "type": "array"}, {"type": "null"}], "description": "A collection of issues the patch resolves", "title": "Resolves"}}, "required": ["type"], "title": "Patch", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Pedigree": {"additionalProperties": false, "description": "Component pedigree is a way to document complex supply chain scenarios where components are created, distributed, modified, redistributed, combined with other components, etc. Pedigree supports viewing this complex chain from the beginning, the end, or anywhere in the middle. It also provides a way to document variants where the exact relation may not be known.", "properties": {"ancestors": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Component"}, "type": "array"}, {"type": "null"}], "description": "Describes zero or more components in which a component is derived from. This is commonly used to describe forks from existing projects where the forked version contains a ancestor node containing the original component it was forked from. For example, Component A is the original component. Component B is the component being used and documented in the BOM. However, Component B contains a pedigree node with a single ancestor documenting Component A - the original component from which Component B is derived from.", "title": "Ancestors"}, "descendants": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Component"}, "type": "array"}, {"type": "null"}], "description": "Descendants are the exact opposite of ancestors. This provides a way to document all forks (and their forks) of an original or root component.", "title": "Descendants"}, "variants": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Component"}, "type": "array"}, {"type": "null"}], "description": "Variants describe relations where the relationship between the components are not known. For example, if Component A contains nearly identical code to Component B. They are both related, but it is unclear if one is derived from the other, or if they share a common ancestor.", "title": "Variants"}, "commits": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Commit"}, "type": "array"}, {"type": "null"}], "description": "A list of zero or more commits which provide a trail describing how the component deviates from an ancestor, descendant, or variant.", "title": "Commits"}, "patches": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Patch"}, "type": "array"}, {"type": "null"}], "description": ">A list of zero or more patches describing how the component deviates from an ancestor, descendant, or variant. Patches may be complimentary to commits or may be used in place of commits.", "title": "Patches"}, "notes": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Notes, observations, and other non-structured commentary describing the components pedigree.", "title": "Notes"}}, "title": "Pedigree", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__PerformanceMetric": {"additionalProperties": false, "properties": {"type": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The type of performance metric.", "title": "Type"}, "value": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The value of the performance metric.", "title": "Value"}, "slice": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the slice this metric was computed on. By default, assume this metric is not sliced.", "title": "Slice"}, "confidenceInterval": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__ConfidenceInterval"}, {"type": "null"}], "description": "The confidence interval of the metric."}}, "title": "PerformanceMetric", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Phase": {"description": "A pre-defined phase in the product lifecycle.\n\n* __design__ = BOM produced early in the development lifecycle containing inventory of components and services that are proposed or planned to be used. The inventory may need to be procured, retrieved, or resourced prior to use.\n* __pre-build__ = BOM consisting of information obtained prior to a build process and may contain source files and development artifacts and manifests. The inventory may need to be resolved and retrieved prior to use.\n* __build__ = BOM consisting of information obtained during a build process where component inventory is available for use. The precise versions of resolved components are usually available at this time as well as the provenance of where the components were retrieved from.\n* __post-build__ = BOM consisting of information obtained after a build process has completed and the resulting components(s) are available for further analysis. Built components may exist as the result of a CI/CD process, may have been installed or deployed to a system or device, and may need to be retrieved or extracted from the system or device.\n* __operations__ = BOM produced that represents inventory that is running and operational. This may include staging or production environments and will generally encompass multiple SBOMs describing the applications and operating system, along with HBOMs describing the hardware that makes up the system. Operations Bill of Materials (OBOM) can provide full-stack inventory of runtime environments, configurations, and additional dependencies.\n* __discovery__ = BOM consisting of information observed through network discovery providing point-in-time enumeration of embedded, on-premise, and cloud-native services such as server applications, connected devices, microservices, and serverless functions.\n* __decommission__ = BOM containing inventory that will be, or has been retired from operations.", "enum": ["design", "pre-build", "build", "post-build", "operations", "discovery", "decommission"], "title": "Phase", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Property": {"description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL.", "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the property. Duplicate names are allowed, each potentially having a different value.", "title": "Name"}, "value": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The value of the property.", "title": "Value"}}, "title": "Property", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__PublicKey": {"additionalProperties": true, "description": "Optional. Public key object.", "properties": {"kty": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__KeyType"}}, "required": ["kty"], "title": "PublicKey", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__QuantitativeAnalysis": {"additionalProperties": false, "description": "A quantitative analysis of the model", "properties": {"performanceMetrics": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__PerformanceMetric"}, "type": "array"}, {"type": "null"}], "description": "The model performance metrics being reported. Examples may include accuracy, F1 score, precision, top-3 error rates, MSC, etc.", "title": "Performance Metrics"}, "graphics": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__GraphicsCollection"}, {"type": "null"}]}}, "title": "QuantitativeAnalysis", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__RefLinkType": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__RefType", "description": "Reference link to an element identified by the attribute 'bom-ref' in the same BOM document.\n\nThis class is a ``pydantic.RootModel[RefType]`` wrapper: its value is represented and\nserialized as the underlying ``RefType`` string (the 'bom-ref' identifier) rather\nthan as an object with a 'root' field. It replaces the empty ``BaseModel`` that\n``datamodel-codegen`` originally generated for the JSON Schema construct\n``\"allOf\": [{\"$ref\": \"#/definitions/refType\"}]``, aligning the model with the schema\nand with other ``RefType`` usages in this module.\n\nIn contrast to ``BomLinkElementType``, which uses BOM-Link URNs for cross-document\nreferences, ``RefLinkType`` only allows local 'bom-ref' identifiers within the same\nBOM document.", "title": "RefLinkType"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__RefType": {"description": "Identifier for referable and therefore interlink-able elements.", "minLength": 1, "title": "RefType", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__ReleaseNotes": {"additionalProperties": false, "properties": {"type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__ReleaseType", "description": "The software versioning type the release note describes.", "title": "Type"}, "title": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The title of the release.", "title": "Title"}, "featuredImage": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to an image that may be prominently displayed with the release note.", "title": "Featured image"}, "socialImage": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to an image that may be used in messaging on social media platforms.", "title": "Social image"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A short description of the release.", "title": "Description"}, "timestamp": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the release note was created.", "title": "Timestamp"}, "aliases": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "One or more alternate names the release may be referred to. This may include unofficial terms used by development and marketing teams (e.g. code names).", "title": "Aliases"}, "tags": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "One or more tags that may aid in search or retrieval of the release note.", "title": "Tags"}, "resolves": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Issue"}, "type": "array"}, {"type": "null"}], "description": "A collection of issues that have been resolved.", "title": "Resolves"}, "notes": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Note"}, "type": "array"}, {"type": "null"}], "description": "Zero or more release notes containing the locale and content. Multiple note objects may be specified to support release notes in a wide variety of languages.", "title": "Notes"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL."}}, "required": ["type"], "title": "ReleaseNotes", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__ReleaseType": {"description": "The software versioning type. It is RECOMMENDED that the release type use one of 'major', 'minor', 'patch', 'pre-release', or 'internal'. Representing all possible software release types is not practical, so standardizing on the recommended values, whenever possible, is strongly encouraged.\n\n* __major__ = A major release may contain significant changes or may introduce breaking changes.\n* __minor__ = A minor release, also known as an update, may contain a smaller number of changes than major releases.\n* __patch__ = Patch releases are typically unplanned and may resolve defects or important security issues.\n* __pre-release__ = A pre-release may include alpha, beta, or release candidates and typically have limited support. They provide the ability to preview a release prior to its general availability.\n* __internal__ = Internal releases are not for public consumption and are intended to be used exclusively by the project or manufacturer that produced it.", "examples": ["major", "minor", "patch", "pre-release", "internal"], "title": "ReleaseType", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Risk": {"additionalProperties": false, "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the risk.", "title": "Name"}, "mitigationStrategy": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Strategy used to address this risk.", "title": "Mitigationstrategy"}}, "title": "Risk", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Scope": {"description": "Specifies the scope of the component. If scope is not specified, 'required' scope SHOULD be assumed by the consumer of the BOM.", "enum": ["required", "optional", "excluded"], "title": "Scope", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Service": {"additionalProperties": false, "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__RefType"}, {"type": "null"}], "description": "An optional identifier which can be used to reference the service elsewhere in the BOM. Every bom-ref MUST be unique within the BOM.", "title": "BOM Reference"}, "provider": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__OrganizationalEntity"}, {"type": "null"}], "description": "The organization that provides the service.", "title": "Provider"}, "group": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The grouping name, namespace, or identifier. This will often be a shortened, single name of the company or project that produced the service or domain name. Whitespace and special characters should be avoided.", "examples": ["com.acme"], "title": "Service Group"}, "name": {"description": "The name of the service. This will often be a shortened, single name of the service.", "examples": ["ticker-service"], "title": "Service Name", "type": "string"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The service version.", "examples": ["1.0.0"], "title": "Service Version"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Specifies a description for the service", "title": "Service Description"}, "endpoints": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "The endpoint URIs of the service. Multiple endpoints are allowed.", "examples": ["https://example.com/api/v1/ticker"], "title": "Endpoints"}, "authenticated": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "description": "A boolean value indicating if the service requires authentication. A value of true indicates the service requires authentication prior to use. A value of false indicates the service does not require authentication.", "title": "Authentication Required"}, "x-trust-boundary": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "description": "A boolean value indicating if use of the service crosses a trust zone or boundary. A value of true indicates that by using the service, a trust boundary is crossed. A value of false indicates that by using the service, a trust boundary is not crossed.", "title": "Crosses Trust Boundary"}, "trustZone": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the trust zone the service resides in.", "title": "Trust Zone"}, "data": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__ServiceData"}, "type": "array"}, {"type": "null"}], "description": "Specifies information about the data including the directional flow of data and the data classification.", "title": "Data"}, "licenses": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__LicenseChoice"}, {"type": "null"}], "title": "Component License(s)"}, "externalReferences": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__ExternalReference"}, "type": "array"}, {"type": "null"}], "description": "External references provide a way to document systems, sites, and information that may be relevant, but are not included with the BOM. They may also establish specific relationships within or external to the BOM.", "title": "External References"}, "services": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Service"}, "type": "array"}, {"type": "null"}], "description": "A list of services included or deployed behind the parent service. This is not a dependency tree. It provides a way to specify a hierarchical representation of service assemblies.", "title": "Services"}, "releaseNotes": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__ReleaseNotes"}, {"type": "null"}], "description": "Specifies optional release notes.", "title": "Release notes"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL."}, "signature": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Signature"}, {"type": "null"}], "description": "Enveloped signature in [JSON Signature Format (JSF)](https://cyberphone.github.io/doc/security/jsf.html).", "title": "Signature"}}, "required": ["name"], "title": "Service", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__ServiceData": {"additionalProperties": false, "properties": {"flow": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__DataFlowDirection", "title": "Directional Flow"}, "classification": {"$ref": "#/components/schemas/DataClassification"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Name for the defined data", "examples": ["Credit card reporting"], "title": "Name"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Short description of the data content and usage", "examples": ["Credit card information being exchanged in between the web app and the database"], "title": "Description"}, "governance": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__DataGovernance"}, {"type": "null"}], "title": "Data Governance"}, "source": {"anyOf": [{"items": {"anyOf": [{"type": "string"}, {"$ref": "#/components/schemas/BomLinkElementType"}]}, "type": "array"}, {"type": "null"}], "description": "The URI, URL, or BOM-Link of the components or services the data came in from", "title": "Source"}, "destination": {"anyOf": [{"items": {"anyOf": [{"type": "string"}, {"$ref": "#/components/schemas/BomLinkElementType"}]}, "type": "array"}, {"type": "null"}], "description": "The URI, URL, or BOM-Link of the components or services the data is sent to", "title": "Destination"}}, "required": ["flow", "classification"], "title": "ServiceData", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Signature": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Signature1"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Signature2"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Signer"}], "title": "Signature"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Signature1": {"additionalProperties": false, "properties": {"signers": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Signer"}, "type": "array"}, {"type": "null"}], "description": "Unique top level property for Multiple Signatures. (multisignature)", "title": "Signature"}}, "title": "Signature1", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Signature2": {"additionalProperties": false, "properties": {"chain": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Signer"}, "type": "array"}, {"type": "null"}], "description": "Unique top level property for Signature Chains. (signaturechain)", "title": "Signature"}}, "title": "Signature2", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Signer": {"additionalProperties": false, "properties": {"algorithm": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Algorithm"}, {"format": "uri", "minLength": 1, "type": "string"}], "title": "Algorithm"}, "keyId": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Optional. Application specific string identifying the signature key.", "title": "Key ID"}, "publicKey": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__PublicKey"}, {"type": "null"}], "description": "Optional. Public key object.", "title": "Public key"}, "certificatePath": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "Optional. Sorted array of X.509 [RFC5280] certificates, where the first element must contain the signature certificate. The certificate path must be contiguous but is not required to be complete.", "title": "Certificate path"}, "excludes": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "Optional. Array holding the names of one or more application level properties that must be excluded from the signature process. Note that the \"excludes\" property itself, must also be excluded from the signature process. Since both the \"excludes\" property and the associated data it points to are unsigned, a conforming JSF implementation must provide options for specifying which properties to accept.", "title": "Excludes"}, "value": {"description": "The signature data. Note that the binary representation must follow the JWA [RFC7518] specifications.", "title": "Signature", "type": "string"}}, "required": ["algorithm", "value"], "title": "Signer", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Source": {"additionalProperties": false, "description": "The source of the issue where it is documented", "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the source. For example 'National Vulnerability Database', 'NVD', and 'Apache'", "title": "Name"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The url of the issue documentation as provided by the source", "title": "URL"}}, "title": "Source", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Swid": {"additionalProperties": false, "description": "Specifies metadata and content for ISO-IEC 19770-2 Software Identification (SWID) Tags.", "properties": {"tagId": {"description": "Maps to the tagId of a SoftwareIdentity.", "title": "Tag ID", "type": "string"}, "name": {"description": "Maps to the name of a SoftwareIdentity.", "title": "Name", "type": "string"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": "0.0", "description": "Maps to the version of a SoftwareIdentity.", "title": "Version"}, "tagVersion": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": 0, "description": "Maps to the tagVersion of a SoftwareIdentity.", "title": "Tag Version"}, "patch": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": false, "description": "Maps to the patch of a SoftwareIdentity.", "title": "Patch"}, "text": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Attachment"}, {"type": "null"}], "description": "Specifies the metadata and content of the SWID tag.", "title": "Attachment text"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to the SWID file.", "title": "URL"}}, "required": ["tagId", "name"], "title": "Swid", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Technique": {"description": "The technique used in this method of analysis.", "enum": ["source-code-analysis", "binary-analysis", "manifest-analysis", "ast-fingerprint", "hash-comparison", "instrumentation", "dynamic-analysis", "filename", "attestation", "other"], "title": "Technique", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Tool": {"additionalProperties": false, "description": "[Deprecated] - DO NOT USE. This will be removed in a future version. This will be removed in a future version. Use component or service instead. Information about the automated or manual tool used", "properties": {"vendor": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the vendor who created the tool", "title": "Tool Vendor"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the tool", "title": "Tool Name"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The version of the tool", "title": "Tool Version"}, "hashes": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Hash"}, "type": "array"}, {"type": "null"}], "description": "The hashes of the tool (if applicable).", "title": "Hashes"}, "externalReferences": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__ExternalReference"}, "type": "array"}, {"type": "null"}], "description": "External references provide a way to document systems, sites, and information that may be relevant, but are not included with the BOM. They may also establish specific relationships within or external to the BOM.", "title": "External References"}}, "title": "Tool", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Tools": {"additionalProperties": false, "description": "The tool(s) used in the creation of the BOM.", "properties": {"components": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Component"}, "type": "array"}, {"type": "null"}], "description": "A list of software and hardware components used as tools", "title": "Components"}, "services": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Service"}, "type": "array"}, {"type": "null"}], "description": "A list of services used as tools. This may include microservices, function-as-a-service, and other types of network or intra-process services.", "title": "Services"}}, "title": "Tools", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Type": {"description": "Specifies the type of component. For software components, classify as application if no more specific appropriate classification is available or cannot be determined for the component. Types include:\n\n* __application__ = A software application. Refer to [https://en.wikipedia.org/wiki/Application_software](https://en.wikipedia.org/wiki/Application_software) for information about applications.\n* __framework__ = A software framework. Refer to [https://en.wikipedia.org/wiki/Software_framework](https://en.wikipedia.org/wiki/Software_framework) for information on how frameworks vary slightly from libraries.\n* __library__ = A software library. Refer to [https://en.wikipedia.org/wiki/Library_(computing)](https://en.wikipedia.org/wiki/Library_(computing))\n for information about libraries. All third-party and open source reusable components will likely be a library. If the library also has key features of a framework, then it should be classified as a framework. If not, or is unknown, then specifying library is RECOMMENDED.\n* __container__ = A packaging and/or runtime format, not specific to any particular technology, which isolates software inside the container from software outside of a container through virtualization technology. Refer to [https://en.wikipedia.org/wiki/OS-level_virtualization](https://en.wikipedia.org/wiki/OS-level_virtualization)\n* __platform__ = A runtime environment which interprets or executes software. This may include runtimes such as those that execute bytecode or low-code/no-code application platforms.\n* __operating-system__ = A software operating system without regard to deployment model (i.e. installed on physical hardware, virtual machine, image, etc) Refer to [https://en.wikipedia.org/wiki/Operating_system](https://en.wikipedia.org/wiki/Operating_system)\n* __device__ = A hardware device such as a processor, or chip-set. A hardware device containing firmware SHOULD include a component for the physical hardware itself, and another component of type 'firmware' or 'operating-system' (whichever is relevant), describing information about the software running on the device.\n  See also the list of [known device properties](https://github.com/CycloneDX/cyclonedx-property-taxonomy/blob/main/cdx/device.md).\n* __device-driver__ = A special type of software that operates or controls a particular type of device. Refer to [https://en.wikipedia.org/wiki/Device_driver](https://en.wikipedia.org/wiki/Device_driver)\n* __firmware__ = A special type of software that provides low-level control over a devices hardware. Refer to [https://en.wikipedia.org/wiki/Firmware](https://en.wikipedia.org/wiki/Firmware)\n* __file__ = A computer file. Refer to [https://en.wikipedia.org/wiki/Computer_file](https://en.wikipedia.org/wiki/Computer_file) for information about files.\n* __machine-learning-model__ = A model based on training data that can make predictions or decisions without being explicitly programmed to do so.\n* __data__ = A collection of discrete values that convey information.", "enum": ["application", "framework", "library", "container", "platform", "operating-system", "device", "device-driver", "firmware", "file", "machine-learning-model", "data"], "title": "Type", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Type1": {"description": "Specifies the purpose for the patch including the resolution of defects, security issues, or new behavior or functionality.\n\n* __unofficial__ = A patch which is not developed by the creators or maintainers of the software being patched. Refer to [https://en.wikipedia.org/wiki/Unofficial_patch](https://en.wikipedia.org/wiki/Unofficial_patch)\n* __monkey__ = A patch which dynamically modifies runtime behavior. Refer to [https://en.wikipedia.org/wiki/Monkey_patch](https://en.wikipedia.org/wiki/Monkey_patch)\n* __backport__ = A patch which takes code from a newer version of software and applies it to older versions of the same software. Refer to [https://en.wikipedia.org/wiki/Backporting](https://en.wikipedia.org/wiki/Backporting)\n* __cherry-pick__ = A patch created by selectively applying commits from other versions or branches of the same software.", "enum": ["unofficial", "monkey", "backport", "cherry-pick"], "title": "Type1", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Type2": {"description": "Specifies the type of issue", "enum": ["defect", "enhancement", "security"], "title": "Type2", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Type3": {"description": "Specifies the type of external reference.\n\n* __vcs__ = Version Control System\n* __issue-tracker__ = Issue or defect tracking system, or an Application Lifecycle Management (ALM) system\n* __website__ = Website\n* __advisories__ = Security advisories\n* __bom__ = Bill of Materials (SBOM, OBOM, HBOM, SaaSBOM, etc)\n* __mailing-list__ = Mailing list or discussion group\n* __social__ = Social media account\n* __chat__ = Real-time chat platform\n* __documentation__ = Documentation, guides, or how-to instructions\n* __support__ = Community or commercial support\n* __distribution__ = Direct or repository download location\n* __distribution-intake__ = The location where a component was published to. This is often the same as \"distribution\" but may also include specialized publishing processes that act as an intermediary\n* __license__ = The URL to the license file. If a license URL has been defined in the license node, it should also be defined as an external reference for completeness\n* __build-meta__ = Build-system specific meta file (i.e. pom.xml, package.json, .nuspec, etc)\n* __build-system__ = URL to an automated build system\n* __release-notes__ = URL to release notes\n* __security-contact__ = Specifies a way to contact the maintainer, supplier, or provider in the event of a security incident. Common URIs include links to a disclosure procedure, a mailto (RFC-2368) that specifies an email address, a tel (RFC-3966) that specifies a phone number, or dns (RFC-4501) that specifies the records containing DNS Security TXT\n* __model-card__ = A model card describes the intended uses of a machine learning model, potential limitations, biases, ethical considerations, training parameters, datasets used to train the model, performance metrics, and other relevant data useful for ML transparency\n* __log__ = A record of events that occurred in a computer system or application, such as problems, errors, or information on current operations\n* __configuration__ = Parameters or settings that may be used by other components or services\n* __evidence__ = Information used to substantiate a claim\n* __formulation__ = Describes how a component or service was manufactured or deployed\n* __attestation__ = Human or machine-readable statements containing facts, evidence, or testimony\n* __threat-model__ = An enumeration of identified weaknesses, threats, and countermeasures, dataflow diagram (DFD), attack tree, and other supporting documentation in human-readable or machine-readable format\n* __adversary-model__ = The defined assumptions, goals, and capabilities of an adversary.\n* __risk-assessment__ = Identifies and analyzes the potential of future events that may negatively impact individuals, assets, and/or the environment. Risk assessments may also include judgments on the tolerability of each risk.\n* __vulnerability-assertion__ = A Vulnerability Disclosure Report (VDR) which asserts the known and previously unknown vulnerabilities that affect a component, service, or product including the analysis and findings describing the impact (or lack of impact) that the reported vulnerability has on a component, service, or product.\n* __exploitability-statement__ = A Vulnerability Exploitability eXchange (VEX) which asserts the known vulnerabilities that do not affect a product, product family, or organization, and optionally the ones that do. The VEX should include the analysis and findings describing the impact (or lack of impact) that the reported vulnerability has on the product, product family, or organization.\n* __pentest-report__ = Results from an authorized simulated cyberattack on a component or service, otherwise known as a penetration test\n* __static-analysis-report__ = SARIF or proprietary machine or human-readable report for which static analysis has identified code quality, security, and other potential issues with the source code\n* __dynamic-analysis-report__ = Dynamic analysis report that has identified issues such as vulnerabilities and misconfigurations\n* __runtime-analysis-report__ = Report generated by analyzing the call stack of a running application\n* __component-analysis-report__ = Report generated by Software Composition Analysis (SCA), container analysis, or other forms of component analysis\n* __maturity-report__ = Report containing a formal assessment of an organization, business unit, or team against a maturity model\n* __certification-report__ = Industry, regulatory, or other certification from an accredited (if applicable) certification body\n* __quality-metrics__ = Report or system in which quality metrics can be obtained\n* __codified-infrastructure__ = Code or configuration that defines and provisions virtualized infrastructure, commonly referred to as Infrastructure as Code (IaC)\n* __poam__ = Plans of Action and Milestones (POAM) compliment an \"attestation\" external reference. POAM is defined by NIST as a \"document that identifies tasks needing to be accomplished. It details resources required to accomplish the elements of the plan, any milestones in meeting the tasks and scheduled completion dates for the milestones\".\n* __other__ = Use this if no other types accurately describe the purpose of the external reference", "enum": ["vcs", "issue-tracker", "website", "advisories", "bom", "mailing-list", "social", "chat", "documentation", "support", "distribution", "distribution-intake", "license", "build-meta", "build-system", "release-notes", "security-contact", "model-card", "log", "configuration", "evidence", "formulation", "attestation", "threat-model", "adversary-model", "risk-assessment", "vulnerability-assertion", "exploitability-statement", "pentest-report", "static-analysis-report", "dynamic-analysis-report", "runtime-analysis-report", "component-analysis-report", "maturity-report", "certification-report", "codified-infrastructure", "quality-metrics", "poam", "other"], "title": "Type3", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Type4": {"description": "Learning types describing the learning problem or hybrid learning problem.", "enum": ["supervised", "unsupervised", "reinforcement-learning", "semi-supervised", "self-supervised"], "title": "Type4", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_5__Type5": {"description": "The general theme or subject matter of the data being specified.\n\n* __source-code__ = Any type of code, code snippet, or data-as-code.\n* __configuration__ = Parameters or settings that may be used by other components.\n* __dataset__ = A collection of data.\n* __definition__ = Data that can be used to create new instances of what the definition defines.\n* __other__ = Any other type of data that does not fit into existing definitions.", "enum": ["source-code", "configuration", "dataset", "definition", "other"], "title": "Type5", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Activity": {"description": "The type of activity that is part of a machine learning model development or operational lifecycle.", "enum": ["design", "data-collection", "data-preparation", "training", "fine-tuning", "validation", "deployment", "inference", "other"], "title": "Activity", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Algorithm": {"description": "Signature algorithm. The currently recognized JWA [RFC7518] and RFC8037 [RFC8037] asymmetric key algorithms. Note: Unlike RFC8037 [RFC8037] JSF requires explicit Ed* algorithm names instead of \"EdDSA\".", "enum": ["RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512", "Ed25519", "Ed448", "HS256", "HS384", "HS512"], "title": "Algorithm", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__AlgorithmProperties": {"additionalProperties": false, "description": "Additional properties specific to a cryptographic algorithm.", "properties": {"primitive": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Primitive"}, {"type": "null"}], "description": "Cryptographic building blocks used in higher-level cryptographic systems and protocols. Primitives represent different cryptographic routines: deterministic random bit generators (drbg, e.g. CTR_DRBG from NIST SP800-90A-r1), message authentication codes (mac, e.g. HMAC-SHA-256), blockciphers (e.g. AES), streamciphers (e.g. Salsa20), signatures (e.g. ECDSA), hash functions (e.g. SHA-256), public-key encryption schemes (pke, e.g. RSA), extended output functions (xof, e.g. SHAKE256), key derivation functions (e.g. pbkdf2), key agreement algorithms (e.g. ECDH), key encapsulation mechanisms (e.g. ML-KEM), authenticated encryption (ae, e.g. AES-GCM) and the combination of multiple algorithms (combiner, e.g. SP800-56Cr2).", "title": "primitive"}, "parameterSetIdentifier": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "An identifier for the parameter set of the cryptographic algorithm. Examples: in AES128, '128' identifies the key length in bits, in SHA256, '256' identifies the digest length, '128' in SHAKE128 identifies its maximum security level in bits, and 'SHA2-128s' identifies a parameter set used in SLH-DSA (FIPS205).", "title": "Parameter Set Identifier"}, "curve": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The specific underlying Elliptic Curve (EC) definition employed which is an indicator of the level of security strength, performance and complexity. Absent an authoritative source of curve names, CycloneDX recommends using curve names as defined at [https://neuromancer.sk/std/](https://neuromancer.sk/std/), the source of which can be found at [https://github.com/J08nY/std-curves](https://github.com/J08nY/std-curves).", "title": "Elliptic Curve"}, "executionEnvironment": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ExecutionEnvironment"}, {"type": "null"}], "description": "The target and execution environment in which the algorithm is implemented in.", "title": "Execution Environment"}, "implementationPlatform": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ImplementationPlatform"}, {"type": "null"}], "description": "The target platform for which the algorithm is implemented. The implementation can be 'generic', running on any platform or for a specific platform.", "title": "implementation platform"}, "certificationLevel": {"anyOf": [{"items": {"$ref": "#/components/schemas/CertificationLevelEnum"}, "type": "array"}, {"type": "null"}], "description": "The certification that the implementation of the cryptographic algorithm has received, if any. Certifications include revisions and levels of FIPS 140 or Common Criteria of different Extended Assurance Levels (CC-EAL).", "title": "Certification Level"}, "mode": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Mode1"}, {"type": "null"}], "description": "The mode of operation in which the cryptographic algorithm (block cipher) is used.", "title": "Mode"}, "padding": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Padding"}, {"type": "null"}], "description": "The padding scheme that is used for the cryptographic algorithm.", "title": "Padding"}, "cryptoFunctions": {"anyOf": [{"items": {"$ref": "#/components/schemas/CryptoFunction"}, "type": "array"}, {"type": "null"}], "description": "The cryptographic functions implemented by the cryptographic algorithm.", "title": "Cryptographic functions"}, "classicalSecurityLevel": {"anyOf": [{"minimum": 0, "type": "integer"}, {"type": "null"}], "description": "The classical security level that a cryptographic algorithm provides (in bits).", "title": "classical security level"}, "nistQuantumSecurityLevel": {"anyOf": [{"maximum": 6, "minimum": 0, "type": "integer"}, {"type": "null"}], "description": "The NIST security strength category as defined in https://csrc.nist.gov/projects/post-quantum-cryptography/post-quantum-cryptography-standardization/evaluation-criteria/security-(evaluation-criteria). A value of 0 indicates that none of the categories are met.", "title": "NIST security strength category"}}, "title": "AlgorithmProperties", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Approach": {"additionalProperties": false, "description": "The overall approach to learning used by the model for problem solving.", "properties": {"type": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Type4"}, {"type": "null"}], "description": "Learning types describing the learning problem or hybrid learning problem.", "title": "Learning Type"}}, "title": "Approach", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__AssetType": {"description": "Cryptographic assets occur in several forms. Algorithms and protocols are most commonly implemented in specialized cryptographic libraries. They may, however, also be 'hardcoded' in software components. Certificates and related cryptographic material like keys, tokens, secrets or passwords are other cryptographic assets to be modelled.", "enum": ["algorithm", "certificate", "protocol", "related-crypto-material"], "title": "AssetType", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Attachment": {"additionalProperties": false, "description": "Specifies the metadata and content for an attachment.", "properties": {"contentType": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": "text/plain", "description": "Specifies the content type of the text. Defaults to text/plain if not specified.", "title": "Content-Type"}, "encoding": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Encoding"}, {"type": "null"}], "description": "Specifies the optional encoding the text is represented in.", "title": "Encoding"}, "content": {"description": "The attachment data. Proactive controls such as input validation and sanitization should be employed to prevent misuse of attachment text.", "title": "Attachment Text", "type": "string"}}, "required": ["content"], "title": "Attachment", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__BomLink": {"anyOf": [{"$ref": "#/components/schemas/BomLinkDocumentType"}, {"$ref": "#/components/schemas/BomLinkElementType"}], "title": "BOM-Link"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Callstack": {"additionalProperties": false, "description": "Evidence of the components use through the callstack.", "properties": {"frames": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Frame"}, "type": "array"}, {"type": "null"}], "description": "Within a call stack, a frame is a discrete unit that encapsulates an execution context, including local variables, parameters, and the return address. As function calls are made, frames are pushed onto the stack, forming an array-like structure that orchestrates the flow of program execution and manages the sequence of function invocations.", "title": "Frames"}}, "title": "Callstack", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__CertificateProperties": {"additionalProperties": false, "description": "Properties for cryptographic assets of asset type 'certificate'", "properties": {"subjectName": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The subject name for the certificate", "title": "Subject Name"}, "issuerName": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The issuer name for the certificate", "title": "Issuer Name"}, "notValidBefore": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time according to ISO-8601 standard from which the certificate is valid", "title": "Not Valid Before"}, "notValidAfter": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time according to ISO-8601 standard from which the certificate is not valid anymore", "title": "Not Valid After"}, "signatureAlgorithmRef": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__RefType"}, {"type": "null"}], "description": "The bom-ref to signature algorithm used by the certificate", "title": "Algorithm Reference"}, "subjectPublicKeyRef": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__RefType"}, {"type": "null"}], "description": "The bom-ref to the public key of the subject", "title": "Key reference"}, "certificateFormat": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The format of the certificate", "examples": ["X.509", "PEM", "DER", "CVC"], "title": "Certificate Format"}, "certificateExtension": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The file extension of the certificate", "examples": ["crt", "pem", "cer", "der", "p12"], "title": "Certificate File Extension"}}, "title": "CertificateProperties", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__CipherSuite": {"additionalProperties": false, "description": "Object representing a cipher suite", "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A common name for the cipher suite.", "examples": ["TLS_DHE_RSA_WITH_AES_128_CCM"], "title": "Common Name"}, "algorithms": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__RefType"}, "type": "array"}, {"type": "null"}], "description": "A list of algorithms related to the cipher suite.", "title": "Related Algorithms"}, "identifiers": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "A list of common identifiers for the cipher suite.", "title": "Cipher Suite Identifiers"}}, "title": "CipherSuite", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Co2Measure": {"additionalProperties": false, "description": "A measure of carbon dioxide (CO2).", "properties": {"value": {"description": "Quantity of carbon dioxide (CO2).", "title": "Value", "type": "number"}, "unit": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Unit1", "title": "Unit"}}, "required": ["value", "unit"], "title": "Co2Measure", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Commit": {"additionalProperties": false, "description": "Specifies an individual commit", "properties": {"uid": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A unique identifier of the commit. This may be version control specific. For example, Subversion uses revision numbers whereas git uses commit hashes.", "title": "UID"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to the commit. This URL will typically point to a commit in a version control system.", "title": "URL"}, "author": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__IdentifiableAction"}, {"type": "null"}], "description": "The author who created the changes in the commit", "title": "Author"}, "committer": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__IdentifiableAction"}, {"type": "null"}], "description": "The person who committed or pushed the commit", "title": "Committer"}, "message": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The text description of the contents of the commit", "title": "Message"}}, "title": "Commit", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Component": {"additionalProperties": false, "properties": {"type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Type", "examples": ["library"], "title": "Component Type"}, "mime-type": {"anyOf": [{"pattern": "^[-+a-z0-9.]+/[-+a-z0-9.]+$", "type": "string"}, {"type": "null"}], "description": "The optional mime-type of the component. When used on file components, the mime-type can provide additional context about the kind of file being represented, such as an image, font, or executable. Some library or framework components may also have an associated mime-type.", "examples": ["image/jpeg"], "title": "Mime-Type"}, "bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__RefType"}, {"type": "null"}], "description": "An optional identifier which can be used to reference the component elsewhere in the BOM. Every bom-ref MUST be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "title": "BOM Reference"}, "supplier": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__OrganizationalEntity"}, {"type": "null"}], "description": " The organization that supplied the component. The supplier may often be the manufacturer, but may also be a distributor or repackager.", "title": "Component Supplier"}, "manufacturer": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__OrganizationalEntity"}, {"type": "null"}], "description": "The organization that created the component.\nManufacturer is common in components created through automated processes. Components created through manual means may have `@.authors` instead.", "title": "Component Manufacturer"}, "authors": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__OrganizationalContact"}, "type": "array"}, {"type": "null"}], "description": "The person(s) who created the component.\nAuthors are common in components created through manual processes. Components created through automated means may have `@.manufacturer` instead.", "title": "Component Authors"}, "author": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "[Deprecated] This will be removed in a future version. Use `@.authors` or `@.manufacturer` instead.\nThe person(s) or organization(s) that authored the component", "examples": ["Acme Inc"], "title": "Component Author (legacy)"}, "publisher": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The person(s) or organization(s) that published the component", "examples": ["Acme Inc"], "title": "Component Publisher"}, "group": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The grouping name or identifier. This will often be a shortened, single name of the company or project that produced the component, or the source package or domain name. Whitespace and special characters should be avoided. Examples include: apache, org.apache.commons, and apache.org.", "examples": ["com.acme"], "title": "Component Group"}, "name": {"description": "The name of the component. This will often be a shortened, single name of the component. Examples: commons-lang3 and jquery", "examples": ["tomcat-catalina"], "title": "Component Name", "type": "string"}, "version": {"anyOf": [{"$ref": "#/components/schemas/Version"}, {"type": "null"}], "description": "The component version. The version should ideally comply with semantic versioning but is not enforced.", "title": "Component Version"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Specifies a description for the component", "title": "Component Description"}, "scope": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Scope"}, {"type": "null"}], "default": "required", "description": "Specifies the scope of the component. If scope is not specified, 'required' scope SHOULD be assumed by the consumer of the BOM.", "title": "Component Scope"}, "hashes": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Hash"}, "type": "array"}, {"type": "null"}], "description": "The hashes of the component.", "title": "Component Hashes"}, "licenses": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__LicenseChoice"}, {"type": "null"}], "title": "Component License(s)"}, "copyright": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A copyright notice informing users of the underlying claims to copyright ownership in a published work.", "examples": ["Acme Inc"], "title": "Component Copyright"}, "cpe": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Asserts the identity of the component using CPE. The CPE must conform to the CPE 2.2 or 2.3 specification. See [https://nvd.nist.gov/products/cpe](https://nvd.nist.gov/products/cpe). Refer to `@.evidence.identity` to optionally provide evidence that substantiates the assertion of the component's identity.", "examples": ["cpe:2.3:a:acme:component_framework:-:*:*:*:*:*:*:*"], "title": "Common Platform Enumeration (CPE)"}, "purl": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Asserts the identity of the component using package-url (purl). The purl, if specified, MUST be valid and conform to the specification defined at: [https://github.com/package-url/purl-spec](https://github.com/package-url/purl-spec). Refer to `@.evidence.identity` to optionally provide evidence that substantiates the assertion of the component's identity.", "examples": ["pkg:maven/com.acme/tomcat-catalina@9.0.14?packaging=jar"], "title": "Package URL (purl)"}, "omniborId": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "Asserts the identity of the component using the OmniBOR Artifact ID. The OmniBOR, if specified, MUST be valid and conform to the specification defined at: [https://www.iana.org/assignments/uri-schemes/prov/gitoid](https://www.iana.org/assignments/uri-schemes/prov/gitoid). Refer to `@.evidence.identity` to optionally provide evidence that substantiates the assertion of the component's identity.", "examples": ["gitoid:blob:sha1:a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", "gitoid:blob:sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"], "title": "OmniBOR Artifact Identifier (gitoid)"}, "swhid": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "Asserts the identity of the component using the Software Heritage persistent identifier (SWHID). The SWHID, if specified, MUST be valid and conform to the specification defined at: [https://docs.softwareheritage.org/devel/swh-model/persistent-identifiers.html](https://docs.softwareheritage.org/devel/swh-model/persistent-identifiers.html). Refer to `@.evidence.identity` to optionally provide evidence that substantiates the assertion of the component's identity.", "examples": ["swh:1:cnt:94a9ed024d3859793618152ea559a168bbcbb5e2"], "title": "SoftWare Heritage Identifier"}, "swid": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Swid"}, {"type": "null"}], "description": "Asserts the identity of the component using [ISO-IEC 19770-2 Software Identification (SWID) Tags](https://www.iso.org/standard/65666.html). Refer to `@.evidence.identity` to optionally provide evidence that substantiates the assertion of the component's identity.", "title": "SWID Tag"}, "modified": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "description": "[Deprecated] This will be removed in a future version. Use the pedigree element instead to supply information on exactly how the component was modified. A boolean value indicating if the component has been modified from the original. A value of true indicates the component is a derivative of the original. A value of false indicates the component has not been modified from the original.", "title": "Component Modified From Original"}, "pedigree": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Pedigree"}, {"type": "null"}], "description": "Component pedigree is a way to document complex supply chain scenarios where components are created, distributed, modified, redistributed, combined with other components, etc. Pedigree supports viewing this complex chain from the beginning, the end, or anywhere in the middle. It also provides a way to document variants where the exact relation may not be known.", "title": "Component Pedigree"}, "externalReferences": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ExternalReference"}, "type": "array"}, {"type": "null"}], "description": "External references provide a way to document systems, sites, and information that may be relevant but are not included with the BOM. They may also establish specific relationships within or external to the BOM.", "title": "External References"}, "components": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Component"}, "type": "array"}, {"type": "null"}], "description": "A list of software and hardware components included in the parent component. This is not a dependency tree. It provides a way to specify a hierarchical representation of component assemblies, similar to system &#8594; subsystem &#8594; parts assembly in physical supply chains.", "title": "Components"}, "evidence": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ComponentEvidence"}, {"type": "null"}], "description": "Provides the ability to document evidence collected through various forms of extraction or analysis.", "title": "Evidence"}, "releaseNotes": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ReleaseNotes"}, {"type": "null"}], "description": "Specifies optional release notes.", "title": "Release notes"}, "modelCard": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ModelCard"}, {"type": "null"}], "title": "AI/ML Model Card"}, "data": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ComponentData"}, "type": "array"}, {"type": "null"}], "description": "This object SHOULD be specified for any component of type `data` and MUST NOT be specified for other component types.", "title": "Data"}, "cryptoProperties": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__CryptoProperties"}, {"type": "null"}], "title": "Cryptographic Properties"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL."}, "tags": {"anyOf": [{"$ref": "#/components/schemas/Tags"}, {"type": "null"}], "title": "Tags"}, "signature": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Signature"}, {"type": "null"}], "description": "Enveloped signature in [JSON Signature Format (JSF)](https://cyberphone.github.io/doc/security/jsf.html).", "title": "Signature"}}, "required": ["type", "name"], "title": "Component", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ComponentData": {"additionalProperties": false, "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__RefType"}, {"type": "null"}], "description": "An optional identifier which can be used to reference the dataset elsewhere in the BOM. Every bom-ref MUST be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "title": "BOM Reference"}, "type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Type5", "title": "Type of Data"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the dataset.", "title": "Dataset Name"}, "contents": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Contents1"}, {"type": "null"}], "description": "The contents or references to the contents of the data being described.", "title": "Data Contents"}, "classification": {"anyOf": [{"$ref": "#/components/schemas/DataClassification"}, {"type": "null"}]}, "sensitiveData": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "A description of any sensitive data in a dataset.", "title": "Sensitive Data"}, "graphics": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__GraphicsCollection"}, {"type": "null"}]}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A description of the dataset. Can describe size of dataset, whether it's used for source code, training, testing, or validation, etc.", "title": "Dataset Description"}, "governance": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__DataGovernance"}, {"type": "null"}], "title": "Data Governance"}}, "required": ["type"], "title": "ComponentData", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ComponentEvidence": {"additionalProperties": false, "description": "Provides the ability to document evidence collected through various forms of extraction or analysis.", "properties": {"identity": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ComponentIdentityEvidence"}, "type": "array"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ComponentIdentityEvidence"}, {"type": "null"}], "description": "Evidence that substantiates the identity of a component. The identify may be an object or an array of identity objects. Support for specifying identify as a single object was introduced in CycloneDX v1.5. Arrays were introduced in v1.6. It is RECOMMENDED that all implementations use arrays, even if only one identity object is specified.", "title": "Identity Evidence"}, "occurrences": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Occurrence"}, "type": "array"}, {"type": "null"}], "description": "Evidence of individual instances of a component spread across multiple locations.", "title": "Occurrences"}, "callstack": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Callstack"}, {"type": "null"}], "description": "Evidence of the components use through the callstack.", "title": "Call Stack"}, "licenses": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__LicenseChoice"}, {"type": "null"}], "title": "License Evidence"}, "copyright": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Copyright"}, "type": "array"}, {"type": "null"}], "description": "Copyright evidence captures intellectual property assertions, providing evidence of possible ownership and legal protection.", "title": "Copyright Evidence"}}, "title": "ComponentEvidence", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ComponentIdentityEvidence": {"additionalProperties": false, "description": "Evidence that substantiates the identity of a component.", "properties": {"field": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__FieldModel", "title": "Field"}, "confidence": {"anyOf": [{"maximum": 1.0, "minimum": 0.0, "type": "number"}, {"type": "null"}], "description": "The overall confidence of the evidence from 0 - 1, where 1 is 100% confidence.", "title": "Confidence"}, "concludedValue": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The value of the field (cpe, purl, etc) that has been concluded based on the aggregate of all methods (if available).", "title": "Concluded Value"}, "methods": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Method"}, "type": "array"}, {"type": "null"}], "description": "The methods used to extract and/or analyze the evidence.", "title": "Methods"}, "tools": {"anyOf": [{"items": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__RefLinkType"}, {"$ref": "#/components/schemas/BomLinkElementType"}]}, "type": "array"}, {"type": "null"}], "description": "The object in the BOM identified by its bom-ref. This is often a component or service but may be any object type supporting bom-refs. Tools used for analysis should already be defined in the BOM, either in the metadata/tools, components, or formulation.", "title": "BOM References"}}, "required": ["field"], "title": "ComponentIdentityEvidence", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ConfidenceInterval": {"additionalProperties": false, "description": "The confidence interval of the metric.", "properties": {"lowerBound": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The lower bound of the confidence interval.", "title": "Lower Bound"}, "upperBound": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The upper bound of the confidence interval.", "title": "Upper Bound"}}, "title": "ConfidenceInterval", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Considerations": {"additionalProperties": false, "description": "What considerations should be taken into account regarding the model's construction, training, and application?", "properties": {"users": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "Who are the intended users of the model?", "title": "Users"}, "useCases": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "What are the intended use cases of the model?", "title": "Use Cases"}, "technicalLimitations": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "What are the known technical limitations of the model? E.g. What kind(s) of data should the model be expected not to perform well on? What are the factors that might degrade model performance?", "title": "Technical Limitations"}, "performanceTradeoffs": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "What are the known tradeoffs in accuracy/performance of the model?", "title": "Performance Tradeoffs"}, "ethicalConsiderations": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Risk"}, "type": "array"}, {"type": "null"}], "description": "What are the ethical risks involved in the application of this model?", "title": "Ethical Considerations"}, "environmentalConsiderations": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__EnvironmentalConsiderations"}, {"type": "null"}], "description": "What are the various environmental impacts the corresponding machine learning model has exhibited across its lifecycle?", "title": "Environmental Considerations"}, "fairnessAssessments": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__FairnessAssessment"}, "type": "array"}, {"type": "null"}], "description": "How does the model affect groups at risk of being systematically disadvantaged? What are the harms and benefits to the various affected groups?", "title": "Fairness Assessments"}}, "title": "Considerations", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Contents1": {"additionalProperties": false, "description": "The contents or references to the contents of the data being described.", "properties": {"attachment": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Attachment"}, {"type": "null"}], "description": "An optional way to include textual or encoded data.", "title": "Data Attachment"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to where the data can be retrieved.", "title": "Data URL"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Property"}, "type": "array"}, {"type": "null"}], "title": "Configuration Properties", "description": "Provides the ability to document name-value parameters used for configuration."}}, "title": "Contents1", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Copyright": {"additionalProperties": false, "properties": {"text": {"title": "Copyright Text", "type": "string"}}, "required": ["text"], "title": "Copyright", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__CryptoProperties": {"additionalProperties": false, "description": "Cryptographic assets have properties that uniquely define them and that make them actionable for further reasoning. As an example, it makes a difference if one knows the algorithm family (e.g. AES) or the specific variant or instantiation (e.g. AES-128-GCM). This is because the security level and the algorithm primitive (authenticated encryption) are only defined by the definition of the algorithm variant. The presence of a weak cryptographic algorithm like SHA1 vs. HMAC-SHA1 also makes a difference.", "properties": {"assetType": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__AssetType", "title": "Asset Type"}, "algorithmProperties": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__AlgorithmProperties"}, {"type": "null"}], "description": "Additional properties specific to a cryptographic algorithm.", "title": "Algorithm Properties"}, "certificateProperties": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__CertificateProperties"}, {"type": "null"}], "description": "Properties for cryptographic assets of asset type 'certificate'", "title": "Certificate Properties"}, "relatedCryptoMaterialProperties": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__RelatedCryptoMaterialProperties"}, {"type": "null"}], "description": "Properties for cryptographic assets of asset type: `related-crypto-material`", "title": "Related Cryptographic Material Properties"}, "protocolProperties": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ProtocolProperties"}, {"type": "null"}], "description": "Properties specific to cryptographic assets of type: `protocol`.", "title": "Protocol Properties"}, "oid": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The object identifier (OID) of the cryptographic asset.", "title": "OID"}}, "required": ["assetType"], "title": "CryptoProperties", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__CryptoRefArray": {"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__RefType"}, "title": "CryptoRefArray", "type": "array"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__DataFlowDirection": {"description": "Specifies the flow direction of the data. Direction is relative to the service.", "enum": ["inbound", "outbound", "bi-directional", "unknown"], "title": "DataFlowDirection", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__DataGovernance": {"additionalProperties": false, "description": "Data governance captures information regarding data ownership, stewardship, and custodianship, providing insights into the individuals or entities responsible for managing, overseeing, and safeguarding the data throughout its lifecycle.", "properties": {"custodians": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__DataGovernanceResponsibleParty"}, "type": "array"}, {"type": "null"}], "description": "Data custodians are responsible for the safe custody, transport, and storage of data.", "title": "Data Custodians"}, "stewards": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__DataGovernanceResponsibleParty"}, "type": "array"}, {"type": "null"}], "description": "Data stewards are responsible for data content, context, and associated business rules.", "title": "Data Stewards"}, "owners": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__DataGovernanceResponsibleParty"}, "type": "array"}, {"type": "null"}], "description": "Data owners are concerned with risk and appropriate access to data.", "title": "Data Owners"}}, "title": "DataGovernance", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__DataGovernanceResponsibleParty": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__DataGovernanceResponsibleParty1"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__DataGovernanceResponsibleParty2"}], "title": "DataGovernanceResponsibleParty"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__DataGovernanceResponsibleParty1": {"additionalProperties": false, "properties": {"organization": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__OrganizationalEntity", "title": "Organization"}, "contact": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__OrganizationalContact"}, {"type": "null"}], "title": "Individual"}}, "required": ["organization"], "title": "DataGovernanceResponsibleParty1", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__DataGovernanceResponsibleParty2": {"additionalProperties": false, "properties": {"organization": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__OrganizationalEntity"}, {"type": "null"}], "title": "Organization"}, "contact": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__OrganizationalContact", "title": "Individual"}}, "required": ["contact"], "title": "DataGovernanceResponsibleParty2", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Datasets": {"additionalProperties": false, "properties": {"ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__RefLinkType"}, {"$ref": "#/components/schemas/BomLinkElementType"}, {"type": "null"}], "description": "References a data component by the components bom-ref attribute", "title": "Reference"}}, "title": "Datasets", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Diff": {"additionalProperties": false, "description": "The patch file (or diff) that shows changes. Refer to https://en.wikipedia.org/wiki/Diff", "properties": {"text": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Attachment"}, {"type": "null"}], "description": "Specifies the optional text of the diff", "title": "Diff text"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Specifies the URL to the diff", "title": "URL"}}, "title": "Diff", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Encoding": {"description": "Specifies the optional encoding the text is represented in.", "enum": ["base64"], "title": "Encoding", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__EnergyConsumption": {"additionalProperties": false, "description": "Describes energy consumption information incurred for the specified lifecycle activity.", "properties": {"activity": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Activity"}, "energyProviders": {"description": "The provider(s) of the energy consumed by the associated model development lifecycle activity.", "items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__EnergyProvider"}, "title": "Energy Providers", "type": "array"}, "activityEnergyCost": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__EnergyMeasure", "description": "The total energy cost associated with the model lifecycle activity.", "title": "Activity Energy Cost"}, "co2CostEquivalent": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Co2Measure"}, {"type": "null"}], "description": "The CO2 cost (debit) equivalent to the total energy cost.", "title": "CO2 Equivalent Cost"}, "co2CostOffset": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Co2Measure"}, {"type": "null"}], "description": "The CO2 offset (credit) for the CO2 equivalent cost.", "title": "CO2 Cost Offset"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties"}}, "required": ["activity", "energyProviders", "activityEnergyCost"], "title": "EnergyConsumption", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__EnergyMeasure": {"additionalProperties": false, "description": "A measure of energy.", "properties": {"value": {"description": "Quantity of energy.", "title": "Value", "type": "number"}, "unit": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Unit"}}, "required": ["value", "unit"], "title": "EnergyMeasure", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__EnergyProvider": {"additionalProperties": false, "description": "Describes the physical provider of energy used for model development or operations.", "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__RefType"}, {"type": "null"}], "description": "An optional identifier which can be used to reference the energy provider elsewhere in the BOM. Every bom-ref MUST be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "title": "BOM Reference"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A description of the energy provider.", "title": "Description"}, "organization": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__OrganizationalEntity", "title": "Organization"}, "energySource": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__EnergySource", "title": "Energy Source"}, "energyProvided": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__EnergyMeasure", "description": "The energy provided by the energy source for an associated activity.", "title": "Energy Provided"}, "externalReferences": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ExternalReference"}, "type": "array"}, {"type": "null"}], "description": "External references provide a way to document systems, sites, and information that may be relevant but are not included with the BOM. They may also establish specific relationships within or external to the BOM.", "title": "External References"}}, "required": ["organization", "energySource", "energyProvided"], "title": "EnergyProvider", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__EnergySource": {"description": "The energy source for the energy provider.", "enum": ["coal", "oil", "natural-gas", "nuclear", "wind", "solar", "geothermal", "hydropower", "biofuel", "unknown", "other"], "title": "EnergySource", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__EnvironmentalConsiderations": {"additionalProperties": false, "description": "Describes various environmental impact metrics.", "properties": {"energyConsumptions": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__EnergyConsumption"}, "type": "array"}, {"type": "null"}], "description": "Describes energy consumption information incurred for one or more component lifecycle activities.", "title": "Energy Consumptions"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties"}}, "title": "EnvironmentalConsiderations", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ExecutionEnvironment": {"description": "The target and execution environment in which the algorithm is implemented in.", "enum": ["software-plain-ram", "software-encrypted-ram", "software-tee", "hardware", "other", "unknown"], "title": "ExecutionEnvironment", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ExternalReference": {"additionalProperties": false, "description": "External references provide a way to document systems, sites, and information that may be relevant but are not included with the BOM. They may also establish specific relationships within or external to the BOM.", "properties": {"url": {"anyOf": [{"type": "string"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__BomLink"}], "description": "The URI (URL or URN) to the external reference. External references are URIs and therefore can accept any URL scheme including https ([RFC-7230](https://www.ietf.org/rfc/rfc7230.txt)), mailto ([RFC-2368](https://www.ietf.org/rfc/rfc2368.txt)), tel ([RFC-3966](https://www.ietf.org/rfc/rfc3966.txt)), and dns ([RFC-4501](https://www.ietf.org/rfc/rfc4501.txt)). External references may also include formally registered URNs such as [CycloneDX BOM-Link](https://cyclonedx.org/capabilities/bomlink/) to reference CycloneDX BOMs or any object within a BOM. BOM-Link transforms applicable external references into relationships that can be expressed in a BOM or across BOMs.", "title": "URL"}, "comment": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "An optional comment describing the external reference", "title": "Comment"}, "type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Type3", "title": "Type"}, "hashes": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Hash"}, "type": "array"}, {"type": "null"}], "description": "The hashes of the external reference (if applicable).", "title": "Hashes"}}, "required": ["url", "type"], "title": "ExternalReference", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__FairnessAssessment": {"additionalProperties": false, "description": "Information about the benefits and harms of the model to an identified at risk group.", "properties": {"groupAtRisk": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The groups or individuals at risk of being systematically disadvantaged by the model.", "title": "Group at Risk"}, "benefits": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Expected benefits to the identified groups.", "title": "Benefits"}, "harms": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Expected harms to the identified groups.", "title": "Harms"}, "mitigationStrategy": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "With respect to the benefits and harms outlined, please describe any mitigation strategy implemented.", "title": "Mitigation Strategy"}}, "title": "FairnessAssessment", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__FieldModel": {"description": "The identity field of the component which the evidence describes.", "enum": ["group", "name", "version", "purl", "cpe", "omniborId", "swhid", "swid", "hash"], "title": "FieldModel", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Frame": {"additionalProperties": false, "properties": {"package": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A package organizes modules into namespaces, providing a unique namespace for each type it contains.", "title": "Package"}, "module": {"description": "A module or class that encloses functions/methods and other code.", "title": "Module", "type": "string"}, "function": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A block of code designed to perform a particular task.", "title": "Function"}, "parameters": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "Optional arguments that are passed to the module or function.", "title": "Parameters"}, "line": {"anyOf": [{"type": "integer"}, {"type": "null"}], "description": "The line number the code that is called resides on.", "title": "Line"}, "column": {"anyOf": [{"type": "integer"}, {"type": "null"}], "description": "The column the code that is called resides.", "title": "Column"}, "fullFilename": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The full path and filename of the module.", "title": "Full Filename"}}, "required": ["module"], "title": "Frame", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Graphic": {"additionalProperties": false, "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the graphic.", "title": "Name"}, "image": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Attachment"}, {"type": "null"}], "description": "The graphic (vector or raster). Base64 encoding MUST be specified for binary images.", "title": "Graphic Image"}}, "title": "Graphic", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__GraphicsCollection": {"additionalProperties": false, "description": "A collection of graphics that represent various measurements.", "properties": {"description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A description of this collection of graphics.", "title": "Description"}, "collection": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Graphic"}, "type": "array"}, {"type": "null"}], "description": "A collection of graphics.", "title": "Collection"}}, "title": "GraphicsCollection", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Hash": {"additionalProperties": false, "properties": {"alg": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__HashAlg"}, "content": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__HashContent"}}, "required": ["alg", "content"], "title": "Hash", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__HashAlg": {"description": "The algorithm that generated the hash value.", "enum": ["MD5", "SHA-1", "SHA-256", "SHA-384", "SHA-512", "SHA3-256", "SHA3-384", "SHA3-512", "BLAKE2b-256", "BLAKE2b-384", "BLAKE2b-512", "BLAKE3"], "title": "HashAlg", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__HashContent": {"description": "The value of the hash.", "examples": ["3942447fac867ae5cdb3229b658f4d48"], "pattern": "^([a-fA-F0-9]{32}|[a-fA-F0-9]{40}|[a-fA-F0-9]{64}|[a-fA-F0-9]{96}|[a-fA-F0-9]{128})$", "title": "Hash Value", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__IdentifiableAction": {"additionalProperties": false, "description": "Specifies an individual commit", "properties": {"timestamp": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The timestamp in which the action occurred", "title": "Timestamp"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the individual who performed the action", "title": "Name"}, "email": {"anyOf": [{"format": "email", "type": "string"}, {"type": "null"}], "description": "The email address of the individual who performed the action", "title": "E-mail"}}, "title": "IdentifiableAction", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Ikev2TransformTypes": {"additionalProperties": false, "description": "The IKEv2 transform types supported (types 1-4), defined in RFC7296 section 3.3.2, and additional properties.", "properties": {"encr": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__CryptoRefArray"}, {"type": "null"}], "description": "Transform Type 1: encryption algorithms", "title": "Encryption Algorithm (ENCR)"}, "prf": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__CryptoRefArray"}, {"type": "null"}], "description": "Transform Type 2: pseudorandom functions", "title": "Pseudorandom Function (PRF)"}, "integ": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__CryptoRefArray"}, {"type": "null"}], "description": "Transform Type 3: integrity algorithms", "title": "Integrity Algorithm (INTEG)"}, "ke": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__CryptoRefArray"}, {"type": "null"}], "description": "Transform Type 4: Key Exchange Method (KE) per RFC9370, formerly called Diffie-Hellman Group (D-H)", "title": "Key Exchange Method (KE)"}, "esn": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "description": "Specifies if an Extended Sequence Number (ESN) is used.", "title": "Extended Sequence Numbers (ESN)"}, "auth": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__CryptoRefArray"}, {"type": "null"}], "description": "IKEv2 Authentication method", "title": "IKEv2 Authentication method"}}, "title": "Ikev2TransformTypes", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ImplementationPlatform": {"description": "The target platform for which the algorithm is implemented. The implementation can be 'generic', running on any platform or for a specific platform.", "enum": ["generic", "x86_32", "x86_64", "armv7-a", "armv7-m", "armv8-a", "armv8-m", "armv9-a", "armv9-m", "s390x", "ppc64", "ppc64le", "other", "unknown"], "title": "ImplementationPlatform", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__InputOutputMLParameters": {"additionalProperties": false, "properties": {"format": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The data format for input/output to the model.", "examples": ["string", "image", "time-series"], "title": "Input/Output Format"}}, "title": "InputOutputMLParameters", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Issue": {"additionalProperties": false, "description": "An individual issue that has been resolved.", "properties": {"type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Type2", "title": "Issue Type"}, "id": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The identifier of the issue assigned by the source of the issue", "title": "Issue ID"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the issue", "title": "Issue Name"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A description of the issue", "title": "Issue Description"}, "source": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Source"}, {"type": "null"}], "description": "The source of the issue where it is documented", "title": "Source"}, "references": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "A collection of URL's for reference. Multiple URLs are allowed.", "examples": ["https://example.com"], "title": "References"}}, "required": ["type"], "title": "Issue", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__KeyType": {"description": "Key type indicator.", "enum": ["EC", "OKP", "RSA"], "title": "KeyType", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__LicenseChoice": {"description": "EITHER (list of SPDX licenses and/or named licenses) OR (tuple of one SPDX License Expression)", "items": {}, "title": "License Choice", "type": "array"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Lifecycles": {"additionalProperties": false, "description": "The product lifecycle(s) that this BOM represents.", "properties": {"phase": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Phase"}}, "required": ["phase"], "title": "Lifecycles", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Lifecycles1": {"additionalProperties": false, "description": "The product lifecycle(s) that this BOM represents.", "properties": {"name": {"description": "The name of the lifecycle phase", "title": "Name", "type": "string"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The description of the lifecycle phase", "title": "Description"}}, "required": ["name"], "title": "Lifecycles1", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__LocaleType": {"description": "Defines a syntax for representing two character language code (ISO-639) followed by an optional two character country code. The language code MUST be lower case. If the country code is specified, the country code MUST be upper case. The language code and country code MUST be separated by a minus sign. Examples: en, en-US, fr, fr-CA", "pattern": "^([a-z]{2})(-[A-Z]{2})?$", "title": "Locale", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Metadata": {"additionalProperties": false, "properties": {"timestamp": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the BOM was created.", "title": "Timestamp"}, "lifecycles": {"anyOf": [{"items": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Lifecycles"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Lifecycles1"}]}, "type": "array"}, {"type": "null"}], "description": "Lifecycles communicate the stage(s) in which data in the BOM was captured. Different types of data may be available at various phases of a lifecycle, such as the Software Development Lifecycle (SDLC), IT Asset Management (ITAM), and Software Asset Management (SAM). Thus, a BOM may include data specific to or only obtainable in a given lifecycle.", "title": "Lifecycles"}, "tools": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Tools"}, {"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Tool"}, "type": "array"}, {"type": "null"}], "description": "The tool(s) used in the creation, enrichment, and validation of the BOM.", "title": "Tools"}, "manufacturer": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__OrganizationalEntity"}, {"type": "null"}], "description": "The organization that created the BOM.\nManufacturer is common in BOMs created through automated processes. BOMs created through manual means may have `@.authors` instead.", "title": "BOM Manufacturer"}, "authors": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__OrganizationalContact"}, "type": "array"}, {"type": "null"}], "description": "The person(s) who created the BOM.\nAuthors are common in BOMs created through manual processes. BOMs created through automated means may have `@.manufacturer` instead.", "title": "BOM Authors"}, "component": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Component"}, {"type": "null"}], "description": "The component that the BOM describes.", "title": "Component"}, "manufacture": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__OrganizationalEntity"}, {"type": "null"}], "description": "[Deprecated] This will be removed in a future version. Use the `@.component.manufacturer` instead.\nThe organization that manufactured the component that the BOM describes.", "title": "Component Manufacture (legacy)"}, "supplier": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__OrganizationalEntity"}, {"type": "null"}], "description": " The organization that supplied the component that the BOM describes. The supplier may often be the manufacturer, but may also be a distributor or repackager.", "title": "Supplier"}, "licenses": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__LicenseChoice"}, {"type": "null"}], "description": "The license information for the BOM document.\nThis may be different from the license(s) of the component(s) that the BOM describes.", "title": "BOM License(s)"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL."}}, "title": "Metadata", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Method": {"additionalProperties": false, "properties": {"technique": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Technique"}, "confidence": {"description": "The confidence of the evidence from 0 - 1, where 1 is 100% confidence. Confidence is specific to the technique used. Each technique of analysis can have independent confidence.", "maximum": 1.0, "minimum": 0.0, "title": "Confidence", "type": "number"}, "value": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The value or contents of the evidence.", "title": "Value"}}, "required": ["technique", "confidence"], "title": "Method", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Mode1": {"description": "The mode of operation in which the cryptographic algorithm (block cipher) is used.", "enum": ["cbc", "ecb", "ccm", "gcm", "cfb", "ofb", "ctr", "other", "unknown"], "title": "Mode1", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ModelCard": {"additionalProperties": false, "description": "A model card describes the intended uses of a machine learning model and potential limitations, including biases and ethical considerations. Model cards typically contain the training parameters, which datasets were used to train the model, performance metrics, and other relevant data useful for ML transparency. This object SHOULD be specified for any component of type `machine-learning-model` and MUST NOT be specified for other component types.", "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__RefType"}, {"type": "null"}], "description": "An optional identifier which can be used to reference the model card elsewhere in the BOM. Every bom-ref MUST be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "title": "BOM Reference"}, "modelParameters": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ModelParameters"}, {"type": "null"}], "description": "Hyper-parameters for construction of the model.", "title": "Model Parameters"}, "quantitativeAnalysis": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__QuantitativeAnalysis"}, {"type": "null"}], "description": "A quantitative analysis of the model", "title": "Quantitative Analysis"}, "considerations": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Considerations"}, {"type": "null"}], "description": "What considerations should be taken into account regarding the model's construction, training, and application?", "title": "Considerations"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL."}}, "title": "ModelCard", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ModelParameters": {"additionalProperties": false, "description": "Hyper-parameters for construction of the model.", "properties": {"approach": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Approach"}, {"type": "null"}], "description": "The overall approach to learning used by the model for problem solving.", "title": "Approach"}, "task": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Directly influences the input and/or output. Examples include classification, regression, clustering, etc.", "title": "Task"}, "architectureFamily": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The model architecture family such as transformer network, convolutional neural network, residual neural network, LSTM neural network, etc.", "title": "Architecture Family"}, "modelArchitecture": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The specific architecture of the model such as GPT-1, ResNet-50, YOLOv3, etc.", "title": "Model Architecture"}, "datasets": {"anyOf": [{"items": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ComponentData"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Datasets"}]}, "type": "array"}, {"type": "null"}], "description": "The datasets used to train and evaluate the model.", "title": "Datasets"}, "inputs": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__InputOutputMLParameters"}, "type": "array"}, {"type": "null"}], "description": "The input format(s) of the model", "title": "Inputs"}, "outputs": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__InputOutputMLParameters"}, "type": "array"}, {"type": "null"}], "description": "The output format(s) from the model", "title": "Outputs"}}, "title": "ModelParameters", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Note": {"additionalProperties": false, "description": "A note containing the locale and content.", "properties": {"locale": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__LocaleType"}, {"type": "null"}], "description": "The ISO-639 (or higher) language code and optional ISO-3166 (or higher) country code. Examples include: \"en\", \"en-US\", \"fr\" and \"fr-CA\"", "title": "Locale"}, "text": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Attachment", "description": "Specifies the full content of the release note.", "title": "Release note content"}}, "required": ["text"], "title": "Note", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Occurrence": {"additionalProperties": false, "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__RefType"}, {"type": "null"}], "description": "An optional identifier which can be used to reference the occurrence elsewhere in the BOM. Every bom-ref MUST be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "title": "BOM Reference"}, "location": {"description": "The location or path to where the component was found.", "title": "Location", "type": "string"}, "line": {"anyOf": [{"minimum": 0, "type": "integer"}, {"type": "null"}], "description": "The line number where the component was found.", "title": "Line Number"}, "offset": {"anyOf": [{"minimum": 0, "type": "integer"}, {"type": "null"}], "description": "The offset where the component was found.", "title": "Offset"}, "symbol": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The symbol name that was found associated with the component.", "title": "Symbol"}, "additionalContext": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Any additional context of the detected component (e.g. a code snippet).", "title": "Additional Context"}}, "required": ["location"], "title": "Occurrence", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__OrganizationalContact": {"properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__RefType"}, {"type": "null"}], "description": "An optional identifier which can be used to reference the object elsewhere in the BOM. Every bom-ref MUST be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "title": "BOM Reference"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of a contact", "examples": ["Contact name"], "title": "Name"}, "email": {"anyOf": [{"format": "email", "type": "string"}, {"type": "null"}], "description": "The email address of the contact.", "examples": ["firstname.lastname@example.com"], "title": "Email Address"}, "phone": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The phone number of the contact.", "examples": ["800-555-1212"], "title": "Phone"}}, "title": "OrganizationalContact", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__OrganizationalEntity": {"additionalProperties": false, "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__RefType"}, {"type": "null"}], "description": "An optional identifier which can be used to reference the object elsewhere in the BOM. Every bom-ref MUST be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "title": "BOM Reference"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the organization", "examples": ["Example Inc."], "title": "Organization Name"}, "address": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__PostalAddress"}, {"type": "null"}], "description": "The physical address (location) of the organization", "title": "Organization Address"}, "url": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "The URL of the organization. Multiple URLs are allowed.", "examples": ["https://example.com"], "title": "Organization URL(s)"}, "contact": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__OrganizationalContact"}, "type": "array"}, {"type": "null"}], "description": "A contact at the organization. Multiple contacts are allowed.", "title": "Organizational Contact"}}, "title": "OrganizationalEntity", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Padding": {"description": "The padding scheme that is used for the cryptographic algorithm.", "enum": ["pkcs5", "pkcs7", "pkcs1v15", "oaep", "raw", "other", "unknown"], "title": "Padding", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Patch": {"additionalProperties": false, "description": "Specifies an individual patch", "properties": {"type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Type1", "title": "Patch Type"}, "diff": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Diff"}, {"type": "null"}], "description": "The patch file (or diff) that shows changes. Refer to [https://en.wikipedia.org/wiki/Diff](https://en.wikipedia.org/wiki/Diff)", "title": "Diff"}, "resolves": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Issue"}, "type": "array"}, {"type": "null"}], "description": "A collection of issues the patch resolves", "title": "Resolves"}}, "required": ["type"], "title": "Patch", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Pedigree": {"additionalProperties": false, "description": "Component pedigree is a way to document complex supply chain scenarios where components are created, distributed, modified, redistributed, combined with other components, etc. Pedigree supports viewing this complex chain from the beginning, the end, or anywhere in the middle. It also provides a way to document variants where the exact relation may not be known.", "properties": {"ancestors": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Component"}, "type": "array"}, {"type": "null"}], "description": "Describes zero or more components in which a component is derived from. This is commonly used to describe forks from existing projects where the forked version contains a ancestor node containing the original component it was forked from. For example, Component A is the original component. Component B is the component being used and documented in the BOM. However, Component B contains a pedigree node with a single ancestor documenting Component A - the original component from which Component B is derived from.", "title": "Ancestors"}, "descendants": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Component"}, "type": "array"}, {"type": "null"}], "description": "Descendants are the exact opposite of ancestors. This provides a way to document all forks (and their forks) of an original or root component.", "title": "Descendants"}, "variants": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Component"}, "type": "array"}, {"type": "null"}], "description": "Variants describe relations where the relationship between the components is not known. For example, if Component A contains nearly identical code to Component B. They are both related, but it is unclear if one is derived from the other, or if they share a common ancestor.", "title": "Variants"}, "commits": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Commit"}, "type": "array"}, {"type": "null"}], "description": "A list of zero or more commits which provide a trail describing how the component deviates from an ancestor, descendant, or variant.", "title": "Commits"}, "patches": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Patch"}, "type": "array"}, {"type": "null"}], "description": ">A list of zero or more patches describing how the component deviates from an ancestor, descendant, or variant. Patches may be complementary to commits or may be used in place of commits.", "title": "Patches"}, "notes": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Notes, observations, and other non-structured commentary describing the components pedigree.", "title": "Notes"}}, "title": "Pedigree", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__PerformanceMetric": {"additionalProperties": false, "properties": {"type": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The type of performance metric.", "title": "Type"}, "value": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The value of the performance metric.", "title": "Value"}, "slice": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the slice this metric was computed on. By default, assume this metric is not sliced.", "title": "Slice"}, "confidenceInterval": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ConfidenceInterval"}, {"type": "null"}], "description": "The confidence interval of the metric.", "title": "Confidence Interval"}}, "title": "PerformanceMetric", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Phase": {"description": "A pre-defined phase in the product lifecycle.", "enum": ["design", "pre-build", "build", "post-build", "operations", "discovery", "decommission"], "title": "Phase", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__PostalAddress": {"additionalProperties": false, "description": "An address used to identify a contactable location.", "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__RefType"}, {"type": "null"}], "description": "An optional identifier which can be used to reference the address elsewhere in the BOM. Every bom-ref MUST be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "title": "BOM Reference"}, "country": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The country name or the two-letter ISO 3166-1 country code.", "title": "Country"}, "region": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The region or state in the country.", "examples": ["Texas"], "title": "Region"}, "locality": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The locality or city within the country.", "examples": ["Austin"], "title": "Locality"}, "postOfficeBoxNumber": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The post office box number.", "examples": ["901"], "title": "Post Office Box Number"}, "postalCode": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The postal code.", "examples": ["78758"], "title": "Postal Code"}, "streetAddress": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The street address.", "examples": ["100 Main Street"], "title": "Street Address"}}, "title": "PostalAddress", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Primitive": {"description": "Cryptographic building blocks used in higher-level cryptographic systems and protocols. Primitives represent different cryptographic routines: deterministic random bit generators (drbg, e.g. CTR_DRBG from NIST SP800-90A-r1), message authentication codes (mac, e.g. HMAC-SHA-256), blockciphers (e.g. AES), streamciphers (e.g. Salsa20), signatures (e.g. ECDSA), hash functions (e.g. SHA-256), public-key encryption schemes (pke, e.g. RSA), extended output functions (xof, e.g. SHAKE256), key derivation functions (e.g. pbkdf2), key agreement algorithms (e.g. ECDH), key encapsulation mechanisms (e.g. ML-KEM), authenticated encryption (ae, e.g. AES-GCM) and the combination of multiple algorithms (combiner, e.g. SP800-56Cr2).", "enum": ["drbg", "mac", "block-cipher", "stream-cipher", "signature", "hash", "pke", "xof", "kdf", "key-agree", "kem", "ae", "combiner", "other", "unknown"], "title": "Primitive", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Property": {"additionalProperties": false, "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL.", "properties": {"name": {"description": "The name of the property. Duplicate names are allowed, each potentially having a different value.", "title": "Name", "type": "string"}, "value": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The value of the property.", "title": "Value"}}, "required": ["name"], "title": "Property", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ProtocolProperties": {"additionalProperties": false, "description": "Properties specific to cryptographic assets of type: `protocol`.", "properties": {"type": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Type11"}, {"type": "null"}], "description": "The concrete protocol type.", "title": "Type"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The version of the protocol.", "examples": ["1.0", "1.2", "1.99"], "title": "Protocol Version"}, "cipherSuites": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__CipherSuite"}, "type": "array"}, {"type": "null"}], "description": "A list of cipher suites related to the protocol.", "title": "Cipher Suites"}, "ikev2TransformTypes": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Ikev2TransformTypes"}, {"type": "null"}], "description": "The IKEv2 transform types supported (types 1-4), defined in RFC7296 section 3.3.2, and additional properties.", "title": "IKEv2 Transform Types"}, "cryptoRefArray": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__CryptoRefArray"}, {"type": "null"}], "description": "A list of protocol-related cryptographic assets", "title": "Cryptographic References"}}, "title": "ProtocolProperties", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__PublicKey": {"additionalProperties": true, "description": "Optional. Public key object.", "properties": {"kty": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__KeyType"}}, "required": ["kty"], "title": "PublicKey", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__QuantitativeAnalysis": {"additionalProperties": false, "description": "A quantitative analysis of the model", "properties": {"performanceMetrics": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__PerformanceMetric"}, "type": "array"}, {"type": "null"}], "description": "The model performance metrics being reported. Examples may include accuracy, F1 score, precision, top-3 error rates, MSC, etc.", "title": "Performance Metrics"}, "graphics": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__GraphicsCollection"}, {"type": "null"}]}}, "title": "QuantitativeAnalysis", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__RefLinkType": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__RefType", "description": "Descriptor for an element identified by the attribute 'bom-ref' in the same BOM document.\nIn contrast to `bomLinkElementType`.", "title": "RefLinkType"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__RefType": {"description": "Identifier for referable and therefore interlinkable elements.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "minLength": 1, "title": "RefType", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__RelatedCryptoMaterialProperties": {"additionalProperties": false, "description": "Properties for cryptographic assets of asset type: `related-crypto-material`", "properties": {"type": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Type10"}, {"type": "null"}], "description": "The type for the related cryptographic material", "title": "relatedCryptoMaterialType"}, "id": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The optional unique identifier for the related cryptographic material.", "title": "ID"}, "state": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__State"}, {"type": "null"}], "description": "The key state as defined by NIST SP 800-57.", "title": "State"}, "algorithmRef": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__RefType"}, {"type": "null"}], "description": "The bom-ref to the algorithm used to generate the related cryptographic material.", "title": "Algorithm Reference"}, "creationDate": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the related cryptographic material was created.", "title": "Creation Date"}, "activationDate": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the related cryptographic material was activated.", "title": "Activation Date"}, "updateDate": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the related cryptographic material was updated.", "title": "Update Date"}, "expirationDate": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the related cryptographic material expires.", "title": "Expiration Date"}, "value": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The associated value of the cryptographic material.", "title": "Value"}, "size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "description": "The size of the cryptographic asset (in bits).", "title": "Size"}, "format": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The format of the related cryptographic material (e.g. P8, PEM, DER).", "title": "Format"}, "securedBy": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__SecuredBy"}, {"type": "null"}], "description": "The mechanism by which the cryptographic asset is secured by.", "title": "Secured By"}}, "title": "RelatedCryptoMaterialProperties", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ReleaseNotes": {"additionalProperties": false, "properties": {"type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ReleaseType", "description": "The software versioning type the release note describes.", "title": "Type"}, "title": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The title of the release.", "title": "Title"}, "featuredImage": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to an image that may be prominently displayed with the release note.", "title": "Featured image"}, "socialImage": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to an image that may be used in messaging on social media platforms.", "title": "Social image"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A short description of the release.", "title": "Description"}, "timestamp": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the release note was created.", "title": "Timestamp"}, "aliases": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "One or more alternate names the release may be referred to. This may include unofficial terms used by development and marketing teams (e.g. code names).", "title": "Aliases"}, "tags": {"anyOf": [{"$ref": "#/components/schemas/Tags"}, {"type": "null"}], "title": "Tags"}, "resolves": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Issue"}, "type": "array"}, {"type": "null"}], "description": "A collection of issues that have been resolved.", "title": "Resolves"}, "notes": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Note"}, "type": "array"}, {"type": "null"}], "description": "Zero or more release notes containing the locale and content. Multiple note objects may be specified to support release notes in a wide variety of languages.", "title": "Notes"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL."}}, "required": ["type"], "title": "ReleaseNotes", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ReleaseType": {"description": "The software versioning type. It is RECOMMENDED that the release type use one of 'major', 'minor', 'patch', 'pre-release', or 'internal'. Representing all possible software release types is not practical, so standardizing on the recommended values, whenever possible, is strongly encouraged.\n\n* __major__ = A major release may contain significant changes or may introduce breaking changes.\n* __minor__ = A minor release, also known as an update, may contain a smaller number of changes than major releases.\n* __patch__ = Patch releases are typically unplanned and may resolve defects or important security issues.\n* __pre-release__ = A pre-release may include alpha, beta, or release candidates and typically have limited support. They provide the ability to preview a release prior to its general availability.\n* __internal__ = Internal releases are not for public consumption and are intended to be used exclusively by the project or manufacturer that produced it.", "examples": ["major", "minor", "patch", "pre-release", "internal"], "title": "ReleaseType", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Risk": {"additionalProperties": false, "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the risk.", "title": "Name"}, "mitigationStrategy": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Strategy used to address this risk.", "title": "Mitigation Strategy"}}, "title": "Risk", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Scope": {"description": "Specifies the scope of the component. If scope is not specified, 'required' scope SHOULD be assumed by the consumer of the BOM.", "enum": ["required", "optional", "excluded"], "title": "Scope", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__SecuredBy": {"additionalProperties": false, "description": "Specifies the mechanism by which the cryptographic asset is secured by", "properties": {"mechanism": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Specifies the mechanism by which the cryptographic asset is secured by.", "examples": ["HSM", "TPM", "SGX", "Software", "None"], "title": "Mechanism"}, "algorithmRef": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__RefType"}, {"type": "null"}], "description": "The bom-ref to the algorithm.", "title": "Algorithm Reference"}}, "title": "SecuredBy", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Service": {"additionalProperties": false, "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__RefType"}, {"type": "null"}], "description": "An optional identifier which can be used to reference the service elsewhere in the BOM. Every bom-ref MUST be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "title": "BOM Reference"}, "provider": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__OrganizationalEntity"}, {"type": "null"}], "description": "The organization that provides the service.", "title": "Provider"}, "group": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The grouping name, namespace, or identifier. This will often be a shortened, single name of the company or project that produced the service or domain name. Whitespace and special characters should be avoided.", "examples": ["com.acme"], "title": "Service Group"}, "name": {"description": "The name of the service. This will often be a shortened, single name of the service.", "examples": ["ticker-service"], "title": "Service Name", "type": "string"}, "version": {"anyOf": [{"$ref": "#/components/schemas/Version"}, {"type": "null"}], "description": "The service version.", "title": "Service Version"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Specifies a description for the service", "title": "Service Description"}, "endpoints": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "The endpoint URIs of the service. Multiple endpoints are allowed.", "examples": ["https://example.com/api/v1/ticker"], "title": "Endpoints"}, "authenticated": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "description": "A boolean value indicating if the service requires authentication. A value of true indicates the service requires authentication prior to use. A value of false indicates the service does not require authentication.", "title": "Authentication Required"}, "x-trust-boundary": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "description": "A boolean value indicating if use of the service crosses a trust zone or boundary. A value of true indicates that by using the service, a trust boundary is crossed. A value of false indicates that by using the service, a trust boundary is not crossed.", "title": "Crosses Trust Boundary"}, "trustZone": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the trust zone the service resides in.", "title": "Trust Zone"}, "data": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ServiceData"}, "type": "array"}, {"type": "null"}], "description": "Specifies information about the data including the directional flow of data and the data classification.", "title": "Data"}, "licenses": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__LicenseChoice"}, {"type": "null"}], "title": "Component License(s)"}, "externalReferences": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ExternalReference"}, "type": "array"}, {"type": "null"}], "description": "External references provide a way to document systems, sites, and information that may be relevant but are not included with the BOM. They may also establish specific relationships within or external to the BOM.", "title": "External References"}, "services": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Service"}, "type": "array"}, {"type": "null"}], "description": "A list of services included or deployed behind the parent service. This is not a dependency tree. It provides a way to specify a hierarchical representation of service assemblies.", "title": "Services"}, "releaseNotes": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ReleaseNotes"}, {"type": "null"}], "description": "Specifies optional release notes.", "title": "Release notes"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is OPTIONAL."}, "tags": {"anyOf": [{"$ref": "#/components/schemas/Tags"}, {"type": "null"}], "title": "Tags"}, "signature": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Signature"}, {"type": "null"}], "description": "Enveloped signature in [JSON Signature Format (JSF)](https://cyberphone.github.io/doc/security/jsf.html).", "title": "Signature"}}, "required": ["name"], "title": "Service", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ServiceData": {"additionalProperties": false, "properties": {"flow": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__DataFlowDirection", "description": "Specifies the flow direction of the data. Direction is relative to the service. Inbound flow states that data enters the service. Outbound flow states that data leaves the service. Bi-directional states that data flows both ways and unknown states that the direction is not known.", "title": "Directional Flow"}, "classification": {"$ref": "#/components/schemas/DataClassification"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Name for the defined data", "examples": ["Credit card reporting"], "title": "Name"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Short description of the data content and usage", "examples": ["Credit card information being exchanged in between the web app and the database"], "title": "Description"}, "governance": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__DataGovernance"}, {"type": "null"}], "title": "Data Governance"}, "source": {"anyOf": [{"items": {"anyOf": [{"type": "string"}, {"$ref": "#/components/schemas/BomLinkElementType"}]}, "type": "array"}, {"type": "null"}], "description": "The URI, URL, or BOM-Link of the components or services the data came in from", "title": "Source"}, "destination": {"anyOf": [{"items": {"anyOf": [{"type": "string"}, {"$ref": "#/components/schemas/BomLinkElementType"}]}, "type": "array"}, {"type": "null"}], "description": "The URI, URL, or BOM-Link of the components or services the data is sent to", "title": "Destination"}}, "required": ["flow", "classification"], "title": "ServiceData", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Signature": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Signature1"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Signature2"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Signer"}], "title": "Signature"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Signature1": {"additionalProperties": false, "properties": {"signers": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Signer"}, "type": "array"}, {"type": "null"}], "description": "Unique top level property for Multiple Signatures. (multisignature)", "title": "Signature"}}, "title": "Signature1", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Signature2": {"additionalProperties": false, "properties": {"chain": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Signer"}, "type": "array"}, {"type": "null"}], "description": "Unique top level property for Signature Chains. (signaturechain)", "title": "Signature"}}, "title": "Signature2", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Signer": {"additionalProperties": false, "properties": {"algorithm": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Algorithm"}, {"format": "uri", "minLength": 1, "type": "string"}], "title": "Algorithm"}, "keyId": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Optional. Application specific string identifying the signature key.", "title": "Key ID"}, "publicKey": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__PublicKey"}, {"type": "null"}], "description": "Optional. Public key object.", "title": "Public key"}, "certificatePath": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "Optional. Sorted array of X.509 [RFC5280] certificates, where the first element must contain the signature certificate. The certificate path must be contiguous but is not required to be complete.", "title": "Certificate path"}, "excludes": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "Optional. Array holding the names of one or more application level properties that must be excluded from the signature process. Note that the \"excludes\" property itself, must also be excluded from the signature process. Since both the \"excludes\" property and the associated data it points to are unsigned, a conforming JSF implementation must provide options for specifying which properties to accept.", "title": "Excludes"}, "value": {"description": "The signature data. Note that the binary representation must follow the JWA [RFC7518] specifications.", "title": "Signature", "type": "string"}}, "required": ["algorithm", "value"], "title": "Signer", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Source": {"additionalProperties": false, "description": "The source of the issue where it is documented", "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the source.", "examples": ["National Vulnerability Database", "NVD", "Apache"], "title": "Name"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The url of the issue documentation as provided by the source", "title": "URL"}}, "title": "Source", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__State": {"description": "The key state as defined by NIST SP 800-57.", "enum": ["pre-activation", "active", "suspended", "deactivated", "compromised", "destroyed"], "title": "State", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Swid": {"additionalProperties": false, "description": "Specifies metadata and content for ISO-IEC 19770-2 Software Identification (SWID) Tags.", "properties": {"tagId": {"description": "Maps to the tagId of a SoftwareIdentity.", "title": "Tag ID", "type": "string"}, "name": {"description": "Maps to the name of a SoftwareIdentity.", "title": "Name", "type": "string"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": "0.0", "description": "Maps to the version of a SoftwareIdentity.", "title": "Version"}, "tagVersion": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": 0, "description": "Maps to the tagVersion of a SoftwareIdentity.", "title": "Tag Version"}, "patch": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": false, "description": "Maps to the patch of a SoftwareIdentity.", "title": "Patch"}, "text": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Attachment"}, {"type": "null"}], "description": "Specifies the metadata and content of the SWID tag.", "title": "Attachment text"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to the SWID file.", "title": "URL"}}, "required": ["tagId", "name"], "title": "Swid", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Technique": {"description": "The technique used in this method of analysis.", "enum": ["source-code-analysis", "binary-analysis", "manifest-analysis", "ast-fingerprint", "hash-comparison", "instrumentation", "dynamic-analysis", "filename", "attestation", "other"], "title": "Technique", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Tool": {"additionalProperties": false, "description": "[Deprecated] This will be removed in a future version. Use component or service instead. Information about the automated or manual tool used", "properties": {"vendor": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the vendor who created the tool", "title": "Tool Vendor"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the tool", "title": "Tool Name"}, "version": {"anyOf": [{"$ref": "#/components/schemas/Version"}, {"type": "null"}], "description": "The version of the tool", "title": "Tool Version"}, "hashes": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Hash"}, "type": "array"}, {"type": "null"}], "description": "The hashes of the tool (if applicable).", "title": "Hashes"}, "externalReferences": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__ExternalReference"}, "type": "array"}, {"type": "null"}], "description": "External references provide a way to document systems, sites, and information that may be relevant, but are not included with the BOM. They may also establish specific relationships within or external to the BOM.", "title": "External References"}}, "title": "Tool", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Tools": {"additionalProperties": false, "description": "The tool(s) used in the creation, enrichment, and validation of the BOM.", "properties": {"components": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Component"}, "type": "array"}, {"type": "null"}], "description": "A list of software and hardware components used as tools.", "title": "Components"}, "services": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Service"}, "type": "array"}, {"type": "null"}], "description": "A list of services used as tools. This may include microservices, function-as-a-service, and other types of network or intra-process services.", "title": "Services"}}, "title": "Tools", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Type": {"description": "Specifies the type of component. For software components, classify as application if no more specific appropriate classification is available or cannot be determined for the component.", "enum": ["application", "framework", "library", "container", "platform", "operating-system", "device", "device-driver", "firmware", "file", "machine-learning-model", "data", "cryptographic-asset"], "title": "Type", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Type1": {"description": "Specifies the purpose for the patch including the resolution of defects, security issues, or new behavior or functionality.", "enum": ["unofficial", "monkey", "backport", "cherry-pick"], "title": "Type1", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Type10": {"description": "The type for the related cryptographic material", "enum": ["private-key", "public-key", "secret-key", "key", "ciphertext", "signature", "digest", "initialization-vector", "nonce", "seed", "salt", "shared-secret", "tag", "additional-data", "password", "credential", "token", "other", "unknown"], "title": "Type10", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Type11": {"description": "The concrete protocol type.", "enum": ["tls", "ssh", "ipsec", "ike", "sstp", "wpa", "other", "unknown"], "title": "Type11", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Type2": {"description": "Specifies the type of issue", "enum": ["defect", "enhancement", "security"], "title": "Type2", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Type3": {"description": "Specifies the type of external reference.", "enum": ["vcs", "issue-tracker", "website", "advisories", "bom", "mailing-list", "social", "chat", "documentation", "support", "source-distribution", "distribution", "distribution-intake", "license", "build-meta", "build-system", "release-notes", "security-contact", "model-card", "log", "configuration", "evidence", "formulation", "attestation", "threat-model", "adversary-model", "risk-assessment", "vulnerability-assertion", "exploitability-statement", "pentest-report", "static-analysis-report", "dynamic-analysis-report", "runtime-analysis-report", "component-analysis-report", "maturity-report", "certification-report", "codified-infrastructure", "quality-metrics", "poam", "electronic-signature", "digital-signature", "rfc-9116", "other"], "title": "Type3", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Type4": {"description": "Learning types describing the learning problem or hybrid learning problem.", "enum": ["supervised", "unsupervised", "reinforcement-learning", "semi-supervised", "self-supervised"], "title": "Type4", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Type5": {"description": "The general theme or subject matter of the data being specified.", "enum": ["source-code", "configuration", "dataset", "definition", "other"], "title": "Type5", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Unit": {"description": "Unit of energy.", "enum": ["kWh"], "title": "Unit", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_6__Unit1": {"description": "Unit of carbon dioxide (CO2).", "enum": ["tCO2eq"], "title": "Unit1", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Activity": {"enum": ["design", "data-collection", "data-preparation", "training", "fine-tuning", "validation", "deployment", "inference", "other"], "title": "Activity", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Algorithm": {"enum": ["RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512", "Ed25519", "Ed448", "HS256", "HS384", "HS512"], "title": "Algorithm", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__AlgorithmProperties": {"additionalProperties": false, "properties": {"primitive": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Primitive"}, {"type": "null"}], "description": "Cryptographic building blocks used in higher-level cryptographic systems and protocols. Primitives represent different cryptographic routines: deterministic random bit generators (drbg, e.g. CTR_DRBG from NIST SP800-90A-r1), message authentication codes (mac, e.g. HMAC-SHA-256), blockciphers (e.g. AES), streamciphers (e.g. Salsa20), signatures (e.g. ECDSA), hash functions (e.g. SHA-256), public-key encryption schemes (pke, e.g. RSA), extended output functions (xof, e.g. SHAKE256), key derivation functions (e.g. pbkdf2), key agreement algorithms (e.g. ECDH), key encapsulation mechanisms (e.g. ML-KEM), authenticated encryption (ae, e.g. AES-GCM) and the combination of multiple algorithms (combiner, e.g. SP800-56Cr2).", "title": "primitive"}, "algorithmFamily": {"anyOf": [{"$ref": "#/components/schemas/AlgorithmFamiliesEnum"}, {"type": "null"}], "description": "A valid algorithm family identifier. If specified, this value must be one of the enumeration of valid algorithm Family identifiers defined in the `cryptography-defs.schema.json` subschema.", "examples": ["3DES", "Blowfish", "ECDH"], "title": "Algorithm Family"}, "parameterSetIdentifier": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "An identifier for the parameter set of the cryptographic algorithm. Examples: in AES128, '128' identifies the key length in bits, in SHA256, '256' identifies the digest length, '128' in SHAKE128 identifies its maximum security level in bits, and 'SHA2-128s' identifies a parameter set used in SLH-DSA (FIPS205).", "title": "Parameter Set Identifier"}, "curve": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "[Deprecated] This will be removed in a future version. Use `@.ellipticCurve` instead.\nThe specific underlying Elliptic Curve (EC) definition employed which is an indicator of the level of security strength, performance and complexity. Absent an authoritative source of curve names, CycloneDX recommends using curve names as defined at [https://neuromancer.sk/std/](https://neuromancer.sk/std/), the source of which can be found at [https://github.com/J08nY/std-curves](https://github.com/J08nY/std-curves).", "title": "Elliptic Curve"}, "ellipticCurve": {"anyOf": [{"$ref": "#/components/schemas/EllipticCurvesEnum"}, {"type": "null"}], "description": "The specific underlying Elliptic Curve (EC) definition employed which is an indicator of the level of security strength, performance and complexity. If specified, this value must be one of the enumeration of valid elliptic curves identifiers defined in the `cryptography-defs.schema.json` subschema.", "title": "Elliptic Curve"}, "executionEnvironment": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ExecutionEnvironment"}, {"type": "null"}], "description": "The target and execution environment in which the algorithm is implemented in.", "title": "Execution Environment"}, "implementationPlatform": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ImplementationPlatform"}, {"type": "null"}], "description": "The target platform for which the algorithm is implemented. The implementation can be 'generic', running on any platform or for a specific platform.", "title": "Implementation platform"}, "certificationLevel": {"anyOf": [{"items": {"$ref": "#/components/schemas/CertificationLevelEnum"}, "type": "array"}, {"type": "null"}], "description": "The certification that the implementation of the cryptographic algorithm has received, if any. Certifications include revisions and levels of FIPS 140 or Common Criteria of different Extended Assurance Levels (CC-EAL).", "title": "Certification Level"}, "mode": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Mode1"}, {"type": "null"}], "description": "The mode of operation in which the cryptographic algorithm (block cipher) is used.", "title": "Mode"}, "padding": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Padding"}, {"type": "null"}], "description": "The padding scheme that is used for the cryptographic algorithm.", "title": "Padding"}, "cryptoFunctions": {"anyOf": [{"items": {"$ref": "#/components/schemas/CryptoFunction"}, "type": "array"}, {"type": "null"}], "description": "The cryptographic functions implemented by the cryptographic algorithm.", "title": "Cryptographic functions"}, "classicalSecurityLevel": {"anyOf": [{"minimum": 0, "type": "integer"}, {"type": "null"}], "description": "The classical security level that a cryptographic algorithm provides (in bits).", "title": "classical security level"}, "nistQuantumSecurityLevel": {"anyOf": [{"maximum": 6, "minimum": 0, "type": "integer"}, {"type": "null"}], "description": "The NIST security strength category as defined in https://csrc.nist.gov/projects/post-quantum-cryptography/post-quantum-cryptography-standardization/evaluation-criteria/security-(evaluation-criteria). A value of 0 indicates that none of the categories are met.", "title": "NIST security strength category"}}, "title": "AlgorithmProperties", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Approach": {"additionalProperties": false, "properties": {"type": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Type4"}, {"type": "null"}], "description": "Learning types describing the learning problem or hybrid learning problem.", "title": "Learning Type"}}, "title": "Approach", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__AssetType": {"enum": ["algorithm", "certificate", "protocol", "related-crypto-material"], "title": "AssetType", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Attachment": {"additionalProperties": false, "properties": {"contentType": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": "text/plain", "description": "Specifies the format and nature of the data being attached, helping systems correctly interpret and process the content. Common content type examples include `application/json` for JSON data and `text/plain` for plan text documents.\n [RFC 2045 section 5.1](https://www.ietf.org/rfc/rfc2045.html#section-5.1) outlines the structure and use of content types. For a comprehensive list of registered content types, refer to the [IANA media types registry](https://www.iana.org/assignments/media-types/media-types.xhtml).", "examples": ["text/plain", "application/json", "image/png"], "title": "Content-Type"}, "encoding": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Encoding"}, {"type": "null"}], "description": "Specifies the encoding the text is represented in.", "title": "Encoding"}, "content": {"description": "The attachment data. Proactive controls such as input validation and sanitization should be employed to prevent misuse of attachment text.", "title": "Attachment Text", "type": "string"}}, "required": ["content"], "title": "Attachment", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__BomLink": {"anyOf": [{"$ref": "#/components/schemas/BomLinkDocumentType"}, {"$ref": "#/components/schemas/BomLinkElementType"}], "title": "BOM-Link"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Callstack": {"additionalProperties": false, "properties": {"frames": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Frame"}, "type": "array"}, {"type": "null"}], "description": "Within a call stack, a frame is a discrete unit that encapsulates an execution context, including local variables, parameters, and the return address. As function calls are made, frames are pushed onto the stack, forming an array-like structure that orchestrates the flow of program execution and manages the sequence of function invocations.", "title": "Frames"}}, "title": "Callstack", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__CertificateProperties": {"additionalProperties": false, "properties": {"serialNumber": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The serial number is a unique identifier for the certificate issued by a CA.", "title": "Serial Number"}, "subjectName": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The subject name for the certificate", "title": "Subject Name"}, "issuerName": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The issuer name for the certificate", "title": "Issuer Name"}, "notValidBefore": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time according to ISO-8601 standard from which the certificate is valid", "title": "Not Valid Before"}, "notValidAfter": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time according to ISO-8601 standard from which the certificate is not valid anymore", "title": "Not Valid After"}, "signatureAlgorithmRef": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "[DEPRECATED] This will be removed in a future version. Use `@.relatedCryptographicAssets` instead.\nThe bom-ref to signature algorithm used by the certificate", "title": "Algorithm Reference"}, "subjectPublicKeyRef": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "[DEPRECATED] This will be removed in a future version. Use `@.relatedCryptographicAssets` instead.\nThe bom-ref to the public key of the subject", "title": "Key reference"}, "certificateFormat": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The format of the certificate", "examples": ["X.509", "PEM", "DER", "CVC"], "title": "Certificate Format"}, "certificateExtension": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "[DEPRECATED] This will be removed in a future version. Use `@.certificateFileExtension` instead.\nThe file extension of the certificate", "examples": ["crt", "pem", "cer", "der", "p12"], "title": "Certificate File Extension"}, "certificateFileExtension": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The file extension of the certificate.", "examples": ["crt", "pem", "cer", "der", "p12"], "title": "Certificate File Extension"}, "fingerprint": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Hash"}, {"type": "null"}], "description": "The fingerprint is a cryptographic hash of the certificate excluding it's signature.", "title": "Certificate Fingerprint"}, "certificateState": {"anyOf": [{"items": {"anyOf": [{"$ref": "#/components/schemas/CertificateState"}, {"$ref": "#/components/schemas/CertificateState1"}]}, "type": "array"}, {"type": "null"}], "description": "The certificate lifecycle is a comprehensive process that manages digital certificates from their initial creation to eventual expiration or revocation. It typically involves several stages", "title": "Certificate Lifecycle State"}, "creationDate": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the certificate was created or pre-activated.", "title": "Creation Date"}, "activationDate": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the certificate was activated.", "title": "Activation Date"}, "deactivationDate": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the related certificate was deactivated.", "title": "Deactivation Date"}, "revocationDate": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the certificate was revoked.", "title": "Revocation Date"}, "destructionDate": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the certificate was destroyed.", "title": "Destruction Date"}, "certificateExtensions": {"anyOf": [{"items": {"anyOf": [{"$ref": "#/components/schemas/CertificateExtensions"}, {"$ref": "#/components/schemas/CertificateExtensions1"}]}, "type": "array"}, {"type": "null"}], "description": "A certificate extension is a field that provides additional information about the certificate or its use. Extensions are used to convey additional information beyond the standard fields.", "title": "Certificate Extensions"}, "relatedCryptographicAssets": {"anyOf": [{"$ref": "#/components/schemas/RelatedCryptographicAssets"}, {"type": "null"}], "description": "A list of cryptographic assets related to this component.", "title": "Related Cryptographic Assets"}}, "title": "CertificateProperties", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__CipherSuite": {"additionalProperties": false, "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A common name for the cipher suite.", "examples": ["TLS_DHE_RSA_WITH_AES_128_CCM"], "title": "Common Name"}, "algorithms": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, "type": "array"}, {"type": "null"}], "description": "A list of algorithms related to the cipher suite.", "title": "Related Algorithms"}, "identifiers": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "A list of common identifiers for the cipher suite.", "title": "Cipher Suite Identifiers"}, "tlsGroups": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "A list of TLS named groups (formerly known as curves) for this cipher suite. These groups define the parameters for key exchange algorithms like ECDHE.", "title": "TLS Groups"}, "tlsSignatureSchemes": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "A list of signature schemes supported for cipher suite. These schemes specify the algorithms used for digital signatures in TLS handshakes and certificate verification.", "title": "TLS Signature Schemes"}}, "title": "CipherSuite", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Co2Measure": {"additionalProperties": false, "properties": {"value": {"description": "Quantity of carbon dioxide (CO2).", "title": "Value", "type": "number"}, "unit": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Unit1", "description": "Unit of carbon dioxide (CO2).", "title": "Unit"}}, "required": ["value", "unit"], "title": "Co2Measure", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Commit": {"additionalProperties": false, "properties": {"uid": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A unique identifier of the commit. This may be version control specific. For example, Subversion uses revision numbers whereas git uses commit hashes.", "title": "UID"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to the commit. This URL will typically point to a commit in a version control system.", "title": "URL"}, "author": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__IdentifiableAction"}, {"type": "null"}], "description": "The author who created the changes in the commit", "title": "Author"}, "committer": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__IdentifiableAction"}, {"type": "null"}], "description": "The person who committed or pushed the commit", "title": "Committer"}, "message": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The text description of the contents of the commit", "title": "Message"}}, "title": "Commit", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Component": {"additionalProperties": false, "properties": {"type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Type", "description": "Specifies the type of component. For software components, classify as application if no more specific appropriate classification is available or cannot be determined for the component.", "examples": ["library"], "title": "Component Type"}, "mime-type": {"anyOf": [{"pattern": "^[-+a-z0-9.]+/[-+a-z0-9.]+$", "type": "string"}, {"type": "null"}], "description": "The mime-type of the component. When used on file components, the mime-type can provide additional context about the kind of file being represented, such as an image, font, or executable. Some library or framework components may also have an associated mime-type.", "examples": ["image/jpeg"], "title": "Mime-Type"}, "bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "An identifier which can be used to reference the component elsewhere in the BOM. Every `bom-ref` must be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "title": "BOM Reference"}, "supplier": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalEntity"}, {"type": "null"}], "description": " The organization that supplied the component. The supplier may often be the manufacturer, but may also be a distributor or repackager.", "title": "Component Supplier"}, "manufacturer": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalEntity"}, {"type": "null"}], "description": "The organization that created the component.\nManufacturer is common in components created through automated processes. Components created through manual means may have `@.authors` instead.", "title": "Component Manufacturer"}, "authors": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalContact"}, "type": "array"}, {"type": "null"}], "description": "The person(s) who created the component.\nAuthors are common in components created through manual processes. Components created through automated means may have `@.manufacturer` instead.", "title": "Component Authors"}, "author": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "[Deprecated] This will be removed in a future version. Use `@.authors` or `@.manufacturer` instead.\nThe person(s) or organization(s) that authored the component", "examples": ["Acme Inc"], "title": "Component Author (legacy)"}, "publisher": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The person(s) or organization(s) that published the component", "examples": ["Acme Inc"], "title": "Component Publisher"}, "group": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The grouping name or identifier. This will often be a shortened, single name of the company or project that produced the component, or the source package or domain name. Whitespace and special characters should be avoided. Examples include: apache, org.apache.commons, and apache.org.", "examples": ["com.acme"], "title": "Component Group"}, "name": {"description": "The name of the component. This will often be a shortened, single name of the component. Examples: commons-lang3 and jquery", "examples": ["tomcat-catalina"], "title": "Component Name", "type": "string"}, "version": {"anyOf": [{"$ref": "#/components/schemas/Version"}, {"type": "null"}], "description": "The component version. The version should ideally comply with semantic versioning but is not enforced.\nMust be used exclusively, either 'version' or 'versionRange', but not both.", "title": "Component Version"}, "versionRange": {"anyOf": [{"$ref": "#/components/schemas/VersionRange"}, {"type": "null"}], "description": "For an external component, this specifies the accepted version range.\nThe value must adhere to the Package URL Version Range syntax (vers), as defined at https://github.com/package-url/vers-spec\nMay only be used if `.isExternal` is set to `true`.\nMust be used exclusively, either 'version' or 'versionRange', but not both.", "title": "Component Version Range"}, "isExternal": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": false, "description": "Determine whether this component is external.\nAn external component is one that is not part of an assembly, but is expected to be provided by the environment, regardless of the component's `.scope`. This setting can be useful for distinguishing which components are bundled with the product and which can be relied upon to be present in the deployment environment.\nThis may be set to `true` for runtime components only. For `$.metadata.component`, it must be set to `false`.", "title": "Component Is External"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Specifies a description for the component", "title": "Component Description"}, "scope": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Scope"}, {"type": "null"}], "default": "required", "description": "Specifies the scope of the component. If scope is not specified, 'required' scope SHOULD be assumed by the consumer of the BOM.", "title": "Component Scope"}, "hashes": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Hash"}, "type": "array"}, {"type": "null"}], "description": "The hashes of the component.", "title": "Component Hashes"}, "licenses": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__LicenseChoice"}, {"type": "null"}], "title": "Component License(s)"}, "copyright": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A copyright notice informing users of the underlying claims to copyright ownership in a published work.", "examples": ["Acme Inc"], "title": "Component Copyright"}, "patentAssertions": {"anyOf": [{"$ref": "#/components/schemas/PatentAssertions"}, {"type": "null"}], "title": "Component Patent(s)"}, "cpe": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Asserts the identity of the component using CPE. The CPE must conform to the CPE 2.2 or 2.3 specification. See [https://nvd.nist.gov/products/cpe](https://nvd.nist.gov/products/cpe). Refer to `@.evidence.identity` to optionally provide evidence that substantiates the assertion of the component's identity.", "examples": ["cpe:2.3:a:acme:component_framework:-:*:*:*:*:*:*:*"], "title": "Common Platform Enumeration (CPE)"}, "purl": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Asserts the identity of the component using package-url (purl). The purl, if specified, must be valid and conform to the specification defined at: [https://github.com/package-url/purl-spec](https://github.com/package-url/purl-spec). Refer to `@.evidence.identity` to optionally provide evidence that substantiates the assertion of the component's identity.", "examples": ["pkg:maven/com.acme/tomcat-catalina@9.0.14?packaging=jar"], "title": "Package URL (purl)"}, "omniborId": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "Asserts the identity of the component using the OmniBOR Artifact ID. The OmniBOR, if specified, must be valid and conform to the specification defined at: [https://www.iana.org/assignments/uri-schemes/prov/gitoid](https://www.iana.org/assignments/uri-schemes/prov/gitoid). Refer to `@.evidence.identity` to optionally provide evidence that substantiates the assertion of the component's identity.", "examples": ["gitoid:blob:sha1:a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", "gitoid:blob:sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"], "title": "OmniBOR Artifact Identifier (gitoid)"}, "swhid": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "Asserts the identity of the component using the Software Heritage persistent identifier (SWHID). The SWHID, if specified, must be valid and conform to the specification defined at: [https://docs.softwareheritage.org/devel/swh-model/persistent-identifiers.html](https://docs.softwareheritage.org/devel/swh-model/persistent-identifiers.html). Refer to `@.evidence.identity` to optionally provide evidence that substantiates the assertion of the component's identity.", "examples": ["swh:1:cnt:94a9ed024d3859793618152ea559a168bbcbb5e2"], "title": "Software Heritage Identifier"}, "swid": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Swid"}, {"type": "null"}], "description": "Asserts the identity of the component using [ISO-IEC 19770-2 Software Identification (SWID) Tags](https://www.iso.org/standard/65666.html). Refer to `@.evidence.identity` to optionally provide evidence that substantiates the assertion of the component's identity.", "title": "SWID Tag"}, "modified": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "description": "[Deprecated] This will be removed in a future version. Use the pedigree element instead to supply information on exactly how the component was modified.\nA boolean value indicating if the component has been modified from the original. A value of true indicates the component is a derivative of the original. A value of false indicates the component has not been modified from the original.", "title": "Component Modified From Original"}, "pedigree": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Pedigree"}, {"type": "null"}], "description": "Component pedigree is a way to document complex supply chain scenarios where components are created, distributed, modified, redistributed, combined with other components, etc. Pedigree supports viewing this complex chain from the beginning, the end, or anywhere in the middle. It also provides a way to document variants where the exact relation may not be known.", "title": "Component Pedigree"}, "externalReferences": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ExternalReference"}, "type": "array"}, {"type": "null"}], "description": "External references provide a way to document systems, sites, and information that may be relevant but are not included with the BOM. They may also establish specific relationships within or external to the BOM.", "title": "External References"}, "components": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Component"}, "type": "array"}, {"type": "null"}], "description": "A list of software and hardware components included in the parent component. This is not a dependency tree. It provides a way to specify a hierarchical representation of component assemblies, similar to system &#8594; subsystem &#8594; parts assembly in physical supply chains.", "title": "Components"}, "evidence": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ComponentEvidence"}, {"type": "null"}], "description": "Provides the ability to document evidence collected through various forms of extraction or analysis.", "title": "Evidence"}, "releaseNotes": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ReleaseNotes"}, {"type": "null"}], "description": "Specifies release notes.", "title": "Release notes"}, "modelCard": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ModelCard"}, {"type": "null"}], "title": "AI/ML Model Card"}, "data": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ComponentData"}, "type": "array"}, {"type": "null"}], "description": "This object SHOULD be specified for any component of type `data` and must not be specified for other component types.", "title": "Data"}, "cryptoProperties": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__CryptoProperties"}, {"type": "null"}], "title": "Cryptographic Properties"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is optional."}, "tags": {"anyOf": [{"$ref": "#/components/schemas/Tags"}, {"type": "null"}], "title": "Tags"}, "signature": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Signature"}, {"type": "null"}], "description": "Enveloped signature in [JSON Signature Format (JSF)](https://cyberphone.github.io/doc/security/jsf.html).", "title": "Signature"}}, "required": ["type", "name"], "title": "Component", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ComponentData": {"additionalProperties": false, "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "An identifier which can be used to reference the dataset elsewhere in the BOM. Every `bom-ref` must be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "title": "BOM Reference"}, "type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Type5", "description": "The general theme or subject matter of the data being specified.", "title": "Type of Data"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the dataset.", "title": "Dataset Name"}, "contents": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Contents1"}, {"type": "null"}], "description": "The contents or references to the contents of the data being described.", "title": "Data Contents"}, "classification": {"anyOf": [{"$ref": "#/components/schemas/DataClassification"}, {"type": "null"}]}, "sensitiveData": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "A description of any sensitive data in a dataset.", "title": "Sensitive Data"}, "graphics": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__GraphicsCollection"}, {"type": "null"}]}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A description of the dataset. Can describe size of dataset, whether it's used for source code, training, testing, or validation, etc.", "title": "Dataset Description"}, "governance": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__DataGovernance"}, {"type": "null"}], "title": "Data Governance"}}, "required": ["type"], "title": "ComponentData", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ComponentEvidence": {"additionalProperties": false, "properties": {"identity": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ComponentIdentityEvidence"}, "type": "array"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ComponentIdentityEvidence"}, {"type": "null"}], "description": "Evidence that substantiates the identity of a component. The identity may be an object or an array of identity objects. Support for specifying identity as a single object was introduced in CycloneDX v1.5. Arrays were introduced in v1.6. It is recommended that all implementations use arrays, even if only one identity object is specified.", "title": "Identity Evidence"}, "occurrences": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Occurrence"}, "type": "array"}, {"type": "null"}], "description": "Evidence of individual instances of a component spread across multiple locations.", "title": "Occurrences"}, "callstack": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Callstack"}, {"type": "null"}], "description": "Evidence of the components use through the callstack.", "title": "Call Stack"}, "licenses": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__LicenseChoice"}, {"type": "null"}], "title": "License Evidence"}, "copyright": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Copyright"}, "type": "array"}, {"type": "null"}], "description": "Copyright evidence captures intellectual property assertions, providing evidence of possible ownership and legal protection.", "title": "Copyright Evidence"}}, "title": "ComponentEvidence", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ComponentIdentityEvidence": {"additionalProperties": false, "properties": {"field": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__FieldModel", "description": "The identity field of the component which the evidence describes.", "title": "Field"}, "confidence": {"anyOf": [{"maximum": 1.0, "minimum": 0.0, "type": "number"}, {"type": "null"}], "description": "The overall confidence of the evidence from 0 - 1, where 1 is 100% confidence.", "title": "Confidence"}, "concludedValue": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The value of the field (cpe, purl, etc) that has been concluded based on the aggregate of all methods (if available).", "title": "Concluded Value"}, "methods": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Method"}, "type": "array"}, {"type": "null"}], "description": "The methods used to extract and/or analyze the evidence.", "title": "Methods"}, "tools": {"anyOf": [{"items": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefLinkType"}, {"$ref": "#/components/schemas/BomLinkElementType"}]}, "type": "array"}, {"type": "null"}], "description": "The object in the BOM identified by its bom-ref. This is often a component or service but may be any object type supporting bom-refs. Tools used for analysis should already be defined in the BOM, either in the metadata/tools, components, or formulation.", "title": "BOM References"}}, "required": ["field"], "title": "ComponentIdentityEvidence", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ConfidenceInterval": {"additionalProperties": false, "properties": {"lowerBound": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The lower bound of the confidence interval.", "title": "Lower Bound"}, "upperBound": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The upper bound of the confidence interval.", "title": "Upper Bound"}}, "title": "ConfidenceInterval", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Considerations": {"additionalProperties": false, "properties": {"users": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "Who are the intended users of the model?", "title": "Users"}, "useCases": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "What are the intended use cases of the model?", "title": "Use Cases"}, "technicalLimitations": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "What are the known technical limitations of the model? E.g. What kind(s) of data should the model be expected not to perform well on? What are the factors that might degrade model performance?", "title": "Technical Limitations"}, "performanceTradeoffs": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "What are the known tradeoffs in accuracy/performance of the model?", "title": "Performance Tradeoffs"}, "ethicalConsiderations": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Risk"}, "type": "array"}, {"type": "null"}], "description": "What are the ethical risks involved in the application of this model?", "title": "Ethical Considerations"}, "environmentalConsiderations": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__EnvironmentalConsiderations"}, {"type": "null"}], "description": "What are the various environmental impacts the corresponding machine learning model has exhibited across its lifecycle?", "title": "Environmental Considerations"}, "fairnessAssessments": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__FairnessAssessment"}, "type": "array"}, {"type": "null"}], "description": "How does the model affect groups at risk of being systematically disadvantaged? What are the harms and benefits to the various affected groups?", "title": "Fairness Assessments"}}, "title": "Considerations", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Contents1": {"additionalProperties": false, "properties": {"attachment": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Attachment"}, {"type": "null"}], "description": "A way to include textual or encoded data.", "title": "Data Attachment"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to where the data can be retrieved.", "title": "Data URL"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Property"}, "type": "array"}, {"type": "null"}], "title": "Configuration Properties", "description": "Provides the ability to document name-value parameters used for configuration."}}, "title": "Contents1", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Copyright": {"additionalProperties": false, "properties": {"text": {"description": "The textual content of the copyright.", "title": "Copyright Text", "type": "string"}}, "required": ["text"], "title": "Copyright", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__CryptoProperties": {"additionalProperties": false, "properties": {"assetType": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__AssetType", "description": "Cryptographic assets occur in several forms. Algorithms and protocols are most commonly implemented in specialized cryptographic libraries. They may, however, also be 'hardcoded' in software components. Certificates and related cryptographic material like keys, tokens, secrets or passwords are other cryptographic assets to be modelled.", "title": "Asset Type"}, "algorithmProperties": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__AlgorithmProperties"}, {"type": "null"}], "description": "Additional properties specific to a cryptographic algorithm.", "title": "Algorithm Properties"}, "certificateProperties": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__CertificateProperties"}, {"type": "null"}], "description": "Properties for cryptographic assets of asset type 'certificate'", "title": "Certificate Properties"}, "relatedCryptoMaterialProperties": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RelatedCryptoMaterialProperties"}, {"type": "null"}], "description": "Properties for cryptographic assets of asset type: `related-crypto-material`", "title": "Related Cryptographic Material Properties"}, "protocolProperties": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ProtocolProperties"}, {"type": "null"}], "description": "Properties specific to cryptographic assets of type: `protocol`.", "title": "Protocol Properties"}, "oid": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The object identifier (OID) of the cryptographic asset.", "title": "OID"}}, "required": ["assetType"], "title": "CryptoProperties", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__CryptoRefArray": {"description": "Deprecated definition.", "items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, "title": "Encryption Algorithm (ENCR) Reference Array", "type": "array"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__DataFlowDirection": {"enum": ["inbound", "outbound", "bi-directional", "unknown"], "title": "DataFlowDirection", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__DataGovernance": {"additionalProperties": false, "properties": {"custodians": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__DataGovernanceResponsibleParty"}, "type": "array"}, {"type": "null"}], "description": "Data custodians are responsible for the safe custody, transport, and storage of data.", "title": "Data Custodians"}, "stewards": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__DataGovernanceResponsibleParty"}, "type": "array"}, {"type": "null"}], "description": "Data stewards are responsible for data content, context, and associated business rules.", "title": "Data Stewards"}, "owners": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__DataGovernanceResponsibleParty"}, "type": "array"}, {"type": "null"}], "description": "Data owners are concerned with risk and appropriate access to data.", "title": "Data Owners"}}, "title": "DataGovernance", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__DataGovernanceResponsibleParty": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__DataGovernanceResponsibleParty1"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__DataGovernanceResponsibleParty2"}], "title": "DataGovernanceResponsibleParty"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__DataGovernanceResponsibleParty1": {"additionalProperties": false, "properties": {"organization": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalEntity", "description": "The organization that is responsible for specific data governance role(s).", "title": "Organization"}, "contact": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalContact"}, {"type": "null"}], "description": "The individual that is responsible for specific data governance role(s).", "title": "Individual"}}, "required": ["organization"], "title": "DataGovernanceResponsibleParty1", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__DataGovernanceResponsibleParty2": {"additionalProperties": false, "properties": {"organization": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalEntity"}, {"type": "null"}], "description": "The organization that is responsible for specific data governance role(s).", "title": "Organization"}, "contact": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalContact", "description": "The individual that is responsible for specific data governance role(s).", "title": "Individual"}}, "required": ["contact"], "title": "DataGovernanceResponsibleParty2", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Datasets": {"additionalProperties": false, "properties": {"ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefLinkType"}, {"$ref": "#/components/schemas/BomLinkElementType"}, {"type": "null"}], "description": "References a data component by the components bom-ref attribute", "title": "Reference"}}, "title": "Datasets", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Diff": {"additionalProperties": false, "properties": {"text": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Attachment"}, {"type": "null"}], "description": "Specifies the text of the diff", "title": "Diff text"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Specifies the URL to the diff", "title": "URL"}}, "title": "Diff", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Encoding": {"enum": ["base64"], "title": "Encoding", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__EnergyConsumption": {"additionalProperties": false, "properties": {"activity": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Activity", "description": "The type of activity that is part of a machine learning model development or operational lifecycle."}, "energyProviders": {"description": "The provider(s) of the energy consumed by the associated model development lifecycle activity.", "items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__EnergyProvider"}, "title": "Energy Providers", "type": "array"}, "activityEnergyCost": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__EnergyMeasure", "description": "The total energy cost associated with the model lifecycle activity.", "title": "Activity Energy Cost"}, "co2CostEquivalent": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Co2Measure"}, {"type": "null"}], "description": "The CO2 cost (debit) equivalent to the total energy cost.", "title": "CO2 Equivalent Cost"}, "co2CostOffset": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Co2Measure"}, {"type": "null"}], "description": "The CO2 offset (credit) for the CO2 equivalent cost.", "title": "CO2 Cost Offset"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is optional."}}, "required": ["activity", "energyProviders", "activityEnergyCost"], "title": "EnergyConsumption", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__EnergyMeasure": {"additionalProperties": false, "properties": {"value": {"description": "Quantity of energy.", "title": "Value", "type": "number"}, "unit": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Unit", "description": "Unit of energy."}}, "required": ["value", "unit"], "title": "EnergyMeasure", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__EnergyProvider": {"additionalProperties": false, "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "An identifier which can be used to reference the energy provider elsewhere in the BOM. Every `bom-ref` must be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "title": "BOM Reference"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A description of the energy provider.", "title": "Description"}, "organization": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalEntity", "description": "The organization that provides energy.", "title": "Organization"}, "energySource": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__EnergySource", "description": "The energy source for the energy provider.", "title": "Energy Source"}, "energyProvided": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__EnergyMeasure", "description": "The energy provided by the energy source for an associated activity.", "title": "Energy Provided"}, "externalReferences": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ExternalReference"}, "type": "array"}, {"type": "null"}], "description": "External references provide a way to document systems, sites, and information that may be relevant but are not included with the BOM. They may also establish specific relationships within or external to the BOM.", "title": "External References"}}, "required": ["organization", "energySource", "energyProvided"], "title": "EnergyProvider", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__EnergySource": {"enum": ["coal", "oil", "natural-gas", "nuclear", "wind", "solar", "geothermal", "hydropower", "biofuel", "unknown", "other"], "title": "EnergySource", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__EnvironmentalConsiderations": {"additionalProperties": false, "properties": {"energyConsumptions": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__EnergyConsumption"}, "type": "array"}, {"type": "null"}], "description": "Describes energy consumption information incurred for one or more component lifecycle activities.", "title": "Energy Consumptions"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is optional."}}, "title": "EnvironmentalConsiderations", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ExecutionEnvironment": {"enum": ["software-plain-ram", "software-encrypted-ram", "software-tee", "hardware", "other", "unknown"], "title": "ExecutionEnvironment", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ExternalReference": {"additionalProperties": false, "properties": {"url": {"anyOf": [{"type": "string"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__BomLink"}], "description": "The URI (URL or URN) to the external reference. External references are URIs and therefore can accept any URL scheme including https ([RFC-7230](https://www.ietf.org/rfc/rfc7230.txt)), mailto ([RFC-2368](https://www.ietf.org/rfc/rfc2368.txt)), tel ([RFC-3966](https://www.ietf.org/rfc/rfc3966.txt)), and dns ([RFC-4501](https://www.ietf.org/rfc/rfc4501.txt)). External references may also include formally registered URNs such as [CycloneDX BOM-Link](https://cyclonedx.org/capabilities/bomlink/) to reference CycloneDX BOMs or any object within a BOM. BOM-Link transforms applicable external references into relationships that can be expressed in a BOM or across BOMs.", "title": "URL"}, "comment": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A comment describing the external reference", "title": "Comment"}, "type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Type3", "description": "Specifies the type of external reference.", "title": "Type"}, "hashes": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Hash"}, "type": "array"}, {"type": "null"}], "description": "The hashes of the external reference (if applicable).", "title": "Hashes"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is optional."}}, "required": ["url", "type"], "title": "ExternalReference", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__FairnessAssessment": {"additionalProperties": false, "properties": {"groupAtRisk": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The groups or individuals at risk of being systematically disadvantaged by the model.", "title": "Group at Risk"}, "benefits": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Expected benefits to the identified groups.", "title": "Benefits"}, "harms": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Expected harms to the identified groups.", "title": "Harms"}, "mitigationStrategy": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "With respect to the benefits and harms outlined, please describe any mitigation strategy implemented.", "title": "Mitigation Strategy"}}, "title": "FairnessAssessment", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__FieldModel": {"enum": ["group", "name", "version", "purl", "cpe", "omniborId", "swhid", "swid", "hash"], "title": "FieldModel", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Frame": {"additionalProperties": false, "properties": {"package": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A package organizes modules into namespaces, providing a unique namespace for each type it contains.", "title": "Package"}, "module": {"description": "A module or class that encloses functions/methods and other code.", "title": "Module", "type": "string"}, "function": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A block of code designed to perform a particular task.", "title": "Function"}, "parameters": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "Arguments that are passed to the module or function.", "title": "Parameters"}, "line": {"anyOf": [{"type": "integer"}, {"type": "null"}], "description": "The line number the code that is called resides on.", "title": "Line"}, "column": {"anyOf": [{"type": "integer"}, {"type": "null"}], "description": "The column the code that is called resides.", "title": "Column"}, "fullFilename": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The full path and filename of the module.", "title": "Full Filename"}}, "required": ["module"], "title": "Frame", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Graphic": {"additionalProperties": false, "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the graphic.", "title": "Name"}, "image": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Attachment"}, {"type": "null"}], "description": "The graphic (vector or raster). Base64 encoding must be specified for binary images.", "title": "Graphic Image"}}, "title": "Graphic", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__GraphicsCollection": {"additionalProperties": false, "properties": {"description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A description of this collection of graphics.", "title": "Description"}, "collection": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Graphic"}, "type": "array"}, {"type": "null"}], "description": "A collection of graphics.", "title": "Collection"}}, "title": "GraphicsCollection", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Hash": {"additionalProperties": false, "properties": {"alg": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__HashAlg"}, "content": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__HashContent"}}, "required": ["alg", "content"], "title": "Hash", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__HashAlg": {"enum": ["MD5", "SHA-1", "SHA-256", "SHA-384", "SHA-512", "SHA3-256", "SHA3-384", "SHA3-512", "BLAKE2b-256", "BLAKE2b-384", "BLAKE2b-512", "BLAKE3", "Streebog-256", "Streebog-512"], "title": "HashAlg", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__HashContent": {"description": "The value of the hash.", "examples": ["3942447fac867ae5cdb3229b658f4d48"], "pattern": "^([a-fA-F0-9]{32}|[a-fA-F0-9]{40}|[a-fA-F0-9]{64}|[a-fA-F0-9]{96}|[a-fA-F0-9]{128})$", "title": "Hash Value", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__IdentifiableAction": {"additionalProperties": false, "properties": {"timestamp": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The timestamp in which the action occurred", "title": "Timestamp"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the individual who performed the action", "title": "Name"}, "email": {"anyOf": [{"format": "email", "type": "string"}, {"type": "null"}], "description": "The email address of the individual who performed the action", "title": "E-mail"}}, "title": "IdentifiableAction", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Ikev2TransformTypes": {"additionalProperties": false, "properties": {"encr": {"anyOf": [{"items": {"$ref": "#/components/schemas/IkeV2Enc"}, "type": "array"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__CryptoRefArray"}, {"type": "null"}], "description": "Transform Type 1: encryption algorithms", "title": "Encryption Algorithms (ENCR)"}, "prf": {"anyOf": [{"items": {"$ref": "#/components/schemas/IkeV2Prf"}, "type": "array"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__CryptoRefArray"}, {"type": "null"}], "description": "Transform Type 2: pseudorandom functions", "title": "Pseudorandom Functions (PRF)"}, "integ": {"anyOf": [{"items": {"$ref": "#/components/schemas/IkeV2Integ"}, "type": "array"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__CryptoRefArray"}, {"type": "null"}], "description": "Transform Type 3: integrity algorithms", "title": "Integrity Algorithms (INTEG)"}, "ke": {"anyOf": [{"items": {"$ref": "#/components/schemas/IkeV2Ke"}, "type": "array"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__CryptoRefArray"}, {"type": "null"}], "description": "Transform Type 4: Key Exchange Method (KE) per [RFC 9370](https://www.ietf.org/rfc/rfc9370.html), formerly called Diffie-Hellman Group (D-H).", "title": "Key Exchange Methods (KE)"}, "esn": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "description": "Specifies if an Extended Sequence Number (ESN) is used.", "title": "Extended Sequence Number (ESN)"}, "auth": {"anyOf": [{"items": {"$ref": "#/components/schemas/IkeV2Auth"}, "type": "array"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__CryptoRefArray"}, {"type": "null"}], "description": "IKEv2 Authentication method per [RFC9593](https://www.ietf.org/rfc/rfc9593.html).", "title": "IKEv2 Authentication methods"}}, "title": "Ikev2TransformTypes", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ImplementationPlatform": {"enum": ["generic", "x86_32", "x86_64", "armv7-a", "armv7-m", "armv8-a", "armv8-m", "armv9-a", "armv9-m", "s390x", "ppc64", "ppc64le", "other", "unknown"], "title": "ImplementationPlatform", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__InputOutputMLParameters": {"additionalProperties": false, "properties": {"format": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The data format for input/output to the model.", "examples": ["string", "image", "time-series"], "title": "Input/Output Format"}}, "title": "InputOutputMLParameters", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Issue": {"additionalProperties": false, "properties": {"type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Type2", "description": "Specifies the type of issue", "title": "Issue Type"}, "id": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The identifier of the issue assigned by the source of the issue", "title": "Issue ID"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the issue", "title": "Issue Name"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A description of the issue", "title": "Issue Description"}, "source": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Source"}, {"type": "null"}], "description": "The source of the issue where it is documented", "title": "Source"}, "references": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "A collection of URL's for reference. Multiple URLs are allowed.", "examples": ["https://example.com"], "title": "References"}}, "required": ["type"], "title": "Issue", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__KeyType": {"enum": ["EC", "OKP", "RSA"], "title": "KeyType", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__License": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__License1"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__License2"}], "description": "Specifies the details and attributes related to a software license. It can either include a valid SPDX license identifier or a named license, along with additional properties such as license acknowledgment, comprehensive commercial licensing information, and the full text of the license.", "title": "License"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__License1": {"additionalProperties": false, "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "An identifier which can be used to reference the license elsewhere in the BOM. Every `bom-ref` must be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "title": "BOM Reference"}, "id": {"$ref": "#/components/schemas/Schema", "description": "A valid SPDX license identifier. If specified, this value must be one of the enumeration of valid SPDX license identifiers defined in the spdx.schema.json (or spdx.xml) subschema which is synchronized with the official SPDX license list.", "examples": ["Apache-2.0"], "title": "License ID (SPDX)"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the license. This may include the name of a commercial or proprietary license or an open source license that may not be defined by SPDX.", "examples": ["Acme Software License"], "title": "License Name"}, "acknowledgement": {"anyOf": [{"$ref": "#/components/schemas/LicenseAcknowledgementEnumeration"}, {"type": "null"}]}, "text": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Attachment"}, {"type": "null"}], "description": "A way to include the textual content of a license.", "title": "License text"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to the license file. If specified, a 'license' externalReference should also be specified for completeness", "examples": ["https://www.apache.org/licenses/LICENSE-2.0.txt"], "title": "License URL"}, "licensing": {"anyOf": [{"$ref": "#/components/schemas/Licensing"}, {"type": "null"}]}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is optional."}}, "required": ["id"], "title": "License1", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__License2": {"additionalProperties": false, "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "An identifier which can be used to reference the license elsewhere in the BOM. Every `bom-ref` must be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "title": "BOM Reference"}, "id": {"anyOf": [{"$ref": "#/components/schemas/Schema"}, {"type": "null"}], "description": "A valid SPDX license identifier. If specified, this value must be one of the enumeration of valid SPDX license identifiers defined in the spdx.schema.json (or spdx.xml) subschema which is synchronized with the official SPDX license list.", "examples": ["Apache-2.0"], "title": "License ID (SPDX)"}, "name": {"description": "The name of the license. This may include the name of a commercial or proprietary license or an open source license that may not be defined by SPDX.", "examples": ["Acme Software License"], "title": "License Name", "type": "string"}, "acknowledgement": {"anyOf": [{"$ref": "#/components/schemas/LicenseAcknowledgementEnumeration"}, {"type": "null"}]}, "text": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Attachment"}, {"type": "null"}], "description": "A way to include the textual content of a license.", "title": "License text"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to the license file. If specified, a 'license' externalReference should also be specified for completeness", "examples": ["https://www.apache.org/licenses/LICENSE-2.0.txt"], "title": "License URL"}, "licensing": {"anyOf": [{"$ref": "#/components/schemas/Licensing"}, {"type": "null"}]}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is optional."}}, "required": ["name"], "title": "License2", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__LicenseChoice": {"description": "A list of SPDX licenses and/or named licenses and/or SPDX License Expression.", "items": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__LicenseChoice1"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__LicenseChoice2"}]}, "title": "License Choice", "type": "array"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__LicenseChoice1": {"additionalProperties": false, "properties": {"license": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__License"}}, "required": ["license"], "title": "LicenseChoice1", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__LicenseChoice2": {"additionalProperties": false, "properties": {"expression": {"description": "A valid SPDX license expression.\nRefer to https://spdx.org/specifications for syntax requirements.", "examples": ["Apache-2.0 AND (MIT OR GPL-2.0-only)", "GPL-3.0-only WITH Classpath-exception-2.0"], "title": "SPDX License Expression", "type": "string"}, "expressionDetails": {"anyOf": [{"items": {"$ref": "#/components/schemas/ExpressionDetail"}, "type": "array"}, {"type": "null"}], "description": "Details for parts of the `expression`.", "title": "Expression Details"}, "acknowledgement": {"anyOf": [{"$ref": "#/components/schemas/LicenseAcknowledgementEnumeration"}, {"type": "null"}]}, "bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "An identifier which can be used to reference the license elsewhere in the BOM. Every `bom-ref` must be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "title": "BOM Reference"}, "licensing": {"anyOf": [{"$ref": "#/components/schemas/Licensing"}, {"type": "null"}]}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is optional."}}, "required": ["expression"], "title": "LicenseChoice2", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Lifecycles": {"additionalProperties": false, "properties": {"phase": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Phase", "description": "A pre-defined phase in the product lifecycle."}}, "required": ["phase"], "title": "Lifecycles", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Lifecycles1": {"additionalProperties": false, "properties": {"name": {"description": "The name of the lifecycle phase", "title": "Name", "type": "string"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The description of the lifecycle phase", "title": "Description"}}, "required": ["name"], "title": "Lifecycles1", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__LocaleType": {"description": "Defines a syntax for representing two character language code (ISO-639) followed by an optional two character country code. The language code must be lower case. If the country code is specified, the country code must be upper case. The language code and country code must be separated by a minus sign. Examples: en, en-US, fr, fr-CA", "pattern": "^([a-z]{2})(-[A-Z]{2})?$", "title": "Locale", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Metadata": {"additionalProperties": false, "properties": {"timestamp": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the BOM was created.", "title": "Timestamp"}, "lifecycles": {"anyOf": [{"items": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Lifecycles"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Lifecycles1"}]}, "type": "array"}, {"type": "null"}], "description": "Lifecycles communicate the stage(s) in which data in the BOM was captured. Different types of data may be available at various phases of a lifecycle, such as the Software Development Lifecycle (SDLC), IT Asset Management (ITAM), and Software Asset Management (SAM). Thus, a BOM may include data specific to or only obtainable in a given lifecycle.", "title": "Lifecycles"}, "tools": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Tools"}, {"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Tool"}, "type": "array"}, {"type": "null"}], "description": "The tool(s) used in the creation, enrichment, and validation of the BOM.", "title": "Tools"}, "manufacturer": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalEntity"}, {"type": "null"}], "description": "The organization that created the BOM.\nManufacturer is common in BOMs created through automated processes. BOMs created through manual means may have `@.authors` instead.", "title": "BOM Manufacturer"}, "authors": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalContact"}, "type": "array"}, {"type": "null"}], "description": "The person(s) who created the BOM.\nAuthors are common in BOMs created through manual processes. BOMs created through automated means may have `@.manufacturer` instead.", "title": "BOM Authors"}, "component": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Component"}, {"type": "null"}], "description": "The component that the BOM describes.", "title": "Component"}, "manufacture": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalEntity"}, {"type": "null"}], "description": "[Deprecated] This will be removed in a future version. Use the `@.component.manufacturer` instead.\nThe organization that manufactured the component that the BOM describes.", "title": "Component Manufacture (legacy)"}, "supplier": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalEntity"}, {"type": "null"}], "description": " The organization that supplied the component that the BOM describes. The supplier may often be the manufacturer, but may also be a distributor or repackager.", "title": "Supplier"}, "licenses": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__LicenseChoice"}, {"type": "null"}], "description": "The license information for the BOM document.\nThis may be different from the license(s) of the component(s) that the BOM describes.", "title": "BOM License(s)"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is optional."}, "distributionConstraints": {"anyOf": [{"$ref": "#/components/schemas/DistributionConstraints"}, {"type": "null"}], "description": "Conditions and constraints governing the sharing and distribution of the data or components described by this BOM.", "title": "Distribution Constraints"}}, "title": "Metadata", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Method": {"additionalProperties": false, "properties": {"technique": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Technique", "description": "The technique used in this method of analysis."}, "confidence": {"description": "The confidence of the evidence from 0 - 1, where 1 is 100% confidence. Confidence is specific to the technique used. Each technique of analysis can have independent confidence.", "maximum": 1.0, "minimum": 0.0, "title": "Confidence", "type": "number"}, "value": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The value or contents of the evidence.", "title": "Value"}}, "required": ["technique", "confidence"], "title": "Method", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Mode1": {"enum": ["cbc", "ecb", "ccm", "gcm", "cfb", "ofb", "ctr", "other", "unknown"], "title": "Mode1", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ModelCard": {"additionalProperties": false, "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "An identifier which can be used to reference the model card elsewhere in the BOM. Every `bom-ref` must be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "title": "BOM Reference"}, "modelParameters": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ModelParameters"}, {"type": "null"}], "description": "Hyper-parameters for construction of the model.", "title": "Model Parameters"}, "quantitativeAnalysis": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__QuantitativeAnalysis"}, {"type": "null"}], "description": "A quantitative analysis of the model", "title": "Quantitative Analysis"}, "considerations": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Considerations"}, {"type": "null"}], "description": "What considerations should be taken into account regarding the model's construction, training, and application?", "title": "Considerations"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is optional."}}, "title": "ModelCard", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ModelParameters": {"additionalProperties": false, "properties": {"approach": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Approach"}, {"type": "null"}], "description": "The overall approach to learning used by the model for problem solving.", "title": "Approach"}, "task": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Directly influences the input and/or output. Examples include classification, regression, clustering, etc.", "title": "Task"}, "architectureFamily": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The model architecture family such as transformer network, convolutional neural network, residual neural network, LSTM neural network, etc.", "title": "Architecture Family"}, "modelArchitecture": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The specific architecture of the model such as GPT-1, ResNet-50, YOLOv3, etc.", "title": "Model Architecture"}, "datasets": {"anyOf": [{"items": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ComponentData"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Datasets"}]}, "type": "array"}, {"type": "null"}], "description": "The datasets used to train and evaluate the model.", "title": "Datasets"}, "inputs": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__InputOutputMLParameters"}, "type": "array"}, {"type": "null"}], "description": "The input format(s) of the model", "title": "Inputs"}, "outputs": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__InputOutputMLParameters"}, "type": "array"}, {"type": "null"}], "description": "The output format(s) from the model", "title": "Outputs"}}, "title": "ModelParameters", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Note": {"additionalProperties": false, "properties": {"locale": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__LocaleType"}, {"type": "null"}], "description": "The ISO-639 (or higher) language code and optional ISO-3166 (or higher) country code. Examples include: \"en\", \"en-US\", \"fr\" and \"fr-CA\"", "title": "Locale"}, "text": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Attachment", "description": "Specifies the full content of the release note.", "title": "Release note content"}}, "required": ["text"], "title": "Note", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Occurrence": {"additionalProperties": false, "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "An identifier which can be used to reference the occurrence elsewhere in the BOM. Every `bom-ref` must be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "title": "BOM Reference"}, "location": {"description": "The location or path to where the component was found.", "title": "Location", "type": "string"}, "line": {"anyOf": [{"minimum": 0, "type": "integer"}, {"type": "null"}], "description": "The line number where the component was found.", "title": "Line Number"}, "offset": {"anyOf": [{"minimum": 0, "type": "integer"}, {"type": "null"}], "description": "The offset where the component was found.", "title": "Offset"}, "symbol": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The symbol name that was found associated with the component.", "title": "Symbol"}, "additionalContext": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Any additional context of the detected component (e.g. a code snippet).", "title": "Additional Context"}}, "required": ["location"], "title": "Occurrence", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalContact": {"additionalProperties": false, "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "An identifier which can be used to reference the object elsewhere in the BOM. Every `bom-ref` must be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "title": "BOM Reference"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of a contact", "examples": ["Contact name"], "title": "Name"}, "email": {"anyOf": [{"format": "email", "type": "string"}, {"type": "null"}], "description": "The email address of the contact.", "examples": ["firstname.lastname@example.com"], "title": "Email Address"}, "phone": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The phone number of the contact.", "examples": ["800-555-1212"], "title": "Phone"}}, "title": "OrganizationalContact", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalEntity": {"additionalProperties": false, "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "An identifier which can be used to reference the object elsewhere in the BOM. Every `bom-ref` must be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "title": "BOM Reference"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the organization", "examples": ["Example Inc."], "title": "Organization Name"}, "address": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__PostalAddress"}, {"type": "null"}], "description": "The physical address (location) of the organization", "title": "Organization Address"}, "url": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "The URL of the organization. Multiple URLs are allowed.", "examples": ["https://example.com"], "title": "Organization URL(s)"}, "contact": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalContact"}, "type": "array"}, {"type": "null"}], "description": "A contact at the organization. Multiple contacts are allowed.", "title": "Organizational Contact"}}, "title": "OrganizationalEntity", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Padding": {"enum": ["pkcs5", "pkcs7", "pkcs1v15", "oaep", "raw", "other", "unknown"], "title": "Padding", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Patch": {"additionalProperties": false, "properties": {"type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Type1", "description": "Specifies the purpose for the patch including the resolution of defects, security issues, or new behavior or functionality.", "title": "Patch Type"}, "diff": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Diff"}, {"type": "null"}], "description": "The patch file (or diff) that shows changes. Refer to [https://en.wikipedia.org/wiki/Diff](https://en.wikipedia.org/wiki/Diff)", "title": "Diff"}, "resolves": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Issue"}, "type": "array"}, {"type": "null"}], "description": "A collection of issues the patch resolves", "title": "Resolves"}}, "required": ["type"], "title": "Patch", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Pedigree": {"additionalProperties": false, "properties": {"ancestors": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Component"}, "type": "array"}, {"type": "null"}], "description": "Describes zero or more components in which a component is derived from. This is commonly used to describe forks from existing projects where the forked version contains an ancestor node containing the original component it was forked from. For example, Component A is the original component. Component B is the component being used and documented in the BOM. However, Component B contains a pedigree node with a single ancestor documenting Component A - the original component from which Component B is derived from.", "title": "Ancestors"}, "descendants": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Component"}, "type": "array"}, {"type": "null"}], "description": "Descendants are the exact opposite of ancestors. This provides a way to document all forks (and their forks) of an original or root component.", "title": "Descendants"}, "variants": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Component"}, "type": "array"}, {"type": "null"}], "description": "Variants describe relations where the relationship between the components is not known. For example, if Component A contains nearly identical code to Component B. They are both related, but it is unclear if one is derived from the other, or if they share a common ancestor.", "title": "Variants"}, "commits": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Commit"}, "type": "array"}, {"type": "null"}], "description": "A list of zero or more commits which provide a trail describing how the component deviates from an ancestor, descendant, or variant.", "title": "Commits"}, "patches": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Patch"}, "type": "array"}, {"type": "null"}], "description": "A list of zero or more patches describing how the component deviates from an ancestor, descendant, or variant. Patches may be complementary to commits or may be used in place of commits.", "title": "Patches"}, "notes": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Notes, observations, and other non-structured commentary describing the components pedigree.", "title": "Notes"}}, "title": "Pedigree", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__PerformanceMetric": {"additionalProperties": false, "properties": {"type": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The type of performance metric.", "title": "Type"}, "value": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The value of the performance metric.", "title": "Value"}, "slice": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the slice this metric was computed on. By default, assume this metric is not sliced.", "title": "Slice"}, "confidenceInterval": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ConfidenceInterval"}, {"type": "null"}], "description": "The confidence interval of the metric.", "title": "Confidence Interval"}}, "title": "PerformanceMetric", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Phase": {"enum": ["design", "pre-build", "build", "post-build", "operations", "discovery", "decommission"], "title": "Phase", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__PostalAddress": {"additionalProperties": false, "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "An identifier which can be used to reference the address elsewhere in the BOM. Every `bom-ref` must be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "title": "BOM Reference"}, "country": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The country name or the two-letter ISO 3166-1 country code.", "title": "Country"}, "region": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The region or state in the country.", "examples": ["Texas"], "title": "Region"}, "locality": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The locality or city within the country.", "examples": ["Austin"], "title": "Locality"}, "postOfficeBoxNumber": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The post office box number.", "examples": ["901"], "title": "Post Office Box Number"}, "postalCode": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The postal code.", "examples": ["78758"], "title": "Postal Code"}, "streetAddress": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The street address.", "examples": ["100 Main Street"], "title": "Street Address"}}, "title": "PostalAddress", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Primitive": {"enum": ["drbg", "mac", "block-cipher", "stream-cipher", "signature", "hash", "pke", "xof", "kdf", "key-agree", "kem", "ae", "combiner", "key-wrap", "other", "unknown"], "title": "Primitive", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Property": {"additionalProperties": false, "properties": {"name": {"description": "The name of the property. Duplicate names are allowed, each potentially having a different value.", "title": "Name", "type": "string"}, "value": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The value of the property.", "title": "Value"}}, "required": ["name"], "title": "Property", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ProtocolProperties": {"additionalProperties": false, "properties": {"type": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Type11"}, {"type": "null"}], "description": "The concrete protocol type.", "title": "Type"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The version of the protocol.", "examples": ["1.0", "1.2", "1.99"], "title": "Protocol Version"}, "cipherSuites": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__CipherSuite"}, "type": "array"}, {"type": "null"}], "description": "A list of cipher suites related to the protocol.", "title": "Cipher Suites"}, "ikev2TransformTypes": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Ikev2TransformTypes"}, {"type": "null"}], "description": "The IKEv2 transform types supported (types 1-4), defined in [RFC 7296 section 3.3.2](https://www.ietf.org/rfc/rfc7296.html#section-3.3.2), and additional properties.", "title": "IKEv2 Transform Types"}, "cryptoRefArray": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__CryptoRefArray"}, {"type": "null"}], "description": "[DEPRECATED] Use `@.relatedCryptographicAssets` instead.\nA list of protocol-related cryptographic assets", "title": "Cryptographic References"}, "relatedCryptographicAssets": {"anyOf": [{"$ref": "#/components/schemas/RelatedCryptographicAssets"}, {"type": "null"}], "description": "A list of cryptographic assets related to this component.", "title": "Related Cryptographic Assets"}}, "title": "ProtocolProperties", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__PublicKey": {"additionalProperties": true, "properties": {"kty": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__KeyType"}}, "required": ["kty"], "title": "PublicKey", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__QuantitativeAnalysis": {"additionalProperties": false, "properties": {"performanceMetrics": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__PerformanceMetric"}, "type": "array"}, {"type": "null"}], "description": "The model performance metrics being reported. Examples may include accuracy, F1 score, precision, top-3 error rates, MSC, etc.", "title": "Performance Metrics"}, "graphics": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__GraphicsCollection"}, {"type": "null"}]}}, "title": "QuantitativeAnalysis", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefLinkType": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType", "description": "Descriptor for an element identified by the attribute 'bom-ref' in the same BOM document.\nIn contrast to `bomLinkElementType`.", "title": "BOM Reference"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType": {"description": "Identifier for referable and therefore interlinkable elements.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "minLength": 1, "title": "BOM Reference", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RelatedCryptoMaterialProperties": {"additionalProperties": false, "properties": {"type": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Type10"}, {"type": "null"}], "description": "The type for the related cryptographic material", "title": "relatedCryptoMaterialType"}, "id": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The unique identifier for the related cryptographic material.", "title": "ID"}, "state": {"anyOf": [{"$ref": "#/components/schemas/State1"}, {"type": "null"}], "description": "The key state as defined by NIST SP 800-57.", "title": "State"}, "algorithmRef": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "[DEPRECATED] Use `@.relatedCryptographicAssets` instead.\nThe bom-ref to the algorithm used to generate the related cryptographic material.", "title": "Algorithm Reference"}, "creationDate": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the related cryptographic material was created.", "title": "Creation Date"}, "activationDate": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the related cryptographic material was activated.", "title": "Activation Date"}, "updateDate": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the related cryptographic material was updated.", "title": "Update Date"}, "expirationDate": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the related cryptographic material expires.", "title": "Expiration Date"}, "value": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The associated value of the cryptographic material.", "title": "Value"}, "size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "description": "The size of the cryptographic asset (in bits).", "title": "Size"}, "format": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The format of the related cryptographic material (e.g. P8, PEM, DER).", "title": "Format"}, "securedBy": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__SecuredBy"}, {"type": "null"}], "description": "The mechanism by which the cryptographic asset is secured by.", "title": "Secured By"}, "fingerprint": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Hash"}, {"type": "null"}], "description": "The fingerprint is a cryptographic hash of the asset.", "title": "Fingerprint"}, "relatedCryptographicAssets": {"anyOf": [{"$ref": "#/components/schemas/RelatedCryptographicAssets"}, {"type": "null"}], "description": "A list of cryptographic assets related to this component.", "title": "Related Cryptographic Assets"}}, "title": "RelatedCryptoMaterialProperties", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ReleaseNotes": {"additionalProperties": false, "properties": {"type": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ReleaseType", "description": "The software versioning type the release note describes.", "title": "Type"}, "title": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The title of the release.", "title": "Title"}, "featuredImage": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to an image that may be prominently displayed with the release note.", "title": "Featured image"}, "socialImage": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to an image that may be used in messaging on social media platforms.", "title": "Social image"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A short description of the release.", "title": "Description"}, "timestamp": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "The date and time (timestamp) when the release note was created.", "title": "Timestamp"}, "aliases": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "One or more alternate names the release may be referred to. This may include unofficial terms used by development and marketing teams (e.g. code names).", "title": "Aliases"}, "tags": {"anyOf": [{"$ref": "#/components/schemas/Tags"}, {"type": "null"}], "title": "Tags"}, "resolves": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Issue"}, "type": "array"}, {"type": "null"}], "description": "A collection of issues that have been resolved.", "title": "Resolves"}, "notes": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Note"}, "type": "array"}, {"type": "null"}], "description": "Zero or more release notes containing the locale and content. Multiple note objects may be specified to support release notes in a wide variety of languages.", "title": "Notes"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is optional."}}, "required": ["type"], "title": "ReleaseNotes", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ReleaseType": {"description": "The software versioning type. It is recommended that the release type use one of 'major', 'minor', 'patch', 'pre-release', or 'internal'. Representing all possible software release types is not practical, so standardizing on the recommended values, whenever possible, is strongly encouraged.\n\n* __major__ = A major release may contain significant changes or may introduce breaking changes.\n* __minor__ = A minor release, also known as an update, may contain a smaller number of changes than major releases.\n* __patch__ = Patch releases are typically unplanned and may resolve defects or important security issues.\n* __pre-release__ = A pre-release may include alpha, beta, or release candidates and typically have limited support. They provide the ability to preview a release prior to its general availability.\n* __internal__ = Internal releases are not for public consumption and are intended to be used exclusively by the project or manufacturer that produced it.", "examples": ["major", "minor", "patch", "pre-release", "internal"], "title": "ReleaseType", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Risk": {"additionalProperties": false, "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the risk.", "title": "Name"}, "mitigationStrategy": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Strategy used to address this risk.", "title": "Mitigation Strategy"}}, "title": "Risk", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Scope": {"enum": ["required", "optional", "excluded"], "title": "Scope", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__SecuredBy": {"additionalProperties": false, "properties": {"mechanism": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Specifies the mechanism by which the cryptographic asset is secured by.", "examples": ["HSM", "TPM", "SGX", "Software", "None"], "title": "Mechanism"}, "algorithmRef": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "The bom-ref to the algorithm.", "title": "Algorithm Reference"}}, "title": "SecuredBy", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Service": {"additionalProperties": false, "properties": {"bom-ref": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__RefType"}, {"type": "null"}], "description": "An identifier which can be used to reference the service elsewhere in the BOM. Every `bom-ref` must be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.", "title": "BOM Reference"}, "provider": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__OrganizationalEntity"}, {"type": "null"}], "description": "The organization that provides the service.", "title": "Provider"}, "group": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The grouping name, namespace, or identifier. This will often be a shortened, single name of the company or project that produced the service or domain name. Whitespace and special characters should be avoided.", "examples": ["com.acme"], "title": "Service Group"}, "name": {"description": "The name of the service. This will often be a shortened, single name of the service.", "examples": ["ticker-service"], "title": "Service Name", "type": "string"}, "version": {"anyOf": [{"$ref": "#/components/schemas/Version"}, {"type": "null"}], "description": "The service version.", "title": "Service Version"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Specifies a description for the service", "title": "Service Description"}, "endpoints": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "The endpoint URIs of the service. Multiple endpoints are allowed.", "examples": ["https://example.com/api/v1/ticker"], "title": "Endpoints"}, "authenticated": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "description": "A boolean value indicating if the service requires authentication. A value of true indicates the service requires authentication prior to use. A value of false indicates the service does not require authentication.", "title": "Authentication Required"}, "x-trust-boundary": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "description": "A boolean value indicating if use of the service crosses a trust zone or boundary. A value of true indicates that by using the service, a trust boundary is crossed. A value of false indicates that by using the service, a trust boundary is not crossed.", "title": "Crosses Trust Boundary"}, "trustZone": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the trust zone the service resides in.", "title": "Trust Zone"}, "data": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ServiceData"}, "type": "array"}, {"type": "null"}], "description": "Specifies information about the data including the directional flow of data and the data classification.", "title": "Data"}, "licenses": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__LicenseChoice"}, {"type": "null"}], "title": "Service License(s)"}, "patentAssertions": {"anyOf": [{"$ref": "#/components/schemas/PatentAssertions"}, {"type": "null"}], "title": "Service Patent(s)"}, "externalReferences": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ExternalReference"}, "type": "array"}, {"type": "null"}], "description": "External references provide a way to document systems, sites, and information that may be relevant but are not included with the BOM. They may also establish specific relationships within or external to the BOM.", "title": "External References"}, "services": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Service"}, "type": "array"}, {"type": "null"}], "description": "A list of services included or deployed behind the parent service. This is not a dependency tree. It provides a way to specify a hierarchical representation of service assemblies.", "title": "Services"}, "releaseNotes": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ReleaseNotes"}, {"type": "null"}], "description": "Specifies release notes.", "title": "Release notes"}, "properties": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Property"}, "type": "array"}, {"type": "null"}], "title": "Properties", "description": "Provides the ability to document properties in a name-value store. This provides flexibility to include data not officially supported in the standard without having to use additional namespaces or create extensions. Unlike key-value stores, properties support duplicate names, each potentially having different values. Property names of interest to the general public are encouraged to be registered in the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy). Formal registration is optional."}, "tags": {"anyOf": [{"$ref": "#/components/schemas/Tags"}, {"type": "null"}], "title": "Tags"}, "signature": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Signature"}, {"type": "null"}], "description": "Enveloped signature in [JSON Signature Format (JSF)](https://cyberphone.github.io/doc/security/jsf.html).", "title": "Signature"}}, "required": ["name"], "title": "Service", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ServiceData": {"additionalProperties": false, "properties": {"flow": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__DataFlowDirection", "description": "Specifies the flow direction of the data. Direction is relative to the service. Inbound flow states that data enters the service. Outbound flow states that data leaves the service. Bi-directional states that data flows both ways and unknown states that the direction is not known.", "title": "Directional Flow"}, "classification": {"$ref": "#/components/schemas/DataClassification"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Name for the defined data", "examples": ["Credit card reporting"], "title": "Name"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Short description of the data content and usage", "examples": ["Credit card information being exchanged in between the web app and the database"], "title": "Description"}, "governance": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__DataGovernance"}, {"type": "null"}], "title": "Data Governance"}, "source": {"anyOf": [{"items": {"anyOf": [{"type": "string"}, {"$ref": "#/components/schemas/BomLinkElementType"}]}, "type": "array"}, {"type": "null"}], "description": "The URI, URL, or BOM-Link of the components or services the data came in from", "title": "Source"}, "destination": {"anyOf": [{"items": {"anyOf": [{"type": "string"}, {"$ref": "#/components/schemas/BomLinkElementType"}]}, "type": "array"}, {"type": "null"}], "description": "The URI, URL, or BOM-Link of the components or services the data is sent to", "title": "Destination"}}, "required": ["flow", "classification"], "title": "ServiceData", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Signature": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Signature1"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Signature2"}, {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Signer"}], "title": "Signature"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Signature1": {"additionalProperties": false, "properties": {"signers": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Signer"}, "type": "array"}, {"type": "null"}], "description": "Unique top level property for Multiple Signatures. (multisignature)", "title": "Signature"}}, "title": "Signature1", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Signature2": {"additionalProperties": false, "properties": {"chain": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Signer"}, "type": "array"}, {"type": "null"}], "description": "Unique top level property for Signature Chains. (signaturechain)", "title": "Signature"}}, "title": "Signature2", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Signer": {"additionalProperties": false, "properties": {"algorithm": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Algorithm"}, {"format": "uri", "minLength": 1, "type": "string"}], "title": "Algorithm"}, "keyId": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Optional. Application specific string identifying the signature key.", "title": "Key ID"}, "publicKey": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__PublicKey"}, {"type": "null"}], "description": "Optional. Public key object.", "title": "Public key"}, "certificatePath": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "Optional. Sorted array of X.509 [RFC5280] certificates, where the first element must contain the signature certificate. The certificate path must be contiguous but is not required to be complete.", "title": "Certificate path"}, "excludes": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "description": "Optional. Array holding the names of one or more application level properties that must be excluded from the signature process. Note that the \"excludes\" property itself, must also be excluded from the signature process. Since both the \"excludes\" property and the associated data it points to are unsigned, a conforming JSF implementation must provide options for specifying which properties to accept.", "title": "Excludes"}, "value": {"description": "The signature data. Note that the binary representation must follow the JWA [RFC7518] specifications.", "title": "Signature", "type": "string"}}, "required": ["algorithm", "value"], "title": "Signer", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Source": {"additionalProperties": false, "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the source.", "examples": ["National Vulnerability Database", "NVD", "Apache"], "title": "Name"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The url of the issue documentation as provided by the source", "title": "URL"}}, "title": "Source", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__State": {"enum": ["pre-activation", "active", "suspended", "deactivated", "revoked", "destroyed"], "title": "State", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Swid": {"additionalProperties": false, "properties": {"tagId": {"description": "Maps to the tagId of a SoftwareIdentity.", "title": "Tag ID", "type": "string"}, "name": {"description": "Maps to the name of a SoftwareIdentity.", "title": "Name", "type": "string"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": "0.0", "description": "Maps to the version of a SoftwareIdentity.", "title": "Version"}, "tagVersion": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": 0, "description": "Maps to the tagVersion of a SoftwareIdentity.", "title": "Tag Version"}, "patch": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": false, "description": "Maps to the patch of a SoftwareIdentity.", "title": "Patch"}, "text": {"anyOf": [{"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Attachment"}, {"type": "null"}], "description": "Specifies the metadata and content of the SWID tag.", "title": "Attachment text"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The URL to the SWID file.", "title": "URL"}}, "required": ["tagId", "name"], "title": "Swid", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Technique": {"enum": ["source-code-analysis", "binary-analysis", "manifest-analysis", "ast-fingerprint", "hash-comparison", "instrumentation", "dynamic-analysis", "filename", "attestation", "other"], "title": "Technique", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Tool": {"additionalProperties": false, "properties": {"vendor": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the vendor who created the tool", "title": "Tool Vendor"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The name of the tool", "title": "Tool Name"}, "version": {"anyOf": [{"$ref": "#/components/schemas/Version"}, {"type": "null"}], "description": "The version of the tool", "title": "Tool Version"}, "hashes": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Hash"}, "type": "array"}, {"type": "null"}], "description": "The hashes of the tool (if applicable).", "title": "Hashes"}, "externalReferences": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__ExternalReference"}, "type": "array"}, {"type": "null"}], "description": "External references provide a way to document systems, sites, and information that may be relevant, but are not included with the BOM. They may also establish specific relationships within or external to the BOM.", "title": "External References"}}, "title": "Tool", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Tools": {"additionalProperties": false, "properties": {"components": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Component"}, "type": "array"}, {"type": "null"}], "description": "A list of software and hardware components used as tools.", "title": "Components"}, "services": {"anyOf": [{"items": {"$ref": "#/components/schemas/sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Service"}, "type": "array"}, {"type": "null"}], "description": "A list of services used as tools. This may include microservices, function-as-a-service, and other types of network or intra-process services.", "title": "Services"}}, "title": "Tools", "type": "object"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Type": {"enum": ["application", "framework", "library", "container", "platform", "operating-system", "device", "device-driver", "firmware", "file", "machine-learning-model", "data", "cryptographic-asset"], "title": "Type", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Type1": {"enum": ["unofficial", "monkey", "backport", "cherry-pick"], "title": "Type1", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Type10": {"enum": ["private-key", "public-key", "secret-key", "key", "ciphertext", "signature", "digest", "initialization-vector", "nonce", "seed", "salt", "shared-secret", "tag", "additional-data", "password", "credential", "token", "other", "unknown"], "title": "Type10", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Type11": {"enum": ["tls", "ssh", "ipsec", "ike", "sstp", "wpa", "dtls", "quic", "eap-aka", "eap-aka-prime", "prins", "5g-aka", "other", "unknown"], "title": "Type11", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Type2": {"enum": ["defect", "enhancement", "security"], "title": "Type2", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Type3": {"enum": ["vcs", "issue-tracker", "website", "advisories", "bom", "mailing-list", "social", "chat", "documentation", "support", "source-distribution", "distribution", "distribution-intake", "license", "build-meta", "build-system", "release-notes", "security-contact", "model-card", "log", "configuration", "evidence", "formulation", "attestation", "threat-model", "adversary-model", "risk-assessment", "vulnerability-assertion", "exploitability-statement", "pentest-report", "static-analysis-report", "dynamic-analysis-report", "runtime-analysis-report", "component-analysis-report", "maturity-report", "certification-report", "codified-infrastructure", "quality-metrics", "poam", "electronic-signature", "digital-signature", "rfc-9116", "patent", "patent-family", "patent-assertion", "citation", "other"], "title": "Type3", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Type4": {"enum": ["supervised", "unsupervised", "reinforcement-learning", "semi-supervised", "self-supervised"], "title": "Type4", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Type5": {"enum": ["source-code", "configuration", "dataset", "definition", "other"], "title": "Type5", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Unit": {"enum": ["kWh"], "title": "Unit", "type": "string"}, "sbomify__apps__sboms__sbom_format_schemas__cyclonedx_1_7__Unit1": {"enum": ["tCO2eq"], "title": "Unit1", "type": "string"}, "SBOMResponseSchema": {"description": "Schema for SBOM API responses.\n\nNote: NTIA compliance data is now available via the AssessmentRun model\nin the plugins app. Query assessment_runs with plugin_name=\"ntia-minimum-elements-2021\".", "properties": {"id": {"title": "Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "version": {"title": "Version", "type": "string"}, "format": {"title": "Format", "type": "string"}, "format_version": {"title": "Format Version", "type": "string"}, "sbom_filename": {"title": "Sbom Filename", "type": "string"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "source": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Source"}, "component_id": {"title": "Component Id", "type": "string"}, "component_name": {"title": "Component Name", "type": "string"}, "source_display": {"title": "Source Display", "type": "string"}, "sha256_hash": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Sha256 Hash"}, "bom_type": {"title": "Bom Type", "type": "string"}, "signature_blob_key": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Signature Blob Key"}, "signature_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Signature Type"}, "provenance_blob_key": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Provenance Blob Key"}}, "required": ["id", "name", "version", "format", "format_version", "sbom_filename", "created_at", "source", "component_id", "component_name", "source_display", "bom_type"], "title": "SBOMResponseSchema", "type": "object"}, "CryptoAssetSchema": {"description": "One ``cryptographic-asset`` component, projected for the CBOM inventory.", "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "bom_ref": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Bom Ref"}, "oid": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Oid"}, "asset_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Asset Type"}, "primitive": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Primitive"}, "algorithm_family": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Algorithm Family"}, "parameter_set": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Parameter Set"}, "curve": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Curve"}, "nist_quantum_security_level": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Nist Quantum Security Level"}, "classical_security_level": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Classical Security Level"}, "crypto_functions": {"items": {"type": "string"}, "title": "Crypto Functions", "type": "array"}, "mode": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Mode"}, "padding": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Padding"}, "execution_environment": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Execution Environment"}, "implementation_platform": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Implementation Platform"}, "certification_level": {"items": {"type": "string"}, "title": "Certification Level", "type": "array"}, "normalized_family": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Normalized Family"}, "normalized_curve": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Normalized Curve"}, "registry_unrecognized": {"default": false, "title": "Registry Unrecognized", "type": "boolean"}, "certificate": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Certificate"}, "protocol": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Protocol"}, "related_material": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Related Material"}, "certificate_view": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Certificate View"}, "protocol_view": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Protocol View"}, "pqc_status": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Pqc Status"}, "pqc_reason": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Pqc Reason"}, "pqc_data_quality_flag": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Pqc Data Quality Flag"}, "pqc_replacement": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Pqc Replacement"}}, "title": "CryptoAssetSchema", "type": "object"}, "CryptoEdgeSchema": {"description": "A cross-reference between two crypto assets, resolved against the inventory.", "properties": {"source": {"title": "Source", "type": "string"}, "relation": {"title": "Relation", "type": "string"}, "target": {"title": "Target", "type": "string"}, "resolved": {"title": "Resolved", "type": "boolean"}}, "required": ["source", "relation", "target", "resolved"], "title": "CryptoEdgeSchema", "type": "object"}, "CryptoInventorySchema": {"description": "Derived cryptographic-asset inventory (CBOM) for a single SBOM.", "properties": {"sbom_id": {"title": "Sbom Id", "type": "string"}, "component_id": {"title": "Component Id", "type": "string"}, "count": {"title": "Count", "type": "integer"}, "by_asset_type": {"additionalProperties": {"type": "integer"}, "title": "By Asset Type", "type": "object"}, "edges": {"items": {"$ref": "#/components/schemas/CryptoEdgeSchema"}, "title": "Edges", "type": "array"}, "pqc_overall": {"title": "Pqc Overall", "type": "string"}, "pqc_counts": {"additionalProperties": {"type": "integer"}, "title": "Pqc Counts", "type": "object"}, "assets": {"items": {"$ref": "#/components/schemas/CryptoAssetSchema"}, "title": "Assets", "type": "array"}}, "required": ["sbom_id", "component_id", "count", "by_asset_type", "pqc_overall", "pqc_counts", "assets"], "title": "CryptoInventorySchema", "type": "object"}, "AuthorContactSchema": {"description": "Schema representing an author contact (CycloneDX aligned).\n\nAuthors are individuals, not organizations, and link directly to the profile.", "properties": {"name": {"title": "Name", "type": "string"}, "email": {"title": "Email", "type": "string"}, "phone": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Phone"}, "order": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Order"}}, "required": ["name", "email"], "title": "AuthorContactSchema", "type": "object"}, "ComponentAuthorSchema": {"description": "Schema for component author information.", "properties": {"name": {"title": "Name", "type": "string"}, "email": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Email"}, "phone": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Phone"}, "bom_ref": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Bom Ref"}}, "required": ["name"], "title": "ComponentAuthorSchema", "type": "object"}, "ComponentMetaData": {"properties": {"id": {"title": "Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "supplier": {"allOf": [{"$ref": "#/components/schemas/SupplierSchema"}]}, "manufacturer": {"allOf": [{"$ref": "#/components/schemas/SupplierSchema"}]}, "authors": {"items": {"$ref": "#/components/schemas/ComponentAuthorSchema"}, "title": "Authors", "type": "array"}, "licenses": {"items": {"anyOf": [{"$ref": "#/components/schemas/Schema"}, {"$ref": "#/components/schemas/CustomLicenseSchema"}, {"type": "string"}]}, "title": "Licenses", "type": "array"}, "lifecycle_phase": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Lifecycle Phase"}, "contact_profile_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Contact Profile Id"}, "contact_profile": {"anyOf": [{"$ref": "#/components/schemas/ContactProfileSchema"}, {"type": "null"}]}, "uses_custom_contact": {"default": true, "title": "Uses Custom Contact", "type": "boolean"}, "release_date": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "description": "Release date of the component", "title": "Release Date"}, "end_of_support": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "description": "Date when bugfixes stop (security-only after this)", "title": "End Of Support"}, "end_of_life": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "description": "Date when all support ends", "title": "End Of Life"}}, "required": ["id", "name"], "title": "ComponentMetaData", "type": "object"}, "ComponentSupplierContactSchema": {"description": "Schema for component supplier contact information.", "properties": {"name": {"title": "Name", "type": "string"}, "email": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Email"}, "phone": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Phone"}, "bom_ref": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Bom Ref"}}, "required": ["name"], "title": "ComponentSupplierContactSchema", "type": "object"}, "ContactEntitySchema": {"description": "Schema for a contact entity (organization/company).\n\nAn entity can be a manufacturer, supplier, author, or a combination of roles.\nWhen is_author is the ONLY role, name and email are optional (authors are individuals).", "properties": {"id": {"title": "Id", "type": "string"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "email": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Email"}, "phone": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Phone"}, "address": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Address"}, "website_urls": {"items": {"type": "string"}, "title": "Website Urls", "type": "array"}, "is_manufacturer": {"default": false, "title": "Is Manufacturer", "type": "boolean"}, "is_supplier": {"default": false, "title": "Is Supplier", "type": "boolean"}, "is_author": {"default": false, "title": "Is Author", "type": "boolean"}, "contacts": {"items": {"$ref": "#/components/schemas/ContactProfileContactSchema"}, "title": "Contacts", "type": "array"}, "created_at": {"title": "Created At", "type": "string"}, "updated_at": {"title": "Updated At", "type": "string"}}, "required": ["id", "created_at", "updated_at"], "title": "ContactEntitySchema", "type": "object"}, "ContactProfileContactSchema": {"description": "Schema representing a contact person tied to a contact entity.\n\nA contact can have multiple roles indicated by boolean flags:\n- is_author: Person who authored the SBOM\n- is_security_contact: Security/vulnerability reporting contact (CRA requirement)\n- is_technical_contact: Technical point of contact", "properties": {"name": {"title": "Name", "type": "string"}, "email": {"title": "Email", "type": "string"}, "phone": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Phone"}, "order": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Order"}, "is_author": {"default": false, "title": "Is Author", "type": "boolean"}, "is_security_contact": {"default": false, "title": "Is Security Contact", "type": "boolean"}, "is_technical_contact": {"default": false, "title": "Is Technical Contact", "type": "boolean"}}, "required": ["name", "email"], "title": "ContactProfileContactSchema", "type": "object"}, "ContactProfileSchema": {"description": "Schema for returning workspace contact profiles (CycloneDX aligned).", "properties": {"id": {"title": "Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "entities": {"items": {"$ref": "#/components/schemas/ContactEntitySchema"}, "title": "Entities", "type": "array"}, "authors": {"items": {"$ref": "#/components/schemas/AuthorContactSchema"}, "title": "Authors", "type": "array"}, "company": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Company"}, "supplier_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Supplier Name"}, "vendor": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Vendor"}, "email": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Email"}, "phone": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Phone"}, "address": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Address"}, "website_urls": {"items": {"type": "string"}, "title": "Website Urls", "type": "array"}, "contacts": {"items": {"$ref": "#/components/schemas/ContactProfileContactSchema"}, "title": "Contacts", "type": "array"}, "is_default": {"default": false, "title": "Is Default", "type": "boolean"}, "is_component_private": {"default": false, "title": "Is Component Private", "type": "boolean"}, "created_at": {"title": "Created At", "type": "string"}, "updated_at": {"title": "Updated At", "type": "string"}}, "required": ["id", "name", "created_at", "updated_at"], "title": "ContactProfileSchema", "type": "object"}, "CustomLicenseSchema": {"properties": {"name": {"title": "Name", "type": "string"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Url"}, "text": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Text"}}, "required": ["name"], "title": "CustomLicenseSchema", "type": "object"}, "SupplierSchema": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "url": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "Url"}, "address": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Address"}, "contacts": {"items": {"$ref": "#/components/schemas/ComponentSupplierContactSchema"}, "title": "Contacts", "type": "array"}}, "title": "SupplierSchema", "type": "object"}, "ComponentMetaDataPatch": {"description": "Schema for partially updating component metadata using PATCH (all fields optional).", "properties": {"contact_profile_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Contact Profile Id"}, "supplier": {"anyOf": [{"$ref": "#/components/schemas/SupplierSchema"}, {"type": "null"}]}, "authors": {"anyOf": [{"items": {"$ref": "#/components/schemas/ComponentAuthorSchema"}, "type": "array"}, {"type": "null"}], "title": "Authors"}, "licenses": {"anyOf": [{"items": {"anyOf": [{"$ref": "#/components/schemas/Schema"}, {"$ref": "#/components/schemas/CustomLicenseSchema"}, {"type": "string"}]}, "type": "array"}, {"type": "null"}], "title": "Licenses"}, "lifecycle_phase": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Lifecycle Phase"}, "release_date": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "Release Date"}, "end_of_support": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "End Of Support"}, "end_of_life": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "End Of Life"}}, "title": "ComponentMetaDataPatch", "type": "object"}, "DocumentUploadRequest": {"description": "Schema for document upload API response.", "properties": {"id": {"title": "Id", "type": "string"}}, "required": ["id"], "title": "DocumentUploadRequest", "type": "object"}, "DocumentResponseSchema": {"description": "Schema for Document API responses.", "properties": {"id": {"title": "Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "version": {"title": "Version", "type": "string"}, "document_filename": {"title": "Document Filename", "type": "string"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "source": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Source"}, "component_id": {"title": "Component Id", "type": "string"}, "component_name": {"title": "Component Name", "type": "string"}, "document_type": {"title": "Document Type", "type": "string"}, "compliance_subcategory": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Compliance Subcategory"}, "description": {"title": "Description", "type": "string"}, "content_type": {"title": "Content Type", "type": "string"}, "file_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "File Size"}, "source_display": {"title": "Source Display", "type": "string"}, "sha256_hash": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Sha256 Hash"}}, "required": ["id", "name", "version", "document_filename", "created_at", "source", "component_id", "component_name", "document_type", "description", "content_type", "file_size", "source_display"], "title": "DocumentResponseSchema", "type": "object"}, "DocumentUpdateRequest": {"description": "Schema for updating document metadata via PATCH.", "properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Version"}, "document_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Document Type"}, "compliance_subcategory": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Compliance Subcategory"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description"}}, "title": "DocumentUpdateRequest", "type": "object"}, "AccessRequestResponse": {"description": "Response schema for access request.", "properties": {"id": {"title": "Id", "type": "string"}, "team_id": {"title": "Team Id", "type": "string"}, "user_id": {"title": "User Id", "type": "string"}, "status": {"title": "Status", "type": "string"}, "requested_at": {"title": "Requested At", "type": "string"}, "decided_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Decided At"}, "decided_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Decided By Id"}, "revoked_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Revoked At"}, "revoked_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Revoked By Id"}, "notes": {"default": "", "title": "Notes", "type": "string"}}, "required": ["id", "team_id", "user_id", "status", "requested_at"], "title": "AccessRequestResponse", "type": "object"}, "NDASignatureResponse": {"description": "Response schema for NDA signature.", "properties": {"id": {"title": "Id", "type": "string"}, "access_request_id": {"title": "Access Request Id", "type": "string"}, "nda_document_id": {"title": "Nda Document Id", "type": "string"}, "signed_name": {"title": "Signed Name", "type": "string"}, "signed_at": {"title": "Signed At", "type": "string"}}, "required": ["id", "access_request_id", "nda_document_id", "signed_name", "signed_at"], "title": "NDASignatureResponse", "type": "object"}, "NDASignRequest": {"description": "Request schema for signing NDA.", "properties": {"signed_name": {"description": "Name provided by user when signing", "title": "Signed Name", "type": "string"}, "consent": {"description": "User consent to NDA terms", "title": "Consent", "type": "boolean"}}, "required": ["signed_name", "consent"], "title": "NDASignRequest", "type": "object"}, "AccessRequestListResponse": {"description": "Response schema for listing access requests.", "properties": {"id": {"title": "Id", "type": "string"}, "team_id": {"title": "Team Id", "type": "string"}, "team_name": {"title": "Team Name", "type": "string"}, "user_id": {"title": "User Id", "type": "string"}, "user_email": {"title": "User Email", "type": "string"}, "user_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "User Name"}, "status": {"title": "Status", "type": "string"}, "requested_at": {"title": "Requested At", "type": "string"}, "decided_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Decided At"}, "decided_by_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Decided By Id"}, "decided_by_email": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Decided By Email"}, "has_nda_signature": {"default": false, "title": "Has Nda Signature", "type": "boolean"}, "notes": {"default": "", "title": "Notes", "type": "string"}}, "required": ["id", "team_id", "team_name", "user_id", "user_email", "status", "requested_at"], "title": "AccessRequestListResponse", "type": "object"}, "BrandingInfoWithUrls": {"properties": {"icon": {"default": "", "title": "Icon", "type": "string"}, "logo": {"default": "", "title": "Logo", "type": "string"}, "prefer_logo_over_icon": {"default": false, "title": "Prefer Logo Over Icon", "type": "boolean"}, "branding_enabled": {"default": false, "title": "Branding Enabled", "type": "boolean"}, "brand_color": {"default": "", "title": "Brand Color", "type": "string"}, "accent_color": {"default": "", "title": "Accent Color", "type": "string"}, "trust_center_description": {"default": "", "title": "Trust Center Description", "type": "string"}, "company_nda_document_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Company Nda Document Id"}, "icon_url": {"default": "", "title": "Icon Url", "type": "string"}, "logo_url": {"default": "", "title": "Logo Url", "type": "string"}}, "title": "BrandingInfoWithUrls", "type": "object"}, "UpdateTeamBrandingSchema": {"properties": {"brand_color": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Brand Color"}, "accent_color": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Accent Color"}, "prefer_logo_over_icon": {"default": false, "title": "Prefer Logo Over Icon", "type": "boolean"}, "branding_enabled": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Branding Enabled"}, "icon_pending_deletion": {"default": false, "title": "Icon Pending Deletion", "type": "boolean"}, "logo_pending_deletion": {"default": false, "title": "Logo Pending Deletion", "type": "boolean"}, "trust_center_description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Trust Center Description"}}, "title": "UpdateTeamBrandingSchema", "type": "object"}, "FieldValue": {"properties": {"value": {"anyOf": [{"type": "string"}, {"type": "boolean"}, {"type": "null"}], "title": "Value"}}, "required": ["value"], "title": "FieldValue", "type": "object"}, "ContactEntityCreateSchema": {"description": "Schema for creating a contact entity (CycloneDX aligned).\n\nWhen is_author is the ONLY role, name and email are optional.", "properties": {"name": {"anyOf": [{"maxLength": 255, "type": "string"}, {"type": "null"}], "title": "Name"}, "email": {"anyOf": [{"maxLength": 255, "type": "string"}, {"type": "null"}], "title": "Email"}, "phone": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Phone"}, "address": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Address"}, "website_urls": {"items": {"type": "string"}, "title": "Website Urls", "type": "array"}, "is_manufacturer": {"default": false, "title": "Is Manufacturer", "type": "boolean"}, "is_supplier": {"default": false, "title": "Is Supplier", "type": "boolean"}, "is_author": {"default": false, "title": "Is Author", "type": "boolean"}, "contacts": {"items": {"$ref": "#/components/schemas/ContactProfileContactSchema"}, "title": "Contacts", "type": "array"}}, "title": "ContactEntityCreateSchema", "type": "object"}, "ContactProfileCreateSchema": {"description": "Schema for creating a workspace contact profile (CycloneDX aligned).", "properties": {"name": {"maxLength": 255, "minLength": 1, "title": "Name", "type": "string"}, "entities": {"anyOf": [{"items": {"$ref": "#/components/schemas/ContactEntityCreateSchema"}, "type": "array"}, {"type": "null"}], "title": "Entities"}, "authors": {"items": {"$ref": "#/components/schemas/AuthorContactSchema"}, "title": "Authors", "type": "array"}, "company": {"anyOf": [{"maxLength": 255, "type": "string"}, {"type": "null"}], "title": "Company"}, "supplier_name": {"anyOf": [{"maxLength": 255, "type": "string"}, {"type": "null"}], "title": "Supplier Name"}, "vendor": {"anyOf": [{"maxLength": 255, "type": "string"}, {"type": "null"}], "title": "Vendor"}, "email": {"anyOf": [{"maxLength": 255, "type": "string"}, {"type": "null"}], "title": "Email"}, "phone": {"anyOf": [{"maxLength": 50, "type": "string"}, {"type": "null"}], "title": "Phone"}, "address": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Address"}, "website_urls": {"items": {"type": "string"}, "title": "Website Urls", "type": "array"}, "contacts": {"items": {"$ref": "#/components/schemas/ContactProfileContactSchema"}, "title": "Contacts", "type": "array"}, "is_default": {"default": false, "title": "Is Default", "type": "boolean"}}, "required": ["name"], "title": "ContactProfileCreateSchema", "type": "object"}, "ContactEntityUpdateSchema": {"description": "Schema for updating a contact entity (CycloneDX aligned).", "properties": {"id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Id"}, "name": {"anyOf": [{"maxLength": 255, "type": "string"}, {"type": "null"}], "title": "Name"}, "email": {"anyOf": [{"maxLength": 255, "type": "string"}, {"type": "null"}], "title": "Email"}, "phone": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Phone"}, "address": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Address"}, "website_urls": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "Website Urls"}, "is_manufacturer": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Is Manufacturer"}, "is_supplier": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Is Supplier"}, "is_author": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Is Author"}, "contacts": {"anyOf": [{"items": {"$ref": "#/components/schemas/ContactProfileContactSchema"}, "type": "array"}, {"type": "null"}], "title": "Contacts"}}, "title": "ContactEntityUpdateSchema", "type": "object"}, "ContactProfileUpdateSchema": {"description": "Schema for updating a workspace contact profile (CycloneDX aligned).", "properties": {"name": {"anyOf": [{"maxLength": 255, "minLength": 1, "type": "string"}, {"type": "null"}], "title": "Name"}, "entities": {"anyOf": [{"items": {"anyOf": [{"$ref": "#/components/schemas/ContactEntityUpdateSchema"}, {"$ref": "#/components/schemas/ContactEntityCreateSchema"}]}, "type": "array"}, {"type": "null"}], "title": "Entities"}, "authors": {"anyOf": [{"items": {"$ref": "#/components/schemas/AuthorContactSchema"}, "type": "array"}, {"type": "null"}], "title": "Authors"}, "company": {"anyOf": [{"maxLength": 255, "type": "string"}, {"type": "null"}], "title": "Company"}, "supplier_name": {"anyOf": [{"maxLength": 255, "type": "string"}, {"type": "null"}], "title": "Supplier Name"}, "vendor": {"anyOf": [{"maxLength": 255, "type": "string"}, {"type": "null"}], "title": "Vendor"}, "email": {"anyOf": [{"maxLength": 255, "type": "string"}, {"type": "null"}], "title": "Email"}, "phone": {"anyOf": [{"maxLength": 50, "type": "string"}, {"type": "null"}], "title": "Phone"}, "address": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Address"}, "website_urls": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "Website Urls"}, "contacts": {"anyOf": [{"items": {"$ref": "#/components/schemas/ContactProfileContactSchema"}, "type": "array"}, {"type": "null"}], "title": "Contacts"}, "is_default": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Is Default"}}, "title": "ContactProfileUpdateSchema", "type": "object"}, "InvitationSchema": {"description": "Schema for workspace invitation data.\n\nNote: This schema is used for workspace invitations (workspaces were previously called teams).", "properties": {"id": {"title": "Id", "type": "integer"}, "token": {"title": "Token", "type": "string"}, "email": {"title": "Email", "type": "string"}, "role": {"title": "Role", "type": "string"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "expires_at": {"format": "date-time", "title": "Expires At", "type": "string"}}, "required": ["id", "token", "email", "role", "created_at", "expires_at"], "title": "InvitationSchema", "type": "object"}, "MemberSchema": {"description": "Schema for workspace member data.\n\nNote: This schema is used for workspace members (workspaces were previously called teams).", "properties": {"id": {"title": "Id", "type": "integer"}, "user": {"$ref": "#/components/schemas/UserSchema"}, "role": {"title": "Role", "type": "string"}, "is_default_team": {"deprecated": true, "description": "Deprecated, use is_default_workspace. Both carry the same value.", "title": "Is Default Team", "type": "boolean"}, "is_default_workspace": {"description": "Whether this is the member's default workspace.", "title": "Is Default Workspace", "type": "boolean"}, "is_me": {"default": false, "title": "Is Me", "type": "boolean"}}, "required": ["id", "user", "role", "is_default_team", "is_default_workspace"], "title": "MemberSchema", "type": "object"}, "TeamSchema": {"properties": {"key": {"title": "Key", "type": "string"}, "name": {"title": "Name", "type": "string"}, "slug": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Slug"}, "is_public": {"title": "Is Public", "type": "boolean"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "has_completed_wizard": {"title": "Has Completed Wizard", "type": "boolean"}, "billing_plan": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Billing Plan"}, "billing_plan_limits": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Billing Plan Limits"}, "can_set_private": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Can Set Private"}, "custom_domain": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Custom Domain"}, "custom_domain_validated": {"default": false, "title": "Custom Domain Validated", "type": "boolean"}, "custom_domain_verification_failures": {"default": 0, "title": "Custom Domain Verification Failures", "type": "integer"}, "custom_domain_last_checked_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Custom Domain Last Checked At"}, "sbom_freshness_days": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Sbom Freshness Days"}, "members": {"items": {"$ref": "#/components/schemas/MemberSchema"}, "title": "Members", "type": "array"}, "invitations": {"items": {"$ref": "#/components/schemas/InvitationSchema"}, "title": "Invitations", "type": "array"}}, "required": ["key", "name", "is_public", "created_at", "has_completed_wizard", "billing_plan", "billing_plan_limits", "custom_domain", "members", "invitations"], "title": "TeamSchema", "type": "object"}, "UserSchema": {"description": "Schema for user data.", "properties": {"id": {"title": "Id", "type": "integer"}, "first_name": {"title": "First Name", "type": "string"}, "last_name": {"title": "Last Name", "type": "string"}, "email": {"title": "Email", "type": "string"}}, "required": ["id", "first_name", "last_name", "email"], "title": "UserSchema", "type": "object"}, "TeamUpdateSchema": {"description": "Schema for updating workspace information.\n\nNote: This schema is used for workspaces (previously called teams).", "properties": {"name": {"maxLength": 255, "minLength": 1, "title": "Name", "type": "string"}, "is_public": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Is Public"}}, "required": ["name"], "title": "TeamUpdateSchema", "type": "object"}, "TeamPatchSchema": {"description": "Schema for partially updating workspace information.\n\nNote: This schema is used for workspaces (previously called teams).", "properties": {"name": {"anyOf": [{"maxLength": 255, "minLength": 1, "type": "string"}, {"type": "null"}], "title": "Name"}, "is_public": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Is Public"}}, "title": "TeamPatchSchema", "type": "object"}, "TeamDomainResponseSchema": {"properties": {"domain": {"title": "Domain", "type": "string"}, "validated": {"title": "Validated", "type": "boolean"}}, "required": ["domain", "validated"], "title": "TeamDomainResponseSchema", "type": "object"}, "TeamDomainSchema": {"description": "Schema for updating workspace custom domain.", "properties": {"domain": {"maxLength": 255, "title": "Domain", "type": "string"}}, "required": ["domain"], "title": "TeamDomainSchema", "type": "object"}, "SupplierCreateSchema": {"properties": {"name": {"maxLength": 255, "minLength": 1, "title": "Name", "type": "string"}, "contact_name": {"default": "", "maxLength": 255, "title": "Contact Name", "type": "string"}, "contact_email": {"default": "", "maxLength": 254, "title": "Contact Email", "type": "string"}, "website": {"default": "", "maxLength": 500, "title": "Website", "type": "string"}, "notes": {"default": "", "title": "Notes", "type": "string"}}, "required": ["name"], "title": "SupplierCreateSchema", "type": "object"}, "SupplierUpdateSchema": {"description": "Every field optional. Absent means leave alone, which is what lets one\nendpoint serve a single-field inline edit and a full form.", "properties": {"name": {"anyOf": [{"maxLength": 255, "minLength": 1, "type": "string"}, {"type": "null"}], "title": "Name"}, "contact_name": {"anyOf": [{"maxLength": 255, "type": "string"}, {"type": "null"}], "title": "Contact Name"}, "contact_email": {"anyOf": [{"maxLength": 254, "type": "string"}, {"type": "null"}], "title": "Contact Email"}, "website": {"anyOf": [{"maxLength": 500, "type": "string"}, {"type": "null"}], "title": "Website"}, "notes": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Notes"}}, "title": "SupplierUpdateSchema", "type": "object"}, "PendingInvitationSchema": {"description": "An invitation nobody has accepted yet. The token is the link's secret, so it is left out.", "properties": {"id": {"title": "Id", "type": "integer"}, "email": {"title": "Email", "type": "string"}, "role": {"title": "Role", "type": "string"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "expires_at": {"format": "date-time", "title": "Expires At", "type": "string"}}, "required": ["id", "email", "role", "created_at", "expires_at"], "title": "PendingInvitationSchema", "type": "object"}, "InvitationCreateSchema": {"properties": {"email": {"title": "Email", "type": "string"}, "role": {"default": "member", "description": "owner, admin, member or operator. Only an owner can invite an owner.", "title": "Role", "type": "string"}}, "required": ["email"], "title": "InvitationCreateSchema", "type": "object"}, "ComponentSummarySchema": {"description": "Summary schema for components when included in other responses.", "properties": {"id": {"title": "Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "visibility": {"title": "Visibility", "type": "string"}, "is_global": {"title": "Is Global", "type": "boolean"}, "component_type": {"$ref": "#/components/schemas/ComponentType"}, "component_type_display": {"title": "Component Type Display", "type": "string"}}, "required": ["id", "name", "visibility", "is_global", "component_type", "component_type_display"], "title": "ComponentSummarySchema", "type": "object"}, "ComponentType": {"description": "Available component types.", "enum": ["document", "bom"], "title": "ComponentType", "type": "string"}, "ProductIdentifierSchema": {"description": "Schema for product identifier responses.", "properties": {"id": {"title": "Id", "type": "string"}, "identifier_type": {"$ref": "#/components/schemas/ProductIdentifierType"}, "value": {"title": "Value", "type": "string"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}}, "required": ["id", "identifier_type", "value", "created_at"], "title": "ProductIdentifierSchema", "type": "object"}, "ProductIdentifierType": {"description": "Types of product identifiers.", "enum": ["gtin_12", "gtin_13", "gtin_14", "gtin_8", "sku", "mpn", "asin", "gs1_gpc_brick", "cpe", "purl"], "title": "ProductIdentifierType", "type": "string"}, "ProductLinkSchema": {"description": "Schema for product link responses.", "properties": {"id": {"title": "Id", "type": "string"}, "link_type": {"$ref": "#/components/schemas/ProductLinkType"}, "title": {"title": "Title", "type": "string"}, "url": {"title": "Url", "type": "string"}, "description": {"title": "Description", "type": "string"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}}, "required": ["id", "link_type", "title", "url", "description", "created_at"], "title": "ProductLinkSchema", "type": "object"}, "ProductLinkType": {"description": "Types of product links.", "enum": ["website", "support", "documentation", "repository", "changelog", "release_notes", "security", "issue_tracker", "download", "chat", "social", "other"], "title": "ProductLinkType", "type": "string"}, "ProductResponseSchema": {"description": "Schema for Product API responses.", "properties": {"id": {"title": "Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "description": {"title": "Description", "type": "string"}, "team_id": {"title": "Team Id", "type": "string"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "is_public": {"title": "Is Public", "type": "boolean"}, "component_count": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Component Count"}, "components": {"anyOf": [{"items": {"$ref": "#/components/schemas/ComponentSummarySchema"}, "type": "array"}, {"type": "null"}], "title": "Components"}, "identifiers": {"anyOf": [{"items": {"$ref": "#/components/schemas/ProductIdentifierSchema"}, "type": "array"}, {"type": "null"}], "title": "Identifiers"}, "links": {"anyOf": [{"items": {"$ref": "#/components/schemas/ProductLinkSchema"}, "type": "array"}, {"type": "null"}], "title": "Links"}, "release_date": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "Release Date"}, "end_of_support": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "End Of Support"}, "end_of_life": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "End Of Life"}}, "required": ["id", "name", "description", "team_id", "created_at", "is_public"], "title": "ProductResponseSchema", "type": "object"}, "ProductCreateSchema": {"description": "Schema for creating a new Product.", "properties": {"name": {"maxLength": 255, "minLength": 1, "title": "Name", "type": "string"}, "description": {"default": "", "maxLength": 1000, "title": "Description", "type": "string"}}, "required": ["name"], "title": "ProductCreateSchema", "type": "object"}, "PaginatedProductsResponse": {"description": "Paginated response for products list.", "properties": {"items": {"items": {"$ref": "#/components/schemas/ProductResponseSchema"}, "title": "Items", "type": "array"}, "pagination": {"$ref": "#/components/schemas/PaginationMeta"}}, "required": ["items", "pagination"], "title": "PaginatedProductsResponse", "type": "object"}, "PaginationMeta": {"description": "Pagination metadata for list responses.", "properties": {"total": {"description": "Total number of items", "title": "Total", "type": "integer"}, "page": {"description": "Current page number (1-based)", "title": "Page", "type": "integer"}, "page_size": {"description": "Number of items per page", "title": "Page Size", "type": "integer"}, "total_pages": {"description": "Total number of pages", "title": "Total Pages", "type": "integer"}, "has_previous": {"description": "Whether there is a previous page", "title": "Has Previous", "type": "boolean"}, "has_next": {"description": "Whether there is a next page", "title": "Has Next", "type": "boolean"}}, "required": ["total", "page", "page_size", "total_pages", "has_previous", "has_next"], "title": "PaginationMeta", "type": "object"}, "ProductUpdateSchema": {"description": "Schema for updating a Product.", "properties": {"name": {"maxLength": 255, "minLength": 1, "title": "Name", "type": "string"}, "description": {"default": "", "maxLength": 1000, "title": "Description", "type": "string"}, "is_public": {"title": "Is Public", "type": "boolean"}, "release_date": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "Release Date"}, "end_of_support": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "End Of Support"}, "end_of_life": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "End Of Life"}}, "required": ["name", "is_public"], "title": "ProductUpdateSchema", "type": "object"}, "ProductPatchSchema": {"description": "Schema for partially updating a Product using PATCH.", "properties": {"name": {"anyOf": [{"maxLength": 255, "minLength": 1, "type": "string"}, {"type": "null"}], "title": "Name"}, "description": {"anyOf": [{"maxLength": 1000, "type": "string"}, {"type": "null"}], "title": "Description"}, "is_public": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Is Public"}, "component_ids": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "Component Ids"}, "release_date": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "Release Date"}, "end_of_support": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "End Of Support"}, "end_of_life": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "End Of Life"}}, "title": "ProductPatchSchema", "type": "object"}, "ProductIdentifierCreateSchema": {"description": "Schema for creating a new product identifier.", "properties": {"identifier_type": {"$ref": "#/components/schemas/ProductIdentifierType"}, "value": {"maxLength": 255, "minLength": 1, "title": "Value", "type": "string"}}, "required": ["identifier_type", "value"], "title": "ProductIdentifierCreateSchema", "type": "object"}, "PaginatedProductIdentifiersResponse": {"description": "Paginated response for product identifiers list.", "properties": {"items": {"items": {"$ref": "#/components/schemas/ProductIdentifierSchema"}, "title": "Items", "type": "array"}, "pagination": {"$ref": "#/components/schemas/PaginationMeta"}}, "required": ["items", "pagination"], "title": "PaginatedProductIdentifiersResponse", "type": "object"}, "ProductIdentifierBulkUpdateSchema": {"description": "Schema for bulk updating product identifiers.", "properties": {"identifiers": {"items": {"$ref": "#/components/schemas/ProductIdentifierCreateSchema"}, "title": "Identifiers", "type": "array"}}, "required": ["identifiers"], "title": "ProductIdentifierBulkUpdateSchema", "type": "object"}, "ProductIdentifierUpdateSchema": {"description": "Schema for updating a product identifier.", "properties": {"identifier_type": {"$ref": "#/components/schemas/ProductIdentifierType"}, "value": {"maxLength": 255, "minLength": 1, "title": "Value", "type": "string"}}, "required": ["identifier_type", "value"], "title": "ProductIdentifierUpdateSchema", "type": "object"}, "ProductLinkCreateSchema": {"description": "Schema for creating a new product link.", "properties": {"link_type": {"$ref": "#/components/schemas/ProductLinkType"}, "title": {"maxLength": 255, "minLength": 1, "title": "Title", "type": "string"}, "url": {"maxLength": 500, "minLength": 1, "title": "Url", "type": "string"}, "description": {"default": "", "maxLength": 1000, "title": "Description", "type": "string"}}, "required": ["link_type", "title", "url"], "title": "ProductLinkCreateSchema", "type": "object"}, "PaginatedProductLinksResponse": {"description": "Paginated response for product links list.", "properties": {"items": {"items": {"$ref": "#/components/schemas/ProductLinkSchema"}, "title": "Items", "type": "array"}, "pagination": {"$ref": "#/components/schemas/PaginationMeta"}}, "required": ["items", "pagination"], "title": "PaginatedProductLinksResponse", "type": "object"}, "ProductLinkBulkUpdateSchema": {"description": "Schema for bulk updating product links.", "properties": {"links": {"items": {"$ref": "#/components/schemas/ProductLinkCreateSchema"}, "title": "Links", "type": "array"}}, "required": ["links"], "title": "ProductLinkBulkUpdateSchema", "type": "object"}, "ProductLinkUpdateSchema": {"description": "Schema for updating a product link.", "properties": {"link_type": {"$ref": "#/components/schemas/ProductLinkType"}, "title": {"maxLength": 255, "minLength": 1, "title": "Title", "type": "string"}, "url": {"maxLength": 500, "minLength": 1, "title": "Url", "type": "string"}, "description": {"default": "", "maxLength": 1000, "title": "Description", "type": "string"}}, "required": ["link_type", "title", "url"], "title": "ProductLinkUpdateSchema", "type": "object"}, "ComponentResponseSchema": {"description": "Schema for Component API responses.", "properties": {"id": {"title": "Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "team_id": {"title": "Team Id", "type": "string"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "visibility": {"title": "Visibility", "type": "string"}, "gating_mode": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Gating Mode"}, "nda_document_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Nda Document Id"}, "is_global": {"title": "Is Global", "type": "boolean"}, "component_type": {"$ref": "#/components/schemas/ComponentType"}, "component_type_display": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Component Type Display"}, "metadata": {"additionalProperties": true, "title": "Metadata", "type": "object"}, "sbom_count": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Sbom Count"}, "document_count": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Document Count"}, "freshness": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Freshness"}}, "required": ["id", "name", "team_id", "created_at", "visibility", "is_global", "component_type", "metadata"], "title": "ComponentResponseSchema", "type": "object"}, "ComponentCreateSchema": {"description": "Schema for creating a new Component.", "properties": {"name": {"maxLength": 255, "minLength": 1, "title": "Name", "type": "string"}, "component_type": {"allOf": [{"$ref": "#/components/schemas/ComponentType"}], "default": "bom"}, "metadata": {"additionalProperties": true, "title": "Metadata", "type": "object"}, "is_global": {"default": false, "title": "Is Global", "type": "boolean"}}, "required": ["name"], "title": "ComponentCreateSchema", "type": "object"}, "PaginatedComponentsResponse": {"description": "Paginated response for components list.", "properties": {"items": {"items": {"$ref": "#/components/schemas/ComponentResponseSchema"}, "title": "Items", "type": "array"}, "pagination": {"$ref": "#/components/schemas/PaginationMeta"}}, "required": ["items", "pagination"], "title": "PaginatedComponentsResponse", "type": "object"}, "ComponentGatingMode": {"description": "Gating mode for gated components.", "enum": ["approval_only", "approval_plus_nda"], "title": "ComponentGatingMode", "type": "string"}, "ComponentUpdateSchema": {"description": "Schema for updating a Component using PUT (full update).", "properties": {"name": {"maxLength": 255, "minLength": 1, "title": "Name", "type": "string"}, "component_type": {"allOf": [{"$ref": "#/components/schemas/ComponentType"}], "default": "bom"}, "is_public": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Is Public"}, "visibility": {"anyOf": [{"$ref": "#/components/schemas/ComponentVisibility"}, {"type": "null"}]}, "gating_mode": {"anyOf": [{"$ref": "#/components/schemas/ComponentGatingMode"}, {"type": "null"}]}, "nda_document_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Nda Document Id"}, "is_global": {"title": "Is Global", "type": "boolean"}, "metadata": {"additionalProperties": true, "title": "Metadata", "type": "object"}}, "required": ["name", "is_global"], "title": "ComponentUpdateSchema", "type": "object"}, "ComponentVisibility": {"description": "Component visibility levels.", "enum": ["public", "private", "gated"], "title": "ComponentVisibility", "type": "string"}, "ComponentPatchSchema": {"description": "Schema for partially updating a Component using PATCH.", "properties": {"name": {"anyOf": [{"maxLength": 255, "minLength": 1, "type": "string"}, {"type": "null"}], "title": "Name"}, "component_type": {"anyOf": [{"$ref": "#/components/schemas/ComponentType"}, {"type": "null"}]}, "is_public": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Is Public"}, "visibility": {"anyOf": [{"$ref": "#/components/schemas/ComponentVisibility"}, {"type": "null"}]}, "gating_mode": {"anyOf": [{"$ref": "#/components/schemas/ComponentGatingMode"}, {"type": "null"}]}, "nda_document_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Nda Document Id"}, "is_global": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Is Global"}, "metadata": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Metadata"}}, "title": "ComponentPatchSchema", "type": "object"}, "ArtifactDocumentSchema": {"description": "Schema for Document artifacts in release responses.", "properties": {"id": {"title": "Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "document_type": {"title": "Document Type", "type": "string"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Version"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "component": {"additionalProperties": {"type": "string"}, "title": "Component", "type": "object"}}, "required": ["id", "name", "document_type", "version", "created_at", "component"], "title": "ArtifactDocumentSchema", "type": "object"}, "ArtifactSBOMSchema": {"description": "Schema for SBOM artifacts in release responses.", "properties": {"id": {"title": "Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "format": {"title": "Format", "type": "string"}, "format_version": {"title": "Format Version", "type": "string"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Version"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "component": {"additionalProperties": {"type": "string"}, "title": "Component", "type": "object"}}, "required": ["id", "name", "format", "format_version", "version", "created_at", "component"], "title": "ArtifactSBOMSchema", "type": "object"}, "PaginatedReleasesResponse": {"description": "Paginated response for releases list.", "properties": {"items": {"items": {"$ref": "#/components/schemas/ReleaseResponseSchema"}, "title": "Items", "type": "array"}, "pagination": {"$ref": "#/components/schemas/PaginationMeta"}}, "required": ["items", "pagination"], "title": "PaginatedReleasesResponse", "type": "object"}, "ReleaseArtifactDetailSchema": {"description": "Schema for release artifacts in detailed responses.", "properties": {"id": {"title": "Id", "type": "string"}, "sbom": {"anyOf": [{"$ref": "#/components/schemas/ArtifactSBOMSchema"}, {"type": "null"}]}, "document": {"anyOf": [{"$ref": "#/components/schemas/ArtifactDocumentSchema"}, {"type": "null"}]}}, "required": ["id"], "title": "ReleaseArtifactDetailSchema", "type": "object"}, "ReleaseResponseSchema": {"description": "Schema for Release API responses.", "properties": {"id": {"title": "Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Version"}, "description": {"title": "Description", "type": "string"}, "product_id": {"title": "Product Id", "type": "string"}, "product_name": {"title": "Product Name", "type": "string"}, "is_latest": {"title": "Is Latest", "type": "boolean"}, "is_prerelease": {"title": "Is Prerelease", "type": "boolean"}, "is_public": {"title": "Is Public", "type": "boolean"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "released_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Released At"}, "artifacts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Artifacts Count"}, "artifacts": {"anyOf": [{"items": {"$ref": "#/components/schemas/ReleaseArtifactDetailSchema"}, "type": "array"}, {"type": "null"}], "title": "Artifacts"}}, "required": ["id", "name", "description", "product_id", "product_name", "is_latest", "is_prerelease", "is_public", "created_at"], "title": "ReleaseResponseSchema", "type": "object"}, "DashboardSBOMUploadInfo": {"properties": {"component_name": {"title": "Component Name", "type": "string"}, "sbom_name": {"title": "Sbom Name", "type": "string"}, "sbom_version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Sbom Version"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}}, "required": ["component_name", "sbom_name", "created_at"], "title": "DashboardSBOMUploadInfo", "type": "object"}, "DashboardStatsResponse": {"properties": {"total_products": {"title": "Total Products", "type": "integer"}, "total_components": {"title": "Total Components", "type": "integer"}, "latest_uploads": {"items": {"$ref": "#/components/schemas/DashboardSBOMUploadInfo"}, "title": "Latest Uploads", "type": "array"}}, "required": ["total_products", "total_components", "latest_uploads"], "title": "DashboardStatsResponse", "type": "object"}, "ReleaseCreateSchema": {"description": "Schema for creating a new Release via top-level API endpoint.", "properties": {"name": {"maxLength": 255, "minLength": 1, "title": "Name", "type": "string"}, "version": {"anyOf": [{"maxLength": 255, "type": "string"}, {"type": "null"}], "description": "Version string (e.g., 'v1.0.0')", "title": "Version"}, "description": {"anyOf": [{"maxLength": 1000, "type": "string"}, {"type": "null"}], "default": "", "title": "Description"}, "is_prerelease": {"default": false, "title": "Is Prerelease", "type": "boolean"}, "product_id": {"description": "ID of the product this release belongs to", "title": "Product Id", "type": "string"}, "created_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Created At"}, "released_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Released At"}}, "required": ["name", "product_id"], "title": "ReleaseCreateSchema", "type": "object"}, "ReleaseUpdateSchema": {"description": "Schema for updating a Release.", "properties": {"name": {"maxLength": 255, "minLength": 1, "title": "Name", "type": "string"}, "version": {"anyOf": [{"maxLength": 255, "type": "string"}, {"type": "null"}], "description": "Version string (e.g., 'v1.0.0')", "title": "Version"}, "description": {"anyOf": [{"maxLength": 1000, "type": "string"}, {"type": "null"}], "default": "", "title": "Description"}, "is_prerelease": {"default": false, "title": "Is Prerelease", "type": "boolean"}, "created_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Created At"}, "released_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Released At"}}, "required": ["name"], "title": "ReleaseUpdateSchema", "type": "object"}, "ReleasePatchSchema": {"description": "Schema for partially updating a Release using PATCH.", "properties": {"name": {"anyOf": [{"maxLength": 255, "minLength": 1, "type": "string"}, {"type": "null"}], "title": "Name"}, "version": {"anyOf": [{"maxLength": 255, "type": "string"}, {"type": "null"}], "description": "Version string (e.g., 'v1.0.0')", "title": "Version"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description"}, "is_prerelease": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Is Prerelease"}, "created_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Created At"}, "released_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Released At"}}, "title": "ReleasePatchSchema", "type": "object"}, "AvailableArtifactSchema": {"description": "Schema for available artifact responses.", "properties": {"id": {"title": "Id", "type": "string"}, "artifact_type": {"description": "Type of artifact: 'sbom' or 'document'", "title": "Artifact Type", "type": "string"}, "name": {"title": "Name", "type": "string"}, "component": {"additionalProperties": {"type": "string"}, "description": "Component information with id and name", "title": "Component", "type": "object"}, "format": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Format"}, "format_version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Format Version"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Version"}, "bom_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "BOM type of an sbom artifact: 'sbom', 'vex', 'cbom', ...", "title": "Bom Type"}, "document_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Document Type"}, "created_at": {"title": "Created At", "type": "string"}}, "required": ["id", "artifact_type", "name", "component", "created_at"], "title": "AvailableArtifactSchema", "type": "object"}, "PaginatedReleaseArtifactsResponse": {"description": "Paginated response for release artifacts list.", "properties": {"items": {"items": {"anyOf": [{"$ref": "#/components/schemas/ReleaseArtifactSchema"}, {"$ref": "#/components/schemas/AvailableArtifactSchema"}]}, "title": "Items", "type": "array"}, "pagination": {"$ref": "#/components/schemas/PaginationMeta"}}, "required": ["items", "pagination"], "title": "PaginatedReleaseArtifactsResponse", "type": "object"}, "ReleaseArtifactSchema": {"description": "Schema for release artifact responses.", "properties": {"id": {"title": "Id", "type": "string"}, "artifact_type": {"description": "Type of artifact: 'sbom' or 'document'", "title": "Artifact Type", "type": "string"}, "artifact_name": {"description": "Name of the artifact", "title": "Artifact Name", "type": "string"}, "component_id": {"title": "Component Id", "type": "string"}, "component_name": {"title": "Component Name", "type": "string"}, "created_at": {"title": "Created At", "type": "string"}, "sbom_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "ID of the SBOM artifact (only for sbom type)", "title": "Sbom Id"}, "document_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "ID of the Document artifact (only for document type)", "title": "Document Id"}, "sbom_format": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Sbom Format"}, "sbom_format_version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Sbom Format Version"}, "sbom_version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Sbom Version"}, "bom_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "BOM type of an sbom artifact: 'sbom', 'vex', 'cbom', ...", "title": "Bom Type"}, "document_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Document Type"}, "document_version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Document Version"}, "component_slug": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Component Slug"}}, "required": ["id", "artifact_type", "artifact_name", "component_id", "component_name", "created_at"], "title": "ReleaseArtifactSchema", "type": "object"}, "ReleaseArtifactAddResponseSchema": {"description": "Schema for the response when adding an artifact to a release.", "properties": {"id": {"title": "Id", "type": "string"}, "artifact_type": {"title": "Artifact Type", "type": "string"}, "artifact_name": {"title": "Artifact Name", "type": "string"}, "component_id": {"title": "Component Id", "type": "string"}, "component_name": {"title": "Component Name", "type": "string"}, "created_at": {"title": "Created At", "type": "string"}, "sbom_format": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Sbom Format"}, "sbom_version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Sbom Version"}, "document_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Document Type"}, "document_version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Document Version"}, "component_slug": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Component Slug"}}, "required": ["id", "artifact_type", "artifact_name", "component_id", "component_name", "created_at"], "title": "ReleaseArtifactAddResponseSchema", "type": "object"}, "ReleaseArtifactCreateSchema": {"description": "Schema for adding artifacts to a release.", "properties": {"sbom_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Sbom Id"}, "document_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Document Id"}}, "title": "ReleaseArtifactCreateSchema", "type": "object"}, "ReleaseLinkSchema": {"description": "A release linked from another release.", "properties": {"id": {"title": "Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "version": {"title": "Version", "type": "string"}, "product_id": {"title": "Product Id", "type": "string"}, "product_name": {"title": "Product Name", "type": "string"}, "is_prerelease": {"title": "Is Prerelease", "type": "boolean"}, "linked_at": {"format": "date-time", "title": "Linked At", "type": "string"}}, "required": ["id", "name", "version", "product_id", "product_name", "is_prerelease", "linked_at"], "title": "ReleaseLinkSchema", "type": "object"}, "ReleaseLinkCreateSchema": {"description": "The release to link: by ``release_id``, or by ``product_id`` and ``version``.", "properties": {"release_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Release Id"}, "product_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Product Id"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Version"}}, "title": "ReleaseLinkCreateSchema", "type": "object"}, "PaginatedDocumentReleasesResponse": {"description": "Paginated response for document releases list.", "properties": {"items": {"items": {"$ref": "#/components/schemas/ReleaseReferenceSchema"}, "title": "Items", "type": "array"}, "pagination": {"$ref": "#/components/schemas/PaginationMeta"}}, "required": ["items", "pagination"], "title": "PaginatedDocumentReleasesResponse", "type": "object"}, "ReleaseReferenceSchema": {"description": "Schema for release references in document/SBOM responses.", "properties": {"id": {"title": "Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description"}, "is_prerelease": {"title": "Is Prerelease", "type": "boolean"}, "is_latest": {"title": "Is Latest", "type": "boolean"}, "product_id": {"title": "Product Id", "type": "string"}, "product_name": {"title": "Product Name", "type": "string"}, "is_public": {"title": "Is Public", "type": "boolean"}}, "required": ["id", "name", "is_prerelease", "is_latest", "product_id", "product_name", "is_public"], "title": "ReleaseReferenceSchema", "type": "object"}, "DocumentReleaseTaggingArtifactSchema": {"description": "Schema for individual artifacts in document tagging response.", "properties": {"artifact_id": {"title": "Artifact Id", "type": "string"}, "release_id": {"title": "Release Id", "type": "string"}, "release_name": {"title": "Release Name", "type": "string"}, "product_id": {"title": "Product Id", "type": "string"}, "product_name": {"title": "Product Name", "type": "string"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "replaced_document": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Replaced Document"}}, "required": ["artifact_id", "release_id", "release_name", "product_id", "product_name", "created_at"], "title": "DocumentReleaseTaggingArtifactSchema", "type": "object"}, "DocumentReleaseTaggingResponseSchema": {"description": "Schema for document tagging operation response.", "properties": {"created_artifacts": {"items": {"$ref": "#/components/schemas/DocumentReleaseTaggingArtifactSchema"}, "title": "Created Artifacts", "type": "array"}, "replaced_artifacts": {"items": {"$ref": "#/components/schemas/DocumentReleaseTaggingArtifactSchema"}, "title": "Replaced Artifacts", "type": "array"}, "errors": {"items": {"type": "string"}, "title": "Errors", "type": "array"}}, "required": ["created_artifacts", "replaced_artifacts", "errors"], "title": "DocumentReleaseTaggingResponseSchema", "type": "object"}, "DocumentReleaseTaggingSchema": {"description": "Schema for tagging documents to releases.", "properties": {"release_ids": {"description": "List of release IDs to tag the document to", "items": {"type": "string"}, "minItems": 1, "title": "Release Ids", "type": "array"}}, "required": ["release_ids"], "title": "DocumentReleaseTaggingSchema", "type": "object"}, "PaginatedSBOMReleasesResponse": {"description": "Paginated response for SBOM releases list.", "properties": {"items": {"items": {"$ref": "#/components/schemas/ReleaseReferenceSchema"}, "title": "Items", "type": "array"}, "pagination": {"$ref": "#/components/schemas/PaginationMeta"}}, "required": ["items", "pagination"], "title": "PaginatedSBOMReleasesResponse", "type": "object"}, "SBOMReleaseTaggingArtifactSchema": {"description": "Schema for individual artifacts in SBOM tagging response.", "properties": {"artifact_id": {"title": "Artifact Id", "type": "string"}, "release_id": {"title": "Release Id", "type": "string"}, "release_name": {"title": "Release Name", "type": "string"}, "product_id": {"title": "Product Id", "type": "string"}, "product_name": {"title": "Product Name", "type": "string"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "replaced_sbom": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Replaced Sbom"}}, "required": ["artifact_id", "release_id", "release_name", "product_id", "product_name", "created_at"], "title": "SBOMReleaseTaggingArtifactSchema", "type": "object"}, "SBOMReleaseTaggingResponseSchema": {"description": "Schema for SBOM tagging operation response.", "properties": {"created_artifacts": {"items": {"$ref": "#/components/schemas/SBOMReleaseTaggingArtifactSchema"}, "title": "Created Artifacts", "type": "array"}, "replaced_artifacts": {"items": {"$ref": "#/components/schemas/SBOMReleaseTaggingArtifactSchema"}, "title": "Replaced Artifacts", "type": "array"}, "errors": {"items": {"type": "string"}, "title": "Errors", "type": "array"}}, "required": ["created_artifacts", "replaced_artifacts", "errors"], "title": "SBOMReleaseTaggingResponseSchema", "type": "object"}, "SBOMReleaseTaggingSchema": {"description": "Schema for tagging SBOMs to releases.", "properties": {"release_ids": {"description": "List of release IDs to tag the SBOM to", "items": {"type": "string"}, "minItems": 1, "title": "Release Ids", "type": "array"}}, "required": ["release_ids"], "title": "SBOMReleaseTaggingSchema", "type": "object"}, "PaginatedSBOMsResponse": {"description": "Paginated response for component SBOMs list.", "properties": {"items": {"items": {"$ref": "#/components/schemas/SBOMWithReleasesSchema"}, "title": "Items", "type": "array"}, "pagination": {"$ref": "#/components/schemas/PaginationMeta"}}, "required": ["items", "pagination"], "title": "PaginatedSBOMsResponse", "type": "object"}, "SBOMWithReleasesSchema": {"description": "Schema for SBOM with releases information.", "properties": {"sbom": {"additionalProperties": true, "description": "SBOM information", "title": "Sbom", "type": "object"}, "has_vulnerabilities_report": {"title": "Has Vulnerabilities Report", "type": "boolean"}, "releases": {"items": {"$ref": "#/components/schemas/ReleaseReferenceSchema"}, "title": "Releases", "type": "array"}}, "required": ["sbom", "has_vulnerabilities_report", "releases"], "title": "SBOMWithReleasesSchema", "type": "object"}, "DocumentWithReleasesSchema": {"description": "Schema for document with releases information.", "properties": {"document": {"additionalProperties": true, "description": "Document information", "title": "Document", "type": "object"}, "releases": {"items": {"$ref": "#/components/schemas/ReleaseReferenceSchema"}, "title": "Releases", "type": "array"}}, "required": ["document", "releases"], "title": "DocumentWithReleasesSchema", "type": "object"}, "PaginatedDocumentsResponse": {"description": "Paginated response for component documents list.", "properties": {"items": {"items": {"$ref": "#/components/schemas/DocumentWithReleasesSchema"}, "title": "Items", "type": "array"}, "pagination": {"$ref": "#/components/schemas/PaginationMeta"}}, "required": ["items", "pagination"], "title": "PaginatedDocumentsResponse", "type": "object"}, "DeleteAccountResponse": {"description": "Response schema for successful account deletion.", "properties": {"success": {"title": "Success", "type": "boolean"}, "message": {"title": "Message", "type": "string"}}, "required": ["success", "message"], "title": "DeleteAccountResponse", "type": "object"}, "DeleteAccountRequest": {"description": "Request schema for account deletion.", "properties": {"confirmation": {"title": "Confirmation", "type": "string"}}, "required": ["confirmation"], "title": "DeleteAccountRequest", "type": "object"}, "CLEEventResponseSchema": {"properties": {"event_id": {"title": "Event Id", "type": "integer"}, "event_type": {"title": "Event Type", "type": "string"}, "effective": {"format": "date-time", "title": "Effective", "type": "string"}, "published": {"format": "date-time", "title": "Published", "type": "string"}, "version": {"title": "Version", "type": "string"}, "versions": {"items": {"$ref": "#/components/schemas/CLEVersionSpecifierSchema"}, "title": "Versions", "type": "array"}, "support_id": {"title": "Support Id", "type": "string"}, "license": {"title": "License", "type": "string"}, "superseded_by_version": {"title": "Superseded By Version", "type": "string"}, "identifiers": {"items": {"$ref": "#/components/schemas/CLEIdentifierSchema"}, "title": "Identifiers", "type": "array"}, "withdrawn_event_id": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Withdrawn Event Id"}, "reason": {"title": "Reason", "type": "string"}, "description": {"title": "Description", "type": "string"}, "references": {"items": {"type": "string"}, "title": "References", "type": "array"}}, "required": ["event_id", "event_type", "effective", "published", "version", "versions", "support_id", "license", "superseded_by_version", "identifiers", "withdrawn_event_id", "reason", "description", "references"], "title": "CLEEventResponseSchema", "type": "object"}, "CLEIdentifierSchema": {"additionalProperties": false, "description": "CLE identifier (e.g., PURL for componentRenamed events).", "properties": {"type": {"maxLength": 50, "title": "Type", "type": "string"}, "value": {"maxLength": 2048, "title": "Value", "type": "string"}}, "required": ["type", "value"], "title": "CLEIdentifierSchema", "type": "object"}, "CLEVersionSpecifierSchema": {"additionalProperties": false, "description": "ECMA-428 version specifier (version or range, at least one required).", "properties": {"version": {"anyOf": [{"maxLength": 255, "type": "string"}, {"type": "null"}], "title": "Version"}, "range": {"anyOf": [{"maxLength": 512, "type": "string"}, {"type": "null"}], "title": "Range"}}, "title": "CLEVersionSpecifierSchema", "type": "object"}, "CLEEventCreateSchema": {"additionalProperties": false, "properties": {"event_type": {"enum": ["released", "endOfDevelopment", "endOfSupport", "endOfLife", "endOfDistribution", "endOfMarketing", "supersededBy", "componentRenamed", "withdrawn"], "title": "Event Type", "type": "string"}, "effective": {"format": "date-time", "title": "Effective", "type": "string"}, "version": {"default": "", "maxLength": 255, "title": "Version", "type": "string"}, "versions": {"items": {"$ref": "#/components/schemas/CLEVersionSpecifierSchema"}, "maxItems": 100, "title": "Versions", "type": "array"}, "support_id": {"default": "", "maxLength": 255, "title": "Support Id", "type": "string"}, "license": {"default": "", "maxLength": 255, "title": "License", "type": "string"}, "superseded_by_version": {"default": "", "maxLength": 255, "title": "Superseded By Version", "type": "string"}, "identifiers": {"items": {"$ref": "#/components/schemas/CLEIdentifierSchema"}, "maxItems": 100, "title": "Identifiers", "type": "array"}, "withdrawn_event_id": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Withdrawn Event Id"}, "reason": {"default": "", "maxLength": 5000, "title": "Reason", "type": "string"}, "description": {"default": "", "maxLength": 10000, "title": "Description", "type": "string"}, "references": {"items": {"maxLength": 2048, "type": "string"}, "maxItems": 100, "title": "References", "type": "array"}}, "required": ["event_type", "effective"], "title": "CLEEventCreateSchema", "type": "object"}, "CLESupportDefinitionResponseSchema": {"properties": {"support_id": {"title": "Support Id", "type": "string"}, "description": {"title": "Description", "type": "string"}, "url": {"title": "Url", "type": "string"}}, "required": ["support_id", "description", "url"], "title": "CLESupportDefinitionResponseSchema", "type": "object"}, "CLESupportDefinitionCreateSchema": {"additionalProperties": false, "properties": {"support_id": {"maxLength": 255, "minLength": 1, "title": "Support Id", "type": "string"}, "description": {"maxLength": 5000, "minLength": 1, "title": "Description", "type": "string"}, "url": {"default": "", "maxLength": 500, "title": "Url", "type": "string"}}, "required": ["support_id", "description"], "title": "CLESupportDefinitionCreateSchema", "type": "object"}, "PlanSchema": {"properties": {"key": {"title": "Key", "type": "string"}, "name": {"title": "Name", "type": "string"}, "description": {"title": "Description", "type": "string"}, "max_products": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Max Products"}, "max_components": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Max Components"}}, "required": ["key", "name", "description", "max_products", "max_components"], "title": "PlanSchema", "type": "object"}, "UsageSchema": {"properties": {"products": {"title": "Products", "type": "integer"}, "components": {"title": "Components", "type": "integer"}, "current_plan": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Current Plan"}}, "required": ["products", "components", "current_plan"], "title": "UsageSchema", "type": "object"}, "ChangePlanResponse": {"properties": {"success": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Success"}, "redirect_url": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Redirect Url"}}, "title": "ChangePlanResponse", "type": "object"}, "ChangePlanRequest": {"properties": {"plan": {"maxLength": 30, "pattern": "^[a-z_]+$", "title": "Plan", "type": "string"}, "billing_period": {"anyOf": [{"maxLength": 10, "pattern": "^(monthly|annual)$", "type": "string"}, {"type": "null"}], "title": "Billing Period"}, "team_key": {"anyOf": [{"maxLength": 50, "pattern": "^[a-zA-Z0-9_\\-]+$", "type": "string"}, {"type": "null"}], "title": "Team Key"}}, "required": ["plan"], "title": "ChangePlanRequest", "type": "object"}, "NotificationSchema": {"description": "Schema for notifications", "properties": {"id": {"title": "Id", "type": "string"}, "type": {"title": "Type", "type": "string"}, "message": {"title": "Message", "type": "string"}, "action_url": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Action Url"}, "severity": {"default": "warning", "title": "Severity", "type": "string"}, "created_at": {"title": "Created At", "type": "string"}}, "required": ["id", "type", "message", "created_at"], "title": "NotificationSchema", "type": "object"}, "VulnerabilityListItemSchema": {"description": "One open vulnerability in one package of one component, as the Vulnerabilities page lists it.", "properties": {"advisory": {"title": "Advisory", "type": "string"}, "aliases": {"items": {"type": "string"}, "title": "Aliases", "type": "array"}, "title": {"default": "", "title": "Title", "type": "string"}, "severity": {"title": "Severity", "type": "string"}, "cvss_score": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Cvss Score"}, "kev": {"default": false, "description": "Listed in CISA's Known Exploited Vulnerabilities catalog.", "title": "Kev", "type": "boolean"}, "malicious": {"default": false, "description": "The package itself is malicious. It is removed, never triaged.", "title": "Malicious", "type": "boolean"}, "package": {"default": "", "title": "Package", "type": "string"}, "version": {"default": "", "title": "Version", "type": "string"}, "ecosystem": {"default": "", "title": "Ecosystem", "type": "string"}, "purl": {"default": "", "title": "Purl", "type": "string"}, "fixed_version": {"default": "", "title": "Fixed Version", "type": "string"}, "component_id": {"title": "Component Id", "type": "string"}, "component_name": {"title": "Component Name", "type": "string"}, "sbom_id": {"description": "The SBOM the vulnerability was found in. Pass it to the fix-prompt endpoint.", "title": "Sbom Id", "type": "string"}, "sbom_version": {"default": "", "title": "Sbom Version", "type": "string"}, "release_id": {"default": "", "description": "The release it was read in, if any. Pass it to the fix-prompt endpoint.", "title": "Release Id", "type": "string"}, "sla_label": {"description": "How long is left to fix it under the workspace's patch policy.", "title": "Sla Label", "type": "string"}, "sla_overdue": {"default": false, "title": "Sla Overdue", "type": "boolean"}, "decision": {"default": "", "description": "The triage decision recorded for it, or 'Not reviewed'.", "title": "Decision", "type": "string"}, "can_triage": {"description": "Whether a triage decision could be kept to this package version. The fix-prompt endpoint makes the final check, and says why when it offers no triage prompt.", "title": "Can Triage", "type": "boolean"}, "pending_submission_ids": {"description": "VEX submissions for this vulnerability in this component that are waiting for approval. An agent should skip a vulnerability that has one.", "items": {"type": "string"}, "title": "Pending Submission Ids", "type": "array"}}, "required": ["advisory", "severity", "component_id", "component_name", "sbom_id", "sla_label", "can_triage"], "title": "VulnerabilityListItemSchema", "type": "object"}, "VulnerabilityListSchema": {"description": "A page of the open vulnerabilities, most urgent first unless sorted otherwise.", "properties": {"total": {"title": "Total", "type": "integer"}, "page": {"title": "Page", "type": "integer"}, "per_page": {"title": "Per Page", "type": "integer"}, "pages": {"title": "Pages", "type": "integer"}, "items": {"items": {"$ref": "#/components/schemas/VulnerabilityListItemSchema"}, "title": "Items", "type": "array"}}, "required": ["total", "page", "per_page", "pages", "items"], "title": "VulnerabilityListSchema", "type": "object"}, "FixPromptRepositorySchema": {"description": "Where the component's code may live, and what says so.", "properties": {"url": {"title": "Url", "type": "string"}, "source": {"description": "Which record named this repository, most specific first.", "title": "Source", "type": "string"}}, "required": ["url", "source"], "title": "FixPromptRepositorySchema", "type": "object"}, "FixPromptSchema": {"description": "The prompts for one vulnerability in one package of one component.", "properties": {"advisory": {"title": "Advisory", "type": "string"}, "aliases": {"items": {"type": "string"}, "title": "Aliases", "type": "array"}, "severity": {"title": "Severity", "type": "string"}, "cvss_score": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Cvss Score"}, "kev": {"default": false, "description": "Listed in CISA's Known Exploited Vulnerabilities catalog.", "title": "Kev", "type": "boolean"}, "malicious": {"default": false, "description": "The package itself is malicious. It is removed, never upgraded.", "title": "Malicious", "type": "boolean"}, "title": {"default": "", "title": "Title", "type": "string"}, "details": {"default": "", "title": "Details", "type": "string"}, "package": {"default": "", "title": "Package", "type": "string"}, "version": {"default": "", "title": "Version", "type": "string"}, "ecosystem": {"default": "", "title": "Ecosystem", "type": "string"}, "purl": {"default": "", "title": "Purl", "type": "string"}, "fixed_version": {"default": "", "description": "The fixed version the scan names, as the scanner wrote it: several are comma separated. Empty when it names none.", "title": "Fixed Version", "type": "string"}, "references": {"items": {"type": "string"}, "title": "References", "type": "array"}, "component_id": {"title": "Component Id", "type": "string"}, "component_name": {"title": "Component Name", "type": "string"}, "products": {"items": {"type": "string"}, "title": "Products", "type": "array"}, "sbom_name": {"default": "", "title": "Sbom Name", "type": "string"}, "sbom_version": {"default": "", "title": "Sbom Version", "type": "string"}, "repositories": {"items": {"$ref": "#/components/schemas/FixPromptRepositorySchema"}, "title": "Repositories", "type": "array"}, "fix_prompt": {"description": "Instructions for a coding agent to fix this vulnerability.", "title": "Fix Prompt", "type": "string"}, "triage_prompt": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Instructions for a coding agent to decide whether this vulnerability applies. Null when no decision can be recorded, and triage_unavailable_reason says why.", "title": "Triage Prompt"}, "triage_unavailable_reason": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Why there is no triage prompt, in words to show a person or act on: a malicious package, a package without a versioned purl, or a decision that would also cover another version. Null when there is a triage prompt.", "title": "Triage Unavailable Reason"}}, "required": ["advisory", "severity", "component_id", "component_name", "fix_prompt"], "title": "FixPromptSchema", "type": "object"}, "VexSubmissionDecisionSchema": {"description": "One ruling, as approval would record it.", "properties": {"vuln_id": {"title": "Vuln Id", "type": "string"}, "purl": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The package the ruling is about. Null for the whole component.", "title": "Purl"}, "state": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "State"}, "justification": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Justification"}, "detail": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Detail"}, "aliases": {"items": {"type": "string"}, "title": "Aliases", "type": "array"}}, "required": ["vuln_id"], "title": "VexSubmissionDecisionSchema", "type": "object"}, "VexSubmissionIgnoredSchema": {"properties": {"vuln_id": {"title": "Vuln Id", "type": "string"}, "reason": {"title": "Reason", "type": "string"}}, "required": ["vuln_id", "reason"], "title": "VexSubmissionIgnoredSchema", "type": "object"}, "VexSubmissionImpactSchema": {"description": "What approving would change in the component's current findings.", "properties": {"suppressing_statements": {"title": "Suppressing Statements", "type": "integer"}, "findings_checked": {"title": "Findings Checked", "type": "integer"}, "would_suppress": {"title": "Would Suppress", "type": "integer"}, "already_suppressed": {"title": "Already Suppressed", "type": "integer"}, "unmatched_statements": {"title": "Unmatched Statements", "type": "integer"}, "versions": {"description": "Versions of the component, newest first, that carry a vulnerability the rulings cover.", "items": {"type": "string"}, "title": "Versions", "type": "array"}}, "required": ["suppressing_statements", "findings_checked", "would_suppress", "already_suppressed", "unmatched_statements"], "title": "VexSubmissionImpactSchema", "type": "object"}, "VexSubmissionSchema": {"description": "A VEX ruling waiting for a person to approve it, or the record of how it was decided.", "properties": {"id": {"title": "Id", "type": "string"}, "component_id": {"title": "Component Id", "type": "string"}, "status": {"description": "pending, approved, rejected, superseded or withdrawn.", "title": "Status", "type": "string"}, "kind": {"description": "decisions: merged into the component's triage on approval. document: stored as a file.", "title": "Kind", "type": "string"}, "source": {"description": "agent (an AI agent token), api (any other token), ci (a trusted-publishing pipeline) or app.", "title": "Source", "type": "string"}, "document_format": {"description": "cyclonedx, openvex, csaf, or decisions for decisions JSON.", "title": "Document Format", "type": "string"}, "context": {"title": "Context", "type": "string"}, "fix_reference": {"title": "Fix Reference", "type": "string"}, "advisory_ids": {"items": {"type": "string"}, "title": "Advisory Ids", "type": "array"}, "decisions": {"items": {"$ref": "#/components/schemas/VexSubmissionDecisionSchema"}, "title": "Decisions", "type": "array"}, "ignored": {"description": "Statements in the document that could not become a ruling, and why.", "items": {"$ref": "#/components/schemas/VexSubmissionIgnoredSchema"}, "title": "Ignored", "type": "array"}, "impact": {"anyOf": [{"$ref": "#/components/schemas/VexSubmissionImpactSchema"}, {"type": "null"}], "description": "What approving it would hide, worked out shortly after it was submitted. Null until then."}, "submitted_at": {"title": "Submitted At", "type": "string"}, "decided_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Decided At"}, "decision_note": {"default": "", "title": "Decision Note", "type": "string"}}, "required": ["id", "component_id", "status", "kind", "source", "document_format", "context", "fix_reference", "submitted_at"], "title": "VexSubmissionSchema", "type": "object"}, "TriageApplyIn": {"properties": {"decisions": {"items": {"$ref": "#/components/schemas/TriageDecisionIn"}, "title": "Decisions", "type": "array"}, "context": {"default": "", "description": "What the agent did and why, for the person approving it. Markdown: headings, lists, bold, italic, code spans and http(s) or mailto links are rendered; raw HTML is shown as text. Only with review=true.", "title": "Context", "type": "string"}, "fix_reference": {"default": "", "description": "The pull request or commit that shipped a fix alongside the ruling. Only with review=true.", "title": "Fix Reference", "type": "string"}}, "required": ["decisions"], "title": "TriageApplyIn", "type": "object"}, "TriageDecisionIn": {"properties": {"vuln_id": {"title": "Vuln Id", "type": "string"}, "purl": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Purl"}, "state": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "State"}, "justification": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Justification"}, "detail": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Detail"}, "aliases": {"default": [], "items": {"type": "string"}, "title": "Aliases", "type": "array"}, "anchor_purl": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Anchor Purl"}, "accepted_until": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "Accepted Until"}, "risk_owner": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Risk Owner"}}, "required": ["vuln_id"], "title": "TriageDecisionIn", "type": "object"}, "BulkTriageIn": {"properties": {"vuln_id": {"title": "Vuln Id", "type": "string"}, "state": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "State"}, "justification": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Justification"}, "detail": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Detail"}, "aliases": {"default": [], "items": {"type": "string"}, "title": "Aliases", "type": "array"}, "anchor_purl": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Anchor Purl"}, "accepted_until": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "Accepted Until"}, "risk_owner": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Risk Owner"}, "component_ids": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "Component Ids"}, "product_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Product Id"}, "team_key": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Team Key"}}, "required": ["vuln_id"], "title": "BulkTriageIn", "type": "object"}, "VexSubmissionIn": {"properties": {"document": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "string"}, {"type": "null"}], "title": "Document"}, "decisions": {"anyOf": [{"items": {"$ref": "#/components/schemas/TriageDecisionIn"}, "type": "array"}, {"type": "null"}], "title": "Decisions"}, "context": {"default": "", "description": "What the agent did and why, for the person approving it. Markdown: headings, lists, bold, italic, code spans and http(s) or mailto links are rendered; raw HTML is shown as text.", "title": "Context", "type": "string"}, "fix_reference": {"default": "", "description": "The pull request or commit that shipped a fix alongside the ruling.", "title": "Fix Reference", "type": "string"}}, "title": "VexSubmissionIn", "type": "object"}, "VexSubmissionListSchema": {"properties": {"items": {"items": {"$ref": "#/components/schemas/VexSubmissionSchema"}, "title": "Items", "type": "array"}, "total": {"title": "Total", "type": "integer"}, "page": {"title": "Page", "type": "integer"}, "page_size": {"title": "Page Size", "type": "integer"}, "total_pages": {"title": "Total Pages", "type": "integer"}, "has_previous": {"title": "Has Previous", "type": "boolean"}, "has_next": {"title": "Has Next", "type": "boolean"}}, "required": ["items", "total", "page", "page_size", "total_pages", "has_previous", "has_next"], "title": "VexSubmissionListSchema", "type": "object"}, "TokenSchema": {"description": "Schema for license token information.", "properties": {"key": {"title": "Key", "type": "string"}, "known": {"title": "Known", "type": "boolean"}}, "required": ["key", "known"], "title": "TokenSchema", "type": "object"}, "ValidationResponseSchema": {"description": "Schema for license expression validation response.", "properties": {"status": {"title": "Status", "type": "integer"}, "normalized": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Normalized"}, "tokens": {"anyOf": [{"items": {"$ref": "#/components/schemas/TokenSchema"}, "type": "array"}, {"type": "null"}], "title": "Tokens"}, "unknown_tokens": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "Unknown Tokens"}, "error": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Error"}}, "required": ["status"], "title": "ValidationResponseSchema", "type": "object"}, "ValidationRequestSchema": {"description": "Schema for license expression validation request.", "properties": {"expression": {"title": "Expression", "type": "string"}}, "required": ["expression"], "title": "ValidationRequestSchema", "type": "object"}, "AssessmentResultSchema": {"description": "Schema for the full assessment result.", "properties": {"plugin_name": {"title": "Plugin Name", "type": "string"}, "plugin_version": {"title": "Plugin Version", "type": "string"}, "category": {"title": "Category", "type": "string"}, "assessed_at": {"title": "Assessed At", "type": "string"}, "summary": {"$ref": "#/components/schemas/AssessmentSummarySchema"}, "findings": {"items": {"$ref": "#/components/schemas/FindingSchema"}, "title": "Findings", "type": "array"}, "metadata": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Metadata"}}, "required": ["plugin_name", "plugin_version", "category", "assessed_at", "summary", "findings"], "title": "AssessmentResultSchema", "type": "object"}, "AssessmentRunSchema": {"description": "Schema for an assessment run record.", "properties": {"id": {"title": "Id", "type": "string"}, "sbom_id": {"title": "Sbom Id", "type": "string"}, "release_ids": {"description": "Release IDs whose SBOM this run's result covers. Under the scan-once-per-SBOM model (sbomify/sbomify#881), one run covers all releases currently linked to the SBOM via ReleaseArtifact at scan completion. Empty list for SBOM-level runs (e.g. NTIA on a component not yet tied to a product). Populated from the AssessmentRun.releases M2M.", "items": {"type": "string"}, "title": "Release Ids", "type": "array"}, "release_names": {"description": "Human-readable release names corresponding to release_ids (for template rendering).", "items": {"type": "string"}, "title": "Release Names", "type": "array"}, "plugin_name": {"title": "Plugin Name", "type": "string"}, "plugin_version": {"title": "Plugin Version", "type": "string"}, "plugin_display_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Plugin Display Name"}, "category": {"title": "Category", "type": "string"}, "run_reason": {"title": "Run Reason", "type": "string"}, "status": {"title": "Status", "type": "string"}, "started_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Started At"}, "completed_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Completed At"}, "error_message": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Error Message"}, "result": {"anyOf": [{"$ref": "#/components/schemas/AssessmentResultSchema"}, {"type": "null"}]}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}}, "required": ["id", "sbom_id", "plugin_name", "plugin_version", "category", "run_reason", "status", "created_at"], "title": "AssessmentRunSchema", "type": "object"}, "AssessmentStatusSummary": {"description": "Summary status across all assessments for an SBOM.", "properties": {"overall_status": {"description": "Overall status: all_pass, has_failures, pending, in_progress, no_assessments, no_plugins_enabled", "title": "Overall Status", "type": "string"}, "total_assessments": {"default": 0, "title": "Total Assessments", "type": "integer"}, "passing_count": {"default": 0, "title": "Passing Count", "type": "integer"}, "failing_count": {"default": 0, "title": "Failing Count", "type": "integer"}, "pending_count": {"default": 0, "title": "Pending Count", "type": "integer"}, "in_progress_count": {"default": 0, "title": "In Progress Count", "type": "integer"}, "skipped_count": {"default": 0, "description": "Count of runs that completed but were skipped (e.g., Dependency Track when the SBOM had no release association). Skipped runs are NOT counted in passing_count so they don't inflate 'clean scan' metrics.", "title": "Skipped Count", "type": "integer"}}, "required": ["overall_status"], "title": "AssessmentStatusSummary", "type": "object"}, "AssessmentSummarySchema": {"description": "Schema for assessment summary statistics.", "properties": {"total_findings": {"default": 0, "title": "Total Findings", "type": "integer"}, "pass_count": {"default": 0, "title": "Pass Count", "type": "integer"}, "fail_count": {"default": 0, "title": "Fail Count", "type": "integer"}, "warning_count": {"default": 0, "title": "Warning Count", "type": "integer"}, "info_count": {"default": 0, "title": "Info Count", "type": "integer"}, "error_count": {"default": 0, "title": "Error Count", "type": "integer"}, "by_severity": {"anyOf": [{"additionalProperties": {"type": "integer"}, "type": "object"}, {"type": "null"}], "title": "By Severity"}, "suppressed_count": {"default": 0, "title": "Suppressed Count", "type": "integer"}, "malicious_count": {"default": 0, "title": "Malicious Count", "type": "integer"}}, "title": "AssessmentSummarySchema", "type": "object"}, "FindingSchema": {"properties": {"id": {"title": "Id", "type": "string"}, "control_id": {"title": "Control Id", "type": "string"}, "control_title": {"title": "Control Title", "type": "string"}, "group_id": {"title": "Group Id", "type": "string"}, "group_title": {"title": "Group Title", "type": "string"}, "status": {"enum": ["satisfied", "not-satisfied", "not-applicable", "unanswered"], "title": "Status", "type": "string"}, "notes": {"title": "Notes", "type": "string"}, "justification": {"title": "Justification", "type": "string"}, "is_mandatory": {"title": "Is Mandatory", "type": "boolean"}, "annex_part": {"title": "Annex Part", "type": "string"}, "annex_reference": {"title": "Annex Reference", "type": "string"}, "annex_url": {"title": "Annex Url", "type": "string"}, "updated_at": {"format": "date-time", "title": "Updated At", "type": "string"}}, "required": ["id", "control_id", "control_title", "group_id", "group_title", "status", "notes", "justification", "is_mandatory", "annex_part", "annex_reference", "annex_url", "updated_at"], "title": "FindingSchema", "type": "object"}, "SBOMAssessmentsResponse": {"description": "Response schema for SBOM assessments endpoint.", "properties": {"sbom_id": {"title": "Sbom Id", "type": "string"}, "status_summary": {"$ref": "#/components/schemas/AssessmentStatusSummary"}, "latest_runs": {"description": "Latest run for each plugin", "items": {"$ref": "#/components/schemas/AssessmentRunSchema"}, "title": "Latest Runs", "type": "array"}, "all_runs": {"description": "Assessment run history, newest first, bounded by the ``history_limit`` query parameter and a server-side ceiling. Empty when ``include_history`` is false. Use ``all_runs_total`` to tell whether it was truncated. Each row carries the run's status and result summary with an empty findings list; the latest run per plugin in ``latest_runs`` carries the findings.", "items": {"$ref": "#/components/schemas/AssessmentRunSchema"}, "title": "All Runs", "type": "array"}, "all_runs_total": {"default": 0, "description": "How many runs exist for this SBOM, whatever ``history_limit`` or ``include_history`` returned. Equals len(all_runs) only when the history was included and not truncated.", "title": "All Runs Total", "type": "integer"}}, "required": ["sbom_id", "status_summary", "latest_runs", "all_runs"], "title": "SBOMAssessmentsResponse", "type": "object"}, "AssessmentBadgeData": {"description": "Minimal data needed for the assessment badge display.", "properties": {"sbom_id": {"title": "Sbom Id", "type": "string"}, "overall_status": {"title": "Overall Status", "type": "string"}, "total_assessments": {"title": "Total Assessments", "type": "integer"}, "passing_count": {"title": "Passing Count", "type": "integer"}, "failing_count": {"title": "Failing Count", "type": "integer"}, "pending_count": {"title": "Pending Count", "type": "integer"}, "skipped_count": {"default": 0, "title": "Skipped Count", "type": "integer"}, "plugins": {"description": "Summary per plugin: name, display_name, status, findings_count", "items": {"additionalProperties": true, "type": "object"}, "title": "Plugins", "type": "array"}}, "required": ["sbom_id", "overall_status", "total_assessments", "passing_count", "failing_count", "pending_count", "plugins"], "title": "AssessmentBadgeData", "type": "object"}, "TeamPluginSettingsResponse": {"description": "Response schema for team plugin settings.", "properties": {"team_key": {"title": "Team Key", "type": "string"}, "enabled_plugins": {"items": {"type": "string"}, "title": "Enabled Plugins", "type": "array"}, "plugin_configs": {"additionalProperties": true, "title": "Plugin Configs", "type": "object"}, "available_plugins": {"items": {"additionalProperties": true, "type": "object"}, "title": "Available Plugins", "type": "array"}, "team_plan": {"title": "Team Plan", "type": "string"}}, "required": ["team_key", "enabled_plugins", "plugin_configs", "available_plugins", "team_plan"], "title": "TeamPluginSettingsResponse", "type": "object"}, "UpdateTeamPluginSettingsResponse": {"description": "What a workspace's plugin list looks like after an update.", "properties": {"message": {"title": "Message", "type": "string"}, "enabled_plugins": {"items": {"type": "string"}, "title": "Enabled Plugins", "type": "array"}, "plugin_configs": {"additionalProperties": true, "title": "Plugin Configs", "type": "object"}}, "required": ["message", "enabled_plugins", "plugin_configs"], "title": "UpdateTeamPluginSettingsResponse", "type": "object"}, "UpdateTeamPluginSettingsRequest": {"description": "Request schema for updating team plugin settings.", "properties": {"enabled_plugins": {"items": {"type": "string"}, "title": "Enabled Plugins", "type": "array"}, "plugin_configs": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Plugin Configs"}}, "required": ["enabled_plugins"], "title": "UpdateTeamPluginSettingsRequest", "type": "object"}, "AssessmentRerunResponse": {"description": "Acknowledgment that a re-run was accepted onto the queue.", "properties": {"sbom_id": {"title": "Sbom Id", "type": "string"}, "plugin_name": {"title": "Plugin Name", "type": "string"}, "status": {"title": "Status", "type": "string"}}, "required": ["sbom_id", "plugin_name", "status"], "title": "AssessmentRerunResponse", "type": "object"}, "CRAAssessmentSchema": {"properties": {"id": {"title": "Id", "type": "string"}, "product_id": {"title": "Product Id", "type": "string"}, "product_name": {"title": "Product Name", "type": "string"}, "status": {"enum": ["draft", "in_progress", "complete", "stale"], "title": "Status", "type": "string"}, "current_step": {"title": "Current Step", "type": "integer"}, "completed_steps": {"items": {"type": "integer"}, "title": "Completed Steps", "type": "array"}, "product_category": {"title": "Product Category", "type": "string"}, "is_open_source_steward": {"title": "Is Open Source Steward", "type": "boolean"}, "conformity_assessment_procedure": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Conformity Assessment Procedure"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "updated_at": {"format": "date-time", "title": "Updated At", "type": "string"}}, "required": ["id", "product_id", "product_name", "status", "current_step", "completed_steps", "product_category", "is_open_source_steward", "conformity_assessment_procedure", "created_at", "updated_at"], "title": "CRAAssessmentSchema", "type": "object"}, "StepContextSchema": {"description": "Step context \u2014 shape varies by step number.", "properties": {"step": {"title": "Step", "type": "integer"}, "data": {"additionalProperties": true, "title": "Data", "type": "object"}, "is_complete": {"title": "Is Complete", "type": "boolean"}, "validation_errors": {"default": [], "items": {"type": "string"}, "title": "Validation Errors", "type": "array"}}, "required": ["step", "data", "is_complete"], "title": "StepContextSchema", "type": "object"}, "StepDataSchema": {"description": "Flexible schema \u2014 fields vary by step.", "properties": {"data": {"additionalProperties": true, "title": "Data", "type": "object"}}, "required": ["data"], "title": "StepDataSchema", "type": "object"}, "SBOMStatusSchema": {"properties": {"components": {"items": {"additionalProperties": true, "type": "object"}, "title": "Components", "type": "array"}, "summary": {"additionalProperties": true, "title": "Summary", "type": "object"}}, "required": ["components", "summary"], "title": "SBOMStatusSchema", "type": "object"}, "FindingUpdateSchema": {"properties": {"status": {"enum": ["satisfied", "not-satisfied", "not-applicable", "unanswered"], "title": "Status", "type": "string"}, "notes": {"default": "", "title": "Notes", "type": "string"}, "justification": {"default": "", "title": "Justification", "type": "string"}}, "required": ["status"], "title": "FindingUpdateSchema", "type": "object"}, "ObservationSchema": {"properties": {"id": {"title": "Id", "type": "string"}, "description": {"title": "Description", "type": "string"}, "method": {"title": "Method", "type": "string"}, "evidence_document_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Evidence Document Id"}, "collected_at": {"format": "date-time", "title": "Collected At", "type": "string"}}, "required": ["id", "description", "method", "evidence_document_id", "collected_at"], "title": "ObservationSchema", "type": "object"}, "ObservationCreateSchema": {"properties": {"description": {"title": "Description", "type": "string"}, "method": {"enum": ["EXAMINE", "INTERVIEW", "TEST"], "title": "Method", "type": "string"}, "evidence_document_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Evidence Document Id"}}, "required": ["description", "method"], "title": "ObservationCreateSchema", "type": "object"}, "DocumentSchema": {"properties": {"id": {"title": "Id", "type": "string"}, "document_kind": {"title": "Document Kind", "type": "string"}, "version": {"title": "Version", "type": "integer"}, "is_stale": {"title": "Is Stale", "type": "boolean"}, "content_hash": {"title": "Content Hash", "type": "string"}, "generated_at": {"format": "date-time", "title": "Generated At", "type": "string"}}, "required": ["id", "document_kind", "version", "is_stale", "content_hash", "generated_at"], "title": "DocumentSchema", "type": "object"}, "SignatureResponseSchema": {"description": "Read-side view of the signature block.", "properties": {"place": {"title": "Place", "type": "string"}, "name": {"title": "Name", "type": "string"}, "function": {"title": "Function", "type": "string"}, "image": {"title": "Image", "type": "string"}, "signed_at": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Signed At"}, "is_signed": {"title": "Is Signed", "type": "boolean"}}, "required": ["place", "name", "function", "image", "is_signed"], "title": "SignatureResponseSchema", "type": "object"}, "SignatureSchema": {"description": "Manufacturer signature block for the Declaration of Conformity.\n\n``signature_image`` is a ``data:image/png;base64,...`` URL produced by\nthe front-end signature pad. Field-level size and format checks live\non the API side (see ``save_doc_signature``); the schema simply types\nthe wire payload.", "properties": {"place": {"title": "Place", "type": "string"}, "name": {"title": "Name", "type": "string"}, "function": {"title": "Function", "type": "string"}, "image": {"title": "Image", "type": "string"}}, "required": ["place", "name", "function", "image"], "title": "SignatureSchema", "type": "object"}, "ExportPackageSchema": {"properties": {"id": {"title": "Id", "type": "string"}, "content_hash": {"title": "Content Hash", "type": "string"}, "manifest": {"additionalProperties": true, "title": "Manifest", "type": "object"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "signed": {"default": false, "title": "Signed", "type": "boolean"}, "signed_by": {"default": "", "title": "Signed By", "type": "string"}, "signed_by_issuer": {"default": "", "title": "Signed By Issuer", "type": "string"}, "signed_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Signed At"}}, "required": ["id", "content_hash", "manifest", "created_at"], "title": "ExportPackageSchema", "type": "object"}, "ExportSignatureSchema": {"properties": {"signed_by": {"title": "Signed By", "type": "string"}, "issuer": {"title": "Issuer", "type": "string"}, "signed_at": {"format": "date-time", "title": "Signed At", "type": "string"}}, "required": ["signed_by", "issuer", "signed_at"], "title": "ExportSignatureSchema", "type": "object"}, "ExportSignatureUploadSchema": {"description": "Who the bundle says signed. The bundle itself arrives as a file part beside these fields.", "properties": {"identity": {"maxLength": 512, "minLength": 1, "title": "Identity", "type": "string"}, "issuer": {"maxLength": 255, "minLength": 1, "title": "Issuer", "type": "string"}}, "required": ["identity", "issuer"], "title": "ExportSignatureUploadSchema", "type": "object"}, "StalenessSchema": {"properties": {"stale_documents": {"items": {"type": "string"}, "title": "Stale Documents", "type": "array"}, "stale_steps": {"items": {"type": "integer"}, "title": "Stale Steps", "type": "array"}, "has_new_sbom": {"title": "Has New Sbom", "type": "boolean"}}, "required": ["stale_documents", "stale_steps", "has_new_sbom"], "title": "StalenessSchema", "type": "object"}, "CRAFilingSchema": {"properties": {"id": {"title": "Id", "type": "string"}, "stage": {"title": "Stage", "type": "string"}, "srp_reference": {"title": "Srp Reference", "type": "string"}, "filed_at": {"format": "date-time", "title": "Filed At", "type": "string"}, "filed_by": {"title": "Filed By", "type": "string"}}, "required": ["id", "stage", "srp_reference", "filed_at", "filed_by"], "title": "CRAFilingSchema", "type": "object"}, "CRANextDueSchema": {"properties": {"stage": {"title": "Stage", "type": "string"}, "label": {"title": "Label", "type": "string"}, "due": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Due"}, "overdue": {"title": "Overdue", "type": "boolean"}}, "required": ["stage", "label", "due", "overdue"], "title": "CRANextDueSchema", "type": "object"}, "CRAReportSchema": {"properties": {"id": {"title": "Id", "type": "string"}, "kind": {"title": "Kind", "type": "string"}, "product_id": {"title": "Product Id", "type": "string"}, "product_name": {"title": "Product Name", "type": "string"}, "advisory_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Advisory Id"}, "aware_at": {"format": "date-time", "title": "Aware At", "type": "string"}, "occurred_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Occurred At"}, "measure_available_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Measure Available At"}, "values": {"additionalProperties": true, "title": "Values", "type": "object"}, "filings": {"items": {"$ref": "#/components/schemas/CRAFilingSchema"}, "title": "Filings", "type": "array"}, "next_due": {"anyOf": [{"$ref": "#/components/schemas/CRANextDueSchema"}, {"type": "null"}]}, "revision": {"title": "Revision", "type": "string"}}, "required": ["id", "kind", "product_id", "product_name", "advisory_id", "aware_at", "occurred_at", "measure_available_at", "values", "filings", "next_due", "revision"], "title": "CRAReportSchema", "type": "object"}, "CRAReportCreateSchema": {"properties": {"kind": {"title": "Kind", "type": "string"}, "product_id": {"title": "Product Id", "type": "string"}, "aware_at": {"format": "date-time", "title": "Aware At", "type": "string"}, "advisory_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Advisory Id"}, "occurred_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Occurred At"}, "measure_available_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Measure Available At"}}, "required": ["kind", "product_id", "aware_at"], "title": "CRAReportCreateSchema", "type": "object"}, "CRAReportUpdateSchema": {"description": "Only what is sent changes. A value sent empty is cleared.", "properties": {"values": {"anyOf": [{"additionalProperties": true, "type": "object"}, {"type": "null"}], "title": "Values"}, "aware_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Aware At"}, "occurred_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Occurred At"}, "measure_available_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Measure Available At"}, "revision": {"maxLength": 64, "minLength": 1, "title": "Revision", "type": "string"}}, "required": ["revision"], "title": "CRAReportUpdateSchema", "type": "object"}, "CRAFilingCreateSchema": {"properties": {"stage": {"title": "Stage", "type": "string"}, "srp_reference": {"default": "", "maxLength": 100, "title": "Srp Reference", "type": "string"}, "filed_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Filed At"}, "revision": {"maxLength": 64, "minLength": 1, "title": "Revision", "type": "string"}}, "required": ["stage", "revision"], "title": "CRAFilingCreateSchema", "type": "object"}, "CRAFilingDetailSchema": {"description": "A filing with the report as it stood when the filing was recorded.", "properties": {"id": {"title": "Id", "type": "string"}, "stage": {"title": "Stage", "type": "string"}, "srp_reference": {"title": "Srp Reference", "type": "string"}, "filed_at": {"format": "date-time", "title": "Filed At", "type": "string"}, "filed_by": {"title": "Filed By", "type": "string"}, "snapshot": {"additionalProperties": true, "title": "Snapshot", "type": "object"}}, "required": ["id", "stage", "srp_reference", "filed_at", "filed_by", "snapshot"], "title": "CRAFilingDetailSchema", "type": "object"}, "SRPFieldSchema": {"properties": {"id": {"title": "Id", "type": "string"}, "label": {"title": "Label", "type": "string"}, "value": {"title": "Value", "type": "string"}, "max_length": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Max Length"}, "required": {"title": "Required", "type": "boolean"}, "missing": {"title": "Missing", "type": "boolean"}}, "required": ["id", "label", "value", "max_length", "required", "missing"], "title": "SRPFieldSchema", "type": "object"}, "SRPLayoutSchema": {"properties": {"stage": {"title": "Stage", "type": "string"}, "fields": {"items": {"$ref": "#/components/schemas/SRPFieldSchema"}, "title": "Fields", "type": "array"}, "revision": {"title": "Revision", "type": "string"}}, "required": ["stage", "fields", "revision"], "title": "SRPLayoutSchema", "type": "object"}, "CatalogSchema": {"description": "Schema for ControlCatalog API responses.", "properties": {"id": {"title": "Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "version": {"title": "Version", "type": "string"}, "source": {"title": "Source", "type": "string"}, "is_active": {"title": "Is Active", "type": "boolean"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}}, "required": ["id", "name", "version", "source", "is_active", "created_at"], "title": "CatalogSchema", "type": "object"}, "ActivateCatalogSchema": {"description": "Schema for activating a built-in catalog.", "properties": {"catalog_name": {"description": "Name of the built-in catalog to activate (e.g., 'soc2-type2')", "title": "Catalog Name", "type": "string"}}, "required": ["catalog_name"], "title": "ActivateCatalogSchema", "type": "object"}, "CatalogDetailSchema": {"description": "Schema for ControlCatalog detail with controls count.", "properties": {"id": {"title": "Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "version": {"title": "Version", "type": "string"}, "source": {"title": "Source", "type": "string"}, "is_active": {"title": "Is Active", "type": "boolean"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "controls_count": {"title": "Controls Count", "type": "integer"}}, "required": ["id", "name", "version", "source", "is_active", "created_at", "controls_count"], "title": "CatalogDetailSchema", "type": "object"}, "CatalogPatchSchema": {"description": "Schema for partially updating a catalog.", "properties": {"is_active": {"title": "Is Active", "type": "boolean"}}, "required": ["is_active"], "title": "CatalogPatchSchema", "type": "object"}, "ControlWithStatusSchema": {"description": "Schema for Control with its status information.", "properties": {"id": {"title": "Id", "type": "string"}, "control_id": {"title": "Control Id", "type": "string"}, "group": {"title": "Group", "type": "string"}, "title": {"title": "Title", "type": "string"}, "description": {"title": "Description", "type": "string"}, "status": {"default": "not_implemented", "title": "Status", "type": "string"}, "notes": {"default": "", "title": "Notes", "type": "string"}, "updated_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Updated At"}}, "required": ["id", "control_id", "group", "title", "description"], "title": "ControlWithStatusSchema", "type": "object"}, "ControlStatusSchema": {"description": "Schema for a ControlStatus response.", "properties": {"id": {"title": "Id", "type": "string"}, "control_id": {"title": "Control Id", "type": "string"}, "status": {"title": "Status", "type": "string"}, "notes": {"title": "Notes", "type": "string"}, "product_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Product Id"}, "updated_at": {"format": "date-time", "title": "Updated At", "type": "string"}}, "required": ["id", "control_id", "status", "notes", "updated_at"], "title": "ControlStatusSchema", "type": "object"}, "StatusUpdateSchema": {"description": "Schema for updating a single control status.", "properties": {"status": {"description": "One of: compliant, partial, not_implemented, not_applicable", "title": "Status", "type": "string"}, "product_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Product Id"}, "notes": {"default": "", "title": "Notes", "type": "string"}}, "required": ["status"], "title": "StatusUpdateSchema", "type": "object"}, "BulkResultSchema": {"description": "Schema for bulk update result.", "properties": {"updated": {"title": "Updated", "type": "integer"}}, "required": ["updated"], "title": "BulkResultSchema", "type": "object"}, "BulkStatusUpdateItemSchema": {"description": "Schema for a single item in a bulk status update.", "properties": {"control_id": {"title": "Control Id", "type": "string"}, "status": {"description": "One of: compliant, partial, not_implemented, not_applicable", "title": "Status", "type": "string"}, "product_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Product Id"}, "notes": {"default": "", "title": "Notes", "type": "string"}}, "required": ["control_id", "status"], "title": "BulkStatusUpdateItemSchema", "type": "object"}, "BulkStatusUpdateSchema": {"description": "Schema for bulk updating control statuses.", "properties": {"items": {"items": {"$ref": "#/components/schemas/BulkStatusUpdateItemSchema"}, "maxItems": 500, "title": "Items", "type": "array"}}, "required": ["items"], "title": "BulkStatusUpdateSchema", "type": "object"}, "ControlMappingSchema": {"description": "Schema for ControlMapping API responses.", "properties": {"id": {"title": "Id", "type": "string"}, "source_control_id": {"title": "Source Control Id", "type": "string"}, "source_control_label": {"title": "Source Control Label", "type": "string"}, "source_catalog_name": {"title": "Source Catalog Name", "type": "string"}, "target_control_id": {"title": "Target Control Id", "type": "string"}, "target_control_label": {"title": "Target Control Label", "type": "string"}, "target_catalog_name": {"title": "Target Catalog Name", "type": "string"}, "relation_type": {"title": "Relation Type", "type": "string"}, "notes": {"default": "", "title": "Notes", "type": "string"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}}, "required": ["id", "source_control_id", "source_control_label", "source_catalog_name", "target_control_id", "target_control_label", "target_catalog_name", "relation_type", "created_at"], "title": "ControlMappingSchema", "type": "object"}, "CreateMappingSchema": {"description": "Schema for creating a control mapping.", "properties": {"source_control_id": {"title": "Source Control Id", "type": "string"}, "target_control_id": {"title": "Target Control Id", "type": "string"}, "relation_type": {"enum": ["equivalent", "partial", "related"], "title": "Relation Type", "type": "string"}, "notes": {"default": "", "title": "Notes", "type": "string"}}, "required": ["source_control_id", "target_control_id", "relation_type"], "title": "CreateMappingSchema", "type": "object"}, "BulkMappingItemSchema": {"description": "Schema for a single item in a bulk mapping import.", "properties": {"source_control_id": {"title": "Source Control Id", "type": "string"}, "target_control_id": {"title": "Target Control Id", "type": "string"}, "relation_type": {"enum": ["equivalent", "partial", "related"], "title": "Relation Type", "type": "string"}, "notes": {"default": "", "title": "Notes", "type": "string"}}, "required": ["source_control_id", "target_control_id", "relation_type"], "title": "BulkMappingItemSchema", "type": "object"}, "BulkMappingSchema": {"description": "Schema for bulk importing control mappings.", "properties": {"items": {"items": {"$ref": "#/components/schemas/BulkMappingItemSchema"}, "maxItems": 500, "title": "Items", "type": "array"}}, "required": ["items"], "title": "BulkMappingSchema", "type": "object"}, "ControlEvidenceSchema": {"description": "Schema for ControlEvidence API responses.", "properties": {"id": {"title": "Id", "type": "string"}, "evidence_type": {"title": "Evidence Type", "type": "string"}, "title": {"title": "Title", "type": "string"}, "url": {"default": "", "title": "Url", "type": "string"}, "document_id": {"default": "", "title": "Document Id", "type": "string"}, "description": {"default": "", "title": "Description", "type": "string"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}}, "required": ["id", "evidence_type", "title", "created_at"], "title": "ControlEvidenceSchema", "type": "object"}, "CreateEvidenceSchema": {"description": "Schema for creating evidence on a control.", "properties": {"evidence_type": {"description": "One of: document, url, note", "title": "Evidence Type", "type": "string"}, "title": {"title": "Title", "type": "string"}, "url": {"default": "", "title": "Url", "type": "string"}, "document_id": {"default": "", "title": "Document Id", "type": "string"}, "description": {"default": "", "title": "Description", "type": "string"}}, "required": ["evidence_type", "title"], "title": "CreateEvidenceSchema", "type": "object"}, "AutomationSyncResultSchema": {"description": "Schema for the automation sync endpoint response.", "properties": {"total_updated": {"title": "Total Updated", "type": "integer"}, "by_plugin": {"additionalProperties": {"type": "integer"}, "title": "By Plugin", "type": "object"}}, "required": ["total_updated", "by_plugin"], "title": "AutomationSyncResultSchema", "type": "object"}, "AutomationMappingSchema": {"description": "Schema for the automation mappings endpoint response.", "properties": {"mappings": {"additionalProperties": {"items": {"type": "string"}, "type": "array"}, "title": "Mappings", "type": "object"}}, "required": ["mappings"], "title": "AutomationMappingSchema", "type": "object"}, "CategorySummarySchema": {"description": "Schema for category-level compliance summary.", "properties": {"name": {"title": "Name", "type": "string"}, "total": {"title": "Total", "type": "integer"}, "addressed": {"title": "Addressed", "type": "number"}, "percentage": {"title": "Percentage", "type": "number"}, "icon": {"title": "Icon", "type": "string"}, "controls": {"items": {"$ref": "#/components/schemas/PublicControlItemSchema"}, "title": "Controls", "type": "array"}}, "required": ["name", "total", "addressed", "percentage", "icon"], "title": "CategorySummarySchema", "type": "object"}, "PublicControlItemSchema": {"description": "Schema for a single control in the public summary.", "properties": {"control_id": {"title": "Control Id", "type": "string"}, "title": {"title": "Title", "type": "string"}, "status": {"title": "Status", "type": "string"}}, "required": ["control_id", "title", "status"], "title": "PublicControlItemSchema", "type": "object"}, "PublicControlsSummarySchema": {"description": "Schema for public controls compliance summary.", "properties": {"catalog_name": {"title": "Catalog Name", "type": "string"}, "catalog_version": {"default": "", "title": "Catalog Version", "type": "string"}, "total": {"title": "Total", "type": "integer"}, "addressed": {"title": "Addressed", "type": "number"}, "percentage": {"title": "Percentage", "type": "number"}, "by_status": {"additionalProperties": {"type": "integer"}, "title": "By Status", "type": "object"}, "categories": {"items": {"$ref": "#/components/schemas/CategorySummarySchema"}, "title": "Categories", "type": "array"}}, "required": ["catalog_name", "total", "addressed", "percentage", "by_status", "categories"], "title": "PublicControlsSummarySchema", "type": "object"}, "AdvisoryProductSchema": {"description": "A product an advisory names.\n\n``id`` is null when the advisory names a product this workspace does not\ntrack, or tracked and has since deleted; the name is kept either way.", "properties": {"id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Id"}, "name": {"title": "Name", "type": "string"}, "affected_ranges": {"items": {"type": "string"}, "title": "Affected Ranges", "type": "array"}}, "required": ["name"], "title": "AdvisoryProductSchema", "type": "object"}, "AdvisorySchema": {"properties": {"id": {"title": "Id", "type": "string"}, "tracking_id": {"default": "", "description": "The workspace's own identifier, allocated at publication. Empty while a draft.", "title": "Tracking Id", "type": "string"}, "title": {"title": "Title", "type": "string"}, "summary": {"default": "", "title": "Summary", "type": "string"}, "description": {"default": "", "title": "Description", "type": "string"}, "advisory_type": {"title": "Advisory Type", "type": "string"}, "severity": {"default": "", "title": "Severity", "type": "string"}, "cvss_score": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Cvss Score"}, "cvss_vector": {"default": "", "title": "Cvss Vector", "type": "string"}, "status": {"description": "Publication state: draft, published or withdrawn.", "title": "Status", "type": "string"}, "remediation_status": {"description": "Where the fix is, which is not whether it is published.", "title": "Remediation Status", "type": "string"}, "is_open": {"title": "Is Open", "type": "boolean"}, "visibility": {"title": "Visibility", "type": "string"}, "vulnerability_count": {"default": 0, "title": "Vulnerability Count", "type": "integer"}, "vulnerability_id": {"default": "", "description": "The first CVE the advisory cites, when it cites one.", "title": "Vulnerability Id", "type": "string"}, "products": {"items": {"$ref": "#/components/schemas/AdvisoryProductSchema"}, "title": "Products", "type": "array"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "updated_at": {"format": "date-time", "title": "Updated At", "type": "string"}, "published_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Published At"}, "withdrawn_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Withdrawn At"}, "withdrawal_reason": {"default": "", "title": "Withdrawal Reason", "type": "string"}}, "required": ["id", "title", "advisory_type", "status", "remediation_status", "is_open", "visibility", "created_at", "updated_at"], "title": "AdvisorySchema", "type": "object"}, "AdvisoryDetailSchema": {"properties": {"id": {"title": "Id", "type": "string"}, "tracking_id": {"default": "", "description": "The workspace's own identifier, allocated at publication. Empty while a draft.", "title": "Tracking Id", "type": "string"}, "title": {"title": "Title", "type": "string"}, "summary": {"default": "", "title": "Summary", "type": "string"}, "description": {"default": "", "title": "Description", "type": "string"}, "advisory_type": {"title": "Advisory Type", "type": "string"}, "severity": {"default": "", "title": "Severity", "type": "string"}, "cvss_score": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Cvss Score"}, "cvss_vector": {"default": "", "title": "Cvss Vector", "type": "string"}, "status": {"description": "Publication state: draft, published or withdrawn.", "title": "Status", "type": "string"}, "remediation_status": {"description": "Where the fix is, which is not whether it is published.", "title": "Remediation Status", "type": "string"}, "is_open": {"title": "Is Open", "type": "boolean"}, "visibility": {"title": "Visibility", "type": "string"}, "vulnerability_count": {"default": 0, "title": "Vulnerability Count", "type": "integer"}, "vulnerability_id": {"default": "", "description": "The first CVE the advisory cites, when it cites one.", "title": "Vulnerability Id", "type": "string"}, "products": {"items": {"$ref": "#/components/schemas/AdvisoryProductSchema"}, "title": "Products", "type": "array"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "updated_at": {"format": "date-time", "title": "Updated At", "type": "string"}, "published_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Published At"}, "withdrawn_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Withdrawn At"}, "withdrawal_reason": {"default": "", "title": "Withdrawal Reason", "type": "string"}, "vulnerabilities": {"items": {"$ref": "#/components/schemas/AdvisoryVulnerabilitySchema"}, "title": "Vulnerabilities", "type": "array"}, "statuses": {"items": {"$ref": "#/components/schemas/AdvisoryStatusSchema"}, "title": "Statuses", "type": "array"}, "references": {"items": {"$ref": "#/components/schemas/AdvisoryReferenceSchema"}, "title": "References", "type": "array"}, "timeline": {"items": {"$ref": "#/components/schemas/AdvisoryEventSchema"}, "title": "Timeline", "type": "array"}}, "required": ["id", "title", "advisory_type", "status", "remediation_status", "is_open", "visibility", "created_at", "updated_at"], "title": "AdvisoryDetailSchema", "type": "object"}, "AdvisoryEventSchema": {"description": "One entry in the advisory's append-only history.", "properties": {"id": {"title": "Id", "type": "string"}, "kind": {"title": "Kind", "type": "string"}, "body": {"default": "", "title": "Body", "type": "string"}, "actor": {"default": "", "title": "Actor", "type": "string"}, "channel": {"default": "", "description": "How the change was sent: agent (an AI agent token), api (any other token), ci, or blank for a change made in the app.", "title": "Channel", "type": "string"}, "token_id": {"default": "", "description": "The API token that made the change, when one did.", "title": "Token Id", "type": "string"}, "from_status": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "From Status"}, "to_status": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "To Status"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "edited_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "description": "When the body was last edited, if it was.", "title": "Edited At"}}, "required": ["id", "kind", "created_at"], "title": "AdvisoryEventSchema", "type": "object"}, "AdvisoryReferenceSchema": {"properties": {"id": {"title": "Id", "type": "string"}, "type": {"default": "", "title": "Type", "type": "string"}, "external_id": {"default": "", "title": "External Id", "type": "string"}, "url": {"default": "", "title": "Url", "type": "string"}, "summary": {"default": "", "title": "Summary", "type": "string"}, "category": {"default": "", "title": "Category", "type": "string"}}, "required": ["id"], "title": "AdvisoryReferenceSchema", "type": "object"}, "AdvisoryStatusSchema": {"description": "What one vulnerability means for one product: the row the trust center and CSAF read.", "properties": {"id": {"title": "Id", "type": "string"}, "label": {"description": "The product, and the vulnerability when the advisory has several.", "title": "Label", "type": "string"}, "product": {"title": "Product", "type": "string"}, "product_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The sbomify product, when the row names one.", "title": "Product Id"}, "vulnerability": {"title": "Vulnerability", "type": "string"}, "vulnerability_id": {"title": "Vulnerability Id", "type": "string"}, "status": {"description": "exploitable, not_affected, false_positive, in_triage or resolved.", "title": "Status", "type": "string"}, "justification": {"default": "", "title": "Justification", "type": "string"}, "response": {"default": "", "title": "Response", "type": "string"}, "impact_statement": {"default": "", "title": "Impact Statement", "type": "string"}, "action_statement": {"default": "", "title": "Action Statement", "type": "string"}, "recommended_version": {"default": "", "title": "Recommended Version", "type": "string"}, "recommended_release_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Recommended Release Id"}, "fixed_version": {"default": "", "description": "The first version carrying the fix.", "title": "Fixed Version", "type": "string"}, "fixed_release_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Fixed Release Id"}, "affected_versions": {"items": {"type": "string"}, "title": "Affected Versions", "type": "array"}}, "required": ["id", "label", "product", "vulnerability", "vulnerability_id", "status"], "title": "AdvisoryStatusSchema", "type": "object"}, "AdvisoryVulnerabilitySchema": {"properties": {"id": {"title": "Id", "type": "string"}, "cve_id": {"default": "", "title": "Cve Id", "type": "string"}, "title": {"default": "", "title": "Title", "type": "string"}, "description": {"default": "", "title": "Description", "type": "string"}, "severity": {"default": "", "title": "Severity", "type": "string"}, "cwe_ids": {"items": {"type": "string"}, "title": "Cwe Ids", "type": "array"}, "cvss_scores": {"items": {"additionalProperties": true, "type": "object"}, "title": "Cvss Scores", "type": "array"}, "exploitation_status": {"default": "", "title": "Exploitation Status", "type": "string"}, "recommendation": {"default": "", "title": "Recommendation", "type": "string"}}, "required": ["id"], "title": "AdvisoryVulnerabilitySchema", "type": "object"}, "CreateAdvisorySchema": {"properties": {"title": {"maxLength": 255, "minLength": 1, "title": "Title", "type": "string"}, "severity": {"default": "", "title": "Severity", "type": "string"}, "description": {"default": "", "title": "Description", "type": "string"}, "identifier": {"default": "", "description": "A CVE or other identifier the advisory is about.", "title": "Identifier", "type": "string"}, "remediation_status": {"default": "", "title": "Remediation Status", "type": "string"}, "cvss_score": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Cvss Score"}, "cvss_vector": {"default": "", "title": "Cvss Vector", "type": "string"}, "product_ids": {"items": {"type": "string"}, "title": "Product Ids", "type": "array"}, "affected_release_ids": {"description": "Releases of the named products that carry the vulnerability; each becomes an affected version.", "items": {"type": "string"}, "title": "Affected Release Ids", "type": "array"}}, "required": ["title"], "title": "CreateAdvisorySchema", "type": "object"}, "AdvisoryProposalChangeSchema": {"properties": {"label": {"title": "Label", "type": "string"}, "before": {"default": "", "title": "Before", "type": "string"}, "after": {"default": "", "title": "After", "type": "string"}}, "required": ["label"], "title": "AdvisoryProposalChangeSchema", "type": "object"}, "SentAdvisoryProposalSchema": {"properties": {"id": {"title": "Id", "type": "string"}, "kind": {"description": "post_update, edit_update, edit_advisory, product_status or add_product: the write it holds.", "title": "Kind", "type": "string"}, "status": {"description": "pending, approved, rejected or superseded.", "title": "Status", "type": "string"}, "summary": {"description": "The change in one line.", "title": "Summary", "type": "string"}, "note": {"default": "", "description": "The text of a new or edited update, as it was applied when approved.", "title": "Note", "type": "string"}, "changes": {"description": "Each value it changes, as it stood when sent and as proposed.", "items": {"$ref": "#/components/schemas/AdvisoryProposalChangeSchema"}, "title": "Changes", "type": "array"}, "context": {"default": "", "title": "Context", "type": "string"}, "is_stale": {"default": false, "description": "Something it changes has been changed by someone else since.", "title": "Is Stale", "type": "boolean"}, "revised": {"default": false, "description": "The reviewer reworded the text before approving it.", "title": "Revised", "type": "boolean"}, "submitted_at": {"format": "date-time", "title": "Submitted At", "type": "string"}, "decided_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Decided At"}, "decision_note": {"default": "", "description": "What the reviewer said when deciding: on a rejection, the specifics.", "title": "Decision Note", "type": "string"}, "rejection_reason": {"default": "", "description": "Set on a rejection: inaccurate, premature, wording, duplicate or other. Branch on this.", "title": "Rejection Reason", "type": "string"}, "next_step": {"default": "", "description": "Set on a rejection: what to do about it, in a sentence.", "title": "Next Step", "type": "string"}, "advisory_id": {"title": "Advisory Id", "type": "string"}}, "required": ["id", "kind", "status", "summary", "submitted_at", "advisory_id"], "title": "SentAdvisoryProposalSchema", "type": "object"}, "AdvisoryProposalSchema": {"description": "A change to a published advisory that waits for a person to approve it.", "properties": {"id": {"title": "Id", "type": "string"}, "kind": {"description": "post_update, edit_update, edit_advisory, product_status or add_product: the write it holds.", "title": "Kind", "type": "string"}, "status": {"description": "pending, approved, rejected or superseded.", "title": "Status", "type": "string"}, "summary": {"description": "The change in one line.", "title": "Summary", "type": "string"}, "note": {"default": "", "description": "The text of a new or edited update, as it was applied when approved.", "title": "Note", "type": "string"}, "changes": {"description": "Each value it changes, as it stood when sent and as proposed.", "items": {"$ref": "#/components/schemas/AdvisoryProposalChangeSchema"}, "title": "Changes", "type": "array"}, "context": {"default": "", "title": "Context", "type": "string"}, "is_stale": {"default": false, "description": "Something it changes has been changed by someone else since.", "title": "Is Stale", "type": "boolean"}, "revised": {"default": false, "description": "The reviewer reworded the text before approving it.", "title": "Revised", "type": "boolean"}, "submitted_at": {"format": "date-time", "title": "Submitted At", "type": "string"}, "decided_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Decided At"}, "decision_note": {"default": "", "description": "What the reviewer said when deciding: on a rejection, the specifics.", "title": "Decision Note", "type": "string"}, "rejection_reason": {"default": "", "description": "Set on a rejection: inaccurate, premature, wording, duplicate or other. Branch on this.", "title": "Rejection Reason", "type": "string"}, "next_step": {"default": "", "description": "Set on a rejection: what to do about it, in a sentence.", "title": "Next Step", "type": "string"}}, "required": ["id", "kind", "status", "summary", "submitted_at"], "title": "AdvisoryProposalSchema", "type": "object"}, "UpdateAdvisorySchema": {"additionalProperties": false, "description": "A partial update: a field left out keeps its stored value.\n\n``cvss_score`` and ``cvss_vector`` are one entry: sending ``cvss_score``\nas null clears both, and a vector without a score is refused. A field this\nendpoint does not write is a 422, not a 200 that stored nothing.", "properties": {"title": {"anyOf": [{"maxLength": 255, "minLength": 1, "type": "string"}, {"type": "null"}], "title": "Title"}, "severity": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Severity"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description"}, "summary": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "The one-paragraph summary the trust center leads with.", "title": "Summary"}, "cvss_score": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Cvss Score"}, "cvss_vector": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cvss Vector"}, "context": {"default": "", "description": "What you changed and why, for the person approving it. Only read when the change waits for approval: an AI agent token's write to a published advisory does, and answers 202 with the proposed change.", "title": "Context", "type": "string"}}, "title": "UpdateAdvisorySchema", "type": "object"}, "ProductStatusUpdateSchema": {"additionalProperties": false, "description": "A partial update of a product status: only the fields sent are written.\n\n``fixed_version`` or ``fixed_release_id`` records the first version carrying\nthe fix, which is what the trust center and CSAF list as fixed. Unless a\nrecommendation is sent too, it also becomes what users are told to upgrade\nto. Send an empty string or null to clear one.", "properties": {"status": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "exploitable, not_affected, false_positive, in_triage or resolved.", "title": "Status"}, "justification": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Why a not_affected product is not affected.", "title": "Justification"}, "response": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "can_not_fix, will_not_fix, update, rollback or workaround_available.", "title": "Response"}, "impact_statement": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Impact Statement"}, "action_statement": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "What users should do. Shown to readers.", "title": "Action Statement"}, "recommended_version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Recommended Version"}, "recommended_release_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A release of this product. Not the floating latest.", "title": "Recommended Release Id"}, "fixed_version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Fixed Version"}, "fixed_release_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A release of this product. Not the floating latest.", "title": "Fixed Release Id"}, "context": {"default": "", "description": "What you changed and why, for the person approving it. Only read when the change waits for approval: an AI agent token's write to a published advisory does, and answers 202 with the proposed change.", "title": "Context", "type": "string"}}, "title": "ProductStatusUpdateSchema", "type": "object"}, "AddAdvisoryProductSchema": {"additionalProperties": false, "description": "Name another product on an advisory, or more of its affected releases.\n\nThe status fields apply to the new product's rows. Without them it starts\nunder investigation, which a resolved advisory refuses.", "properties": {"status": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "exploitable, not_affected, false_positive, in_triage or resolved.", "title": "Status"}, "justification": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Why a not_affected product is not affected.", "title": "Justification"}, "response": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "can_not_fix, will_not_fix, update, rollback or workaround_available.", "title": "Response"}, "impact_statement": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Impact Statement"}, "action_statement": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "What users should do. Shown to readers.", "title": "Action Statement"}, "recommended_version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Recommended Version"}, "recommended_release_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A release of this product. Not the floating latest.", "title": "Recommended Release Id"}, "fixed_version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Fixed Version"}, "fixed_release_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "A release of this product. Not the floating latest.", "title": "Fixed Release Id"}, "context": {"default": "", "description": "What you changed and why, for the person approving it. Only read when the change waits for approval: an AI agent token's write to a published advisory does, and answers 202 with the proposed change.", "title": "Context", "type": "string"}, "product_id": {"title": "Product Id", "type": "string"}, "affected_release_ids": {"description": "Releases of this product that carry the vulnerability.", "items": {"type": "string"}, "title": "Affected Release Ids", "type": "array"}}, "required": ["product_id"], "title": "AddAdvisoryProductSchema", "type": "object"}, "AdvisoryUpdateSchema": {"description": "One timeline entry: a note, or a remediation status move with commentary.", "properties": {"kind": {"description": "'update' for a note that moves nothing, or a remediation status: identified, investigating, fix_in_progress, resolved, wont_fix.", "title": "Kind", "type": "string"}, "note": {"default": "", "description": "Markdown. Headings, lists, bold, italic, code spans and http(s) or mailto links are rendered; raw HTML is shown as text.", "title": "Note", "type": "string"}, "context": {"default": "", "description": "What you changed and why, for the person approving it. Only read when the change waits for approval: an AI agent token's write to a published advisory does, and answers 202 with the proposed change.", "title": "Context", "type": "string"}}, "required": ["kind"], "title": "AdvisoryUpdateSchema", "type": "object"}, "EditAdvisoryUpdateSchema": {"description": "A new body for an update already on the timeline.\n\nThe original text stays on record: the timeline is append-only, so the\nedit is recorded alongside it and every reader shows the newest text.", "properties": {"note": {"description": "The update's new text, in Markdown.", "minLength": 1, "title": "Note", "type": "string"}, "context": {"default": "", "description": "What you changed and why, for the person approving it. Only read when the change waits for approval: an AI agent token's write to a published advisory does, and answers 202 with the proposed change.", "title": "Context", "type": "string"}}, "required": ["note"], "title": "EditAdvisoryUpdateSchema", "type": "object"}, "ProposalDecisionSchema": {"properties": {"note": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Approving only: the text to post instead of the proposed one, for an update.", "title": "Note"}, "reason": {"default": "", "description": "Rejecting only, and required: inaccurate, premature, wording, duplicate or other. The sender reads it back with a next step.", "title": "Reason", "type": "string"}, "decision_note": {"default": "", "description": "Why, for whoever sent the change. Required when rejecting: say what was wrong.", "title": "Decision Note", "type": "string"}}, "title": "ProposalDecisionSchema", "type": "object"}, "PublishAdvisorySchema": {"description": "Publication moves both axes at once: a draft nobody can read becomes a\npublished advisory with the visibility asked for here.", "properties": {"visibility": {"description": "The visibility to disclose at.", "title": "Visibility", "type": "string"}}, "required": ["visibility"], "title": "PublishAdvisorySchema", "type": "object"}, "WithdrawAdvisorySchema": {"properties": {"reason": {"description": "Why the advisory is withdrawn. Shown to readers.", "minLength": 1, "title": "Reason", "type": "string"}}, "required": ["reason"], "title": "WithdrawAdvisorySchema", "type": "object"}, "PublicAdvisoryListSchema": {"properties": {"items": {"items": {"$ref": "#/components/schemas/PublicAdvisorySchema"}, "title": "Items", "type": "array"}, "pagination": {"$ref": "#/components/schemas/PaginationMeta"}, "hidden_count": {"default": 0, "description": "Advisories this reader may not see. Signing in may change it.", "title": "Hidden Count", "type": "integer"}, "viewer_is_authenticated": {"default": false, "title": "Viewer Is Authenticated", "type": "boolean"}, "viewer_has_gated_grant": {"default": false, "title": "Viewer Has Gated Grant", "type": "boolean"}}, "required": ["items", "pagination"], "title": "PublicAdvisoryListSchema", "type": "object"}, "PublicAdvisoryProductSchema": {"description": "A product the reader is allowed to see named.", "properties": {"id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Id"}, "name": {"title": "Name", "type": "string"}}, "required": ["name"], "title": "PublicAdvisoryProductSchema", "type": "object"}, "PublicAdvisorySchema": {"properties": {"id": {"title": "Id", "type": "string"}, "tracking_id": {"default": "", "title": "Tracking Id", "type": "string"}, "title": {"title": "Title", "type": "string"}, "summary": {"default": "", "title": "Summary", "type": "string"}, "severity": {"default": "", "title": "Severity", "type": "string"}, "cvss_score": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Cvss Score"}, "status": {"description": "Publication state: published or withdrawn.", "title": "Status", "type": "string"}, "remediation_status": {"title": "Remediation Status", "type": "string"}, "is_open": {"title": "Is Open", "type": "boolean"}, "visibility": {"title": "Visibility", "type": "string"}, "is_withdrawn": {"default": false, "title": "Is Withdrawn", "type": "boolean"}, "withdrawal_reason": {"default": "", "title": "Withdrawal Reason", "type": "string"}, "products": {"items": {"$ref": "#/components/schemas/PublicAdvisoryProductSchema"}, "title": "Products", "type": "array"}, "withheld_product_count": {"default": 0, "description": "Products the advisory names that this reader may not see.", "title": "Withheld Product Count", "type": "integer"}, "vulnerability_count": {"default": 0, "title": "Vulnerability Count", "type": "integer"}, "cve_ids": {"items": {"type": "string"}, "title": "Cve Ids", "type": "array"}, "published_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Published At"}, "updated_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Updated At"}}, "required": ["id", "title", "status", "remediation_status", "is_open", "visibility"], "title": "PublicAdvisorySchema", "type": "object"}, "PublicAdvisoryDetailSchema": {"properties": {"id": {"title": "Id", "type": "string"}, "tracking_id": {"default": "", "title": "Tracking Id", "type": "string"}, "title": {"title": "Title", "type": "string"}, "summary": {"default": "", "title": "Summary", "type": "string"}, "severity": {"default": "", "title": "Severity", "type": "string"}, "cvss_score": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Cvss Score"}, "status": {"description": "Publication state: published or withdrawn.", "title": "Status", "type": "string"}, "remediation_status": {"title": "Remediation Status", "type": "string"}, "is_open": {"title": "Is Open", "type": "boolean"}, "visibility": {"title": "Visibility", "type": "string"}, "is_withdrawn": {"default": false, "title": "Is Withdrawn", "type": "boolean"}, "withdrawal_reason": {"default": "", "title": "Withdrawal Reason", "type": "string"}, "products": {"items": {"$ref": "#/components/schemas/PublicAdvisoryProductSchema"}, "title": "Products", "type": "array"}, "withheld_product_count": {"default": 0, "description": "Products the advisory names that this reader may not see.", "title": "Withheld Product Count", "type": "integer"}, "vulnerability_count": {"default": 0, "title": "Vulnerability Count", "type": "integer"}, "cve_ids": {"items": {"type": "string"}, "title": "Cve Ids", "type": "array"}, "published_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Published At"}, "updated_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Updated At"}, "description": {"default": "", "title": "Description", "type": "string"}, "vulnerabilities": {"items": {"$ref": "#/components/schemas/AdvisoryVulnerabilitySchema"}, "title": "Vulnerabilities", "type": "array"}, "references": {"items": {"$ref": "#/components/schemas/AdvisoryReferenceSchema"}, "title": "References", "type": "array"}, "statuses": {"items": {"$ref": "#/components/schemas/PublicAdvisoryStatusSchema"}, "title": "Statuses", "type": "array"}, "timeline": {"items": {"$ref": "#/components/schemas/PublicAdvisoryEventSchema"}, "title": "Timeline", "type": "array"}, "acknowledgments": {"items": {"additionalProperties": true, "type": "object"}, "title": "Acknowledgments", "type": "array"}}, "required": ["id", "title", "status", "remediation_status", "is_open", "visibility"], "title": "PublicAdvisoryDetailSchema", "type": "object"}, "PublicAdvisoryEventSchema": {"properties": {"id": {"title": "Id", "type": "string"}, "kind": {"title": "Kind", "type": "string"}, "note": {"default": "", "title": "Note", "type": "string"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}}, "required": ["id", "kind", "created_at"], "title": "PublicAdvisoryEventSchema", "type": "object"}, "PublicAdvisoryStatusSchema": {"description": "What one vulnerability means for one product, as a reader may see it.", "properties": {"id": {"title": "Id", "type": "string"}, "vulnerability": {"title": "Vulnerability", "type": "string"}, "product": {"title": "Product", "type": "string"}, "product_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Product Id"}, "status": {"title": "Status", "type": "string"}, "justification": {"default": "", "title": "Justification", "type": "string"}, "impact_statement": {"default": "", "title": "Impact Statement", "type": "string"}, "action_statement": {"default": "", "title": "Action Statement", "type": "string"}, "response": {"default": "", "title": "Response", "type": "string"}, "recommended_version": {"default": "", "title": "Recommended Version", "type": "string"}, "affected": {"default": "", "description": "Affected versions as a comparison, e.g. '>= 1.0, < 1.4.3'. Empty when no versions were recorded, or when status says the product is not affected at all.", "title": "Affected", "type": "string"}, "unaffected": {"default": "", "description": "Versions that are not affected, e.g. '>= 1.4.3'. Empty on the same terms.", "title": "Unaffected", "type": "string"}, "version_ranges": {"items": {"type": "string"}, "title": "Version Ranges", "type": "array"}}, "required": ["id", "vulnerability", "product", "status"], "title": "PublicAdvisoryStatusSchema", "type": "object"}, "ExchangeResponse": {"properties": {"access_token": {"title": "Access Token", "type": "string"}, "expires_in": {"title": "Expires In", "type": "integer"}, "component_id": {"title": "Component Id", "type": "string"}, "token_type": {"default": "Bearer", "title": "Token Type", "type": "string"}}, "required": ["access_token", "expires_in", "component_id"], "title": "ExchangeResponse", "type": "object"}, "ExchangeRequest": {"properties": {"component_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Component Id"}}, "title": "ExchangeRequest", "type": "object"}, "BindingResponse": {"properties": {"id": {"title": "Id", "type": "string"}, "component_id": {"title": "Component Id", "type": "string"}, "provider": {"title": "Provider", "type": "string"}, "repository": {"title": "Repository", "type": "string"}, "repository_id": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Repository Id"}, "repository_owner_id": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Repository Owner Id"}, "created_at": {"format": "date-time", "title": "Created At", "type": "string"}, "last_used_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Last Used At"}}, "required": ["id", "component_id", "provider", "repository", "created_at"], "title": "BindingResponse", "type": "object"}, "BindingCreateRequest": {"properties": {"component_id": {"title": "Component Id", "type": "string"}, "repository": {"title": "Repository", "type": "string"}, "provider": {"default": "github", "title": "Provider", "type": "string"}}, "required": ["component_id", "repository"], "title": "BindingCreateRequest", "type": "object"}}, "securitySchemes": {"PersonalAccessTokenAuth": {"type": "http", "scheme": "bearer"}, "SessionAuth": {"type": "apiKey", "in": "cookie", "name": "sessionid"}}}, "servers": [], "tags": [{"name": "SBOMs", "description": "Manage Software Bill of Materials with upload, validation, and security analysis. SBOMs are automatically scanned for vulnerabilities and compliance."}, {"name": "Documents", "description": "Upload and manage document artifacts like security advisories, compliance reports, and technical documentation associated with your components."}, {"name": "Components", "description": "Organize and manage software components that contain SBOMs and documents. Components provide logical grouping and access control."}, {"name": "Products", "description": "Structure your software inventory with products that group components and are organized by releases."}, {"name": "Releases", "description": "Tag and manage product releases with downloadable artifacts and version tracking. Create public or private releases with secure access controls."}, {"name": "Access Tokens", "description": "Manage API authentication tokens for programmatic access to sbomify. Create and revoke personal access tokens for secure API integration."}, {"name": "Workspaces", "description": "Manage workspace settings, members, branding, and collaboration features. Control access and permissions across your organization."}, {"name": "Billing", "description": "Manage subscription plans, usage tracking, and billing operations. View current plan limits and upgrade options."}, {"name": "Notifications", "description": "Retrieve system notifications, alerts, and updates relevant to the current user and workspace."}, {"name": "Vulnerability Scanning", "description": "Configure and manage vulnerability scanning providers including OSV and Dependency Track. View scanning statistics and configure workspace preferences."}, {"name": "Licensing", "description": "List licenses and validate license expressions."}, {"name": "Internal", "description": "Internal endpoints for infrastructure integration. These endpoints are restricted from external access at the proxy level."}]}