{"openapi":"3.1.2","info":{"title":"Enclave Container Security","version":"1.0.0"},"servers":[{"url":"{full_url}","description":"Custom Server URL","variables":{"full_url":{"description":"Enter your full base server URL.","default":"your-server-url"}}}],"tags":[{"name":"Exports","x-displayName":"Exports"},{"name":"Global Settings","x-displayName":"Global Settings"},{"name":"Images","x-displayName":"Images"},{"name":"Layers","x-displayName":"Layers"},{"name":"Packages","x-displayName":"Packages"},{"name":"Queries","x-displayName":"Queries"},{"name":"Scanners","x-displayName":"Scanners"},{"name":"Scans","x-displayName":"Scans"},{"name":"Vulnerabilities","x-displayName":"Vulnerabilities"}],"paths":{"/public/consec/api/v1/exports/images/layers":{"post":{"x-public":true,"summary":"Export image layers","description":"Exports layers associated with the specified image or images.<div class=\"perms-callout\">Requires the `permConSecExportData` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-export-image-layers","tags":["Exports"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exports_ExportImageLayersRequest"}}},"required":true},"responses":{"200":{"description":"Returned if the export request was processed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exports_ExportImageLayersResponse"}}}},"400":{"$ref":"#/components/responses/Exports_Error400"},"401":{"$ref":"#/components/responses/Exports_Error401"}},"security":[{"Exports_ApiKeyAuth":[]}]}},"/public/consec/api/v1/exports/images/packages":{"post":{"x-public":true,"summary":"Export image packages","description":"Exports packages associated with the specified image or images.<div class=\"perms-callout\">Requires the `permConSecExportData` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-export-image-packages","tags":["Exports"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exports_ExportImagePackagesRequest"}}},"required":true},"responses":{"200":{"description":"Returned if the export request was processed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exports_ExportImagePackagesResponse"}}}},"400":{"$ref":"#/components/responses/Exports_Error400"},"401":{"$ref":"#/components/responses/Exports_Error401"}},"security":[{"Exports_ApiKeyAuth":[]}]}},"/public/consec/api/v1/exports/images/vulns":{"post":{"x-public":true,"summary":"Export image vulnerabilities","description":"Exports vulnerabilities associated with the specified image or images.<div class=\"perms-callout\">Requires the `permConSecExportData` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-export-image-vulns","tags":["Exports"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exports_ExportImageVulnsRequest"}}},"required":true},"responses":{"200":{"description":"Returned if the export request was processed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exports_ExportImageVulnsResponse"}}}},"400":{"$ref":"#/components/responses/Exports_Error400"},"401":{"$ref":"#/components/responses/Exports_Error401"}},"security":[{"Exports_ApiKeyAuth":[]}]}},"/public/consec/api/v1/exports/vulns/images":{"post":{"x-public":true,"summary":"Export vulnerability images","description":"Exports images associated with the specified vulnerability.<div class=\"perms-callout\">Requires the `permConSecExportData` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-export-vuln-images","tags":["Exports"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exports_ExportVulnsImagesRequest"}}},"required":true},"responses":{"200":{"description":"Returned if the export request was processed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exports_ExportVulnsImagesResponse"}}}},"400":{"$ref":"#/components/responses/Exports_Error400"},"401":{"$ref":"#/components/responses/Exports_Error401"}},"security":[{"Exports_ApiKeyAuth":[]}]}},"/public/consec/api/v1/exports/vulns/layers":{"post":{"x-public":true,"summary":"Export vulnerability layers","description":"Exports layers associated with the specified vulnerability.<div class=\"perms-callout\">Requires the `permConSecExportData` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-export-vuln-layers","tags":["Exports"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exports_ExportVulnsLayersRequest"}}},"required":true},"responses":{"200":{"description":"Returned if the export request was processed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exports_ExportVulnsLayersResponse"}}}},"400":{"$ref":"#/components/responses/Exports_Error400"},"401":{"$ref":"#/components/responses/Exports_Error401"}},"security":[{"Exports_ApiKeyAuth":[]}]}},"/public/consec/api/v1/exports/vulns/packages":{"post":{"x-public":true,"summary":"Export vulnerability packages","description":"Exports packages associated with the specified vulnerability.<div class=\"perms-callout\">Requires the `permConSecExportData` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-export-vuln-packages","tags":["Exports"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exports_ExportVulnsPackagesRequest"}}},"required":true},"responses":{"200":{"description":"Returned if the export request was processed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exports_ExportVulnsPackagesResponse"}}}},"400":{"$ref":"#/components/responses/Exports_Error400"},"401":{"$ref":"#/components/responses/Exports_Error401"}},"security":[{"Exports_ApiKeyAuth":[]}]}},"/public/consec/api/v1/global-settings/asset-age-out":{"get":{"x-public":true,"summary":"Get asset age-out settings","description":"Retrieves the current asset age-out settings.<div class=\"perms-callout\">Requires the `permConSecScheduleScan` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-global-settings-asset-age-out-info","tags":["Global Settings"],"responses":{"200":{"description":"Returned if the asset age-out settings were retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Global_Settings_Response-Get-Asset-Age-Out-Settings"}}}},"401":{"$ref":"#/components/responses/Global_Settings_Error401"},"404":{"$ref":"#/components/responses/Global_Settings_Error404"},"500":{"$ref":"#/components/responses/Global_Settings_Error500"}},"security":[{"Global_Settings_ApiKeyAuth":[]}]},"patch":{"x-public":true,"summary":"Update asset age-out settings","description":"Updates the asset age-out settings.<div class=\"perms-callout\">Requires the `permConSecScheduleScan` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-global-settings-asset-age-out-update","tags":["Global Settings"],"parameters":[{"name":"run","in":"query","description":"Specifies whether to run the age-out process immediately after updating the settings.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Global_Settings_Request-Get-Asset-Age-Out-Settings"}}},"required":true},"responses":{"200":{"description":"Returned if the asset age-out settings were updated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Global_Settings_Response-Get-Asset-Age-Out-Settings"}}}},"400":{"$ref":"#/components/responses/Global_Settings_Error400"},"401":{"$ref":"#/components/responses/Global_Settings_Error401"},"404":{"$ref":"#/components/responses/Global_Settings_Error404"},"500":{"$ref":"#/components/responses/Global_Settings_Error500"}},"security":[{"Global_Settings_ApiKeyAuth":[]}]}},"/public/consec/api/v1/images/search":{"post":{"x-public":true,"summary":"Search for images","operationId":"tes-images-search","tags":["Images"],"description":"Retrieves a list of images that match the specified search filter criteria.<div class=\"perms-callout\">Requires the `permConSecViewApp` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Images_SearchRequest"}}}},"responses":{"200":{"description":"Returned if the list of images was retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Images_SearchResponse"}}}},"400":{"$ref":"#/components/responses/Images_Error400"},"401":{"$ref":"#/components/responses/Images_Error401"},"403":{"description":"Returned if you do not have permission to perform this operation."},"429":{"$ref":"#/components/responses/Images_Error429"}},"security":[{"Images_ApiKeyAuth":[]}]}},"/public/consec/api/v1/images/search/count":{"post":{"x-public":true,"summary":"Count images matching criteria","operationId":"tes-images-count","tags":["Images"],"description":"Retrieves the total count of images that match the specified search filter criteria.<div class=\"perms-callout\">Requires the `permConSecViewApp` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Images_SearchRequest"}}}},"responses":{"200":{"description":"Returned if the count of images was retrieved successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number","description":"The total number of images matching the search criteria."}}}}}},"400":{"$ref":"#/components/responses/Images_Error400"},"401":{"$ref":"#/components/responses/Images_Error401"},"403":{"description":"Returned if you do not have permission to perform this operation."},"429":{"description":"Returned if you attempt to send too many requests in a specific period of time. For more information, see [Rate Limiting](doc:rate-limiting)."}},"security":[{"Images_ApiKeyAuth":[]}]}},"/public/consec/api/v1/source-tree":{"get":{"x-public":true,"summary":"List registries and pipelines","description":"Retrieves a list of image registries and pipelines with category information.<div class=\"perms-callout\">Requires the `permConSecViewApp` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-images-source-tree-list","tags":["Images"],"parameters":[{"name":"grid","in":"query","required":true,"description":"Specifies the grid value to filter results.","schema":{"type":"string","enum":["images","packages","layers","vulns"]}}],"responses":{"200":{"description":"Returned if the list of registries and pipelines was retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Images_Response-List-Registries-and-Pipelines"}}}},"400":{"$ref":"#/components/responses/Images_Error400"},"401":{"$ref":"#/components/responses/Images_Error401"}},"security":[{"Images_ApiKeyAuth":[]}]}},"/public/consec/api/v1/images/tags":{"get":{"x-public":true,"summary":"List image tags","description":"Retrieves a list of image tags from the registry.<div class=\"perms-callout\">Requires the `permConSecViewApp` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-images-tags-list","tags":["Images"],"responses":{"200":{"description":"Returned if the list of image tags was retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Images_TagsResponse"}}}},"401":{"$ref":"#/components/responses/Images_Error401"}},"security":[{"Images_ApiKeyAuth":[]}]}},"/public/consec/api/v1/images/delete":{"post":{"x-public":true,"summary":"Delete images","operationId":"tes-images-delete","tags":["Images"],"description":"Deletes a list of images based on their internal asset identifiers.<div class=\"perms-callout\">Requires the `permConSecManageScanners` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","requestBody":{"required":true,"content":{"application/json":{"schema":{"description":"Specifies the list of asset identifiers for images to delete.","type":"object","properties":{"asset_ids":{"type":"array","description":"Specifies an array of unique identifiers (UUIDs) for the assets to delete.","items":{"type":"string","format":"uuid"}}},"required":["asset_ids"]}}}},"responses":{"202":{"description":"Returned if the system accepted the images for deletion processing.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"A message indicating the status of the deletion request."}}}}}},"400":{"$ref":"#/components/responses/Images_Error400"},"401":{"$ref":"#/components/responses/Images_Error401"}},"security":[{"Images_ApiKeyAuth":[]}]}},"/public/consec/api/v1/exports/sbom":{"post":{"summary":"Download SBOM report","description":"Retrieves a Software Bill of Materials (SBOM) report for the specified images.<div class=\"perms-callout\">Requires the `permConSecManageScanners` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","x-public":true,"operationId":"tes-exports-sbom-download","tags":["Images"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Images_SBOMExportDownloadRequest"}}}},"responses":{"200":{"description":"Returned if the SBOM report was generated successfully.","headers":{"Content-Disposition":{"description":"Indicates that the response should be downloaded as an attachment.","schema":{"type":"string","example":"attachment; filename=\"export.csv\""}}},"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/Images_Error400"},"401":{"$ref":"#/components/responses/Images_Error401"},"404":{"$ref":"#/components/responses/Images_Error404"},"500":{"$ref":"#/components/responses/Images_Error500"},"default":{"$ref":"#/components/responses/Images_Error500"}},"security":[{"Images_ApiKeyAuth":[]}]}},"/public/consec/api/v1/layers/search":{"post":{"x-public":true,"summary":"Search layers","operationId":"tes-layers-search","tags":["Layers"],"description":"Retrieves a list of layers that satisfy the search filters in the request.<div class=\"perms-callout\">Requires the `permConSecViewApp` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Layers_SearchRequest"}}}},"responses":{"200":{"description":"Returned if the layers were retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Layers_SearchResponse"}}}},"400":{"$ref":"#/components/responses/Layers_Error400"},"401":{"$ref":"#/components/responses/Layers_Error401"},"403":{"description":"Returned if you do not have permission to search layers."},"429":{"description":"Returned if you attempt to send too many requests in a specific period of time. For more information, see [Rate Limiting](doc:rate-limiting)."}},"security":[{"Layers_ApiKeyAuth":[]}]}},"/public/consec/api/v1/layers/search/count":{"post":{"x-public":true,"summary":"Count layers","operationId":"tes-layers-count","tags":["Layers"],"description":"Retrieves the total number of layers that satisfy the search filters in the request.<div class=\"perms-callout\">Requires the `permConSecViewApp` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Layers_SearchRequest"}}}},"responses":{"200":{"description":"Returned if the layer count was retrieved successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number","description":"The total number of layers matching the search criteria."}}}}}},"400":{"$ref":"#/components/responses/Layers_Error400"},"401":{"$ref":"#/components/responses/Layers_Error401"},"403":{"description":"Returned if you do not have permission to count layers."},"429":{"description":"Returned if you attempt to send too many requests in a specific period of time. For more information, see [Rate Limiting](doc:rate-limiting)."}},"security":[{"Layers_ApiKeyAuth":[]}]}},"/public/consec/api/v1/packages/search":{"post":{"x-public":true,"summary":"Search packages","operationId":"tes-packages-search","tags":["Packages"],"description":"Retrieves a list of packages that satisfy the search filters in the request.<div class=\"perms-callout\">Requires the `permConSecViewApp` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Packages_SearchRequest"}}}},"responses":{"200":{"description":"Returned if the packages were retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Packages_SearchResponse"}}}},"400":{"$ref":"#/components/responses/Packages_Error400"},"401":{"$ref":"#/components/responses/Packages_Error401"},"403":{"description":"Returned if you do not have permission to search packages."},"429":{"description":"Returned if you attempt to send too many requests in a specific period of time. For more information, see [Rate Limiting](doc:rate-limiting)."}},"security":[{"Packages_ApiKeyAuth":[]}]}},"/public/consec/api/v1/packages/search/count":{"post":{"x-public":true,"summary":"Count packages","operationId":"tes-packages-count","tags":["Packages"],"description":"Retrieves the total number of packages that satisfy the search filters in the request.<div class=\"perms-callout\">Requires the `permConSecViewApp` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Packages_SearchRequest"}}}},"responses":{"200":{"description":"Returned if the package count was retrieved successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number","description":"The total number of packages."}}}}}},"400":{"$ref":"#/components/responses/Packages_Error400"},"401":{"$ref":"#/components/responses/Packages_Error401"},"403":{"description":"Returned if you do not have permission to count packages."},"429":{"description":"Returned if you attempt to send too many requests in a specific period of time. For more information, see [Rate Limiting](doc:rate-limiting)."}},"security":[{"Packages_ApiKeyAuth":[]}]}},"/public/consec/api/v1/query/types":{"get":{"x-public":true,"summary":"List query types","description":"Retrieves the available query types for assets such as images, layers, and packages. The system returns supported operations for each query filter field in asset search operations.<div class=\"perms-callout\">Requires the `permConSecViewApp` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-query-types-list","tags":["Queries"],"responses":{"200":{"description":"Returned if the list of query types was retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Queries_QueryTypeResponse"}}}},"401":{"$ref":"#/components/responses/Queries_Error401"}},"security":[{"Queries_ApiKeyAuth":[]}]}},"/public/consec/api/v1/query/types/{typeName}":{"get":{"x-public":true,"summary":"Get query type operations","description":"Retrieves the available fields for a specified query type (such as images search) and the corresponding operations that can be executed on each field.<div class=\"perms-callout\">Requires the `permConSecViewApp` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-query-type-fields-operations","tags":["Queries"],"parameters":[{"name":"typeName","in":"path","required":true,"description":"Specifies the name of the query type to retrieve field operations for.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the query type field operations were retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Queries_TypeDetail"}}}},"400":{"$ref":"#/components/responses/Queries_Error400"},"401":{"$ref":"#/components/responses/Queries_Error401"}},"security":[{"Queries_ApiKeyAuth":[]}]}},"/public/consec/api/v1/scanners":{"post":{"x-public":true,"description":"Creates a scanner for scanning a registry. A scanner can be a deployment or a `consec` scanner.<div class=\"perms-callout\">Requires the `permConSecManageScanners` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","summary":"Create scanner","operationId":"tes-scanners-create","tags":["Scanners"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scanners_CreateScannerRequest"}}},"required":true},"responses":{"200":{"description":"Returned if the scanner was created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scanners_UpsertScannerResponse"}}}},"400":{"description":"Returned if your request specified invalid parameters or if your request was improperly formatted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scanners_ServiceFailure"}}}},"401":{"$ref":"#/components/responses/Scanners_Error401"},"500":{"description":"Returned if the system encounters an error while creating the scanner.","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"Scanners_ApiKeyAuth":[]}]}},"/public/consec/api/v1/scanners/search":{"post":{"x-public":true,"summary":"Search scanners","description":"Retrieves a list of scanners based on the provided search filter.<div class=\"perms-callout\">Requires the `permConSecViewApp` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-scanners-search","tags":["Scanners"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scanners_SearchRequest"}}}},"responses":{"200":{"description":"Returned if the scanners were retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scanners_SearchResponse"}}}},"400":{"$ref":"#/components/responses/Scanners_Error400"},"401":{"$ref":"#/components/responses/Scanners_Error401"},"403":{"description":"Returned if you do not have permission to search scanners."},"429":{"description":"Returned if you attempt to send too many requests in a specific period of time. For more information, see [Rate Limiting](doc:rate-limiting)."}},"security":[{"Scanners_ApiKeyAuth":[]}]}},"/public/consec/api/v1/scanners/{scanner_id}":{"patch":{"x-public":true,"summary":"Update scanner","description":"Updates scanner information.<div class=\"perms-callout\">Requires the `permConSecManageScanners` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-scanners-update","tags":["Scanners"],"parameters":[{"name":"scanner_id","in":"path","description":"Specifies the unique identifier (UUID) of the scanner.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scanners_UpdateScannerRequest"}}},"required":true},"responses":{"200":{"description":"Returned if the scanner was updated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scanners_UpsertScannerResponse"}}}},"400":{"$ref":"#/components/responses/Scanners_Error400"},"401":{"$ref":"#/components/responses/Scanners_Error401"},"500":{"description":"Returned if the system encounters an error while updating the scanner.","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"Scanners_ApiKeyAuth":[]}]},"delete":{"x-public":true,"summary":"Delete scanner","description":"Deletes a scanner. Deleted scanners can no longer be run.<div class=\"perms-callout\">Requires the `permConSecManageScanners` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-scanners-delete","tags":["Scanners"],"parameters":[{"name":"scanner_id","in":"path","description":"Specifies the unique identifier (UUID) of the scanner.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the scanner was deleted successfully."},"400":{"$ref":"#/components/responses/Scanners_Error400"},"401":{"$ref":"#/components/responses/Scanners_Error401"},"500":{"description":"Returned if the system encounters an error while deleting the scanner.","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"Scanners_ApiKeyAuth":[]}]}},"/public/consec/api/v1/scanners/{scanner_id}/download":{"get":{"x-public":true,"summary":"Download scanner","description":"Downloads the scanner binary (for `consec` scanner) or cluster configuration (for deployment scanner) for the requested `scanner_id`.<div class=\"perms-callout\">Requires the `permConSecManageScanners` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-scanners-download","tags":["Scanners"],"parameters":[{"name":"scanner_id","in":"path","description":"Specifies the unique identifier (UUID) of the scanner.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the scanner was downloaded successfully.","content":{"application/octet-stream":{"schema":{"format":"binary","type":"string"}}}},"400":{"$ref":"#/components/responses/Scanners_Error400"},"401":{"$ref":"#/components/responses/Scanners_Error401"}},"security":[{"Scanners_ApiKeyAuth":[]}]}},"/public/consec/api/v1/scanJobs/{scanner_id}":{"get":{"x-public":true,"summary":"List scanner jobs","description":"Retrieves the list of running scans for the given scanner `id`.<div class=\"perms-callout\">Requires the `permConSecScheduleScan` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-scanners-jobs-list","tags":["Scanners"],"parameters":[{"name":"scanner_id","in":"path","description":"Specifies the unique identifier (UUID) of the scanner.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the scanner jobs were retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scanners_ListScanJobId"}}}},"400":{"$ref":"#/components/responses/Scanners_Error400"},"401":{"$ref":"#/components/responses/Scanners_Error401"},"500":{"description":"Returned if the system encounters an error while retrieving scanner jobs.","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"Scanners_ApiKeyAuth":[]}]}},"/public/consec/api/v1/scans":{"post":{"x-public":true,"summary":"Create scan","description":"Creates a scan with the request schema.<div class=\"perms-callout\">Requires the `permConSecScheduleScan` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-scans-create","tags":["Scans"],"parameters":[{"name":"run","in":"query","description":"Specifies whether to run the scan immediately after creation.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scans_UpsertScanConfigurationRequest"}}},"required":true},"responses":{"200":{"description":"Returned if the scan was created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scans_Unit"}}}},"400":{"description":"Returned if your request specified invalid parameters or if your request was improperly formatted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scans_ServiceFailure"}}}},"401":{"$ref":"#/components/responses/Scans_Error401"},"500":{"description":"Returned if the system encounters an error while creating the scan.","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"Scans_ApiKeyAuth":[]}]}},"/public/consec/api/v1/scans/search":{"post":{"x-public":true,"summary":"Search scans","description":"Retrieves a list of scans that meet the search criteria.<div class=\"perms-callout\">Requires the `permConSecViewApp` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-scans-search","tags":["Scans"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scans_SearchRequest"}}}},"responses":{"200":{"description":"Returned if the scans were retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scans_SearchResponse"}}}},"400":{"$ref":"#/components/responses/Scans_Error400"},"401":{"$ref":"#/components/responses/Scans_Error401"},"403":{"description":"Returned if you do not have permission to search scans."},"429":{"description":"Returned if you attempt to send too many requests in a specific period of time. For more information, see [Rate Limiting](doc:rate-limiting)."}},"security":[{"Scans_ApiKeyAuth":[]}]}},"/public/consec/api/v1/scans/{id}":{"get":{"x-public":true,"summary":"Get scan details","description":"Retrieves details for a single scan.<div class=\"perms-callout\">Requires the `permConSecScheduleScan` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-scans-details","tags":["Scans"],"parameters":[{"name":"id","in":"path","description":"Specifies the unique identifier (UUID) of the scan.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the scan was retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scans_ScanConfigurationResponse"}}}},"400":{"$ref":"#/components/responses/Scans_Error400"},"401":{"$ref":"#/components/responses/Scans_Error401"},"404":{"$ref":"#/components/responses/Scans_Error404"},"500":{"$ref":"#/components/responses/Scans_Error500"}},"security":[{"Scans_ApiKeyAuth":[]}]},"put":{"x-public":true,"summary":"Update scan","description":"Updates scan details.<div class=\"perms-callout\">Requires the `permConSecScheduleScan` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-scans-update","tags":["Scans"],"parameters":[{"name":"id","in":"path","description":"Specifies the unique identifier (UUID) of the scan.","required":true,"schema":{"type":"string"}},{"name":"run","in":"query","description":"Specifies whether to run the scan immediately after updating.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scans_UpsertScanConfigurationRequest"}}},"required":true},"responses":{"200":{"description":"Returned if the scan was updated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scans_Unit"}}}},"400":{"description":"Returned if your request specified invalid parameters or if your request was improperly formatted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scans_ServiceFailure"}}}},"401":{"$ref":"#/components/responses/Scans_Error401"},"500":{"$ref":"#/components/responses/Scans_Error500"}},"security":[{"Scans_ApiKeyAuth":[]}]},"delete":{"x-public":true,"summary":"Delete scan","description":"Deletes a scan configuration.<div class=\"perms-callout\">Requires the `permConSecScheduleScan` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-scans-delete","tags":["Scans"],"parameters":[{"name":"id","in":"path","description":"Specifies the unique identifier (UUID) of the scan.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the scan was deleted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scans_Unit"}}}},"400":{"$ref":"#/components/responses/Scans_Error400"},"401":{"$ref":"#/components/responses/Scans_Error401"},"404":{"$ref":"#/components/responses/Scans_Error404"},"500":{"$ref":"#/components/responses/Scans_Error500"}},"security":[{"Scans_ApiKeyAuth":[]}]}},"/public/consec/api/v1/scans/{id}/run":{"put":{"x-public":true,"summary":"Run scan","description":"Initiates a scan to be executed immediately.<div class=\"perms-callout\">Requires the `permConSecScheduleScan` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-scans-run","tags":["Scans"],"parameters":[{"name":"id","in":"path","description":"Specifies the unique identifier (UUID) of the scan.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the scan was initiated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scans_Unit"}}}},"400":{"$ref":"#/components/responses/Scans_Error400"},"401":{"$ref":"#/components/responses/Scans_Error401"},"404":{"$ref":"#/components/responses/Scans_Error404"},"500":{"$ref":"#/components/responses/Scans_Error500"}},"security":[{"Scans_ApiKeyAuth":[]}]}},"/public/consec/api/v1/scans/{id}/stop":{"put":{"x-public":true,"summary":"Stop scan","description":"Stops a running scan.<div class=\"perms-callout\">Requires the `permConSecScheduleScan` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-scans-stop","tags":["Scans"],"parameters":[{"name":"id","in":"path","description":"Specifies the unique identifier (UUID) of the scan.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the scan was stopped successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scans_Unit"}}}},"400":{"$ref":"#/components/responses/Scans_Error400"},"401":{"$ref":"#/components/responses/Scans_Error401"},"404":{"$ref":"#/components/responses/Scans_Error404"},"500":{"$ref":"#/components/responses/Scans_Error500"}},"security":[{"Scans_ApiKeyAuth":[]}]}},"/public/consec/api/v1/vulns/search":{"post":{"x-public":true,"summary":"Search vulnerabilities","description":"Retrieves a list of vulnerabilities that meet the search criteria.<div class=\"perms-callout\">Requires the `permConSecViewApp` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-vulns-search","tags":["Vulnerabilities"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vulnerabilities_SearchRequest"}}}},"responses":{"200":{"description":"Returned if the vulnerabilities were retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vulnerabilities_SearchResponse"}}}},"400":{"$ref":"#/components/responses/Vulnerabilities_Error400"},"401":{"$ref":"#/components/responses/Vulnerabilities_Error401"},"403":{"description":"Returned if you do not have permission to search vulnerabilities."},"429":{"description":"Returned if you attempt to send too many requests in a specific period of time. For more information, see [Rate Limiting](doc:rate-limiting)."}},"security":[{"Vulnerabilities_ApiKeyAuth":[]}]}},"/public/consec/api/v1/vulns/search/count":{"post":{"x-public":true,"summary":"Count vulnerabilities","description":"Retrieves the total number of vulnerabilities that match the search filter.<div class=\"perms-callout\">Requires the `permConSecViewApp` Container Security permission. See [Roles](doc:roles) and [Permissions](doc:permissions).</div>","operationId":"tes-vulns-count","tags":["Vulnerabilities"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vulnerabilities_SearchRequest"}}}},"responses":{"200":{"description":"Returned if the vulnerability count was retrieved successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number","description":"The total number of vulnerabilities matching the search filter."}}}}}},"400":{"$ref":"#/components/responses/Vulnerabilities_Error400"},"401":{"$ref":"#/components/responses/Vulnerabilities_Error401"},"403":{"description":"Returned if you do not have permission to count vulnerabilities."},"429":{"description":"Returned if you attempt to send too many requests in a specific period of time. For more information, see [Rate Limiting](doc:rate-limiting)."}},"security":[{"Vulnerabilities_ApiKeyAuth":[]}]}}},"components":{"securitySchemes":{"Exports_ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-apikey","description":"Format - accessKey=ACCESS_KEY;secretKey=SECRET_KEY"},"Global_Settings_ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-apikey","description":"Format - accessKey=ACCESS_KEY;secretKey=SECRET_KEY"},"Images_ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-apikey","description":"Format - accessKey=ACCESS_KEY;secretKey=SECRET_KEY"},"Layers_ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-apikey","description":"Format - accessKey=ACCESS_KEY;secretKey=SECRET_KEY"},"Packages_ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-apikey","description":"Format - accessKey=ACCESS_KEY;secretKey=SECRET_KEY"},"Queries_ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-apikey","description":"Format - accessKey=ACCESS_KEY;secretKey=SECRET_KEY"},"Scanners_ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-apikey","description":"Format - accessKey=ACCESS_KEY;secretKey=SECRET_KEY"},"Scans_ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-apikey","description":"Format - accessKey=ACCESS_KEY;secretKey=SECRET_KEY"},"Vulnerabilities_ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-apikey","description":"Format - accessKey=ACCESS_KEY;secretKey=SECRET_KEY"}},"schemas":{"Exports_ExportImageLayersRequest":{"type":"object","properties":{"fields":{"type":"array","description":"Specifies an array of field names to include in the export results. Use dot notation to specify nested properties (e.g., `image.asset_id`, `image.layer_id`). This allows you to customize which data columns appear in the exported output.","items":{"type":"string"},"example":["image.asset_id","image.info","image.layer_digest","image.layer_id","image.package_id","image.package_name","image.version","image.type","image.layer_critical_vulns_count","image.layer_high_vulns_count","image.layer_medium_vulns_count","image.layer_low_vulns_count","image.layer_total_vulns_count","image.package_critical_vulns_count","image.package_high_vulns_count","image.package_medium_vulns_count","image.package_low_vulns_count","image.package_total_vulns_count"]},"filter":{"type":"object","description":"Specifies filter criteria to narrow the export results. The system applies these filters before exporting data, allowing you to export only the records that match specific conditions.","properties":{"and":{"type":"array","description":"An array of filter conditions that must all be satisfied. The system returns only records where all conditions evaluate to true.","items":{"type":"object","properties":{"property":{"type":"string","description":"Specifies the property to filter by. If `image.layer_id` is not provided, the system exports all layers.","enum":["image.asset_id","image.layer_id","image.dummy_layers","image.dummy_layers_packages"]},"operator":{"type":"string","description":"Specifies the comparison operator to use for this filter condition. Common operators include `eq` (equals), `neq` (not equals), `exists` (field has a value).","enum":["eq"]},"value":{"description":"Specifies the value to compare against using the specified operator. Can be a single value or an array of values depending on the operator.","oneOf":[{"type":"string","format":"uuid","example":"9c951cb5-a41c-5b2d-becd-0a21c760cf05"},{"type":"array","items":{"type":"string","format":"uuid"},"example":["9c951cb5-a41c-5b2d-becd-0a21c760cf05","9c951cb5-a41c-5b2d-becd-0a21c760cf05"]}]}}}}}},"limit":{"type":"integer","description":"Specifies the maximum number of records to return in a single response. This controls pagination and helps manage large result sets. If omitted, the system uses a default limit.","example":200},"next":{"type":"string","description":"Specifies the pagination token for retrieving the next page of results. If omitted or set to `null`, the system returns the first page."},"sort":{"type":"array","description":"Specifies an array of sort criteria to order the export results. Each criterion specifies a property and sort direction. Results are ordered by the first criterion, with ties broken by subsequent criteria.","allOf":[{"type":"array","items":{"type":"object","properties":{"property":{"type":"string","description":"Specifies the field name to sort by using dot notation (e.g., `image.asset_id`, `tvdb.plugin_id`).","enum":["image.asset_id","image.layer_id","image.package_id"]},"order":{"type":"string","description":"Specifies the sort direction. Use `desc` for descending order (highest to lowest) or `asc` for ascending order (lowest to highest).","enum":["desc"]}}}}]}}},"Exports_ExportImageVulnsRequest":{"type":"object","properties":{"fields":{"type":"array","description":"Specifies an array of field names to include in the export results. Use dot notation to specify nested properties (e.g., `image.asset_id`, `image.plugin_id`). This allows you to customize which data columns appear in the exported output.","items":{"type":"string"},"example":["image.asset_id","image.script_name","image.risk_factor","image.cvss3_base_score","image.vpr_tvs","image.plugin_id","image.package_id","image.package_name","image.version","image.type","image.package_critical_vulns_count","image.package_high_vulns_count","image.package_medium_vulns_count","image.package_low_vulns_count","image.package_total_vulns_count"]},"filter":{"type":"object","description":"Specifies filter criteria to narrow the export results. The system applies these filters before exporting data, allowing you to export only the records that match specific conditions.","properties":{"and":{"type":"array","description":"An array of filter conditions that must all be satisfied. The system returns only records where all conditions evaluate to true.","items":{"type":"object","properties":{"property":{"type":"string","description":"Specifies the property to filter by. If `image.plugin_id` is not provided, the system exports all vulnerabilities.","enum":["image.asset_id","image.plugin_id"]},"operator":{"type":"string","description":"Specifies the comparison operator to use for this filter condition. Common operators include `eq` (equals), `neq` (not equals), `exists` (field has a value).","enum":["eq"]},"value":{"description":"Specifies the value to compare against using the specified operator. Can be a single value or an array of values depending on the operator.","oneOf":[{"type":"string","example":"9c951cb5-a41c-5b2d-becd-0a21c760cf05"},{"type":"array","items":{"type":"integer","example":1234}}]}}}}}},"limit":{"type":"integer","description":"Specifies the maximum number of records to return in a single response. This controls pagination and helps manage large result sets. If omitted, the system uses a default limit.","example":200},"next":{"type":"string","description":"Specifies the pagination token for retrieving the next page of results. If omitted or set to `null`, the system returns the first page."},"sort":{"type":"array","description":"Specifies an array of sort criteria to order the export results. Each criterion specifies a property and sort direction. Results are ordered by the first criterion, with ties broken by subsequent criteria.","allOf":[{"type":"array","items":{"type":"object","properties":{"property":{"type":"string","description":"Specifies the field name to sort by using dot notation (e.g., `image.asset_id`, `tvdb.plugin_id`).","enum":["image.plugin_id","image.package_id"]},"order":{"type":"string","description":"Specifies the sort direction. Use `desc` for descending order (highest to lowest) or `asc` for ascending order (lowest to highest).","enum":["desc"]}}}}]}}},"Exports_ExportImagePackagesRequest":{"type":"object","properties":{"fields":{"type":"array","description":"Specifies an array of field names to include in the export results. Use dot notation to specify nested properties (e.g., `image.asset_id`, `image.package_id`). This allows you to customize which data columns appear in the exported output.","items":{"type":"string"},"example":["image.asset_id","image.package_id","image.package_name","image.version","image.type","image.script_name","image.risk_factor","image.cvss3_base_score","image.vpr_tvs","image.plugin_id"]},"filter":{"type":"object","description":"Specifies filter criteria to narrow the export results. The system applies these filters before exporting data, allowing you to export only the records that match specific conditions.","properties":{"and":{"type":"array","description":"An array of filter conditions that must all be satisfied. The system returns only records where all conditions evaluate to true.","items":{"type":"object","properties":{"property":{"type":"string","description":"Specifies the property to filter by. If `image.package_id` is not provided, the system exports all packages.","enum":["image.asset_id","image.package_id","image.dummy_plugin_findings"]},"operator":{"description":"Specifies the comparison operator to use for this filter condition. Common operators include `eq` (equals), `neq` (not equals), `exists` (field has a value).","oneOf":[{"type":"string","enum":["eq"]},{"type":"string","enum":["exists"]}]},"value":{"description":"Specifies the value to compare against using the specified operator. Can be a single value or an array of values depending on the operator.","oneOf":[{"type":"string","example":"9c951cb5-a41c-5b2d-becd-0a21c760cf05"},{"type":"array","items":{"type":"string","format":"uuid","example":"9c951cb5-a41c-5b2d-becd-0a21c760cf05"}}]}}}}}},"limit":{"type":"integer","description":"Specifies the maximum number of records to return in a single response. This controls pagination and helps manage large result sets. If omitted, the system uses a default limit.","example":200},"next":{"type":"string","description":"Specifies the pagination token for retrieving the next page of results. If omitted or set to `null`, the system returns the first page."},"sort":{"type":"array","description":"Specifies an array of sort criteria to order the export results. Each criterion specifies a property and sort direction. Results are ordered by the first criterion, with ties broken by subsequent criteria.","allOf":[{"type":"array","items":{"type":"object","properties":{"property":{"type":"string","description":"Specifies the field name to sort by using dot notation (e.g., `image.asset_id`, `tvdb.plugin_id`).","enum":["image.package_id","image.plugin_id"]},"order":{"type":"string","description":"Specifies the sort direction. Use `desc` for descending order (highest to lowest) or `asc` for ascending order (lowest to highest).","enum":["desc"]}}}}]}}},"Exports_ExportImageLayersResponse":{"type":"object","properties":{"items":{"type":"array","description":"An array of exported layer records, each containing layer details, associated packages, and vulnerability counts.","items":{"$ref":"#/components/schemas/Exports_ExportLayersResponse"}}}},"Exports_ExportLayersResponse":{"type":"object","properties":{"asset_id":{"type":"string","format":"uuid","description":"The unique identifier (UUID) of the image asset.","example":"08313ae9-ad8e-5bb6-831b-b2b9ed1705ae"},"layer_id":{"type":"string","format":"uuid","description":"The unique identifier (UUID) of the layer.","example":"08313ae9-ad8e-5bb6-831b-b2b9ed1705ae"},"package_id":{"type":"string","format":"uuid","description":"The unique identifier (UUID) of the package.","example":"08313ae9-ad8e-5bb6-831b-b2b9ed1705ae"},"version":{"type":"string","description":"The version of the package.","example":"3.7.1-5+deb11u4"},"package_name":{"type":"string","description":"The name of the package.","example":"libgnutls30"},"type":{"type":"string","description":"The type of the package.","example":"libgnutls30"},"info":{"type":"string","description":"The command or instruction that created this layer.","example":"RUN |6 NODE_VERSION=20.13.0 YARN_VERSION=1.22.19 CHROME_VERSION=124.0.6367.155-1 EDGE_VERSION=124.0.2478.80-1 FIREFOX_VERSION=125.0.3 CYPRESS_VERSION=13.9.0 /bin/sh -c apt-get purge -y --auto-remove     curl     bzip2     gnupg     dirmngr  && rm -rf /usr/share/doc   && rm -rf /usr/share/man   && rm -rf /var/lib/apt/lists/*   && rm -rf /opt/installScripts # buildkit"},"layer_digest":{"type":"string","description":"The SHA256 digest of the layer.","example":"sha256:b0f6c40aaefce8918835e08a88075dcbe0184036789f510cffa586aad754db84"},"layer_critical_vulns_count":{"type":"integer","description":"The number of critical severity vulnerabilities in the layer.","example":0},"layer_high_vulns_count":{"type":"integer","description":"The number of high severity vulnerabilities in the layer.","example":0},"layer_medium_vulns_count":{"type":"integer","description":"The number of medium severity vulnerabilities in the layer.","example":0},"layer_low_vulns_count":{"type":"integer","description":"The number of low severity vulnerabilities in the layer.","example":0},"layer_total_vulns_count":{"type":"integer","description":"The total number of vulnerabilities in the layer.","example":0},"package_critical_vulns_count":{"type":"integer","description":"The number of critical severity vulnerabilities in the package.","example":0},"package_high_vulns_count":{"type":"integer","description":"The number of high severity vulnerabilities in the package.","example":0},"package_medium_vulns_count":{"type":"integer","description":"The number of medium severity vulnerabilities in the package.","example":0},"package_low_vulns_count":{"type":"integer","description":"The number of low severity vulnerabilities in the package.","example":0},"package_total_vulns_count":{"type":"integer","description":"The total number of vulnerabilities in the package.","example":0}}},"Exports_ExportImagePackagesResponse":{"type":"object","properties":{"items":{"type":"array","description":"An array of exported package records, each containing package details, associated vulnerabilities, and risk scores.","items":{"$ref":"#/components/schemas/Exports_ExportPackagesResponse"}}}},"Exports_ExportPackagesResponse":{"type":"object","properties":{"asset_id":{"type":"string","format":"uuid","description":"The unique identifier (UUID) of the image asset.","example":"08313ae9-ad8e-5bb6-831b-b2b9ed1705ae"},"plugin_id":{"type":"integer","description":"The unique identifier of the plugin that detected the vulnerability.","example":194969},"script_name":{"type":"string","description":"The name of the plugin script.","example":"Debian dsa-5678 : glibc-doc - security update"},"risk_factor":{"type":"string","description":"The risk severity level of the vulnerability.","example":"High"},"package_name":{"type":"string","description":"The name of the package.","example":"libgnutls30"},"type":{"type":"string","description":"The type of the package.","example":"libgnutls30"},"package_id":{"type":"string","format":"uuid","description":"The unique identifier (UUID) of the package.","example":"35b1ccb9-25ac-5ace-8cce-cf0df9d01e9c"},"version":{"type":"string","description":"The version of the package.","example":"2.31-13+deb11u9"},"cvss3_base_score":{"type":"number","format":"float","description":"The CVSSv3 base score of the vulnerability.","example":8.5},"vpr_tvs":{"type":"number","format":"float","description":"The Vulnerability Priority Rating (VPR) Threat Vector Score (TVS).","example":5.5}}},"Exports_ExportVulnsImagesRequest":{"type":"object","properties":{"fields":{"type":"array","description":"Specifies an array of field names to include in the export results. Use dot notation to specify nested properties (e.g., `tvdb.asset_id`, `tvdb.plugin_id`). This allows you to customize which data columns appear in the exported output.","items":{"type":"string"},"example":["tvdb.asset_id","tvdb.plugin_id","tvdb.last_updated","tvdb.base_image","tvdb.plugin_output","tvdb.image_name"]},"filter":{"type":"object","description":"Specifies filter criteria to narrow the export results. The system applies these filters before exporting data, allowing you to export only the records that match specific conditions.","properties":{"and":{"type":"array","description":"An array of filter conditions that must all be satisfied. The system returns only records where all conditions evaluate to true.","items":{"type":"object","properties":{"property":{"type":"string","description":"Specifies the property to filter by. If `tvdb.asset_id` is not provided, the system exports all images.","enum":["tvdb.asset_id","tvdb.plugin_id"]},"operator":{"description":"Specifies the comparison operator to use for this filter condition. Common operators include `eq` (equals), `neq` (not equals), `exists` (field has a value).","oneOf":[{"type":"string","enum":["eq"]},{"type":"string","enum":["exists"]}]},"value":{"description":"Specifies the value to compare against using the specified operator. Can be a single value or an array of values depending on the operator.","oneOf":[{"type":"integer","example":12345},{"type":"array","items":{"type":"string","example":"9c951cb5-a41c-5b2d-becd-0a21c760cf05"}}]}}}}}},"limit":{"type":"integer","description":"Specifies the maximum number of records to return in a single response. This controls pagination and helps manage large result sets. If omitted, the system uses a default limit.","example":200},"next":{"type":"string","description":"Specifies the pagination token for retrieving the next page of results. If omitted or set to `null`, the system returns the first page."},"sort":{"type":"array","description":"Specifies an array of sort criteria to order the export results. Each criterion specifies a property and sort direction. Results are ordered by the first criterion, with ties broken by subsequent criteria.","allOf":[{"type":"array","items":{"type":"object","properties":{"property":{"type":"string","description":"Specifies the field name to sort by using dot notation (e.g., `image.asset_id`, `tvdb.plugin_id`).","enum":["tvdb.plugin_id"]},"order":{"type":"string","description":"Specifies the sort direction. Use `desc` for descending order (highest to lowest) or `asc` for ascending order (lowest to highest).","enum":["desc"]}}}}]}}},"Exports_ExportVulnsLayersRequest":{"type":"object","properties":{"fields":{"type":"array","description":"Specifies an array of field names to include in the export results. Use dot notation to specify nested properties (e.g., `tvdb.asset_id`, `tvdb.layer_id`). This allows you to customize which data columns appear in the exported output.","items":{"type":"string"},"example":["tvdb.asset_id","tvdb.plugin_id","tvdb.image_name","tvdb.last_updated","tvdb.layer_id","tvdb.layer_digest","tvdb.image_critical_vulns_count","tvdb.image_high_vulns_count","tvdb.image_medium_vulns_count","tvdb.image_low_vulns_count","tvdb.image_total_vulns_count"]},"filter":{"type":"object","description":"Specifies filter criteria to narrow the export results. The system applies these filters before exporting data, allowing you to export only the records that match specific conditions.","properties":{"and":{"type":"array","description":"An array of filter conditions that must all be satisfied. The system returns only records where all conditions evaluate to true.","items":{"type":"object","properties":{"property":{"type":"string","description":"Specifies the property to filter by. If `tvdb.layer_id` is not provided, the system exports all layers.","enum":["tvdb.layer_id","tvdb.plugin_id","tvdb.image_name"]},"operator":{"description":"Specifies the comparison operator to use for this filter condition. Common operators include `eq` (equals), `neq` (not equals), `exists` (field has a value).","oneOf":[{"type":"string","enum":["exists"],"description":"Specifies that the system checks for the existence of the property. This operator is required when filtering by `tvdb.layer_id` or `tvdb.image_name`."},{"type":"string","enum":["eq"]}]},"value":{"description":"Specifies the value to compare against using the specified operator. Can be a single value or an array of values depending on the operator.","oneOf":[{"type":"integer","enum":[12345],"description":"Specifies the plugin ID to filter by. This value applies only to the `tvdb.plugin_id` property."},{"type":"array","items":{"type":"string","enum":["9c951cb5-a41c-5b2d-becd-0a21c760cf05","9c951cb5-a41c-5b2d-becd-0a21c760cf05"],"description":"Specifies the layer IDs to filter by. This value applies only to the `tvdb.layer_id` property."}}]}}}}}},"limit":{"type":"integer","description":"Specifies the maximum number of records to return in a single response. This controls pagination and helps manage large result sets. If omitted, the system uses a default limit.","example":200},"next":{"type":"string","description":"Specifies the pagination token for retrieving the next page of results. If omitted or set to `null`, the system returns the first page."},"sort":{"type":"array","description":"Specifies an array of sort criteria to order the export results. Each criterion specifies a property and sort direction. Results are ordered by the first criterion, with ties broken by subsequent criteria.","allOf":[{"type":"array","items":{"type":"object","properties":{"property":{"type":"string","description":"Specifies the field name to sort by using dot notation (e.g., `image.asset_id`, `tvdb.plugin_id`).","enum":["tvdb.asset_id","tvdb.plugin_id","tvdb.layer_id"]},"order":{"type":"string","description":"Specifies the sort direction. Use `desc` for descending order (highest to lowest) or `asc` for ascending order (lowest to highest).","enum":["desc"]}}}}]}}},"Exports_ExportVulnsPackagesRequest":{"type":"object","properties":{"fields":{"type":"array","description":"Specifies an array of field names to include in the export results. Use dot notation to specify nested properties (e.g., `tvdb.asset_id`, `tvdb.package_id`). This allows you to customize which data columns appear in the exported output.","items":{"type":"string"},"example":["tvdb.asset_id","tvdb.plugin_id","tvdb.image_name","tvdb.package_last_updated","tvdb.image_last_updated","tvdb.package_name","tvdb.package_version","tvdb.package_type","tvdb.package_id","tvdb.image_critical_vulns_count","tvdb.image_high_vulns_count","tvdb.image_medium_vulns_count","tvdb.image_low_vulns_count","tvdb.image_total_vulns_count"]},"filter":{"type":"object","description":"Specifies filter criteria to narrow the export results. The system applies these filters before exporting data, allowing you to export only the records that match specific conditions.","properties":{"and":{"type":"array","description":"An array of filter conditions that must all be satisfied. The system returns only records where all conditions evaluate to true.","items":{"type":"object","properties":{"property":{"type":"string","description":"Specifies the property to filter by. If `tvdb.package_id` is not provided, the system exports all packages.","enum":["tvdb.package_id","tvdb.plugin_id"]},"operator":{"description":"Specifies the comparison operator to use for this filter condition. Common operators include `eq` (equals), `neq` (not equals), `exists` (field has a value).","oneOf":[{"type":"string","enum":["eq"]},{"type":"string","enum":["exists"]}]},"value":{"description":"Specifies the value to compare against using the specified operator. Can be a single value or an array of values depending on the operator.","oneOf":[{"type":"integer","enum":[12345]},{"type":"array","items":{"type":"string","enum":["9c951cb5-a41c-5b2d-becd-0a21c760cf05","9c951cb5-a41c-5b2d-becd-0a21c760cf05"]}}]}}}}}},"limit":{"type":"integer","description":"Specifies the maximum number of records to return in a single response. This controls pagination and helps manage large result sets. If omitted, the system uses a default limit.","example":200},"next":{"type":"string","description":"Specifies the pagination token for retrieving the next page of results. If omitted or set to `null`, the system returns the first page."},"sort":{"type":"array","description":"Specifies an array of sort criteria to order the export results. Each criterion specifies a property and sort direction. Results are ordered by the first criterion, with ties broken by subsequent criteria.","allOf":[{"type":"array","items":{"type":"object","properties":{"property":{"type":"string","description":"Specifies the field name to sort by using dot notation (e.g., `image.asset_id`, `tvdb.plugin_id`).","enum":["tvdb.asset_id","tvdb.plugin_id","tvdb.package_id"]},"order":{"type":"string","description":"Specifies the sort direction. Use `desc` for descending order (highest to lowest) or `asc` for ascending order (lowest to highest).","enum":["desc"]}}}}]}}},"Exports_ExportVulnsPackagesResponse":{"type":"object","properties":{"items":{"type":"array","description":"An array of exported package-vulnerability relationship records, each showing which packages are affected by specific vulnerabilities.","items":{"$ref":"#/components/schemas/Exports_ExportPackagesVulnsResponse"}}}},"Exports_ExportPackagesVulnsResponse":{"type":"object","properties":{"asset_id":{"type":"string","format":"uuid","description":"The unique identifier (UUID) of the image asset.","example":"08313ae9-ad8e-5bb6-831b-b2b9ed1705ae"},"plugin_id":{"type":"integer","description":"The unique identifier of the plugin that detected the vulnerability.","example":12345},"name":{"type":"string","description":"The name of the image."},"image_last_updated":{"type":"string","format":"date-time","description":"A timestamp in ISO 8601 format indicating when the image was last updated.","example":"2017-07-21T17:32:28Z"},"package_last_updated":{"type":"string","format":"date-time","description":"A timestamp in ISO 8601 format indicating when the package was last updated.","example":"2017-07-21T17:32:28Z"},"package_id":{"type":"string","format":"uuid","description":"The unique identifier (UUID) of the package.","example":"08313ae9-ad8e-5bb6-831b-b2b9ed1705ae"},"package_name":{"type":"string","description":"The name of the package."},"package_version":{"type":"string","description":"The version of the package."},"package_type":{"type":"string","description":"The type of the package."},"image_critical_vulns_count":{"type":"integer","description":"The number of critical severity vulnerabilities in the image.","example":0},"image_high_vulns_count":{"type":"integer","description":"The number of high severity vulnerabilities in the image.","example":0},"image_medium_vulns_count":{"type":"integer","description":"The number of medium severity vulnerabilities in the image.","example":0},"image_low_vulns_count":{"type":"integer","description":"The number of low severity vulnerabilities in the image.","example":0},"image_total_vulns_count":{"type":"integer","description":"The total number of vulnerabilities in the image.","example":0}}},"Exports_ExportVulnsImagesResponse":{"type":"object","properties":{"items":{"type":"array","description":"An array of exported image records affected by specific vulnerabilities, including plugin findings and detailed vulnerability output.","items":{"$ref":"#/components/schemas/Exports_ExportImagesResponse"}}}},"Exports_ExportImagesResponse":{"type":"object","properties":{"asset_id":{"type":"string","format":"uuid","description":"The unique identifier (UUID) of the image asset.","example":"08313ae9-ad8e-5bb6-831b-b2b9ed1705ae"},"image_name":{"type":"string","description":"The name of the image.","example":"localhost:5000/nginx:latest"},"plugin_finding_id":{"type":"string","format":"uuid","description":"The unique identifier (UUID) of the plugin finding.","example":"80449769-7f7b-5836-b856-3c2eb665aaac"},"plugin_id":{"type":"integer","description":"The unique identifier of the plugin that detected the vulnerability.","example":12345},"last_updated":{"type":"string","format":"date-time","description":"A timestamp in ISO 8601 format indicating when the image was last updated.","example":"2017-07-21T17:32:28Z"},"base_image":{"type":"boolean","description":"A value indicating whether this is a base image (`true`) or not (`false`).","example":false},"plugin_output":{"type":"object","description":"The detailed output from the plugin scan, containing information about affected packages and CVEs.","example":"{[{\"name\":\"libc-bin\",\"version\":\"2.31-13+deb11u9\",\"fixed_version\":\"2.31-13+deb11u10\",\"cves\":\"[CVE-2024-33599, CVE-2024-33600, CVE-2024-33601, CVE-2024-33602]\"},{\"name\":\"libc6\",\"version\":\"2.31-13+deb11u9\",\"fixed_version\":\"2.31-13+deb11u10\",\"cves\":\"[CVE-2024-33599, CVE-2024-33600, CVE-2024-33601, CVE-2024-33602]\"}]}"}}},"Exports_ExportVulnsLayersResponse":{"type":"object","properties":{"items":{"type":"array","description":"An array of exported layer records affected by specific vulnerabilities, showing vulnerability distribution across image layers.","items":{"$ref":"#/components/schemas/Exports_ExportLayersVulnsResponse"}}}},"Exports_ExportLayersVulnsResponse":{"type":"object","properties":{"asset_id":{"type":"string","format":"uuid","description":"The unique identifier (UUID) of the image asset.","example":"08313ae9-ad8e-5bb6-831b-b2b9ed1705ae"},"plugin_id":{"type":"integer","description":"The unique identifier of the plugin that detected the vulnerability.","example":12345},"name":{"type":"string","description":"The name of the image."},"last_updated":{"type":"string","format":"date-time","description":"A timestamp in ISO 8601 format indicating when the layer was last updated.","example":"2017-07-21T17:32:28Z"},"layer_id":{"type":"string","format":"uuid","description":"The unique identifier (UUID) of the layer.","example":"08313ae9-ad8e-5bb6-831b-b2b9ed1705ae"},"layer_digest":{"type":"string","description":"The SHA256 digest of the layer."},"image_critical_vulns_count":{"type":"integer","description":"The number of critical severity vulnerabilities in the image.","example":0},"image_high_vulns_count":{"type":"integer","description":"The number of high severity vulnerabilities in the image.","example":0},"image_medium_vulns_count":{"type":"integer","description":"The number of medium severity vulnerabilities in the image.","example":0},"image_low_vulns_count":{"type":"integer","description":"The number of low severity vulnerabilities in the image.","example":0},"image_total_vulns_count":{"type":"integer","description":"The total number of vulnerabilities in the image.","example":0}}},"Exports_ExportImageVulnsResponse":{"type":"object","properties":{"items":{"type":"array","description":"An array of exported vulnerability records for images, each containing package details and comprehensive vulnerability assessment data.","items":{"$ref":"#/components/schemas/Exports_ExportVulnsResponse"}}}},"Exports_ExportVulnsResponse":{"type":"object","properties":{"asset_id":{"type":"string","format":"uuid","description":"The unique identifier (UUID) of the image asset.","example":"08313ae9-ad8e-5bb6-831b-b2b9ed1705ae"},"plugin_id":{"type":"integer","description":"The unique identifier of the plugin that detected the vulnerability.","example":12345},"package_id":{"type":"string","format":"uuid","description":"The unique identifier (UUID) of the package.","example":"08313ae9-ad8e-5bb6-831b-b2b9ed1705ae"},"version":{"type":"string","description":"The version of the package.","example":"3.7.1-5+deb11u4"},"package_name":{"type":"string","description":"The name of the package.","example":"libgnutls30"},"type":{"type":"string","description":"The type of the package.","example":"libgnutls30"},"package_critical_vulns_count":{"type":"integer","description":"The number of critical severity vulnerabilities in the package.","example":0},"package_high_vulns_count":{"type":"integer","description":"The number of high severity vulnerabilities in the package.","example":0},"package_medium_vulns_count":{"type":"integer","description":"The number of medium severity vulnerabilities in the package.","example":0},"package_low_vulns_count":{"type":"integer","description":"The number of low severity vulnerabilities in the package.","example":0},"package_total_vulns_count":{"type":"integer","description":"The total number of vulnerabilities in the package.","example":0},"script_name":{"type":"string","description":"The name of the plugin script.","example":"Debian dsa-5678 : glibc-doc - security update"},"risk_factor":{"type":"string","description":"The risk severity level of the vulnerability.","example":"High"},"cvss3_base_score":{"type":"number","format":"float","description":"The CVSSv3 base score of the vulnerability.","example":8.5},"vpr_tvs":{"type":"number","format":"float","description":"The Vulnerability Priority Rating (VPR) Threat Vector Score (TVS).","example":5.5}}},"Global_Settings_Request-Get-Asset-Age-Out-Settings":{"description":"Configuration settings for automatic asset age-out. Asset age-out automatically removes old container image records that are no longer in use, helping keep your Container Security inventory clean and focused on active images. This prevents the accumulation of historical data for images that have been deprecated or replaced.","type":"object","properties":{"enabled":{"type":"boolean","description":"A value indicating whether automatic asset age-out is enabled (true) or disabled (false). When enabled, Container Security automatically removes image assets that haven't been seen within the specified retention period."},"expire_assets_older_than_in_days":{"type":"number","description":"The number of days of inactivity after which image assets are automatically removed from Container Security. For example, a value of 90 means images not seen in scans for 90 days will be aged out. This helps maintain a current view of your active container inventory."},"expires_assets_on_field":{"type":"string","description":"The timestamp field used to determine asset age for age-out evaluation (e.g., `last_scanned`, `last_seen`). Container Security compares the current date against this field to identify assets eligible for removal."},"schedule":{"$ref":"#/components/schemas/Global_Settings_Schedule"}}},"Global_Settings_Response-Get-Asset-Age-Out-Settings":{"description":"The current asset age-out configuration. These settings control how Container Security automatically removes old container image records to maintain an inventory focused on active images.","type":"object","properties":{"enabled":{"type":"boolean","description":"A value indicating whether automatic asset age-out is currently enabled (true) or disabled (false). When enabled, Container Security automatically removes image assets that haven't been seen within the specified retention period."},"expire_assets_older_than_in_days":{"type":"number","description":"The configured number of days of inactivity after which image assets are automatically removed. For example, a value of 90 means images not seen in scans for 90 days are aged out."},"expires_assets_on_field":{"type":"string","description":"The timestamp field being used to determine asset age for age-out evaluation (e.g., `last_scanned`, `last_seen`). Container Security compares the current date against this field to identify assets eligible for removal."},"created_at":{"type":"string","description":"A timestamp in ISO 8601 format indicating when the asset age-out settings were initially configured. This helps track when the age-out policy was established."},"updated_at":{"type":"string","description":"A timestamp in ISO 8601 format indicating when the asset age-out settings were last modified. This tracks changes to the age-out policy over time."},"schedule":{"$ref":"#/components/schemas/Global_Settings_Schedule"}}},"Global_Settings_Schedule":{"description":"The schedule configuration for automated scanning operations. This defines when and how often Container Security performs scans on your container images.","type":"object","properties":{"start_at":{"type":"string","description":"A timestamp in ISO 8601 format indicating when the scheduled scan should start. This sets the initial execution time for the scan schedule."},"time":{"type":"string","format":"partial-time","description":"The time of day when the scan should execute, in partial-time format (HH:MM:SS). This is used in conjunction with the frequency to determine recurring execution times."},"time_zone":{"type":"string","description":"The time zone for the scheduled scan time, specified in IANA Time Zone Database format (e.g., `America/New_York`, `UTC`). This ensures scans execute at the correct local time."},"frequency":{"type":"string","description":"How often the scan should repeat. Use `once` for a single execution, `none` to disable the schedule, or specify a recurring interval.","enum":["once","daily","weekly","monthly","none"]},"repeat":{"type":"integer","description":"The interval at which the scan repeats based on the frequency setting. For example, with `daily` frequency, a value of 2 means the scan runs every 2 days."},"repeat_on":{"type":"array","description":"An array of specific days or dates when the scan should execute, depending on the frequency. For weekly frequency, values represent days of the week (0=Sunday, 6=Saturday). For monthly frequency, values represent days of the month (1-31).","items":{"type":"integer","format":"int32"}}},"required":["start_at","time","time_zone","frequency"]},"Images_TagsResponse":{"type":"object","properties":{"tags":{"type":"array","description":"An array of image tags.","items":{"type":"string"}}},"required":["tags"]},"Images_SBOMExportDownloadRequest":{"type":"object","properties":{"name":{"type":"string","description":"Specifies the name for the SBOM report."},"cyclone_dx_version":{"type":"string","description":"Specifies the CycloneDX version to use for the SBOM report."},"cyclone_dx_format":{"type":"string","description":"Specifies the output format for the SBOM report. Valid values are `json` or `xml`.","enum":["json","xml"]},"asset_ids":{"type":"array","description":"Specifies an array of unique identifiers (UUIDs) for the image assets to include in the SBOM report.","items":{"type":"string","format":"uuid"}}}},"Images_Response-List-Registries-and-Pipelines":{"description":"A comprehensive view of container infrastructure across registries, pipelines, and clusters. This provides an inventory of where container images are stored, how they are built, and where they are deployed. Use this information to understand your container ecosystem and ensure complete scanning coverage.","type":"object","properties":{"registries":{"type":"array","description":"An array of container registries where images are stored. Container Security integrates with registries to scan images as they are built, before deployment to production.","items":{"$ref":"#/components/schemas/Images_Object-Registries"}},"pipelines":{"type":"array","description":"An array of CI/CD pipelines that build container images. Pipelines represent the build systems that create images and push them to registries. Container Security can integrate with pipelines to scan images during the build process.","items":{"$ref":"#/components/schemas/Images_Object-Pipelines"}},"clusters":{"type":"array","description":"An array of Kubernetes clusters where container images are deployed. Container Security can deploy deployment scanners to these clusters to assess which images are actually running in production.","items":{"$ref":"#/components/schemas/Images_Object-Clusters"}}}},"Images_Object-Clusters":{"description":"Kubernetes cluster information showing where container images are deployed. Container Security can deploy deployment scanners to clusters to assess which images are actually running in production environments.","type":"object","properties":{"type":{"type":"string","description":"The type or platform of the Kubernetes cluster (e.g., `EKS`, `GKE`, `AKS`, `self-hosted`). This identifies which Kubernetes distribution is hosting your containers."},"total_count":{"type":"number","description":"The total count of images deployed across all clusters of this type. This shows the scale of deployed containers in your production environment."},"items":{"type":"array","description":"An array of specific cluster instances and their deployed image counts. Each entry represents a distinct Kubernetes cluster running containerized workloads.","items":{"type":"object","properties":{"cluster_name":{"type":"string","description":"The name of the Kubernetes cluster. This identifies the specific cluster where containers are running."},"count":{"type":"number","description":"The count of distinct images currently deployed in this cluster. This shows the diversity of container images in each production environment."}},"required":["cluster_name","count"]}}}},"Images_Object-Pipelines":{"description":"CI/CD pipeline information showing how container images are built. Container Security can integrate with build pipelines to scan images during the CI/CD process, catching vulnerabilities before images reach production.","type":"object","properties":{"type":{"type":"string","description":"The type or platform of the CI/CD pipeline (e.g., `Jenkins`, `GitLab CI`, `GitHub Actions`, `Azure DevOps`). This indicates which build system is producing images."},"total_count":{"type":"number","description":"The total count of images built by all pipelines of this type. This shows the volume of images being produced by each build platform in your environment."},"items":{"type":"array","description":"An array of specific pipeline instances and their image production counts. Each entry represents a distinct pipeline that builds container images.","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the specific CI/CD pipeline. This identifies the particular build job or workflow that produces images."},"count":{"type":"number","description":"The count of images built by this pipeline. This shows which pipelines are most active in producing container images."}},"required":["name","count"]}}}},"Images_Object-Registries":{"description":"Container registry information showing where images are stored. Container Security integrates with various registry types to scan images as they are built and stored, enabling security assessment before production deployment.","type":"object","properties":{"type":{"type":"string","description":"The type of container registry (e.g., `docker`, `ecr`, `gcr`, `acr`). Different registry types may require different authentication methods and scanning approaches."},"total_count":{"type":"number","description":"The total count of images stored across all registries of this type. This helps assess the scale of your container inventory by registry platform."},"items":{"type":"array","description":"An array of specific registry instances and their image counts. Each entry represents a distinct registry URL where images are hosted.","items":{"type":"object","properties":{"url":{"type":"string","description":"The base URL of the container registry. This is the registry endpoint where images are stored and retrieved."},"count":{"type":"number","description":"The count of images stored in this specific registry instance. This shows the distribution of images across your registry infrastructure."}},"required":["url","count"]}}}},"Images_Field":{"description":"The available fields that can be returned for an image in the search results.","type":"string","enum":["architecture","asset_id","base_image","built_at","commands","last_scanned","digest","distribution","entry_points","environment_variables","exposed_ports","image_id","image_labels","image_size","image_url","imported_at","last_updated","name","operating_system","pipeline_name","pipeline_type","policy","policy_status","registry_url","repository_name","scan_source","tag","tags","volumes","registry_type"]},"Images_Operator":{"type":"string","description":"Specifies the comparison operator to apply when filtering search results. Use `eq` for exact equality matches, `neq` for not equal. For numeric comparisons, use `gt` (greater than), `gte` (greater than or equal), `lt` (less than), or `lte` (less than or equal). Use `exists` or `nexists` to check for field presence. For string matching, use `wc` (wildcard contains) or `nwc` (not wildcard contains) with asterisk (*) wildcards. Use `match` for pattern matching or `between` for range queries with two values.","enum":["eq","neq","gt","gte","lt","lte","exists","nexists","wc","nwc","match","between"]},"Images_FilterValue":{"anyOf":[{"title":"Single String Value","type":"string"},{"title":"Multiple String Values","type":"array","items":{"type":"string"}},{"title":"Single Integer Value","type":"integer"},{"title":"Multiple Integer Values","type":"array","items":{"type":"integer"}},{"title":"Single Boolean Value","type":"boolean","enum":[true,false]}],"description":"Specifies the value to compare the given field to using the specified operator. Example value for a UUID: `05c82415-a320-4bf9-b5c0-236d72f0aaaa`","example":["05c82415-a320-4bf9-b5c0-236d72f0aaaa"]},"Images_ImageFilterObject":{"type":"object","required":["property","operator"],"properties":{"property":{"description":"Specifies the image field to filter on.","type":"string","enum":["name","built_at","registry_type","registry_url","severity","base_image","asset_id","layer_ids","package_ids","package_id","plugin_id","cves","vpr_tvs","epss","tag","image_id","last_updated","created_at","last_scanned","repository_name","risk_factor","vulns_count","layer_digest","policy_status","pipeline_name","pipeline_type","scan_source","mime_type","package_id_findings","cluster_name","unpatched"]},"operator":{"description":"Specifies the comparison operator to apply when filtering search results. Use `eq` for exact equality matches, `neq` for not equal. For numeric comparisons, use `gt` (greater than), `gte` (greater than or equal), `lt` (less than), or `lte` (less than or equal). Use `exists` or `nexists` to check for field presence. For string matching, use `wc` (wildcard contains) or `nwc` (not wildcard contains) with asterisk (*) wildcards. Use `match` for pattern matching or `between` for range queries with two values.","$ref":"#/components/schemas/Images_Operator"},"value":{"description":"Specifies the value to compare against using the specified operator.","$ref":"#/components/schemas/Images_FilterValue"}}},"Images_ImageFilter":{"description":"Specifies filters to apply to the Image search. The filters can be used within an `and` object or an `or` object or a `not`.","oneOf":[{"$ref":"#/components/schemas/Images_ImageFilterObject"},{"title":"AND","type":"object","required":["and"],"properties":{"and":{"type":"array","description":"Specifies an array of filter conditions that must all be true.","items":{"$ref":"#/components/schemas/Images_ImageFilter"}}}},{"title":"OR","type":"object","required":["or"],"properties":{"or":{"type":"array","description":"Specifies an array of filter conditions where at least one must be true.","items":{"$ref":"#/components/schemas/Images_ImageFilter"}}}},{"title":"NOT","type":"object","required":["not"],"properties":{"not":{"description":"Specifies a filter condition that must be false.","$ref":"#/components/schemas/Images_ImageFilter"}}}]},"Images_Sort":{"type":"object","properties":{"property":{"description":"Specifies the field to sort the images by.","$ref":"#/components/schemas/Images_Field","example":"timeline.discovery_date"},"order":{"type":"string","description":"Specifies the sort order for the property. Valid values are `asc` (ascending) or `desc` (descending).","enum":["desc","asc"],"example":"desc"}}},"Images_SearchRequest":{"description":"The search request parameters for querying container images. Use filters to narrow results by specific criteria, specify which fields to return for optimal performance, control result pagination with limit and next tokens, and sort results by desired properties.","type":"object","properties":{"fields":{"type":"array","description":"Specifies additional fields to return in the search results. Every response includes a default set of fields; the fields you specify here are returned in addition to that set.","items":{"$ref":"#/components/schemas/Images_Field"}},"filter":{"description":"Specifies filter criteria to narrow the search results to images matching specific conditions.","$ref":"#/components/schemas/Images_ImageFilter"},"limit":{"type":"number","description":"The maximum number of results to return in a single response. Use this to control page size for pagination. Typical values range from 50 to 500 depending on your performance requirements."},"next":{"type":["string","null"],"description":"The pagination continuation token returned from a previous search response. Include this token to retrieve the next page of results. Omit this field or set to null for the first page."},"sort":{"type":"array","description":"An array of sorting criteria to order the results. Results are sorted by the first criterion, then by subsequent criteria as tiebreakers. Each sort specifies a field and whether to sort ascending or descending.","items":{"$ref":"#/components/schemas/Images_Sort"}}}},"Images_Pagination":{"description":"Pagination metadata for navigating through large search result sets. When search results exceed the page size limit, use the pagination information to retrieve additional pages of data.","type":"object","properties":{"total":{"type":["number","null"],"description":"The total number of results matching the search criteria. This value is `null` when the result count is too large to calculate exactly, in which case `total_exceeds` is set instead."},"total_exceeds":{"type":["number","null"],"description":"The threshold that the result count exceeds. This value is set only when the result count is too large to calculate exactly, in which case `total` is `null`."},"next":{"type":["string","null"],"description":"An opaque continuation token for retrieving the next page of results. Include this token in your subsequent request to fetch the next page. If this field is absent or empty, you have reached the last page of results."}}},"Images_SearchResponse":{"description":"The response containing container image search results. This includes an array of matching images and pagination metadata for retrieving additional pages of results.","type":"object","properties":{"items":{"type":"array","description":"An array of container image objects that match the search criteria. Each image includes vulnerability information, metadata, and configuration details based on the fields requested in the search.","items":{"description":"A container image object. Container images are the packaged applications and their dependencies that Container Security scans for vulnerabilities and malware. Images are stored in registries and organized by repositories before being deployed to production environments.","type":"object","properties":{"asset_id":{"type":"string","description":"The unique identifier (UUID) for the image asset."},"name":{"type":"string","description":"The full name of the container image, typically including the repository path and tag."},"image_url":{"type":"string","description":"The complete URL path to the image in its registry, used to pull or reference the image."},"registry_url":{"type":"string","description":"The base URL of the container registry where the image is stored. Container Security integrates with various registry types to scan images as they are built."},"registry_type":{"type":"string","description":"The type of container registry hosting this image (e.g., Docker Hub, Amazon ECR, Google GCR, Azure ACR). This helps Container Security apply registry-specific scanning methods."},"repository_name":{"type":"string","description":"The name of the repository within the registry that contains this image. Repositories group related images, typically representing a single application or component across multiple versions."},"tag":{"type":"string","description":"The tag identifier for this specific version of the image (e.g., `latest`, `v1.2.3`, `production`). Tags are used to reference different versions of the same image."},"image_id":{"type":"string","description":"The unique identifier assigned to this image by the container runtime or registry. This ID is distinct from the digest and asset_id."},"digest":{"type":"string","description":"The SHA256 digest hash of the image content. Unlike tags which can be reassigned, the digest provides an immutable reference to a specific image version based on its content."},"operating_system":{"type":"string","description":"The base operating system of the container image (e.g., `linux`, `windows`). Container Security uses this to apply OS-specific vulnerability detection."},"distribution":{"type":"string","description":"The specific Linux distribution or OS variant (e.g., `ubuntu`, `alpine`, `centos`). This information helps Container Security identify the correct vulnerability database for accurate scanning."},"built_at":{"type":"string","format":"date-time","description":"A timestamp in ISO 8601 format indicating when the image was originally built by the CI/CD system or image builder. This helps track image age and identify outdated images."},"imported_at":{"type":"string","format":"date-time","description":"A timestamp in ISO 8601 format indicating when the image was first imported into Container Security for scanning. This marks when Container Security became aware of the image."},"last_updated":{"type":"string","format":"date-time","description":"A timestamp in ISO 8601 format indicating when the image metadata was last updated in Container Security. This reflects changes to scan results, tags, or other tracked properties."},"last_scanned":{"type":"string","description":"A timestamp in ISO 8601 format indicating when Container Security last performed a vulnerability and malware scan on this image. Regular rescans detect newly disclosed vulnerabilities."},"architecture":{"type":"string","description":"The CPU architecture the image is built for (e.g., `amd64`, `arm64`, `arm`). This determines which systems can run the container."},"image_labels":{"type":"array","description":"An array of key-value labels (metadata) associated with the image from its Dockerfile or registry. Labels provide additional context about the image's purpose, version, maintainer, or other custom metadata.","items":{"type":"string"}},"exposed_ports":{"type":"array","description":"An array of network ports that the container exposes for communication. These are defined in the image's Dockerfile using the EXPOSE instruction and indicate which ports the containerized application listens on.","items":{"type":"string"}},"environment_variables":{"type":"array","description":"An array of environment variables configured in the image. These variables set the runtime environment for the containerized application and may include configuration settings or secrets.","items":{"type":"string"}},"commands":{"type":"array","description":"An array of default commands (CMD) defined in the image that execute when a container starts. These represent the primary process the container will run.","items":{"type":"string"}},"entry_points":{"type":"array","description":"An array of entrypoint commands (ENTRYPOINT) defined in the image. The entrypoint configures the container to run as an executable and cannot be overridden by docker run arguments.","items":{"type":"string"}},"volumes":{"type":"array","description":"An array of mount points for persistent or shared storage defined in the image. Volumes allow containers to persist data beyond the container lifecycle or share data with the host system.","items":{"type":"string"}},"tags":{"type":"array","description":"An array of all tags currently pointing to this image. A single image digest may be referenced by multiple tags (e.g., `latest`, `stable`, `v1.2.3`).","items":{"type":"string"}},"image_size":{"type":"integer","format":"int64","description":"The total size of the image in bytes, representing the compressed size of all layers. Larger images take longer to pull and deploy."},"base_image":{"type":"string","description":"The base image (foundation image) that this image was built from, as specified in the FROM instruction of the Dockerfile. Base images provide the foundational operating system and packages that other images build upon. Identifying the base image helps track inherited vulnerabilities."},"policy_status":{"type":"string","description":"The result of policy evaluation for this image. Policies define security and compliance rules that images must meet. `FAILED` indicates the image violated one or more policy rules, `SUCCESS` indicates compliance, and `NOT_EVALUATED` indicates no policy has been applied.","enum":["FAILED","SUCCESS","NOT_EVALUATED"]},"policy":{"type":"string","description":"The name or identifier of the security policy applied to evaluate this image. Policies can enforce rules about vulnerability severity thresholds, required packages, or compliance requirements."},"pipeline_name":{"type":"string","description":"The name of the CI/CD pipeline that built or processed this image. This helps track which build system produced the image and enables correlation with build processes."},"scan_source":{"type":"string","description":"The source system or scanner that performed the vulnerability scan on this image. Container Security supports both registry scanners and deployment scanners."},"pipeline_type":{"type":"string","description":"The type or category of CI/CD pipeline that produced this image (e.g., Jenkins, GitLab CI, GitHub Actions). This provides context about the build environment."}},"required":["asset_id","image_id"]}},"pagination":{"description":"Pagination metadata for navigating through large result sets.","$ref":"#/components/schemas/Images_Pagination"},"image_size_with_units":{"type":"string","description":"The size of the image expressed with its unit of measure. For example, `141.89 MB`."},"vulns_count":{"type":"integer","description":"The number of vulnerabilities detected in the image."}},"required":["items","pagination"]},"Layers_Field":{"description":"The available fields to return for a layer in the search results. Valid values include:\n\n* `layer_id` — The unique identifier for the layer.\n* `asset_id` — The unique identifier for the associated asset.\n* `asset_ids` — An array of unique identifiers for associated assets.\n* `package_ids` — An array of unique identifiers for packages in the layer.\n* `layer_index` — The index position of the layer.\n* `layer_indexes` — An array of index positions for the layer.\n* `info` — General information about the layer.\n* `size` — The size of the layer in bytes.\n* `digest` — The digest hash of the layer.\n* `vulns` — Vulnerability information for the layer.\n* `last_seen` — A timestamp indicating when the layer was last seen.\n* `created_at` — A timestamp indicating when the layer was created.\n* `images_count` — The number of images using this layer.\n* `packages_count` — The number of packages in the layer.\n* `registry_urls` — URLs for registries containing the layer.\n* `plugin_id` — The Tenable plugin identifier.\n* `plugin_finding_id` — The unique identifier for the plugin finding.\n* `vulns_count` — The total number of vulnerabilities.\n* `plugin_ids` — An array of Tenable plugin identifiers.\n* `risk_factor_number` — A numerical representation of the risk factor.\n* `layer_high_vulns_count` — The number of high severity vulnerabilities in the layer.\n* `layer_medium_vulns_count` — The number of medium severity vulnerabilities in the layer.\n* `layer_low_vulns_count` — The number of low severity vulnerabilities in the layer.\n* `layer_total_vulns_count` — The total number of vulnerabilities in the layer.\n* `layer_critical_vulns_count` — The number of critical severity vulnerabilities in the layer.","type":"string","enum":["layer_id","asset_id","asset_ids","package_ids","layer_index","layer_indexes","info","size","digest","vulns","last_seen","created_at","images_count","registry_urls","scan_sources","pipeline_types","registry_types","pipeline_names"]},"Layers_Operator":{"type":"string","description":"Specifies the comparison operator to apply when filtering search results. Use `eq` for exact equality matches, `neq` for not equal. For numeric comparisons, use `gt` (greater than), `gte` (greater than or equal), `lt` (less than), or `lte` (less than or equal). Use `exists` or `nexists` to check for field presence. For string matching, use `wc` (wildcard contains) or `nwc` (not wildcard contains) with asterisk (*) wildcards. Use `match` for pattern matching or `between` for range queries with two values.","enum":["eq","neq","gt","gte","lt","lte","exists","nexists","wc","nwc","match","between"]},"Layers_FilterValue":{"anyOf":[{"title":"Single String Value","type":"string"},{"title":"Multiple String Values","type":"array","items":{"type":"string"}},{"title":"Single Integer Value","type":"integer"},{"title":"Multiple Integer Values","type":"array","items":{"type":"integer"}},{"title":"Single Boolean Value","type":"boolean","enum":[true,false]}],"description":"Specifies the value to compare the given field to using the specified operator. Example value for a UUID: `05c82415-a320-4bf9-b5c0-236d72f0aaaa`","example":["05c82415-a320-4bf9-b5c0-236d72f0aaaa"]},"Layers_LayerFilterObject":{"type":"object","required":["property","operator"],"properties":{"property":{"description":"Specifies the layer field to filter on.","type":"string","enum":["layer_id","asset_id","asset_ids","package_ids","created_at","info","size","digest","vulns","packages_count","images_count","registry_urls","registry_type","plugin_id","cves","vpr_tvs","epss","vulns_count","risk_factor_number","plugin_id_filter","pipeline_names","pipeline_types","scan_source","cve","cluster_names"]},"operator":{"description":"Specifies the comparison operator to apply when filtering search results. Use `eq` for exact equality matches, `neq` for not equal. For numeric comparisons, use `gt` (greater than), `gte` (greater than or equal), `lt` (less than), or `lte` (less than or equal). Use `exists` or `nexists` to check for field presence. For string matching, use `wc` (wildcard contains) or `nwc` (not wildcard contains) with asterisk (*) wildcards. Use `match` for pattern matching or `between` for range queries with two values.","$ref":"#/components/schemas/Layers_Operator"},"value":{"description":"Specifies the value to compare against using the specified operator.","$ref":"#/components/schemas/Layers_FilterValue"}}},"Layers_LayerFilter":{"description":"Specifies filters to apply to the layer search. The filters can be combined using logical operators `and`, `or`, or `not`.","oneOf":[{"$ref":"#/components/schemas/Layers_LayerFilterObject"},{"title":"AND","type":"object","required":["and"],"properties":{"and":{"type":"array","description":"Specifies an array of filter conditions that must all be true.","items":{"$ref":"#/components/schemas/Layers_LayerFilter"}}}},{"title":"OR","type":"object","required":["or"],"properties":{"or":{"type":"array","description":"Specifies an array of filter conditions where at least one must be true.","items":{"$ref":"#/components/schemas/Layers_LayerFilter"}}}},{"title":"NOT","type":"object","required":["not"],"properties":{"not":{"description":"Specifies a filter condition that must be false.","$ref":"#/components/schemas/Layers_LayerFilter"}}}]},"Layers_Sort":{"type":"object","properties":{"property":{"description":"Specifies the field to use for sorting the layers.","$ref":"#/components/schemas/Layers_Field","example":"timeline.discovery_date"},"order":{"type":"string","description":"Specifies the sort order. Valid values include:\n\n* `asc` — Ascending order.\n* `desc` — Descending order.","enum":["desc","asc"],"example":"desc"}}},"Layers_SearchRequest":{"description":"Search criteria for layers.","type":"object","properties":{"fields":{"type":"array","description":"Specifies additional fields to return in the search results. Every response includes a default set of fields; the fields you specify here are returned in addition to that set.","items":{"$ref":"#/components/schemas/Layers_Field"}},"filter":{"description":"Specifies filter criteria to narrow the search results to layers matching specific conditions.","$ref":"#/components/schemas/Layers_LayerFilter"},"limit":{"type":"number","description":"Specifies the maximum number of results to return per page."},"next":{"type":["string","null"],"description":"Specifies the pagination token for retrieving the next page of results."},"sort":{"type":"array","description":"Specifies the sort criteria for the search results.","items":{"$ref":"#/components/schemas/Layers_Sort"}}}},"Layers_Severity":{"description":"A breakdown of vulnerability counts by severity level for an image, package, or layer. This provides a quick overview of the security risk profile by categorizing vulnerabilities into standard severity levels.","type":"object","properties":{"CRITICAL":{"type":"number","description":"The count of critical severity vulnerabilities. Critical vulnerabilities pose an immediate and severe risk, typically allowing remote code execution or complete system compromise. These should be addressed urgently."},"HIGH":{"type":"number","description":"The count of high severity vulnerabilities. High severity vulnerabilities represent significant security risks that could lead to substantial information disclosure, privilege escalation, or denial of service. These should be prioritized for remediation."},"INFO":{"type":"number","description":"The count of informational findings. These are security-related observations that don't represent active vulnerabilities but may indicate security best practice violations or potential hardening opportunities."},"LOW":{"type":"number","description":"The count of low severity vulnerabilities. Low severity vulnerabilities have minimal security impact and typically require additional conditions or local access to exploit. These should be addressed as part of regular maintenance."},"MEDIUM":{"type":"number","description":"The count of medium severity vulnerabilities. Medium severity vulnerabilities represent moderate security risks that could potentially be exploited under certain conditions. These should be addressed in a timely manner."}}},"Layers_Layer":{"description":"A container image layer. Container images are built from multiple layers stacked together, where each layer represents a set of filesystem changes from a Dockerfile instruction (e.g., RUN, COPY, ADD). Layers are immutable and can be shared across multiple images, making them efficient for storage but also meaning that vulnerabilities in a layer affect all images using it.","type":"object","properties":{"layer_id":{"type":"string","format":"uuid","description":"The unique identifier (UUID) for the layer in Container Security. This ID is used to track the layer across different images and scans."},"asset_id":{"type":"string","format":"uuid","description":"The unique identifier (UUID) of a specific image asset that contains this layer. This links the layer to a particular image."},"asset_ids":{"type":"array","description":"An array of unique identifiers (UUIDs) for all images that include this layer. Since layers are shared across images, this shows the blast radius when a layer contains vulnerabilities.","items":{"type":"string","format":"uuid"}},"package_ids":{"type":"array","description":"An array of unique identifiers (UUIDs) for software packages that were added or modified by this layer. This helps identify which layer introduced specific dependencies and their associated vulnerabilities.","items":{"type":"string","format":"uuid"}},"images_count":{"type":"number","description":"The count of distinct images that share this layer. High counts indicate the layer is widely reused, meaning vulnerabilities in it affect many images."},"registry_urls":{"type":"array","description":"An array of container registry URLs where images containing this layer are stored. This shows where the layer is distributed across your infrastructure.","items":{"type":"string"}},"layer_index":{"type":"number","description":"The position of this layer in the image's layer stack, starting from 0 for the base layer. Lower-indexed layers represent earlier build steps in the Dockerfile."},"layer_indexes":{"type":"array","description":"An array of positions where this layer appears across different images. Since layers can be reused, they may appear at different positions in different image builds.","items":{"type":"number"}},"info":{"type":"string","description":"Descriptive information about the layer, often including the Dockerfile command that created it (e.g., `RUN apt-get update && apt-get install -y curl`). This context helps understand what the layer does and why it was added."},"size":{"type":"integer","format":"int64","description":"The size of the layer in bytes. Layer size contributes to overall image size, affecting pull times and storage costs. Large layers may indicate opportunities for optimization."},"digest":{"type":"string","description":"The SHA256 digest hash that uniquely identifies this layer's content. Unlike the layer_id, the digest is content-addressable and immutable, ensuring the same digest always represents the exact same filesystem changes."},"vulns":{"$ref":"#/components/schemas/Layers_Severity"},"last_seen":{"type":"string","format":"date-time","description":"A timestamp in ISO 8601 format indicating when this layer was most recently detected in a scan. This helps identify whether the layer is still in active use or has been deprecated."},"created_at":{"type":"string","format":"date-time","description":"A timestamp in ISO 8601 format indicating when the layer was first created or built. This is typically the timestamp from when the Dockerfile instruction that created this layer was executed during image build."},"vulns_count":{"type":"integer","description":"The number of vulnerabilities detected in the layer."},"scan_sources":{"type":"array","description":"An array of the sources that scanned the images containing this layer. For example, `REGISTRY_IMAGE`.","items":{"type":["string","null"]}},"registry_types":{"type":"array","description":"An array of the types of container registry that store the images containing this layer. For example, `JFROG`.","items":{"type":["string","null"]}},"pipeline_types":{"type":"array","description":"An array of the CI/CD pipeline types that produced the images containing this layer. An element is `null` when the image did not come from a pipeline.","items":{"type":["string","null"]}},"pipeline_names":{"type":"array","description":"An array of the names of the CI/CD pipelines that produced the images containing this layer. An element is `null` when the image did not come from a pipeline.","items":{"type":["string","null"]}}},"required":["layer_id"]},"Layers_Pagination":{"description":"Pagination metadata for navigating through large search result sets. When search results exceed the page size limit, use the pagination information to retrieve additional pages of data.","type":"object","properties":{"total":{"type":["number","null"],"description":"The total number of results matching the search criteria. This value is `null` when the result count is too large to calculate exactly, in which case `total_exceeds` is set instead."},"total_exceeds":{"type":["number","null"],"description":"The threshold that the result count exceeds. This value is set only when the result count is too large to calculate exactly, in which case `total` is `null`."},"next":{"type":["string","null"],"description":"An opaque continuation token for retrieving the next page of results. Include this token in your subsequent request to fetch the next page. If this field is absent or empty, you have reached the last page of results."}}},"Layers_SearchResponse":{"description":"The search results from the layer search.","type":"object","properties":{"items":{"type":"array","description":"An array of layer objects matching the search criteria.","items":{"$ref":"#/components/schemas/Layers_Layer"}},"pagination":{"description":"Pagination metadata for navigating through large result sets.","$ref":"#/components/schemas/Layers_Pagination"}},"required":["items","pagination"]},"Packages_Field":{"description":"Specifies the available fields to return for a package in the search results.","type":"string","enum":["package_id","name","version","type","last_seen","vulns","layer_ids","asset_ids","registry_urls","images_count","fix_versions","scan_sources","pipeline_types","registry_types","pipeline_names"]},"Packages_Operator":{"type":"string","description":"Specifies the comparison operator to apply when filtering search results. Use `eq` for exact equality matches, `neq` for not equal. For numeric comparisons, use `gt` (greater than), `gte` (greater than or equal), `lt` (less than), or `lte` (less than or equal). Use `exists` or `nexists` to check for field presence. For string matching, use `wc` (wildcard contains) or `nwc` (not wildcard contains) with asterisk (*) wildcards. Use `match` for pattern matching or `between` for range queries with two values.","enum":["eq","neq","gt","gte","lt","lte","exists","nexists","wc","nwc","match","between"]},"Packages_FilterValue":{"anyOf":[{"title":"Single String Value","type":"string"},{"title":"Multiple String Values","type":"array","items":{"type":"string"}},{"title":"Single Integer Value","type":"integer"},{"title":"Multiple Integer Values","type":"array","items":{"type":"integer"}},{"title":"Single Boolean Value","type":"boolean","enum":[true,false]}],"description":"Specifies the value to compare the given field to using the specified operator. Example value for a UUID: `05c82415-a320-4bf9-b5c0-236d72f0aaaa`","example":["05c82415-a320-4bf9-b5c0-236d72f0aaaa"]},"Packages_PackageFilterObject":{"type":"object","required":["property","operator"],"properties":{"property":{"description":"Specifies the package field to filter on.","type":"string","enum":["package_id","name","version","type","last_seen","vulns","layer_ids","asset_ids","registry_url","registry_type","images_count","plugin_id","asset_id","plugin_ids","cves","vpr_tvs","epss","layer_id","base_image","vulns_count","pipeline_names","pipeline_types","scan_source","cluster_names"]},"operator":{"description":"Specifies the comparison operator to apply when filtering search results. Use `eq` for exact equality matches, `neq` for not equal. For numeric comparisons, use `gt` (greater than), `gte` (greater than or equal), `lt` (less than), or `lte` (less than or equal). Use `exists` or `nexists` to check for field presence. For string matching, use `wc` (wildcard contains) or `nwc` (not wildcard contains) with asterisk (*) wildcards. Use `match` for pattern matching or `between` for range queries with two values.","$ref":"#/components/schemas/Packages_Operator"},"value":{"description":"Specifies the value to compare against using the specified operator.","$ref":"#/components/schemas/Packages_FilterValue"}}},"Packages_PackageFilter":{"description":"Specifies filters to apply to the Package search. The filters can be used within an `and` object or an `or` object or a `not`.","oneOf":[{"$ref":"#/components/schemas/Packages_PackageFilterObject"},{"title":"AND","type":"object","required":["and"],"properties":{"and":{"type":"array","description":"Specifies an array of filter conditions that must all be true.","items":{"$ref":"#/components/schemas/Packages_PackageFilter"}}}},{"title":"OR","type":"object","required":["or"],"properties":{"or":{"type":"array","description":"Specifies an array of filter conditions where at least one must be true.","items":{"$ref":"#/components/schemas/Packages_PackageFilter"}}}},{"title":"NOT","type":"object","required":["not"],"properties":{"not":{"description":"Specifies a filter condition that must be false.","$ref":"#/components/schemas/Packages_PackageFilter"}}}]},"Packages_Sort":{"type":"object","properties":{"property":{"description":"Specifies the field you want to use to sort the packages by.","$ref":"#/components/schemas/Packages_Field","example":"timeline.discovery_date"},"order":{"type":"string","description":"Specifies the order you want to sort the property by.","enum":["desc","asc"],"example":"desc"}}},"Packages_SearchRequest":{"description":"Specifies the search criteria for packages.","type":"object","properties":{"fields":{"type":"array","description":"Specifies additional fields to return in the search results. Every response includes a default set of fields; the fields you specify here are returned in addition to that set.","items":{"$ref":"#/components/schemas/Packages_Field"}},"filter":{"description":"Specifies filter criteria to narrow the search results to packages matching specific conditions.","$ref":"#/components/schemas/Packages_PackageFilter"},"limit":{"type":"number","description":"Specifies the maximum number of results to return."},"next":{"type":["string","null"],"description":"Specifies the pagination token for retrieving the next set of results."},"sort":{"type":"array","description":"Specifies the sort order for the results.","items":{"$ref":"#/components/schemas/Packages_Sort"}}}},"Packages_Severity":{"description":"A breakdown of vulnerability counts by severity level for an image, package, or layer. This provides a quick overview of the security risk profile by categorizing vulnerabilities into standard severity levels.","type":"object","properties":{"CRITICAL":{"type":"number","description":"The count of critical severity vulnerabilities. Critical vulnerabilities pose an immediate and severe risk, typically allowing remote code execution or complete system compromise. These should be addressed urgently."},"HIGH":{"type":"number","description":"The count of high severity vulnerabilities. High severity vulnerabilities represent significant security risks that could lead to substantial information disclosure, privilege escalation, or denial of service. These should be prioritized for remediation."},"INFO":{"type":"number","description":"The count of informational findings. These are security-related observations that don't represent active vulnerabilities but may indicate security best practice violations or potential hardening opportunities."},"LOW":{"type":"number","description":"The count of low severity vulnerabilities. Low severity vulnerabilities have minimal security impact and typically require additional conditions or local access to exploit. These should be addressed as part of regular maintenance."},"MEDIUM":{"type":"number","description":"The count of medium severity vulnerabilities. Medium severity vulnerabilities represent moderate security risks that could potentially be exploited under certain conditions. These should be addressed in a timely manner."}}},"Packages_Package":{"description":"A software package installed in container images. Packages are the individual software components, libraries, and dependencies that comprise the image's functionality. Container Security scans packages to identify known vulnerabilities and assess the security posture of images.","type":"object","properties":{"package_id":{"type":"string","description":"The unique identifier for the package within Container Security. This ID is used to track the package across different images, layers, and scans."},"name":{"type":"string","description":"The name of the software package as identified by the package manager (e.g., `openssl`, `curl`, `python3`). This is the package name used by the distribution's package management system."},"version":{"type":"string","description":"The version string of the package (e.g., '1.2.3', '2.0.1-4ubuntu1'). Package versions are critical for vulnerability detection, as vulnerabilities typically affect specific version ranges."},"type":{"type":"string","description":"The package manager or ecosystem type (e.g., `deb` for Debian packages, `rpm` for Red Hat packages, `npm` for Node.js, `pip` for Python). This indicates how the package was installed and which vulnerability databases to check."},"last_seen":{"type":"string","format":"date-time","description":"A timestamp in ISO 8601 format indicating when this package was most recently detected in a scan. This helps identify whether the package is still in active use across your image inventory."},"vulns":{"$ref":"#/components/schemas/Packages_Severity"},"layer_ids":{"type":"array","description":"An array of layer identifiers where this package was installed. This shows which image layers introduced this package and helps trace packages back to specific Dockerfile instructions.","items":{"type":"string"}},"asset_ids":{"type":"array","description":"An array of image asset identifiers (UUIDs) that contain this package. This shows the blast radius of package vulnerabilities across your image inventory.","items":{"type":"string"}},"images_count":{"type":"number","description":"The count of distinct images that contain this package. High counts indicate the package is widely used, meaning vulnerabilities in it affect many images and require coordinated remediation efforts."},"registry_urls":{"type":"array","description":"An array of container registry URLs where images containing this package are stored. This shows where vulnerable instances of the package are distributed across your infrastructure.","items":{"type":"string"}},"pipeline_types":{"type":"array","description":"An array of container pipeline types where images containing this package are stored. This shows where vulnerable instances of the package are distributed across your infrastructure.","items":{"type":"string"}},"pipeline_names":{"type":"array","description":"An array of container pipeline names where images containing this package are stored. This shows where vulnerable instances of the package are distributed across your infrastructure.","items":{"type":"string"}},"fix_versions":{"type":"array","description":"An array of objects containing a fix version for the vulnerable package where available.","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the package that the fix applies to."},"version":{"type":"string","description":"The version of the package currently installed."},"fixed_version":{"type":"string","description":"The version of the package that resolves the vulnerabilities."},"cves":{"type":"string","description":"The CVEs resolved by the fixed version, as a comma-separated list enclosed in brackets. For example, `[CVE-2022-22822, CVE-2022-22823]`."}}}},"vulns_count":{"type":"integer","description":"The number of vulnerabilities detected in the package."},"scan_sources":{"type":"array","description":"An array of the sources that scanned the images containing this package. For example, `REGISTRY_IMAGE`.","items":{"type":["string","null"]}},"registry_types":{"type":"array","description":"An array of the types of container registry that store the images containing this package. For example, `HARBOR`.","items":{"type":["string","null"]}}},"required":["package_id"]},"Packages_Pagination":{"description":"Pagination metadata for navigating through large search result sets. When search results exceed the page size limit, use the pagination information to retrieve additional pages of data.","type":"object","properties":{"total":{"type":["number","null"],"description":"The total number of results matching the search criteria. This value is `null` when the result count is too large to calculate exactly, in which case `total_exceeds` is set instead."},"total_exceeds":{"type":["number","null"],"description":"The threshold that the result count exceeds. This value is set only when the result count is too large to calculate exactly, in which case `total` is `null`."},"next":{"type":["string","null"],"description":"An opaque continuation token for retrieving the next page of results. Include this token in your subsequent request to fetch the next page. If this field is absent or empty, you have reached the last page of results."}}},"Packages_SearchResponse":{"description":"The search result from the package search.","type":"object","properties":{"items":{"type":"array","description":"An array of package objects matching the search criteria.","items":{"$ref":"#/components/schemas/Packages_Package"}},"pagination":{"description":"Pagination metadata for navigating through large result sets.","$ref":"#/components/schemas/Packages_Pagination"}},"required":["items","pagination"]},"Queries_QueryTypeResponse":{"type":"object","properties":{"types":{"type":"array","description":"An array of available query types.","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the query type."}}}}}},"Queries_PropertyOperatorDefinition":{"type":"object","properties":{"name":{"type":"string","description":"The name of the operator."},"type":{"type":"string","description":"The data type that the operator operates on."},"format":{"type":"string","description":"The format specification for the operator's expected value."},"pattern":{"type":"string","description":"The regular expression pattern that values must match for this operator."}},"required":["name","type"]},"Queries_PropertyDefinition":{"type":"object","properties":{"name":{"type":"string","description":"The name of the property."},"type":{"type":"string","description":"The data type of the property."},"format":{"type":"string","description":"The format specification for the property's value."},"sortable":{"type":"boolean","description":"A value indicating whether the property supports sorting (true) or not (false)."},"operators":{"type":"array","description":"An array of operators that can be applied to this property.","items":{"$ref":"#/components/schemas/Queries_PropertyOperatorDefinition"}}},"required":["name","type","operators"]},"Queries_PropertyAliasDefinition":{"type":"object","properties":{"name":{"type":"string","description":"The name of the property alias."},"properties":{"type":"array","description":"An array of property names that this alias represents.","items":{"type":"string"}}},"required":["name","properties"]},"Queries_TypeDetail":{"type":"object","properties":{"name":{"type":"string","description":"The name of the query type."},"properties":{"type":"array","description":"An array of property definitions available for this query type.","items":{"$ref":"#/components/schemas/Queries_PropertyDefinition"}},"aliases":{"type":"array","description":"An array of property aliases defined for this query type.","items":{"$ref":"#/components/schemas/Queries_PropertyAliasDefinition"}}},"required":["name"]},"Scanners_CreateScannerRequest":{"type":"object","properties":{"name":{"type":"string","description":"Specifies the name of the scanner."},"cluster_name":{"type":"string","description":"Specifies the name of the cluster."},"scanner_type":{"$ref":"#/components/schemas/Scanners_ScannerType"},"description":{"type":"string","description":"Specifies the description of the scanner."},"platform":{"type":"string","description":"Specifies the platform for the scanner.","enum":["DARWIN_AMD64","DARWIN_ARM64","LINUX_AMD64","LINUX_ARM64","WINDOWS_AMD64"]}},"required":["name"]},"Scanners_ServiceFailure":{"type":"object","properties":{"error_code":{"type":"integer","format":"int32","description":"The error code."},"error_message":{"type":"string","description":"The error message."},"description":{"type":"string","description":"The error description."}},"required":["error_message","description"]},"Scanners_UpsertScannerResponse":{"type":"object","properties":{"scanner_id":{"type":"string","format":"uuid","description":"The unique identifier (UUID) of the scanner."},"name":{"type":"string","description":"The name of the scanner."},"cluster_name":{"type":"string","description":"The name of the cluster."},"scanner_type":{"$ref":"#/components/schemas/Scanners_ScannerType"},"description":{"type":"string","description":"The description of the scanner."},"platform":{"type":"string","description":"The platform of the scanner."},"version":{"type":"string","description":"The version of the scanner."},"expiration_date":{"type":"string","description":"A timestamp in ISO 8601 format indicating when the scanner expires."},"token":{"type":"string","description":"The authentication token for the scanner."}},"required":["scanner_id","name","platform","version","expiration_date","token"]},"Scanners_UpdateScannerRequest":{"type":"object","properties":{"name":{"type":"string","description":"Specifies the name of the scanner."},"description":{"type":"string","description":"Specifies the description of the scanner."},"update_expiration":{"type":"boolean","description":"Specifies whether to update the expiration date."},"update_version":{"type":"boolean","description":"Specifies whether to update the version."}}},"Scanners_ListScanJobId":{"type":"object","properties":{"scan_ids":{"type":"array","description":"An array of scan identifiers (UUIDs).","items":{"type":"string","format":"uuid"}}},"required":["scan_ids"]},"Scanners_ScannerType":{"type":"string","enum":["CONSEC_SCANNER","DEPLOYMENT_ASSESSMENT_SCANNER"]},"Scanners_Field":{"description":"The available fields to return for a scanner in the search results.","type":"string","enum":["scanner_id","user_id","name","platform","version","token","description","expiration_date","created_at","updated_at","last_seen","deleted","status","scanner_type","cluster_name"]},"Scanners_Operator":{"type":"string","description":"Specifies the comparison operator to apply when filtering search results. Use `eq` for exact equality matches, `neq` for not equal. For numeric comparisons, use `gt` (greater than), `gte` (greater than or equal), `lt` (less than), or `lte` (less than or equal). Use `exists` or `nexists` to check for field presence. For string matching, use `wc` (wildcard contains) or `nwc` (not wildcard contains) with asterisk (*) wildcards. Use `match` for pattern matching or `between` for range queries with two values.","enum":["eq","neq","gt","gte","lt","lte","exists","nexists","wc","nwc","match","between"]},"Scanners_FilterValue":{"anyOf":[{"title":"Single String Value","type":"string"},{"title":"Multiple String Values","type":"array","items":{"type":"string"}},{"title":"Single Integer Value","type":"integer"},{"title":"Multiple Integer Values","type":"array","items":{"type":"integer"}},{"title":"Single Boolean Value","type":"boolean","enum":[true,false]}],"description":"Specifies the value to compare the given field to using the specified operator. Example value for a UUID: `05c82415-a320-4bf9-b5c0-236d72f0aaaa`","example":["05c82415-a320-4bf9-b5c0-236d72f0aaaa"]},"Scanners_ScannerFilterObject":{"type":"object","required":["property","operator"],"properties":{"property":{"description":"Specifies the scanner field to filter on.","type":"string","enum":["scanner_id","name","description","platform","version","expiration_date","updated_at","status","last_seen","scanner_type","cluster_name"]},"operator":{"description":"Specifies the comparison operator to apply when filtering search results. Use `eq` for exact equality matches, `neq` for not equal. For numeric comparisons, use `gt` (greater than), `gte` (greater than or equal), `lt` (less than), or `lte` (less than or equal). Use `exists` or `nexists` to check for field presence. For string matching, use `wc` (wildcard contains) or `nwc` (not wildcard contains) with asterisk (*) wildcards. Use `match` for pattern matching or `between` for range queries with two values.","$ref":"#/components/schemas/Scanners_Operator"},"value":{"description":"Specifies the value to compare against using the specified operator.","$ref":"#/components/schemas/Scanners_FilterValue"}}},"Scanners_ScannerFilter":{"description":"Specifies filters to apply to the Scanner search. The filters can be used within an `and` object or an `or` object or a `not`.","oneOf":[{"$ref":"#/components/schemas/Scanners_ScannerFilterObject"},{"title":"AND","type":"object","required":["and"],"properties":{"and":{"type":"array","description":"Specifies an array of filter conditions that must all be true.","items":{"$ref":"#/components/schemas/Scanners_ScannerFilter"}}}},{"title":"OR","type":"object","required":["or"],"properties":{"or":{"type":"array","description":"Specifies an array of filter conditions where at least one must be true.","items":{"$ref":"#/components/schemas/Scanners_ScannerFilter"}}}},{"title":"NOT","type":"object","required":["not"],"properties":{"not":{"description":"Specifies a filter condition that must be false.","$ref":"#/components/schemas/Scanners_ScannerFilter"}}}]},"Scanners_Sort":{"type":"object","properties":{"property":{"description":"Specifies the field to use for sorting the scanners.","$ref":"#/components/schemas/Scanners_Field","example":"timeline.discovery_date"},"order":{"type":"string","description":"Specifies the sort order for the property.","enum":["desc","asc"],"example":"desc"}}},"Scanners_SearchRequest":{"description":"Search criteria for scanners","type":"object","properties":{"fields":{"type":"array","description":"Specifies additional fields to return in the search results. Every response includes a default set of fields; the fields you specify here are returned in addition to that set.","items":{"$ref":"#/components/schemas/Scanners_Field"}},"filter":{"description":"Specifies filter criteria to narrow the search results to scanners matching specific conditions.","$ref":"#/components/schemas/Scanners_ScannerFilter"},"limit":{"type":"number","description":"Specifies the maximum number of results to return."},"next":{"type":["string","null"],"description":"Specifies the pagination token for retrieving the next page of results."},"sort":{"type":"array","description":"Specifies the sorting criteria for the results.","items":{"$ref":"#/components/schemas/Scanners_Sort"}}}},"Scanners_Pagination":{"description":"Pagination metadata for navigating through large search result sets. When search results exceed the page size limit, use the pagination information to retrieve additional pages of data.","type":"object","properties":{"total":{"type":["number","null"],"description":"The total number of results matching the search criteria. This value is `null` when the result count is too large to calculate exactly, in which case `total_exceeds` is set instead."},"total_exceeds":{"type":["number","null"],"description":"The threshold that the result count exceeds. This value is set only when the result count is too large to calculate exactly, in which case `total` is `null`."},"next":{"type":["string","null"],"description":"An opaque continuation token for retrieving the next page of results. Include this token in your subsequent request to fetch the next page. If this field is absent or empty, you have reached the last page of results."}}},"Scanners_SearchResponse":{"description":"The search result from the scanner search.","type":"object","properties":{"items":{"type":"array","description":"An array of scanner objects matching the search criteria.","items":{"description":"A Container Security scanner that performs vulnerability and malware scanning on container images. Scanners can scan images securely within your organization's network without sending image content outside your environment. There are two types: registry scanners that scan images in container registries, and deployment scanners that assess images running in Kubernetes clusters.","type":"object","properties":{"scanner_id":{"type":"string","format":"uuid","description":"The unique identifier (UUID) of the scanner. This ID is used to track scanner activity and associate scans with specific scanner instances."},"user_id":{"type":"string","description":"The unique identifier of the user who created and configured the scanner. This tracks scanner ownership and management responsibility."},"name":{"type":"string","description":"The human-readable name assigned to the scanner. This helps identify the scanner's purpose or location (e.g., `Production Registry Scanner`, `Dev Cluster Scanner`)."},"description":{"type":"string","description":"A detailed description of the scanner's purpose, location, or configuration. This provides additional context about what the scanner monitors and why it was deployed."},"ip_address":{"type":"string","description":"The IP address of the system where the scanner is deployed. This helps identify the scanner's network location and troubleshoot connectivity issues."},"platform":{"type":"string","description":"The operating system and CPU architecture where the scanner is running. This determines which scanner binary to use for deployment and updates.","enum":["DARWIN_AMD64","DARWIN_ARM64","LINUX_AMD64","LINUX_ARM64","WINDOWS_AMD64"]},"status":{"type":"string","description":"The current operational status of the scanner. `online` indicates the scanner is actively connected and can perform scans, while `offline` means the scanner is not currently reachable.","enum":["online","offline"]},"version":{"type":"string","description":"The version number of the scanner software currently installed. Keeping scanners updated ensures access to the latest vulnerability detection capabilities and security improvements."},"token":{"type":"string","description":"The authentication token that allows the scanner to securely communicate with Container Security. This token should be kept confidential and rotated regularly for security."},"expiration_date":{"type":"string","description":"A timestamp in ISO 8601 format indicating when the scanner's authentication token expires. Expired tokens must be regenerated to restore scanner functionality."},"created_at":{"type":"string","description":"A timestamp in ISO 8601 format indicating when the scanner was initially created and registered with Container Security. This helps track scanner lifecycle and age."},"updated_at":{"type":"string","description":"A timestamp in ISO 8601 format indicating when the scanner configuration or metadata was last modified. This tracks changes to scanner settings or upgrades."},"last_seen":{"type":"string","description":"A timestamp in ISO 8601 format indicating when the scanner last communicated with Container Security. This helps identify inactive or disconnected scanners that may need attention."},"deleted":{"type":"boolean","description":"A value indicating whether the scanner has been marked for deletion (true) or is active (false). Deleted scanners are retained for historical data but no longer perform scans."},"connection_status":{"type":"string","description":"The current connection status between the scanner and Container Security. `Online` indicates active connectivity, while `Offline` indicates the scanner cannot be reached.","enum":["Online","Offline"]},"scanner_type":{"type":"string","description":"The type of scanner deployment. `CONSEC_SCANNER` is a registry scanner that scans images stored in container registries as they are built. `DEPLOYMENT_ASSESSMENT_SCANNER` monitors and scans images running in Kubernetes clusters to assess what is actually deployed.","enum":["CONSEC_SCANNER","DEPLOYMENT_ASSESSMENT_SCANNER"]},"cluster_name":{"type":"string","description":"The name of the Kubernetes cluster where this scanner is deployed (applies to deployment scanners). This helps identify which cluster's running containers are being assessed."}},"required":["scanner_id","user_id","name","token","description","status","expiration_date","created_at","updated_at","last_seen"]}},"pagination":{"description":"Pagination metadata for navigating through large result sets.","$ref":"#/components/schemas/Scanners_Pagination"}},"required":["items","pagination"]},"Scans_UpsertScanConfigurationRequest":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Specifies the unique identifier (UUID) of the scan."},"scanner_id":{"type":"string","format":"uuid","description":"Specifies the unique identifier (UUID) of the scanner."},"name":{"type":"string","description":"Specifies the name of the scan."},"registry_url":{"type":"string","description":"Specifies the URL of the registry."},"registry_type":{"type":"string","description":"Specifies the type of registry."},"user_name":{"type":"string","description":"Specifies the username for registry authentication."},"password":{"type":"string","description":"Specifies the password for registry authentication."},"schedule":{"$ref":"#/components/schemas/Scans_Schedule"}},"required":["scanner_id","name","registry_url","registry_type"]},"Scans_Unit":{"type":"object","properties":{}},"Scans_ServiceFailure":{"type":"object","properties":{"errorCode":{"type":"integer","format":"int32","description":"The error code."},"errorMessage":{"type":"string","description":"The error message."},"description":{"type":"string","description":"The error description."}},"required":["errorMessage","description"]},"Scans_ScanConfigurationResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique identifier (UUID) of the scan."},"scanner_id":{"type":"string","format":"uuid","description":"The unique identifier (UUID) of the scanner."},"name":{"type":"string","description":"The name of the scan."},"registry_url":{"type":"string","description":"The URL of the registry."},"registry_type":{"type":"string","description":"The type of registry."},"user_name":{"type":"string","description":"The username for registry authentication."},"schedule":{"$ref":"#/components/schemas/Scans_Schedule"}},"required":["id","scanner_id","name","registry_url","registry_type"]},"Scans_Schedule":{"description":"The schedule configuration for automated scanning operations. This defines when and how often Container Security performs scans on your container images.","type":"object","properties":{"start_at":{"type":"string","description":"A timestamp in ISO 8601 format indicating when the scheduled scan should start. This sets the initial execution time for the scan schedule."},"time":{"type":"string","format":"partial-time","description":"The time of day when the scan should execute, in partial-time format (HH:MM:SS). This is used in conjunction with the frequency to determine recurring execution times."},"time_zone":{"type":"string","description":"The time zone for the scheduled scan time, specified in IANA Time Zone Database format (e.g., `America/New_York`, `UTC`). This ensures scans execute at the correct local time."},"frequency":{"type":"string","description":"How often the scan should repeat. Use `once` for a single execution, `none` to disable the schedule, or specify a recurring interval.","enum":["once","daily","weekly","monthly","none"]},"repeat":{"type":"integer","description":"The interval at which the scan repeats based on the frequency setting. For example, with `daily` frequency, a value of 2 means the scan runs every 2 days."},"repeat_on":{"type":"array","description":"An array of specific days or dates when the scan should execute, depending on the frequency. For weekly frequency, values represent days of the week (0=Sunday, 6=Saturday). For monthly frequency, values represent days of the month (1-31).","items":{"type":"integer","format":"int32"}}},"required":["start_at","time","time_zone","frequency"]},"Scans_Field":{"description":"The available fields to return for a scan in the search results.","type":"string","enum":["id","name","scanner_id","registry_url","registry_type","scanner_name","created_at","updated_at","scan_status","last_started","last_completed","schedule_start_at","schedule_time","schedule_time_zone","schedule_frequency","schedule_repeat","schedule_repeat_on","deleted","scan_status_description","registry_type_description","next_execution_time"]},"Scans_Operator":{"type":"string","description":"Specifies the comparison operator to apply when filtering search results. Use `eq` for exact equality matches, `neq` for not equal. For numeric comparisons, use `gt` (greater than), `gte` (greater than or equal), `lt` (less than), or `lte` (less than or equal). Use `exists` or `nexists` to check for field presence. For string matching, use `wc` (wildcard contains) or `nwc` (not wildcard contains) with asterisk (*) wildcards. Use `match` for pattern matching or `between` for range queries with two values.","enum":["eq","neq","gt","gte","lt","lte","exists","nexists","wc","nwc","match","between"]},"Scans_FilterValue":{"anyOf":[{"title":"Single String Value","type":"string"},{"title":"Multiple String Values","type":"array","items":{"type":"string"}},{"title":"Single Integer Value","type":"integer"},{"title":"Multiple Integer Values","type":"array","items":{"type":"integer"}},{"title":"Single Boolean Value","type":"boolean","enum":[true,false]}],"description":"Specifies the value to compare the given field to using the specified operator. Example value for a UUID: `05c82415-a320-4bf9-b5c0-236d72f0aaaa`","example":["05c82415-a320-4bf9-b5c0-236d72f0aaaa"]},"Scans_ScanFilterObject":{"type":"object","required":["property","operator"],"properties":{"property":{"description":"Specifies the scan field to filter on.","type":"string","enum":["name","scanner_name","registry_type","registry_url","last_started","last_completed","scan_status"]},"operator":{"description":"Specifies the comparison operator to apply when filtering search results. Use `eq` for exact equality matches, `neq` for not equal. For numeric comparisons, use `gt` (greater than), `gte` (greater than or equal), `lt` (less than), or `lte` (less than or equal). Use `exists` or `nexists` to check for field presence. For string matching, use `wc` (wildcard contains) or `nwc` (not wildcard contains) with asterisk (*) wildcards. Use `match` for pattern matching or `between` for range queries with two values.","$ref":"#/components/schemas/Scans_Operator"},"value":{"description":"Specifies the value to compare against using the specified operator.","$ref":"#/components/schemas/Scans_FilterValue"}}},"Scans_ScanFilter":{"description":"Specifies filters to apply to the Scan search. The filters can be used within an `and` object or an `or` object or a `not`.","oneOf":[{"$ref":"#/components/schemas/Scans_ScanFilterObject"},{"title":"AND","type":"object","required":["and"],"properties":{"and":{"type":"array","description":"Specifies an array of filter conditions that must all be true.","items":{"$ref":"#/components/schemas/Scans_ScanFilter"}}}},{"title":"OR","type":"object","required":["or"],"properties":{"or":{"type":"array","description":"Specifies an array of filter conditions where at least one must be true.","items":{"$ref":"#/components/schemas/Scans_ScanFilter"}}}},{"title":"NOT","type":"object","required":["not"],"properties":{"not":{"description":"Specifies a filter condition that must be false.","$ref":"#/components/schemas/Scans_ScanFilter"}}}]},"Scans_Sort":{"type":"object","properties":{"property":{"description":"Specifies the field to use for sorting the scans.","$ref":"#/components/schemas/Scans_Field","example":"timeline.discovery_date"},"order":{"type":"string","description":"Specifies the sort order for the property.","enum":["desc","asc"],"example":"desc"}}},"Scans_SearchRequest":{"description":"Search criteria for scans","type":"object","properties":{"fields":{"type":"array","description":"Specifies additional fields to return in the search results. Every response includes a default set of fields; the fields you specify here are returned in addition to that set.","items":{"$ref":"#/components/schemas/Scans_Field"}},"filter":{"description":"Specifies filter criteria to narrow the search results to scans matching specific conditions.","$ref":"#/components/schemas/Scans_ScanFilter"},"limit":{"type":"number","description":"Specifies the maximum number of results to return."},"next":{"type":["string","null"],"description":"Specifies the pagination token for retrieving the next page of results."},"sort":{"type":"array","description":"Specifies the sorting criteria for the results.","items":{"$ref":"#/components/schemas/Scans_Sort"}}}},"Scans_Pagination":{"description":"Pagination metadata for navigating through large search result sets. When search results exceed the page size limit, use the pagination information to retrieve additional pages of data.","type":"object","properties":{"total":{"type":["number","null"],"description":"The total number of results matching the search criteria. This value is `null` when the result count is too large to calculate exactly, in which case `total_exceeds` is set instead."},"total_exceeds":{"type":["number","null"],"description":"The threshold that the result count exceeds. This value is set only when the result count is too large to calculate exactly, in which case `total` is `null`."},"next":{"type":["string","null"],"description":"An opaque continuation token for retrieving the next page of results. Include this token in your subsequent request to fetch the next page. If this field is absent or empty, you have reached the last page of results."}}},"Scans_SearchResponse":{"description":"The search result from the scan search.","type":"object","properties":{"items":{"type":"array","description":"An array of scan objects matching the search criteria.","items":{"description":"A vulnerability and malware scan operation on container images. Scans are executed by scanners against container registries or deployed clusters. Container Security performs continuous scanning to detect newly disclosed vulnerabilities and monitors images throughout their lifecycle from build to production.","type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique identifier (UUID) of the scan. This ID is used to track the scan's progress and retrieve its results."},"name":{"type":"string","description":"The human-readable name assigned to this scan configuration. This helps identify the scan's purpose or target (e.g., `Production Registry Nightly Scan`, `Dev Environment Scan`)."},"scanner_id":{"type":"string","description":"The unique identifier of the scanner that executes this scan. This links the scan to the specific scanner instance performing the work."},"scanner_name":{"type":"string","description":"The name of the scanner performing this scan. This provides human-readable identification of which scanner is responsible for the scan."},"registry_type":{"type":"string","description":"The type of container registry being scanned (e.g., Docker Hub, Amazon ECR, Google GCR, Azure ACR). Different registry types may require different authentication and scanning approaches."},"registry_url":{"type":"string","description":"The base URL of the container registry being scanned. This identifies the specific registry instance where the target images are stored."},"created_at":{"type":"string","description":"A timestamp in ISO 8601 format indicating when the scan configuration was initially created. This helps track scan history and audit when scanning was first established."},"updated_at":{"type":"string","description":"A timestamp in ISO 8601 format indicating when the scan configuration or results were last updated. This reflects changes to scan settings or the completion of scan operations."},"last_started":{"type":"string","description":"A timestamp in ISO 8601 format indicating when the most recent scan execution began. This helps monitor scan frequency and troubleshoot scheduling issues."},"last_completed":{"type":"string","description":"A timestamp in ISO 8601 format indicating when the most recent scan execution finished successfully. This marks when the latest vulnerability data became available."},"scan_status":{"type":"string","description":"The current execution status of the scan. `pending` means the scan is queued but not yet started. `running_collection` indicates the scanner is collecting image metadata from the registry. `done_collection` means collection is complete and assessment is queued. `running_assessment` indicates vulnerability analysis is in progress. `done` means the scan completed successfully. `cancelled` or `cancellation_successful` indicate the scan was stopped by a user. `error` indicates the scan failed and may need attention.","enum":["pending","running_collection","done_collection","running_assessment","done","cancelled","cancellation_successful","error"]},"schedule_start_at":{"type":"string","description":"A timestamp in ISO 8601 format indicating when the scheduled scan should first execute. This sets the initial start time for recurring scans or the execution time for one-time scans."},"schedule_time":{"type":"string","format":"partial-time","description":"The time of day when the scan should execute, in partial-time format (HH:MM:SS). Combined with the frequency setting, this determines when recurring scans run."},"schedule_time_zone":{"type":"string","description":"The time zone for the scheduled scan time, specified in IANA Time Zone Database format (e.g., `America/New_York`, `UTC`). This ensures scans execute at the correct local time regardless of the scanner's location."},"schedule_frequency":{"type":"string","description":"How often the scan should repeat. `once` executes a single scan, `none` disables scheduling, and recurring options (`daily`, `weekly`, `monthly`) enable continuous monitoring. Regular scanning is important to detect newly disclosed vulnerabilities in existing images.","enum":["once","daily","weekly","monthly","none"]},"schedule_repeat":{"type":"integer","description":"The interval at which the scan repeats based on the frequency setting. For example, with `daily` frequency, a value of 2 means the scan runs every 2 days."},"schedule_repeat_on":{"type":"array","description":"An array of specific days when the scan should execute, depending on the frequency. For weekly frequency, values represent days of the week (0=Sunday, 6=Saturday). For monthly frequency, values represent days of the month (1-31).","items":{"type":"integer","format":"int32"}},"deleted":{"type":"boolean","description":"A value indicating whether the scan has been deleted (true) or is active (false). Deleted scans are retained for historical data but will not execute again."},"scan_status_description":{"type":"string","description":"A human-readable description of the scan's current status. This provides user-friendly status messages that are easier to understand than the technical scan_status codes.","enum":["Pending","Registry Collection","In Progress","Completed","Stopping","Stopped","Error"]},"registry_type_description":{"type":"string","description":"A human-readable description of the registry type being scanned. This provides a user-friendly label for the registry platform (e.g., `Amazon Elastic Container Registry`, `Docker Hub`)."},"next_execution_time":{"type":"string","description":"A timestamp in ISO 8601 format indicating when the scheduled scan would execute next. This is the time of when next the scan will run."}},"required":["id","name","scanner_name","scanner_id","registry_url","registry_type"]}},"pagination":{"description":"Pagination metadata for navigating through large result sets.","$ref":"#/components/schemas/Scans_Pagination"}},"required":["items","pagination"]},"Vulnerabilities_Field":{"description":"The available fields to return for a vulnerability in the search results.","type":"string","enum":["asset_ids","cpe","cves","cvss_base_score","cvss_temporal_score","cvss_temporal_vector","cvss_vector","cvss3_base_score","cvss3_temporal_score","cvss3_temporal_vector","cvss3_vector","epss","epss_latest_score_date","epss_model_version","epss_percentile","exploit_available","exploitability_ease","images_count","last_seen","patch_publication_date","plugin_id","plugin_modification_date","plugin_publication_date","references_map","registry_types","registry_urls","risk_factor","script_family","script_name","see_also","solution","synopsis","vendor_severity","vpr_age_of_vuln","vpr_cvssv3_impact_score","vpr_exploit_code_maturity","vpr_generated_at","vpr_predicted_impact_score","vpr_product_coverage","vpr_threat_intensity_last_28_days","vpr_threat_model_type","vpr_threat_model_version","vpr_threat_recency","vpr_threat_sources_last_28","vpr_tvs","vpr_vulnerability_id","vuln_publication_date","cisa_kev","iavm","epss_calculated","exploit_available_calculated","scan_sources","vulnerability_age","pipeline_types","pipeline_names","xref_name"]},"Vulnerabilities_Operator":{"type":"string","description":"Specifies the comparison operator to apply when filtering search results. Use `eq` for exact equality matches, `neq` for not equal. For numeric comparisons, use `gt` (greater than), `gte` (greater than or equal), `lt` (less than), or `lte` (less than or equal). Use `exists` or `nexists` to check for field presence. For string matching, use `wc` (wildcard contains) or `nwc` (not wildcard contains) with asterisk (*) wildcards. Use `match` for pattern matching or `between` for range queries with two values.","enum":["eq","neq","gt","gte","lt","lte","exists","nexists","wc","nwc","match","between"]},"Vulnerabilities_FilterValue":{"anyOf":[{"title":"Single String Value","type":"string"},{"title":"Multiple String Values","type":"array","items":{"type":"string"}},{"title":"Single Integer Value","type":"integer"},{"title":"Multiple Integer Values","type":"array","items":{"type":"integer"}},{"title":"Single Boolean Value","type":"boolean","enum":[true,false]}],"description":"Specifies the value to compare the given field to using the specified operator. Example value for a UUID: `05c82415-a320-4bf9-b5c0-236d72f0aaaa`","example":["05c82415-a320-4bf9-b5c0-236d72f0aaaa"]},"Vulnerabilities_VulnerabilityFilterObject":{"type":"object","required":["property","operator"],"properties":{"property":{"description":"Specifies the vulnerability field to filter on.","type":"string","enum":["plugin_id","vpr_tvs","script_name","script_family","cves","risk_factor","epss","images_count","cvss3_base_score","last_seen","registry_type","registry_url","asset_ids","layer_ids","package_ids","package_id","asset_id","layer_id","digest","created_at","pipeline_name","pipeline_types","scan_source","cisa_kev","iavm","cluster_name","unpatched"]},"operator":{"description":"Specifies the comparison operator to apply when filtering search results. Use `eq` for exact equality matches, `neq` for not equal. For numeric comparisons, use `gt` (greater than), `gte` (greater than or equal), `lt` (less than), or `lte` (less than or equal). Use `exists` or `nexists` to check for field presence. For string matching, use `wc` (wildcard contains) or `nwc` (not wildcard contains) with asterisk (*) wildcards. Use `match` for pattern matching or `between` for range queries with two values.","$ref":"#/components/schemas/Vulnerabilities_Operator"},"value":{"description":"Specifies the value to compare against using the specified operator.","$ref":"#/components/schemas/Vulnerabilities_FilterValue"}}},"Vulnerabilities_VulnerabilityFilter":{"description":"Specifies filters to apply to the Vulnerability search. The filters can be used within an `and` object or an `or` object or a `not`.","oneOf":[{"$ref":"#/components/schemas/Vulnerabilities_VulnerabilityFilterObject"},{"title":"AND","type":"object","required":["and"],"properties":{"and":{"type":"array","description":"Specifies an array of filter conditions that must all be true.","items":{"$ref":"#/components/schemas/Vulnerabilities_VulnerabilityFilter"}}}},{"title":"OR","type":"object","required":["or"],"properties":{"or":{"type":"array","description":"Specifies an array of filter conditions where at least one must be true.","items":{"$ref":"#/components/schemas/Vulnerabilities_VulnerabilityFilter"}}}},{"title":"NOT","type":"object","required":["not"],"properties":{"not":{"description":"Specifies a filter condition that must be false.","$ref":"#/components/schemas/Vulnerabilities_VulnerabilityFilter"}}}]},"Vulnerabilities_Sort":{"type":"object","properties":{"property":{"description":"Specifies the field to use for sorting the vulnerabilities.","$ref":"#/components/schemas/Vulnerabilities_Field","example":"timeline.discovery_date"},"order":{"type":"string","description":"Specifies the sort order for the property.","enum":["desc","asc"],"example":"desc"}}},"Vulnerabilities_SearchRequest":{"description":"Search criteria for vulnerabilities","type":"object","properties":{"fields":{"type":"array","description":"Specifies additional fields to return in the search results. Every response includes a default set of fields; the fields you specify here are returned in addition to that set.","items":{"$ref":"#/components/schemas/Vulnerabilities_Field"}},"filter":{"description":"Specifies filter criteria to narrow the search results to vulnerabilities matching specific conditions.","$ref":"#/components/schemas/Vulnerabilities_VulnerabilityFilter"},"limit":{"type":"number","description":"Specifies the maximum number of results to return."},"next":{"type":["string","null"],"description":"Specifies the pagination token for retrieving the next page of results."},"sort":{"type":"array","description":"Specifies the sorting criteria for the results.","items":{"$ref":"#/components/schemas/Vulnerabilities_Sort"}}}},"Vulnerabilities_Vulnerability":{"description":"A security vulnerability detected in container images. Vulnerabilities represent known security weaknesses in software packages that could be exploited to compromise the container or its host system. Container Security identifies these issues through Tenable's comprehensive vulnerability database and provides detailed information for risk assessment and remediation.","type":"object","properties":{"plugin_id":{"type":"number","description":"The unique identifier of the Tenable plugin that detected this vulnerability. Plugin IDs correspond to specific vulnerability checks in Tenable's security database and can be used to look up detailed information about the detection method."},"script_name":{"type":"string","description":"The filename of the Tenable detection script used to identify this vulnerability. This provides technical context about how the vulnerability was discovered."},"script_family":{"type":"string","description":"The category or family of the detection script (e.g., `Debian Local Security Checks`, `Red Hat Local Security Checks`, `Web Servers`). This groups related vulnerability checks together."},"synopsis":{"type":"string","description":"A brief one-line summary of the vulnerability that quickly conveys the nature of the security issue. This is useful for dashboards and quick scanning of results."},"solution":{"type":"string","description":"Recommended remediation steps to fix or mitigate the vulnerability. This typically includes specific package versions to upgrade to or configuration changes to apply."},"see_also":{"type":"string","description":"A comma-separated list of additional reference URLs for more information about the vulnerability, including security advisories, vendor bulletins, and technical analysis."},"cpe":{"type":"string","description":"The Common Platform Enumeration (CPE) identifier that represents the affected software product and version. CPE is a standardized naming scheme for IT systems, software, and packages."},"cves":{"type":"array","description":"An array of CVE (Common Vulnerabilities and Exposures) identifiers associated with this vulnerability. CVE IDs are standardized references used across the security industry. A single plugin may detect multiple related CVEs.","items":{"type":"string"}},"vendor_severity":{"type":"string","description":"The severity rating assigned by the software vendor or distribution maintainer (e.g., `Critical`, `High`, `Medium`, `Low`). Vendor severity reflects the vendor's assessment of the impact within their ecosystem."},"exploit_available":{"type":"boolean","description":"A value indicating whether a public exploit is available for this vulnerability (true) or not (false). Vulnerabilities with available exploits pose higher risk as attackers can more easily leverage them."},"exploitability_ease":{"type":"string","description":"An assessment of how easy it is to exploit this vulnerability (e.g., `Exploits are available`, `No known exploits are available`, `No exploit is required`). This helps prioritize vulnerabilities that are more likely to be exploited."},"risk_factor":{"type":"string","description":"The overall risk level classification (Critical, High, Medium, Low, or None) based on the vulnerability's potential impact and exploitability. This provides a standardized risk categorization for prioritization."},"references_map":{"type":"object","description":"A map of reference URLs and identifiers."},"patch_publication_date":{"type":"string","description":"A timestamp in ISO 8601 format indicating when the vendor published a patch or fix for this vulnerability. This helps assess how long a fix has been available and whether systems should have been updated."},"plugin_modification_date":{"type":"string","description":"A timestamp in ISO 8601 format indicating when the Tenable plugin was last modified. Plugin updates may improve detection accuracy, add additional CVE references, or refine risk scoring."},"plugin_publication_date":{"type":"string","description":"A timestamp in ISO 8601 format indicating when the Tenable plugin was first published. This marks when Tenable added detection capability for this vulnerability."},"vuln_publication_date":{"type":"string","description":"A timestamp in ISO 8601 format indicating when the vulnerability was first publicly disclosed. This is the initial disclosure date by researchers, vendors, or security organizations."},"cvss_base_score":{"type":"number","description":"The Common Vulnerability Scoring System (CVSS) v2 base score, ranging from 0.0 to 10.0, where higher scores indicate more severe vulnerabilities. The base score assesses the intrinsic characteristics of a vulnerability."},"cvss_vector":{"type":"string","description":"The CVSS v2 vector string that encodes the individual metrics used to calculate the base score (e.g., `AV:N/AC:L/Au:N/C:P/I:P/A:P`). This provides transparency into how the score was derived."},"cvss_temporal_vector":{"type":"string","description":"The CVSS v2 temporal vector string that adjusts the base score based on time-sensitive factors like exploit availability and remediation level. Temporal metrics help refine risk assessment based on current threat landscape."},"cvss_temporal_score":{"type":"number","description":"The CVSS v2 temporal score, which adjusts the base score to account for factors that change over time such as exploit maturity and patch availability."},"cvss3_base_score":{"type":"number","description":"The Common Vulnerability Scoring System (CVSS) v3 base score, ranging from 0.0 to 10.0, where higher scores indicate more severe vulnerabilities. CVSS v3 provides improved accuracy over v2 in assessing vulnerability impact and exploitability."},"cvss3_vector":{"type":"string","description":"The CVSS v3 vector string that encodes the metrics used to calculate the base score (e.g., `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H`). This provides detailed breakdown of attack vector, complexity, privileges required, and impact."},"cvss3_temporal_vector":{"type":"string","description":"The CVSS v3 temporal vector string that adjusts the base score based on time-sensitive factors. Temporal metrics account for exploit code maturity, remediation level, and report confidence."},"cvss3_temporal_score":{"type":"number","description":"The CVSS v3 temporal score, which refines the base score to reflect current threat conditions including the availability of exploits and patches."},"vpr_age_of_vuln":{"type":"string","description":"The age category of the vulnerability used in VPR calculation (e.g., '0-7 days', '8-30 days', '31-365 days', '366+ days'). Newer vulnerabilities often receive more attention from attackers, affecting the VPR score."},"vpr_cvssv3_impact_score":{"type":"number","description":"The CVSS v3 impact subscore used in VPR calculation, measuring the direct consequences of a successful exploit on confidentiality, integrity, and availability."},"vpr_exploit_code_maturity":{"type":"string","description":"The maturity level of available exploit code (e.g., `High`, `Functional`, `Proof-of-Concept`, `Unproven`). More mature exploits indicate higher likelihood of successful attacks, increasing the VPR score."},"vpr_generated_at":{"type":"string","description":"A timestamp in ISO 8601 format indicating when the VPR score was calculated. VPR scores are updated regularly as threat intelligence evolves, so this timestamp shows the currency of the risk assessment."},"vpr_predicted_impact_score":{"type":"boolean","description":"A value indicating whether the VPR impact score is predicted using machine learning models (true) or based on observed data (false). Predicted scores are used when direct impact data is limited."},"vpr_product_coverage":{"type":"string","description":"The level of product coverage in threat intelligence data (e.g., `High`, `Medium`, `Low`). Higher coverage means more comprehensive threat data is available for this vulnerability, improving VPR accuracy."},"vpr_threat_intensity_last_28_days":{"type":"string","description":"The intensity level of threat activity for this vulnerability in the last 28 days (e.g., `High`, `Medium`, `Low`). High intensity indicates active exploitation attempts or significant threat actor interest."},"vpr_threat_model_type":{"type":"string","description":"The type of threat model used to calculate the VPR score. This indicates which Tenable threat intelligence sources and analytical methods were applied."},"vpr_threat_model_version":{"type":"string","description":"The version of the threat model used for VPR calculation. Tenable regularly updates threat models to improve accuracy based on new threat intelligence."},"vpr_threat_recency":{"type":"string","description":"How recently threat activity has been observed for this vulnerability (e.g., `Very Recent`, `Recent`, `Old`). More recent threats indicate ongoing attacker interest and higher exploitation risk."},"vpr_threat_sources_last_28":{"type":"string","description":"The types of threat intelligence sources that reported activity on this vulnerability in the last 28 days (e.g., `Exploit DB`, `Dark Web`, `Social Media`). Multiple sources indicate broader threat actor interest."},"vpr_tvs":{"type":"number","description":"The Vulnerability Priority Rating (VPR) score, also known as the Threat Value Score (TVS). This is Tenable's proprietary risk scoring system that combines CVSS scores with real-world threat intelligence to prioritize vulnerabilities based on their likelihood of exploitation. VPR scores range from 0.0 to 10.0, where higher scores indicate vulnerabilities that are more likely to be exploited in the wild."},"vpr_vulnerability_id":{"type":"string","description":"The vulnerability identifier used in Tenable's VPR system, typically a CVE ID. This links the VPR data to the specific vulnerability."},"epss":{"type":"number","description":"The Exploit Prediction Scoring System (EPSS) score, ranging from 0.0 to 1.0 (0% to 100%), which estimates the probability that this vulnerability will be exploited in the wild within the next 30 days. EPSS is maintained by FIRST and uses machine learning on real-world exploit data."},"epss_latest_score_date":{"type":"string","description":"A timestamp in ISO 8601 format indicating when the EPSS score was last calculated. EPSS scores are updated daily as new threat data becomes available."},"epss_model_version":{"type":"string","description":"The version of the EPSS machine learning model used to calculate the score. Different model versions may use refined algorithms or additional data sources."},"epss_percentile":{"type":"number","description":"The EPSS percentile ranking (0.0 to 1.0) indicating what percentage of all vulnerabilities have a lower EPSS score. A percentile of 0.95 means this vulnerability is more likely to be exploited than 95% of all vulnerabilities."},"images_count":{"type":"number","description":"The count of container images in your environment that are affected by this vulnerability. This helps assess the blast radius and prioritize vulnerabilities that impact multiple images."},"registry_urls":{"type":"array","description":"An array of registry URLs where images affected by this vulnerability are stored. This shows the distribution of vulnerable images across your container registries.","items":{"type":"string"}},"asset_ids":{"type":"array","description":"An array of unique asset identifiers (UUIDs) for images affected by this vulnerability. Each asset ID represents a distinct image in Container Security.","items":{"type":"string"}},"last_seen":{"type":"string","description":"A timestamp in ISO 8601 format indicating when this vulnerability was most recently detected in a scan. This helps identify whether the vulnerability is still present in your current image inventory."},"cisa_kev":{"type":"string","description":"The identifier from the U.S. Cybersecurity and Infrastructure Security Agency (CISA) Known Exploited Vulnerabilities (KEV) catalog. Vulnerabilities in the KEV catalog have evidence of active exploitation and should be prioritized for immediate remediation."},"iavm":{"type":"string","description":"The Information Assurance Vulnerability Management (IAVM) identifier issued by the U.S. Department of Defense. IAVM notices provide guidance on vulnerabilities affecting DoD information systems."},"vulnerability_age":{"type":"number","description":"The age of the vulnerability, in days, since it was published."},"xref_name":{"type":"string","description":"The name of the external reference source for the vulnerability. For example, `ALAS`."},"scan_sources":{"type":"array","description":"An array of the sources that scanned the images where this vulnerability was detected. For example, `REGISTRY_IMAGE`.","items":{"type":["string","null"]}},"registry_types":{"type":"array","description":"An array of the types of container registry that store the images where this vulnerability was detected. For example, `HARBOR`.","items":{"type":["string","null"]}},"pipeline_types":{"type":"array","description":"An array of the CI/CD pipeline types that produced the images where this vulnerability was detected. An element is `null` when the image did not come from a pipeline.","items":{"type":["string","null"]}},"pipeline_names":{"type":"array","description":"An array of the names of the CI/CD pipelines that produced the images where this vulnerability was detected. An element is `null` when the image did not come from a pipeline.","items":{"type":["string","null"]}}},"required":["plugin_id"]},"Vulnerabilities_Pagination":{"description":"Pagination metadata for navigating through large search result sets. When search results exceed the page size limit, use the pagination information to retrieve additional pages of data.","type":"object","properties":{"total":{"type":["number","null"],"description":"The total number of results matching the search criteria. This value is `null` when the result count is too large to calculate exactly, in which case `total_exceeds` is set instead."},"total_exceeds":{"type":["number","null"],"description":"The threshold that the result count exceeds. This value is set only when the result count is too large to calculate exactly, in which case `total` is `null`."},"next":{"type":["string","null"],"description":"An opaque continuation token for retrieving the next page of results. Include this token in your subsequent request to fetch the next page. If this field is absent or empty, you have reached the last page of results."}}},"Vulnerabilities_SearchResponse":{"description":"The search result from the vulnerability search.","type":"object","properties":{"items":{"type":"array","description":"An array of vulnerability objects matching the search criteria.","items":{"$ref":"#/components/schemas/Vulnerabilities_Vulnerability"}},"pagination":{"description":"Pagination metadata for navigating through large result sets.","$ref":"#/components/schemas/Vulnerabilities_Pagination"}},"required":["items","pagination"]}},"responses":{"Exports_Error400":{"description":"Returned if your request specified invalid parameters or if your request was improperly formatted.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","description":"The error object containing details about the bad request.","properties":{"code":{"type":"number","description":"The HTTP status code for the error (400)."},"description":{"type":"array","description":"An array of error messages describing what was invalid in the request.","items":{"type":"string"}}}}}}}}},"Exports_Error401":{"description":"Returned if the API keys specified in your request are invalid.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","description":"The error object containing details about the unauthorized request.","properties":{"code":{"type":"string","description":"The error code identifying the cause of the authentication failure.\n\n* `INVALID_API_KEY_CREDS` — The API key credentials in the request are not valid.\n* `MISSING_API_KEY_CREDS` — The request did not include API key credentials."},"description":{"type":"array","description":"An array of error messages describing the authentication failure.","items":{"type":"string"}}}}}}}}},"Global_Settings_Error401":{"description":"Returned if the API keys specified in your request are invalid.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","description":"The error object containing details about the unauthorized request.","properties":{"code":{"type":"string","description":"The error code identifying the cause of the authentication failure.\n\n* `INVALID_API_KEY_CREDS` — The API key credentials in the request are not valid.\n* `MISSING_API_KEY_CREDS` — The request did not include API key credentials."},"description":{"type":"array","description":"An array of error messages describing the authentication failure.","items":{"type":"string"}}}}}}}}},"Global_Settings_Error404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"An error message indicating the requested resource was not found.","example":"Resource not found"}}}}}},"Global_Settings_Error500":{"description":"Return an error","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"number","description":"The HTTP status code for the error (500)."},"message":{"type":"string","description":"A message describing the internal server error."}}}}}},"Global_Settings_Error400":{"description":"Returned if your request specified invalid parameters or if your request was improperly formatted.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","description":"The error object containing details about the bad request.","properties":{"code":{"type":"number","description":"The HTTP status code for the error (400)."},"description":{"type":"array","description":"An array of error messages describing what was invalid in the request.","items":{"type":"string"}}}}}}}}},"Images_Error400":{"description":"Returned if your request specified invalid parameters or if your request was improperly formatted.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","description":"The error object containing details about the bad request.","properties":{"code":{"type":"number","description":"The HTTP status code for the error (400)."},"description":{"type":"array","description":"An array of error messages describing what was invalid in the request.","items":{"type":"string"}}}}}}}}},"Images_Error401":{"description":"Returned if the API keys specified in your request are invalid.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","description":"The error object containing details about the unauthorized request.","properties":{"code":{"type":"string","description":"The error code identifying the cause of the authentication failure.\n\n* `INVALID_API_KEY_CREDS` — The API key credentials in the request are not valid.\n* `MISSING_API_KEY_CREDS` — The request did not include API key credentials."},"description":{"type":"array","description":"An array of error messages describing the authentication failure.","items":{"type":"string"}}}}}}}}},"Images_Error429":{"description":"Returned if you attempt to send too many requests in a specific period of time. For more information, see [Rate Limiting](doc:rate-limiting).","content":{"text/html":{"examples":{"response":{"value":"<html>\n\n  <head>\n    <title>429 Too Many Requests</title>\n  </head>\n\n  <body bgcolor=\"white\">\n    <center>\n      <h1>429 Too Many Requests</h1>\n    </center>\n    <hr>\n    <center>nginx</center>\n  </body>\n\n</html>"}}}}},"Images_Error404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"An error message indicating the requested resource was not found.","example":"Resource not found"}}}}}},"Images_Error500":{"description":"Return an error","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"number","description":"The HTTP status code for the error (500)."},"message":{"type":"string","description":"A message describing the internal server error."}}}}}},"Layers_Error400":{"description":"Returned if your request specified invalid parameters or if your request was improperly formatted.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","description":"The error object containing details about the bad request.","properties":{"code":{"type":"number","description":"The HTTP status code for the error (400)."},"description":{"type":"array","description":"An array of error messages describing what was invalid in the request.","items":{"type":"string"}}}}}}}}},"Layers_Error401":{"description":"Returned if the API keys specified in your request are invalid.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","description":"The error object containing details about the unauthorized request.","properties":{"code":{"type":"string","description":"The error code identifying the cause of the authentication failure.\n\n* `INVALID_API_KEY_CREDS` — The API key credentials in the request are not valid.\n* `MISSING_API_KEY_CREDS` — The request did not include API key credentials."},"description":{"type":"array","description":"An array of error messages describing the authentication failure.","items":{"type":"string"}}}}}}}}},"Packages_Error400":{"description":"Returned if your request specified invalid parameters or if your request was improperly formatted.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","description":"The error object containing details about the bad request.","properties":{"code":{"type":"number","description":"The HTTP status code for the error (400)."},"description":{"type":"array","description":"An array of error messages describing what was invalid in the request.","items":{"type":"string"}}}}}}}}},"Packages_Error401":{"description":"Returned if the API keys specified in your request are invalid.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","description":"The error object containing details about the unauthorized request.","properties":{"code":{"type":"string","description":"The error code identifying the cause of the authentication failure.\n\n* `INVALID_API_KEY_CREDS` — The API key credentials in the request are not valid.\n* `MISSING_API_KEY_CREDS` — The request did not include API key credentials."},"description":{"type":"array","description":"An array of error messages describing the authentication failure.","items":{"type":"string"}}}}}}}}},"Queries_Error401":{"description":"Returned if the API keys specified in your request are invalid.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","description":"The error object containing details about the unauthorized request.","properties":{"code":{"type":"string","description":"The error code identifying the cause of the authentication failure.\n\n* `INVALID_API_KEY_CREDS` — The API key credentials in the request are not valid.\n* `MISSING_API_KEY_CREDS` — The request did not include API key credentials."},"description":{"type":"array","description":"An array of error messages describing the authentication failure.","items":{"type":"string"}}}}}}}}},"Queries_Error400":{"description":"Returned if your request specified invalid parameters or if your request was improperly formatted.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","description":"The error object containing details about the bad request.","properties":{"code":{"type":"number","description":"The HTTP status code for the error (400)."},"description":{"type":"array","description":"An array of error messages describing what was invalid in the request.","items":{"type":"string"}}}}}}}}},"Scanners_Error401":{"description":"Returned if the API keys specified in your request are invalid.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","description":"The error object containing details about the unauthorized request.","properties":{"code":{"type":"string","description":"The error code identifying the cause of the authentication failure.\n\n* `INVALID_API_KEY_CREDS` — The API key credentials in the request are not valid.\n* `MISSING_API_KEY_CREDS` — The request did not include API key credentials."},"description":{"type":"array","description":"An array of error messages describing the authentication failure.","items":{"type":"string"}}}}}}}}},"Scanners_Error400":{"description":"Returned if your request specified invalid parameters or if your request was improperly formatted.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","description":"The error object containing details about the bad request.","properties":{"code":{"type":"number","description":"The HTTP status code for the error (400)."},"description":{"type":"array","description":"An array of error messages describing what was invalid in the request.","items":{"type":"string"}}}}}}}}},"Scans_Error401":{"description":"Returned if the API keys specified in your request are invalid.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","description":"The error object containing details about the unauthorized request.","properties":{"code":{"type":"string","description":"The error code identifying the cause of the authentication failure.\n\n* `INVALID_API_KEY_CREDS` — The API key credentials in the request are not valid.\n* `MISSING_API_KEY_CREDS` — The request did not include API key credentials."},"description":{"type":"array","description":"An array of error messages describing the authentication failure.","items":{"type":"string"}}}}}}}}},"Scans_Error400":{"description":"Returned if your request specified invalid parameters or if your request was improperly formatted.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","description":"The error object containing details about the bad request.","properties":{"code":{"type":"number","description":"The HTTP status code for the error (400)."},"description":{"type":"array","description":"An array of error messages describing what was invalid in the request.","items":{"type":"string"}}}}}}}}},"Scans_Error404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"An error message indicating the requested resource was not found.","example":"Resource not found"}}}}}},"Scans_Error500":{"description":"Return an error","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"number","description":"The HTTP status code for the error (500)."},"message":{"type":"string","description":"A message describing the internal server error."}}}}}},"Vulnerabilities_Error400":{"description":"Returned if your request specified invalid parameters or if your request was improperly formatted.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","description":"The error object containing details about the bad request.","properties":{"code":{"type":"number","description":"The HTTP status code for the error (400)."},"description":{"type":"array","description":"An array of error messages describing what was invalid in the request.","items":{"type":"string"}}}}}}}}},"Vulnerabilities_Error401":{"description":"Returned if the API keys specified in your request are invalid.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","description":"The error object containing details about the unauthorized request.","properties":{"code":{"type":"string","description":"The error code identifying the cause of the authentication failure.\n\n* `INVALID_API_KEY_CREDS` — The API key credentials in the request are not valid.\n* `MISSING_API_KEY_CREDS` — The request did not include API key credentials."},"description":{"type":"array","description":"An array of error messages describing the authentication failure.","items":{"type":"string"}}}}}}}}}}},"x-readme":{"proxy-enabled":false,"samples-languages":["python","curl","node","powershell","ruby","javascript","objectivec","java","php","csharp","go","swift","kotlin"]}}