openapi: 3.0.1 info: contact: email: nurmi@anchore.com description: This is the Anchore Engine API. Provides the primary external API for users of the service. license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html title: Anchore Engine API Server version: 0.1.20 servers: - url: / tags: - description: Subscription Management name: Subscriptions - description: Policy Management name: Policies - description: Image Management name: Images - description: View Image Content name: Image Content - description: Vulnerability checks and reports name: Vulnerabilities - description: Evaluate images against policies name: Policy Evaluation - description: Registry Management name: Registries - description: Repository Credential Management name: Repository Credentials - description: System Management name: System - description: Service Management name: Services - description: Resource Summaries name: Summaries - description: View and delete events name: Events - description: Resource Queries name: Queries - description: "Manage Accounts, Users, and Credentials" name: User Management - description: Get and operate on the authenticated user's identity name: Identity - description: Data Archiving Management name: Archives paths: /: get: description: Simple status check operationId: ping responses: "200": content: application/json: schema: type: string description: "Version check response, returns the api version prefix (e.g.\ \ 'v1')" x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.system x-anchore-authz-action: None /health: get: description: "Health check, returns 200 and no body if service is running" operationId: health_check responses: "200": content: {} description: Empty body on success x-swagger-router-controller: anchore_engine.apis.common x-anchore-authz-action: None /version: get: description: "Returns the version object for the service, including db schema\ \ version info" operationId: version_check responses: "200": content: application/json: schema: $ref: '#/components/schemas/ServiceVersion' description: Version object describing version state x-swagger-router-controller: anchore_engine.apis.common x-anchore-authz-action: None /policies: get: description: List all saved policy bundles operationId: list_policies parameters: - description: Include policy bundle detail in the form of the full bundle content for each entry in: query name: detail schema: type: boolean - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/PolicyBundleList' description: Policy listing summary: List policies tags: - Policies x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.policies x-anchore-authz-action: listPolicies post: description: Adds a new policy bundle to the system operationId: add_policy parameters: - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PolicyBundle' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/PolicyBundleRecord' description: Saved bundle "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: Add a new policy tags: - Policies x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.policies x-anchore-authz-action: createPolicy x-codegen-request-body-name: bundle /policies/{policyId}: delete: description: Delete the specified policy operationId: delete_policy parameters: - in: path name: policyId required: true schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: {} description: Delete success "404": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Policy not found to delete "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: Delete policy tags: - Policies x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.policies x-anchore-authz-action: deletePolicy get: description: Get the policy bundle content operationId: get_policy parameters: - in: path name: policyId required: true schema: type: string - description: Include policy bundle detail in the form of the full bundle content for each entry in: query name: detail schema: type: boolean - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/PolicyBundleList' description: A list with a single fetched policy bundle record "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: Get specific policy tags: - Policies x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.policies x-anchore-authz-action: getPolicy put: description: Update/replace and existing policy operationId: update_policy parameters: - in: path name: policyId required: true schema: type: string - description: Mark policy as active in: query name: active schema: type: boolean - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PolicyBundleRecord' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/PolicyBundleList' description: A list with a single updated policy bundle record "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: Update policy tags: - Policies x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.policies x-anchore-authz-action: updatePolicy x-codegen-request-body-name: bundle /subscriptions: get: operationId: list_subscriptions parameters: - description: filter only subscriptions matching key in: query name: subscription_key schema: type: string - description: filter only subscriptions matching type in: query name: subscription_type schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/SubscriptionList' description: Subscription listing "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: List all subscriptions tags: - Subscriptions x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.subscriptions x-anchore-authz-action: listSubscriptions post: description: Create a new subscription to watch a tag and get notifications of changes operationId: add_subscription parameters: - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/SubscriptionRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/SubscriptionList' description: Subscription add success summary: Add a subscription of a specific type tags: - Subscriptions x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.subscriptions x-anchore-authz-action: createSubscription x-codegen-request-body-name: subscription /subscriptions/{subscriptionId}: delete: operationId: delete_subscription parameters: - in: path name: subscriptionId required: true schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: {} description: Delete success "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: Delete subscriptions of a specific type tags: - Subscriptions x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.subscriptions x-anchore-authz-action: deleteSubscription get: operationId: get_subscription parameters: - in: path name: subscriptionId required: true schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/SubscriptionList' description: Filtered subscription list by type "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: Get a specific subscription set tags: - Subscriptions x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.subscriptions x-anchore-authz-action: getSubscription put: operationId: update_subscription parameters: - in: path name: subscriptionId required: true schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/SubscriptionUpdate' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/SubscriptionList' description: Subscription add success summary: Update an existing and specific subscription tags: - Subscriptions x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.subscriptions x-anchore-authz-action: updateSubscription x-codegen-request-body-name: subscription /summaries/imagetags: get: description: List all image tags visible to the user operationId: list_imagetags parameters: - description: "Filter images in one or more states such as active, deleting.\ \ Defaults to active images only if unspecified" explode: false in: query name: image_status schema: default: "[\"active\"]" items: enum: - all - active - deleting type: string type: array style: form - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/AnchoreImageTagSummaryList' description: successful operation "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: List all visible image digests and tags tags: - Summaries x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: listImages /images: delete: description: Delete analysis for image digests in the list asynchronously operationId: delete_images_async parameters: - explode: false in: query name: imageDigests required: true schema: items: type: string nullable: false type: array style: form - in: query name: force schema: type: boolean - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/DeleteImageResponseList' description: successful operation "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: Bulk mark images for deletion tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: deleteImage get: description: List all images visible to the user operationId: list_images parameters: - description: Include image history in the response in: query name: history schema: type: boolean - description: "Full docker-pull string to filter results by (e.g. docker.io/library/nginx:latest,\ \ or myhost.com:5000/testimages:v1.1.1)" in: query name: fulltag schema: type: string - description: Filter by image_status value on the record. Default if omitted is 'active'. in: query name: image_status schema: default: active enum: - all - active - deleting type: string - description: Filter by analysis_status value on the record. in: query name: analysis_status schema: enum: - not_analyzed - analyzed - analyzing - analysis_failed type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/AnchoreImageList' description: successful operation "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: List all visible images tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: listImages post: description: Creates a new analysis task that is executed asynchronously operationId: add_image parameters: - description: Override any existing entry in the system in: query name: force schema: type: boolean - description: Instruct engine to automatically begin watching the added tag for updates from registry in: query name: autosubscribe schema: type: boolean - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ImageAnalysisRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/AnchoreImageList' description: Successfully added image to analysis queue "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: Submit a new image for analysis by the engine tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: createImage x-codegen-request-body-name: image /import/images: post: operationId: import_image_archive requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/import_image_archive_request' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/AnchoreImageList' description: Successfully imported image to the engine "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: Import an anchore image tar.gz archive file. This is a deprecated API replaced by the "/imports/images" route tags: - Import x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: importImage /images/{imageDigest}: delete: operationId: delete_image parameters: - in: path name: imageDigest required: true schema: type: string - in: query name: force schema: type: boolean - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/DeleteImageResponse' description: Image deletion success summary: Delete an image analysis tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: deleteImage get: operationId: get_image parameters: - in: path name: imageDigest required: true schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/AnchoreImageList' description: Image lookup success "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: Get image metadata tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: getImage /images/by_id/{imageId}: delete: operationId: delete_image_by_imageId parameters: - in: path name: imageId required: true schema: type: string - in: query name: force schema: type: boolean - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/DeleteImageResponse' description: Image deletion success "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: Delete image by docker imageId tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: deleteImage get: operationId: get_image_by_imageId parameters: - in: path name: imageId required: true schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/AnchoreImageList' description: Image lookup success "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: Lookup image by docker imageId tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: getImage /images/{imageDigest}/check: get: description: Get the policy evaluation for the given image operationId: get_image_policy_check parameters: - in: path name: imageDigest required: true schema: type: string - in: query name: policyId schema: type: string - in: query name: tag required: true schema: type: string - in: query name: detail schema: type: boolean - in: query name: history schema: type: boolean - in: query name: interactive schema: type: boolean - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/PolicyEvaluationList' description: Policy evaluation success "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: Check policy evaluation status for image tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: getImageEvaluation /images/by_id/{imageId}/check: get: description: Get the policy evaluation for the given image operationId: get_image_policy_check_by_imageId parameters: - in: path name: imageId required: true schema: type: string - in: query name: policyId schema: type: string - in: query name: tag required: true schema: type: string - in: query name: detail schema: type: boolean - in: query name: history schema: type: boolean - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/PolicyEvaluationList' description: Policy evaluation success "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: Check policy evaluation status for image tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: getImageEvaluation /images/{imageDigest}/vuln: get: operationId: get_image_vulnerability_types parameters: - in: path name: imageDigest required: true schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: items: enum: - all - os - non-os type: string type: array description: Vulnerability listing for the image "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: Get vulnerability types tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: getImage /images/{imageDigest}/vuln/{vtype}: get: operationId: get_image_vulnerabilities_by_type parameters: - in: path name: imageDigest required: true schema: type: string - in: path name: vtype required: true schema: type: string - in: query name: force_refresh schema: type: boolean - description: "Filter results to include only vulnerabilities that are not\ \ marked as invalid by upstream OS vendor data. When set to true, it will\ \ filter out all vulnerabilities where `will_not_fix` is False. If false\ \ all vulnerabilities are returned regardless of `will_not_fix`" in: query name: vendor_only schema: type: boolean - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/VulnerabilityResponse' description: Vulnerability listing for the image "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: Get vulnerabilities by type tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: getImage /images/by_id/{imageId}/vuln: get: operationId: get_image_vulnerability_types_by_imageId parameters: - in: path name: imageId required: true schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: items: enum: - all - os - non-os type: string type: array description: Vulnerability listing for the image "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: Get vulnerability types tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: getImage /images/by_id/{imageId}/vuln/{vtype}: get: operationId: get_image_vulnerabilities_by_type_imageId parameters: - in: path name: imageId required: true schema: type: string - in: path name: vtype required: true schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/VulnerabilityResponse' description: Vulnerability listing for the image "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: Get vulnerabilities by type tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: getImage /images/{imageDigest}/content: get: operationId: list_image_content parameters: - in: path name: imageDigest required: true schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: items: type: string type: array description: Content listing for the image "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: List image content types tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: getImage /images/by_id/{imageId}/content: get: operationId: list_image_content_by_imageid parameters: - in: path name: imageId required: true schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: items: type: string type: array description: Content of specified type from the image "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: List image content types tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: getImage /images/{imageDigest}/content/{ctype}: get: operationId: get_image_content_by_type parameters: - in: path name: imageDigest required: true schema: type: string - in: path name: ctype required: true schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ContentPackageResponse' description: Content of specified type from the image "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: Get the content of an image by type tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: getImage /images/{imageDigest}/content/files: get: operationId: get_image_content_by_type_files parameters: - in: path name: imageDigest required: true schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ContentFilesResponse' description: Content of specified type from the image "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: Get the content of an image by type files tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: getImage /images/{imageDigest}/content/java: get: operationId: get_image_content_by_type_javapackage parameters: - in: path name: imageDigest required: true schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ContentJAVAPackageResponse' description: Content of specified type from the image "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: Get the content of an image by type java tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: getImage /images/{imageDigest}/content/malware: get: operationId: get_image_content_by_type_malware parameters: - in: path name: imageDigest required: true schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ContentMalwareResponse' description: Content of specified type from the image "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: Get the content of an image by type malware tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: getImage /images/by_id/{imageId}/content/{ctype}: get: operationId: get_image_content_by_type_imageId parameters: - in: path name: imageId required: true schema: type: string - in: path name: ctype required: true schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ContentPackageResponse' description: Content of specified type from the image "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: Get the content of an image by type tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: getImage /images/by_id/{imageId}/content/files: get: operationId: get_image_content_by_type_imageId_files parameters: - in: path name: imageId required: true schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ContentFilesResponse' description: Content of specified type from the image "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: Get the content of an image by type files tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: getImage /images/by_id/{imageId}/content/java: get: operationId: get_image_content_by_type_imageId_javapackage parameters: - in: path name: imageId required: true schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ContentJAVAPackageResponse' description: Content of specified type from the image "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: Get the content of an image by type java tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: getImage /images/{imageDigest}/artifacts/retrieved_files: get: operationId: list_retrieved_files parameters: - in: path name: imageDigest required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/RetrievedFileList' description: List of file metadata objects "404": content: {} description: Image not found in this service summary: Return a list of analyzer artifacts of the specified type x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: getImage /images/{imageDigest}/artifacts/file_content_search: get: operationId: list_file_content_search_results parameters: - in: path name: imageDigest required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/FileContentSearchList' description: List of file metadata objects "404": content: {} description: Image not found in this service summary: Return a list of analyzer artifacts of the specified type x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: getImage /images/{imageDigest}/artifacts/secret_search: get: operationId: list_secret_search_results parameters: - in: path name: imageDigest required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/SecretSearchList' description: List of file metadata objects "404": content: {} description: Image not found in this service summary: Return a list of analyzer artifacts of the specified type x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: getImage /images/{imageDigest}/metadata: get: operationId: list_image_metadata parameters: - in: path name: imageDigest required: true schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: items: type: string type: array description: Metadata listing for the image "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: List image metadata types tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: getImage /images/{imageDigest}/metadata/{mtype}: get: operationId: get_image_metadata_by_type parameters: - in: path name: imageDigest required: true schema: type: string - in: path name: mtype required: true schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/MetadataResponse' description: Metadata of specified type from the image "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: Get the metadata of an image by type tags: - Images x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images x-anchore-authz-action: getImage /repositories: post: operationId: add_repository parameters: - description: full repository to add e.g. docker.io/library/alpine in: query name: repository required: true schema: type: string - description: flag to enable/disable auto tag_update activation when new images from a repo are added in: query name: autosubscribe schema: type: boolean - description: "flag to return tags in the repository without actually watching\ \ the repository, default is false" in: query name: dryrun schema: type: boolean - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/SubscriptionList' description: Repository and discovered tags added summary: Add repository to watch tags: - Repository Credentials x-anchore-authz-action: createRepository x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.images /registries: get: description: List all configured registries the system can/will watch operationId: list_registries parameters: - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/RegistryConfigurationList' description: Registry listing summary: List configured registries tags: - Registries x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.registries x-anchore-authz-action: listRegistries post: description: Adds a new registry to the system operationId: create_registry parameters: - description: flag to determine whether or not to validate registry/credential at registry add time in: query name: validate schema: type: boolean - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/RegistryConfigurationRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/RegistryConfigurationList' description: Saved registry configuration "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: Add a new registry tags: - Registries x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.registries x-anchore-authz-action: createRegistry x-codegen-request-body-name: registrydata /registries/{registry}: delete: description: Delete a registry configuration record from the system. Does not remove any images. operationId: delete_registry parameters: - in: path name: registry required: true schema: format: path type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: {} description: Delete success "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: Delete a registry configuration tags: - Registries x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.registries x-anchore-authz-action: deleteRegistry get: description: Get information on a specific registry operationId: get_registry parameters: - in: path name: registry required: true schema: format: path type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/RegistryConfigurationList' description: Registry configuration summary: Get a specific registry configuration tags: - Registries x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.registries x-anchore-authz-action: getRegistry put: description: Replaces an existing registry record with the given record operationId: update_registry parameters: - in: path name: registry required: true schema: format: path type: string - description: flag to determine whether or not to validate registry/credential at registry update time in: query name: validate schema: type: boolean - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/RegistryConfigurationRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/RegistryConfigurationList' description: Updated registry configuration "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: Update/replace a registry configuration tags: - Registries x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.registries x-anchore-authz-action: updateRegistry x-codegen-request-body-name: registrydata /status: get: description: Get the API service status operationId: get_status responses: "200": content: application/json: schema: $ref: '#/components/schemas/StatusResponse' description: Status listing "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: Service status tags: - System x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.system x-anchore-authz-action: None /system: get: description: Get the system status including queue lengths operationId: get_service_detail responses: "200": content: application/json: schema: $ref: '#/components/schemas/SystemStatusResponse' description: Status listing "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: System status tags: - System x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.system x-anchore-authz-action: None /system/feeds: get: description: "Return a list of feed and their groups along with update and record\ \ count information. This data reflects the state of the policy engine, not\ \ the upstream feed service itself." operationId: get_system_feeds responses: "200": content: application/json: schema: items: $ref: '#/components/schemas/FeedMetadata' type: array description: success "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: list feeds operations and information tags: - System x-anchore-authz-action: listFeeds x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.system post: description: "Execute a synchronous feed sync operation. The response will block\ \ until complete, then return the result summary." operationId: post_system_feeds parameters: - description: instruct system to flush existing data feeds records from anchore-engine in: query name: flush schema: type: boolean - description: instruct system to re-sync data feeds in: query name: sync schema: type: boolean responses: "200": content: application/json: schema: $ref: '#/components/schemas/FeedSyncResults' description: Feeds operation success "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: trigger feeds operations tags: - System x-anchore-authz-action: updateFeeds x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.system /system/feeds/{feed}: delete: description: Delete the groups and data for the feed and disable the feed itself operationId: delete_feed parameters: - in: path name: feed required: true schema: type: string responses: "200": content: {} description: Successfully deleted "500": content: {} description: Internal server error processing the request. Retry expected "404": content: {} description: Not found tags: - System x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.system x-anchore-authz-action: updateFeeds put: description: Disable the feed so that it does not sync on subsequent sync operations operationId: toggle_feed_enabled parameters: - in: path name: feed required: true schema: type: string - in: query name: enabled required: true schema: type: boolean responses: "200": content: application/json: schema: $ref: '#/components/schemas/FeedMetadata' description: FeedInfo "500": content: {} description: Internal server error processing the request. Retry expected "400": content: {} description: "Bad request, fix and resend" tags: - System x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.system x-anchore-authz-action: updateFeeds /system/feeds/{feed}/{group}: delete: description: Delete the group data and disable the group itself operationId: delete_feed_group parameters: - in: path name: feed required: true schema: type: string - in: path name: group required: true schema: type: string responses: "200": content: {} description: Successfully deleted "500": content: {} description: Internal server error processing the request. Retry expected "404": content: {} description: Not found tags: - System x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.system x-anchore-authz-action: updateFeeds put: description: Disable a specific group within a feed to not sync operationId: toggle_group_enabled parameters: - in: path name: feed required: true schema: type: string - in: path name: group required: true schema: type: string - in: query name: enabled required: true schema: type: boolean responses: "200": content: application/json: schema: items: $ref: '#/components/schemas/FeedMetadata' type: array description: FeedInfo listing "500": content: {} description: Internal server error processing the request. Retry expected "400": content: {} description: "Bad request, fix and resend" tags: - System x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.system x-anchore-authz-action: updateFeeds /system/services: get: operationId: list_services responses: "200": content: application/json: schema: $ref: '#/components/schemas/ServiceList' description: Service listing "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: List system services tags: - System x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.system x-anchore-authz-action: listServices /system/services/{servicename}: get: operationId: get_services_by_name parameters: - in: path name: servicename required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ServiceList' description: Service Info "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: Get a service configuration and state tags: - System x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.system x-anchore-authz-action: getService /system/services/{servicename}/{hostid}: delete: operationId: delete_service parameters: - in: path name: servicename required: true schema: type: string - in: path name: hostid required: true schema: type: string responses: "200": content: {} description: Delete success "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: Delete the service config tags: - System x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.system x-anchore-authz-action: deleteService get: operationId: get_services_by_name_and_host parameters: - in: path name: servicename required: true schema: type: string - in: path name: hostid required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ServiceList' description: Listing of registered services "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: Get service config for a specific host tags: - System x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.system x-anchore-authz-action: getService /system/policy_spec: get: description: Get the policy language spec for this service operationId: describe_policy responses: "200": content: application/json: schema: description: List of Gate specifications items: $ref: '#/components/schemas/GateSpec' type: array description: Policy Language Description summary: Describe the policy language spec implemented by this service. tags: - System x-anchore-authz-action: None x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.system /system/error_codes: get: description: Describe anchore engine error codes. operationId: describe_error_codes responses: "200": content: application/json: schema: description: List of Error Code Descriptions items: $ref: '#/components/schemas/AnchoreErrorCode' type: array description: Error Codes Description summary: Describe anchore engine error codes. tags: - System x-anchore-authz-action: None x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.system /event_types: get: description: Returns list of event types in the category hierarchy operationId: list_event_types responses: "200": content: application/json: schema: $ref: '#/components/schemas/EventTypesList' description: List of event types summary: List Event Types tags: - Events x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.events x-anchore-authz-action: listEvents /events: delete: description: Delete all or a subset of events filtered using the optional query parameters operationId: delete_events parameters: - description: Delete events that occurred before the timestamp in: query name: before schema: type: string - description: Delete events that occurred after the timestamp in: query name: since schema: type: string - description: Delete events that match the level - INFO or ERROR in: query name: level schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: items: type: string type: array description: List of deleted event IDs "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal Error summary: Delete Events tags: - Events x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.events x-anchore-authz-action: deleteEvents get: description: Returns a paginated list of events in the descending order of their occurrence. Optional query parameters may be used for filtering results operationId: list_events parameters: - description: Filter events by the originating service in: query name: source_servicename schema: type: string - description: Filter events by the originating host ID in: query name: source_hostid schema: type: string - description: Filter events by a prefix match on the event type (e.g. "user.image.") in: query name: event_type schema: pattern: "^[a-z0-9-_.*]+$" type: string - description: "Filter events by the type of resource - tag, imageDigest, repository\ \ etc" in: query name: resource_type schema: type: string - description: Filter events by the id of the resource in: query name: resource_id schema: type: string - description: Filter events by the level - INFO or ERROR in: query name: level schema: type: string - description: Return events that occurred after the timestamp in: query name: since schema: type: string - description: Return events that occurred before the timestamp in: query name: before schema: type: string - description: Pagination controls - return the nth page of results. Defaults to first page if left empty in: query name: page schema: default: 1 type: integer - description: Number of events in the result set. Defaults to 100 if left empty in: query name: limit schema: default: 100 type: integer - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/EventsList' description: Paginated list of event records and the next token summary: List Events tags: - Events x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.events x-anchore-authz-action: listEvents /events/{eventId}: delete: description: Delete an event by its event ID operationId: delete_event parameters: - description: Event ID of the event to be deleted in: path name: eventId required: true schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: {} description: Delete success summary: Delete Event tags: - Events x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.events x-anchore-authz-action: getEvent get: description: Lookup an event by its event ID operationId: get_event parameters: - description: Event ID of the event for lookup in: path name: eventId required: true schema: type: string - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/EventResponse' description: Single event record summary: Get Event tags: - Events x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.events x-anchore-authz-action: getEvent /query/images/by_vulnerability: get: description: Returns a listing of images and their respective packages vulnerable to the given vulnerability ID operationId: query_images_by_vulnerability parameters: - description: The ID of the vulnerability to search for within all images stored in anchore-engine (e.g. CVE-1999-0001) in: query name: vulnerability_id required: true schema: type: string - description: "Filter results to images within the given vulnerability namespace\ \ (e.g. debian:8, ubuntu:14.04)" in: query name: namespace schema: type: string - description: Filter results to images with vulnable packages with the given package name (e.g. libssl) in: query name: affected_package schema: type: string - description: Filter results to vulnerable package/vulnerability with the given severity in: query name: severity schema: enum: - Unknown - Negligible - Low - Medium - High - Critical type: string - description: Filter results to include only vulnerabilities that are not marked as invalid by upstream OS vendor data in: query name: vendor_only schema: default: true type: boolean - description: The page of results to fetch. Pages start at 1 in: query name: page schema: type: integer - description: "Limit the number of records for the requested page. If omitted\ \ or set to 0, return all results in a single page" in: query name: limit schema: type: integer - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/PaginatedVulnerableImageList' description: Image lookup success "400": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Invalid filter parameters summary: List images vulnerable to the specific vulnerability ID. tags: - Query x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.query x-anchore-authz-action: listImages /query/images/by_package: get: description: Filterable query interface to search for images containing specified package operationId: query_images_by_package parameters: - description: Name of package to search for (e.g. sed) in: query name: name required: true schema: type: string - description: Type of package to filter on (e.g. dpkg) in: query name: package_type schema: type: string - description: Version of named package to filter on (e.g. 4.4-1) in: query name: version schema: type: string - description: The page of results to fetch. Pages start at 1 in: query name: page schema: type: string - description: "Limit the number of records for the requested page. If omitted\ \ or set to 0, return all results in a single page" in: query name: limit schema: type: integer - description: "An account name to change the resource scope of the request\ \ to that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/PaginatedImageList' description: Image listing "400": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Bad filter parameters summary: List of images containing given package tags: - Query x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.query x-anchore-authz-action: listImages /query/vulnerabilities: get: description: "List (w/filters) vulnerability records known by the system, with\ \ affected packages information if present" operationId: query_vulnerabilities parameters: - description: The ID of the vulnerability (e.g. CVE-1999-0001) explode: false in: query name: id required: true schema: items: type: string type: array style: form - description: Filter results by specified package name (e.g. sed) in: query name: affected_package schema: type: string - description: Filter results by specified package version (e.g. 4.4-1) in: query name: affected_package_version schema: type: string - description: The page of results to fetch. Pages start at 1 in: query name: page schema: default: "1" type: string - description: "Limit the number of records for the requested page. If omitted\ \ or set to 0, return all results in a single page" in: query name: limit schema: type: integer - description: Namespace(s) to filter vulnerability records by explode: false in: query name: namespace schema: items: type: string type: array style: form responses: "200": content: application/json: schema: $ref: '#/components/schemas/PaginatedVulnerabilityList' description: Vulnerability listing paginated "400": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Invalid filter parameters summary: Listing information about given vulnerability tags: - Query x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.query x-anchore-authz-action: None /accounts: get: operationId: list_accounts parameters: - description: Filter accounts by state in: query name: state schema: enum: - enabled - disabled - deleting type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/AccountList' description: Accound summary listing "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: List user summaries. Only available to the system admin user. tags: - User Management x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.accounts x-anchore-authz-action: listAccounts post: operationId: create_account requestBody: content: application/json: schema: $ref: '#/components/schemas/AccountCreationRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Account' description: Account Record "409": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Conflicting user information. User already exists. "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: Create a new user. Only avaialble to admin user. tags: - User Management x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.accounts x-anchore-authz-action: createAccount x-codegen-request-body-name: account /accounts/{accountname}: delete: operationId: delete_account parameters: - in: path name: accountname required: true schema: type: string responses: "204": content: {} description: Successful deletion "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: "Delete the specified account, only allowed if the account is in the\ \ disabled state. All users will be deleted along with the account and all\ \ resources will be garbage collected" tags: - User Management x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.accounts x-anchore-authz-action: deleteAccount get: operationId: get_account parameters: - in: path name: accountname required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/Account' description: Get user information "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: "Get info about an user. Only available to admin user. Uses the main\ \ user Id, not a username." tags: - User Management x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.accounts x-anchore-authz-action: getAccount /accounts/{accountname}/state: put: operationId: update_account_state parameters: - in: path name: accountname required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AccountStatus' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/AccountStatus' description: Updated state of the account "400": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: State requested is invalid based on current state of the account "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: Update the state of an account to either enabled or disabled. For deletion use the DELETE route tags: - User Management x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.accounts x-anchore-authz-action: updateAccount x-codegen-request-body-name: desired_state /accounts/{accountname}/users: get: operationId: list_users parameters: - in: path name: accountname required: true schema: type: string responses: "200": content: application/json: schema: description: List of user credential records items: $ref: '#/components/schemas/User' type: array description: User listing "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: List accounts for the user tags: - User Management x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.accounts x-anchore-authz-action: listUsers post: operationId: create_user parameters: - in: path name: accountname required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UserCreationRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/User' description: Credential summary summary: Create a new user tags: - User Management x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.accounts x-anchore-authz-action: createUser x-codegen-request-body-name: user /accounts/{accountname}/users/{username}: delete: operationId: delete_user parameters: - in: path name: accountname required: true schema: type: string - in: path name: username required: true schema: type: string responses: "204": content: {} description: Deleted credential "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: Delete a specific user credential by username of the credential. Cannot be the credential used to authenticate the request. tags: - User Management x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.accounts x-anchore-authz-action: deleteUser get: operationId: get_account_user parameters: - in: path name: accountname required: true schema: type: string - in: path name: username required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/User' description: User record "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: Get a specific user in the specified account tags: - User Management x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.accounts x-anchore-authz-action: getUser /accounts/{accountname}/users/{username}/credentials: delete: operationId: delete_user_credential parameters: - in: path name: accountname required: true schema: type: string - in: path name: username required: true schema: type: string - in: query name: credential_type required: true schema: enum: - password type: string responses: "204": content: {} description: Successful deletion "400": content: {} description: "Conflict, cannot delete the credential used to authenticate\ \ this request" "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: Delete a credential by type tags: - User Management x-anchore-authz-action: updateUser x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.accounts get: operationId: list_user_credentials parameters: - in: path name: accountname required: true schema: type: string - in: path name: username required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/CredentialList' description: User credential listing "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: Get current credential summary tags: - User Management x-anchore-authz-action: getUser x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.accounts post: operationId: create_user_credential parameters: - in: path name: accountname required: true schema: type: string - in: path name: username required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AccessCredential' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/User' description: "Add a credential, overwritting if already exists" "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: add/replace credential tags: - User Management x-anchore-authz-action: updateUser x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.accounts x-codegen-request-body-name: credential /account: get: operationId: get_users_account responses: "200": content: application/json: schema: $ref: '#/components/schemas/Account' description: User details for caller's user "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: List the account for the authenticated user tags: - Identity x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.accounts x-anchore-authz-action: getAccount /user: get: operationId: get_user responses: "200": content: application/json: schema: $ref: '#/components/schemas/User' description: User details for caller's user "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: List authenticated user info tags: - Identity x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.user x-anchore-authz-action: None /user/credentials: get: operationId: get_credentials responses: "200": content: application/json: schema: $ref: '#/components/schemas/CredentialList' description: User credential listing "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: Get current credential summary tags: - Identity x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.user x-anchore-authz-action: None post: operationId: add_credential requestBody: content: application/json: schema: $ref: '#/components/schemas/AccessCredential' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/User' description: "Add a credential, overwritting if already exists" "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error summary: add/replace credential tags: - Identity x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.user x-anchore-authz-action: None x-codegen-request-body-name: credential /archives: get: operationId: list_archives responses: "200": content: application/json: schema: $ref: '#/components/schemas/ArchiveSummary' description: Archive summary listing "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error tags: - Archives x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.archive x-anchore-authz-action: listArchives /archives/rules: get: operationId: list_analysis_archive_rules parameters: - description: If true include system global rules (owned by admin) even for non-admin users. Defaults to true if not set. Can be set to false to exclude globals in: query name: system_global schema: type: boolean responses: "200": content: application/json: schema: $ref: '#/components/schemas/AnalysisArchiveRules' description: Archive transition rules "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error tags: - Archives x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.archive x-anchore-authz-action: listArchiveTransitionRules post: operationId: create_analysis_archive_rule requestBody: content: application/json: schema: $ref: '#/components/schemas/AnalysisArchiveTransitionRule' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/AnalysisArchiveTransitionRule' description: Archive transition rule "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error tags: - Archives x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.archive x-anchore-authz-action: createArchiveTransitionRule x-codegen-request-body-name: rule /archives/rules/{ruleId}: delete: operationId: delete_analysis_archive_rule parameters: - in: path name: ruleId required: true schema: type: string responses: "200": content: {} description: Analysis archive rule succesfuly deleted "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error tags: - Archives x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.archive x-anchore-authz-action: deleteArchiveTransitionRule get: operationId: get_analysis_archive_rule parameters: - in: path name: ruleId required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/AnalysisArchiveTransitionRule' description: Archive transition rule "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error tags: - Archives x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.archive x-anchore-authz-action: getArchiveTransitionRule /archives/images: get: operationId: list_analysis_archive responses: "200": content: application/json: schema: $ref: '#/components/schemas/ArchivedAnalyses' description: Image analysis archive listing for the requesting account (not the whole system) "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error tags: - Archives x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.archive x-anchore-authz-action: listArchivedImageAnalysis post: operationId: archive_image_analysis requestBody: content: application/json: schema: $ref: '#/components/schemas/ImageAnalysisReferences' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/AddAnalysisArchiveResult' description: Archive statuses "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error tags: - Archives x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.archive x-anchore-authz-action: createArchivedImageAnalysis x-codegen-request-body-name: imageReferences /archives/images/{imageDigest}: delete: description: Performs a synchronous archive deletion operationId: delete_archived_analysis parameters: - in: path name: imageDigest required: true schema: type: string - in: query name: force schema: type: boolean responses: "200": content: {} description: ArchivdImageAnalysis successfully deleted "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error tags: - Archives x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.archive x-anchore-authz-action: deleteArchivedImageAnalysis get: description: Returns the archive metadata record identifying the image and tags for the analysis in the archive. operationId: get_archived_analysis parameters: - description: The image digest to identify the image analysis in: path name: imageDigest required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ArchivedAnalysis' description: Archived Image "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error tags: - Archives x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.archive x-anchore-authz-action: getArchivedImageAnalysis /oauth/token: post: description: "Request a jwt token for subsequent operations, this request is\ \ authenticated with normal HTTP auth" operationId: get_oauth_token requestBody: content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/get_oauth_token_request' responses: "200": content: application/json: schema: $ref: '#/components/schemas/TokenResponse' description: Resulting JWT token "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: Internal error x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.oauth x-anchore-authz-action: None /system/webhooks/{webhook_type}/test: post: description: "Loads the Webhook configuration for webhook_type, and sends the\ \ notification out as a test" operationId: test_webhook parameters: - description: The Webhook Type that we should test in: path name: webhook_type required: true schema: type: string - description: What kind of Notification to send in: query name: notification_type schema: default: tag_update enum: - tag_update - analysis_update - vuln_update - policy_eval type: string responses: "200": content: {} description: "The Webhook was sent successfully. Schemas may be found under\ \ Models (PolicyEvalNotification, TagUpdateNotification, VulnUpdateNotification,\ \ AnalysisUpdateNotification)" "400": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: The Webhook failed to send due to misconfiguration "500": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' description: The Webhook failed to send due to an Internal Error summary: Adds the capabilities to test a webhook delivery for the given notification type tags: - System x-anchore-authz-action: None x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.system /imports/images: get: operationId: list_operations responses: "200": content: application/json: schema: $ref: '#/components/schemas/ImageImports' description: success "500": content: {} description: Internal Error summary: Lists in-progress imports tags: - Imports x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.image_imports x-anchore-authz-action: importImage post: operationId: create_operation responses: "200": content: application/json: schema: $ref: '#/components/schemas/ImageImportOperation' description: success "500": content: {} description: Internal Error summary: Begin the import of an image analyzed by Syft into the system tags: - Imports x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.image_imports x-anchore-authz-action: importImage /imports/images/{operation_id}: delete: operationId: invalidate_operation parameters: - in: path name: operation_id required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ImageImportOperation' description: success "500": content: {} description: Internal Error summary: Invalidate operation ID so it can be garbage collected tags: - Imports x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.image_imports x-anchore-authz-action: importImage get: operationId: get_operation parameters: - in: path name: operation_id required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ImageImportOperation' description: success "500": content: {} description: Internal Error summary: Get detail on a single import tags: - Imports x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.image_imports x-anchore-authz-action: importImage /imports/images/{operation_id}/packages: get: operationId: list_import_packages parameters: - in: path name: operation_id required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ImportContentDigestList' description: success "500": content: {} description: Internal Error summary: List uploaded package manifests tags: - Imports x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.image_imports x-anchore-authz-action: importImage post: operationId: import_image_packages parameters: - in: path name: operation_id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ImagePackageManifest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/ImageImportContentResponse' description: success "500": content: {} description: Internal Error summary: Begin the import of an image analyzed by Syft into the system tags: - Imports x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.image_imports x-anchore-authz-action: importImage x-codegen-request-body-name: sbom /imports/images/{operation_id}/dockerfile: get: operationId: list_import_dockerfiles parameters: - in: path name: operation_id required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ImportContentDigestList' description: success "500": content: {} description: Internal Error summary: List uploaded dockerfiles tags: - Imports x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.image_imports x-anchore-authz-action: importImage post: operationId: import_image_dockerfile parameters: - in: path name: operation_id required: true schema: type: string requestBody: content: text/plain; utf-8: schema: type: string required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/ImageImportContentResponse' description: success "500": content: {} description: Internal Error summary: Begin the import of an image analyzed by Syft into the system tags: - Imports x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.image_imports x-anchore-authz-action: importImage x-codegen-request-body-name: contents /imports/images/{operation_id}/manifest: get: operationId: list_import_image_manifests parameters: - in: path name: operation_id required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ImportContentDigestList' description: success "500": content: {} description: Internal Error summary: List uploaded image manifests tags: - Imports x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.image_imports x-anchore-authz-action: importImage post: operationId: import_image_manifest parameters: - in: path name: operation_id required: true schema: type: string requestBody: content: application/vnd.oci.image.manifest.v1+json: schema: type: object application/vnd.docker.distribution.manifest.v2+json: schema: type: object application/vnd.docker.distribution.manifest.v1+json: schema: type: object application/vnd.docker.distribution.manifest.v1+prettyjws: schema: type: object required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/ImageImportContentResponse' description: success "500": content: {} description: Internal Error summary: Import a docker or OCI distribution manifest to associate with the image tags: - Imports x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.image_imports x-anchore-authz-action: importImage x-codegen-request-body-name: contents /imports/images/{operation_id}/parent_manifest: get: operationId: list_import_parent_manifests parameters: - in: path name: operation_id required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ImportContentDigestList' description: success "500": content: {} description: Internal Error summary: List uploaded parent manifests (manifest lists for a tag) tags: - Imports x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.image_imports x-anchore-authz-action: importImage post: operationId: import_image_parent_manifest parameters: - in: path name: operation_id required: true schema: type: string requestBody: content: application/vnd.docker.distribution.manifest.list.v2+json: schema: type: object application/vnd.oci.image.index.v1+json: schema: type: object required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/ImageImportContentResponse' description: success "500": content: {} description: Internal Error summary: Import a docker or OCI distribution manifest list to associate with the image tags: - Imports x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.image_imports x-anchore-authz-action: importImage x-codegen-request-body-name: contents /imports/images/{operation_id}/image_config: get: operationId: list_import_image_configs parameters: - in: path name: operation_id required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ImportContentDigestList' description: success "500": content: {} description: Internal Error summary: List uploaded image configs tags: - Imports x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.image_imports x-anchore-authz-action: importImage post: operationId: import_image_config parameters: - in: path name: operation_id required: true schema: type: string requestBody: content: application/json: schema: type: object required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/ImageImportContentResponse' description: success "500": content: {} description: Internal Error summary: Import a docker or OCI image config to associate with the image tags: - Imports x-swagger-router-controller: anchore_engine.services.apiext.api.controllers.image_imports x-anchore-authz-action: importImage x-codegen-request-body-name: contents components: parameters: AsAccountParameter: description: "An account name to change the resource scope of the request to\ \ that account, if permissions allow (admin only)" in: header name: x-anchore-account schema: type: string schemas: PaginationProperties: description: Properties for common pagination handling to be included in any wrapping object that needs pagination elements properties: page: description: The page number returned (should match the requested page query string param) type: string next_page: description: True if additional pages exist (page + 1) or False if this is the last page type: string returned_count: description: The number of items sent in this response type: integer type: object PackageReference: description: A record of a software item which is vulnerable or carries a fix for a vulnerability properties: name: description: Package name type: string version: description: "A version for the package. If null, then references all versions" nullable: true type: string type: description: "Package type (e.g. package, rpm, deb, apk, jar, npm, gem,\ \ ...)" type: string will_not_fix: description: Whether a vendor will or will not fix a vulnerabitlity type: boolean type: object VulnerablePackageReference: description: A record of a software item which is vulnerable or carries a fix for a vulnerability properties: name: description: Package name type: string version: description: "A version for the package. If null, then references all versions" nullable: true type: string type: description: "Package type (e.g. package, rpm, deb, apk, jar, npm, gem,\ \ ...)" type: string severity: description: Severity of vulnerability affecting package type: string namespace: description: Vulnerability namespace of affected package type: string type: object StandaloneVulnerability: description: "A single vulnerability record in a single namespace, the unique\ \ key is the combination of the id and namespace" properties: id: description: "Vulnerability identifier. May be CVE-X, RHSA-X, etc. Not necessarily\ \ unique across namespaces" type: string namespace: description: The namespace for the vulnerability record to avoid conflicts for the same id in different distros or sources (e.g. deb vs ubuntu for same CVE) type: string affected_packages: description: The array of packages (typically packages) that are vulnerable-to or provide fixes-for this vulnerability items: $ref: '#/components/schemas/PackageReference' type: array severity: description: Severity label specific to the namepsace enum: - Unknown - Negligible - Low - Medium - High - Critical type: string link: description: URL for the upstream CVE record in the reporting source (e.g. ubuntu security tracker) type: string nvd_data: description: List of Nvd Data objects items: $ref: '#/components/schemas/NvdDataObject' type: array vendor_data: description: List of Vendor Data objects items: $ref: '#/components/schemas/VendorDataObject' type: array description: description: Description of the vulnerability if available type: string references: description: List of references including items: $ref: '#/components/schemas/VulnerabilityReference' type: array type: object VulnerabilityReference: description: An external link/reference properties: source: description: The reference source type: string tags: items: type: string type: array url: description: The reference url type: string type: object ImageReference: description: "A summary of an image identity, including digest, id (if available),\ \ and any tags known to have ever been mapped to the digest" properties: digest: description: The image digest type: string id: description: The image id if available type: string analyzed_at: description: "Timestamp, in rfc3339 format, indicating when the image state\ \ became 'analyzed' in Anchore Engine." type: string tag_history: items: $ref: '#/components/schemas/TagEntry' type: array type: object TagEntry: description: A docker-pullable tag value as well as deconstructed components example: registry: registry detected_at: 2000-01-23T04:56:07.000+00:00 pullstring: pullstring tag: tag repository: repository properties: pullstring: description: The pullable string for the tag. E.g. "docker.io/library/node:latest" type: string registry: description: The registry hostname:port section of the pull string type: string repository: description: The repository section of the pull string type: string tag: description: The tag-only section of the pull string type: string detected_at: description: The timestamp at which the Anchore Engine detected this tag was mapped to the image digest. Does not necessarily indicate when the tag was actually pushed to the registry. format: date-time type: string type: object VulnerableImage: description: A record of an image vulnerable to some known vulnerability. Includes vulnerable package information properties: image: $ref: '#/components/schemas/ImageReference' affected_packages: items: $ref: '#/components/schemas/VulnerablePackageReference' type: array type: object ImageWithPackages: description: An image record that contains packages properties: image: $ref: '#/components/schemas/ImageReference' packages: items: $ref: '#/components/schemas/PackageReference' type: array type: object PaginatedVulnerableImageList: allOf: - $ref: '#/components/schemas/PaginationProperties' - $ref: '#/components/schemas/PaginatedVulnerableImageList_allOf' description: Pagination wrapped list of images with vulnerabilties that match some filter PaginatedVulnerabilityList: allOf: - $ref: '#/components/schemas/PaginationProperties' - $ref: '#/components/schemas/PaginatedVulnerabilityList_allOf' description: A paginated listing of vulnerability records sorted by ID in descending order PaginatedImageList: allOf: - $ref: '#/components/schemas/PaginationProperties' - $ref: '#/components/schemas/PaginatedImageList_allOf' description: Pagination wrapped list of images that match some filter ImageAnalysisRequest: description: "A request to add an image to be watched and analyzed by the engine.\ \ Optionally include the dockerfile content. Either source, digest or tag\ \ must be present." example: dockerfile: dockerfile digest: digest created_at: 2000-01-23T04:56:07.000+00:00 annotations: "{}" tag: tag source: import: local_image_id: local_image_id operation_uuid: operation_uuid contents: parent_manifest: parent_manifest manifest: manifest dockerfile: dockerfile image_config: image_config packages: packages digest: digest parent_digest: parent_digest tags: - docker.io/library/nginx:latest - docker.io/library/nginx:latest digest: creation_timestamp_override: 2000-01-23T04:56:07.000+00:00 dockerfile: dockerfile pullstring: pullstring tag: tag archive: digest: digest tag: dockerfile: dockerfile pullstring: pullstring image_type: image_type properties: dockerfile: description: "Base64 encoded content of the dockerfile for the image, if\ \ available. Deprecated in favor of the 'source' field." pattern: "^[a-zA-Z0-9+/=]+$" type: string digest: description: "A digest string for an image, maybe a pull string or just\ \ a digest. e.g. nginx@sha256:123 or sha256:abc123. If a pull string,\ \ it must have same regisry/repo as the tag field. Deprecated in favor\ \ of the 'source' field" type: string tag: description: Full pullable tag reference for image. e.g. docker.io/nginx:latest. Deprecated in favor of the 'source' field type: string created_at: description: "Optional override of the image creation time, only honored\ \ when both tag and digest are also supplied e.g. 2018-10-17T18:14:00Z.\ \ Deprecated in favor of the 'source' field" format: date-time type: string image_type: description: "Optional. The type of image this is adding, defaults to \"\ docker\". This can be ommitted until multiple image types are supported." type: string annotations: description: Annotations to be associated with the added image in key/value form properties: {} type: object source: $ref: '#/components/schemas/ImageSource' type: object ImageSource: description: A set of analysis source types. Only one may be set in any given request. example: import: local_image_id: local_image_id operation_uuid: operation_uuid contents: parent_manifest: parent_manifest manifest: manifest dockerfile: dockerfile image_config: image_config packages: packages digest: digest parent_digest: parent_digest tags: - docker.io/library/nginx:latest - docker.io/library/nginx:latest digest: creation_timestamp_override: 2000-01-23T04:56:07.000+00:00 dockerfile: dockerfile pullstring: pullstring tag: tag archive: digest: digest tag: dockerfile: dockerfile pullstring: pullstring properties: tag: $ref: '#/components/schemas/RegistryTagSource' digest: $ref: '#/components/schemas/RegistryDigestSource' archive: $ref: '#/components/schemas/AnalysisArchiveSource' import: $ref: '#/components/schemas/ImageImportManifest' type: object RegistryTagSource: description: "An image reference using a tag in a registry, this is the most\ \ common source type." example: dockerfile: dockerfile pullstring: pullstring nullable: true properties: pullstring: description: "A docker pull string (e.g. docker.io/nginx:latest, or docker.io/nginx@sha256:abd)\ \ to retrieve the image" type: string dockerfile: description: "Base64 encoded content of the dockerfile used to build the\ \ image, if available." pattern: "^[a-zA-Z0-9+/=]+$" type: string required: - pullstring type: object x-nullable: true RegistryDigestSource: description: "An image reference using a digest in a registry, includes some\ \ extra tag and timestamp info in addition to the pull string to allow proper\ \ tag history reconstruction." example: creation_timestamp_override: 2000-01-23T04:56:07.000+00:00 dockerfile: dockerfile pullstring: pullstring tag: tag nullable: true properties: pullstring: description: A digest-based pullstring (e.g. docker.io/nginx@sha256:123abc) type: string tag: description: A valid docker tag reference (e.g. docker.io/nginx:latest) that will be associated with the image but not used to pull the image. type: string creation_timestamp_override: description: Optional override of the image creation time to support proper tag history construction in cases of out-of-order analysis compared to registry history for the tag format: date-time type: string dockerfile: description: "Base64 encoded content of the dockerfile used to build the\ \ image, if available." pattern: "^[a-zA-Z0-9+/=]+$" type: string required: - pullstring - tag type: object x-nullable: true AnalysisArchiveSource: description: An image reference in the analysis archive for the purposes of loading analysis from the archive into th working set example: digest: digest nullable: true properties: digest: description: "The image digest identify the analysis. Archived analyses\ \ are based on digest, tag records are restored as analysis is restored." pattern: "^sha256:[a-fA-F0-9]{64}$" type: string required: - digest type: object x-nullable: true LocalAnalysisSource: properties: digest: type: string type: object PolicyBundle: description: "A bundle containing a set of policies, whitelists, and rules for\ \ mapping them to specific images" example: blacklisted_images: - registry: registry image: type: tag value: value name: name id: id repository: repository - registry: registry image: type: tag value: value name: name id: id repository: repository mappings: - whitelist_ids: - whitelist_ids - whitelist_ids registry: registry image: type: tag value: value policy_id: policy_id name: name id: id policy_ids: - policy_ids - policy_ids repository: repository - whitelist_ids: - whitelist_ids - whitelist_ids registry: registry image: type: tag value: value policy_id: policy_id name: name id: id policy_ids: - policy_ids - policy_ids repository: repository whitelists: - name: name comment: comment id: id version: version items: - trigger_id: trigger_id expires_on: 2000-01-23T04:56:07.000+00:00 id: id gate: gate - trigger_id: trigger_id expires_on: 2000-01-23T04:56:07.000+00:00 id: id gate: gate - name: name comment: comment id: id version: version items: - trigger_id: trigger_id expires_on: 2000-01-23T04:56:07.000+00:00 id: id gate: gate - trigger_id: trigger_id expires_on: 2000-01-23T04:56:07.000+00:00 id: id gate: gate name: name policies: - name: name comment: comment rules: - action: GO id: id gate: gate trigger: trigger params: - name: name value: value - name: name value: value - action: GO id: id gate: gate trigger: trigger params: - name: name value: value - name: name value: value id: id version: version - name: name comment: comment rules: - action: GO id: id gate: gate trigger: trigger params: - name: name value: value - name: name value: value - action: GO id: id gate: gate trigger: trigger params: - name: name value: value - name: name value: value id: id version: version whitelisted_images: - registry: registry image: type: tag value: value name: name id: id repository: repository - registry: registry image: type: tag value: value name: name id: id repository: repository comment: comment id: id version: version properties: id: description: Id of the bundle type: string name: description: Human readable name for the bundle type: string comment: description: "Description of the bundle, human readable" type: string version: description: Version id for this bundle format type: string whitelists: description: Whitelists which define which policy matches to disregard explicitly in the final policy decision items: $ref: '#/components/schemas/Whitelist' type: array policies: description: Policies which define the go/stop/warn status of an image using rule matches on image properties items: $ref: '#/components/schemas/Policy' type: array mappings: description: Mapping rules for defining which policy and whitelist(s) to apply to an image based on a match of the image tag or id. Evaluated in order. items: $ref: '#/components/schemas/MappingRule' type: array whitelisted_images: description: "List of mapping rules that define which images should always\ \ be passed (unless also on the blacklist), regardless of policy result." items: $ref: '#/components/schemas/ImageSelectionRule' type: array blacklisted_images: description: List of mapping rules that define which images should always result in a STOP/FAIL policy result regardless of policy content or presence in whitelisted_images items: $ref: '#/components/schemas/ImageSelectionRule' type: array required: - id - mappings - policies - version type: object WhitelistItem: description: Identifies a specific gate and trigger match from a policy against an image and indicates it should be ignored in final policy decisions example: trigger_id: trigger_id expires_on: 2000-01-23T04:56:07.000+00:00 id: id gate: gate properties: id: type: string gate: type: string trigger_id: type: string expires_on: format: date-time type: string required: - gate - trigger_id type: object PolicyRule: description: A rule that defines and decision value if the match is found true for a given image. example: action: GO id: id gate: gate trigger: trigger params: - name: name value: value - name: name value: value properties: id: type: string gate: type: string trigger: type: string action: enum: - GO - STOP - WARN type: string params: items: $ref: '#/components/schemas/PolicyRule_params_inner' type: array required: - action - gate - trigger type: object Whitelist: description: A collection of whitelist items to match a policy evaluation against. example: name: name comment: comment id: id version: version items: - trigger_id: trigger_id expires_on: 2000-01-23T04:56:07.000+00:00 id: id gate: gate - trigger_id: trigger_id expires_on: 2000-01-23T04:56:07.000+00:00 id: id gate: gate properties: id: type: string name: type: string version: type: string comment: type: string items: items: $ref: '#/components/schemas/WhitelistItem' type: array required: - id - version type: object ImageRef: description: A reference to an image example: type: tag value: value properties: type: enum: - tag - digest - id type: string value: type: string required: - type - value type: object DeleteImageResponse: description: Image deletion response containing status and details example: digest: digest detail: detail status: not_found properties: digest: type: string status: description: Current status of the image deletion enum: - not_found - deleting - delete_failed type: string detail: type: string required: - digest - status type: object DeleteImageResponseList: description: A list of delete image responses items: $ref: '#/components/schemas/DeleteImageResponse' type: array Policy: example: name: name comment: comment rules: - action: GO id: id gate: gate trigger: trigger params: - name: name value: value - name: name value: value - action: GO id: id gate: gate trigger: trigger params: - name: name value: value - name: name value: value id: id version: version properties: id: type: string name: type: string comment: type: string version: type: string rules: items: $ref: '#/components/schemas/PolicyRule' type: array required: - id - version type: object ImageSelectionRule: example: registry: registry image: type: tag value: value name: name id: id repository: repository properties: id: type: string name: type: string registry: type: string repository: type: string image: $ref: '#/components/schemas/ImageRef' required: - image - name - registry - repository type: object MappingRule: example: whitelist_ids: - whitelist_ids - whitelist_ids registry: registry image: type: tag value: value policy_id: policy_id name: name id: id policy_ids: - policy_ids - policy_ids repository: repository properties: id: type: string name: type: string whitelist_ids: items: type: string type: array policy_id: description: "Optional single policy to evalute, if set will override any\ \ value in policy_ids, for backwards compatibility. Generally, policy_ids\ \ should be used even with a array of length 1." type: string policy_ids: description: "List of policyIds to evaluate in order, to completion" items: description: PolicyId to evaluate type: string type: array registry: type: string repository: type: string image: $ref: '#/components/schemas/ImageRef' required: - image - name - registry - repository type: object PolicyBundleRecord: description: A policy bundle plus some metadata example: policybundle: blacklisted_images: - registry: registry image: type: tag value: value name: name id: id repository: repository - registry: registry image: type: tag value: value name: name id: id repository: repository mappings: - whitelist_ids: - whitelist_ids - whitelist_ids registry: registry image: type: tag value: value policy_id: policy_id name: name id: id policy_ids: - policy_ids - policy_ids repository: repository - whitelist_ids: - whitelist_ids - whitelist_ids registry: registry image: type: tag value: value policy_id: policy_id name: name id: id policy_ids: - policy_ids - policy_ids repository: repository whitelists: - name: name comment: comment id: id version: version items: - trigger_id: trigger_id expires_on: 2000-01-23T04:56:07.000+00:00 id: id gate: gate - trigger_id: trigger_id expires_on: 2000-01-23T04:56:07.000+00:00 id: id gate: gate - name: name comment: comment id: id version: version items: - trigger_id: trigger_id expires_on: 2000-01-23T04:56:07.000+00:00 id: id gate: gate - trigger_id: trigger_id expires_on: 2000-01-23T04:56:07.000+00:00 id: id gate: gate name: name policies: - name: name comment: comment rules: - action: GO id: id gate: gate trigger: trigger params: - name: name value: value - name: name value: value - action: GO id: id gate: gate trigger: trigger params: - name: name value: value - name: name value: value id: id version: version - name: name comment: comment rules: - action: GO id: id gate: gate trigger: trigger params: - name: name value: value - name: name value: value - action: GO id: id gate: gate trigger: trigger params: - name: name value: value - name: name value: value id: id version: version whitelisted_images: - registry: registry image: type: tag value: value name: name id: id repository: repository - registry: registry image: type: tag value: value name: name id: id repository: repository comment: comment id: id version: version policy_source: policy_source last_updated: 2000-01-23T04:56:07.000+00:00 policyId: policyId created_at: 2000-01-23T04:56:07.000+00:00 active: true userId: userId properties: created_at: format: date-time type: string last_updated: format: date-time type: string policyId: description: The bundle's identifier type: string active: description: True if the bundle is currently defined to be used automatically type: boolean userId: description: UserId of the user that owns the bundle type: string policy_source: description: Source location of where the policy bundle originated type: string policybundle: $ref: '#/components/schemas/PolicyBundle' type: object PolicyBundleList: description: List of PolicyBundleRecord objects items: $ref: '#/components/schemas/PolicyBundleRecord' type: array ImageContent: description: "A metadata content record for a specific image, containing different\ \ content type entries" type: object ImageDetail: description: A metadata detail record for a specific image. Multiple detail records may map a single catalog image. example: registry: registry last_updated: 2000-01-23T04:56:07.000+00:00 imageId: imageId fulldigest: fulldigest repo: repo dockerfile: dockerfile created_at: 2000-01-23T04:56:07.000+00:00 fulltag: fulltag userId: userId imageDigest: imageDigest properties: created_at: format: date-time type: string last_updated: format: date-time type: string fulltag: description: Full docker-pullable tag string referencing the image type: string fulldigest: description: Full docker-pullable digest string including the registry url and repository necessary get the image type: string userId: type: string imageId: type: string registry: type: string repo: type: string dockerfile: nullable: true type: string imageDigest: description: The parent Anchore Image record to which this detail maps type: string type: object AnchoreImageTagSummaryList: description: a list of AnchoreImageTagSummary objects items: $ref: '#/components/schemas/AnchoreImageTagSummary' type: array AnchoreImageTagSummary: description: A unique image in the engine. example: tag_detected_at: 1 imageId: imageId analysis_status: analysis_status parentDigest: parentDigest analyzed_at: 6 created_at: 0 image_status: image_status fulltag: fulltag imageDigest: imageDigest properties: imageDigest: type: string parentDigest: type: string imageId: type: string analysis_status: type: string fulltag: type: string created_at: type: integer analyzed_at: type: integer tag_detected_at: type: integer image_status: type: string type: object AnchoreImage: description: A unique image in the engine. May have multiple tags or references. Unique to an image content across registries or repositories. example: last_updated: 2000-01-23T04:56:07.000+00:00 analysis_status: not_analyzed created_at: 2000-01-23T04:56:07.000+00:00 annotations: "{}" image_status: active userId: userId image_content: "{}" image_detail: - registry: registry last_updated: 2000-01-23T04:56:07.000+00:00 imageId: imageId fulldigest: fulldigest repo: repo dockerfile: dockerfile created_at: 2000-01-23T04:56:07.000+00:00 fulltag: fulltag userId: userId imageDigest: imageDigest - registry: registry last_updated: 2000-01-23T04:56:07.000+00:00 imageId: imageId fulldigest: fulldigest repo: repo dockerfile: dockerfile created_at: 2000-01-23T04:56:07.000+00:00 fulltag: fulltag userId: userId imageDigest: imageDigest imageDigest: imageDigest properties: image_content: description: "A metadata content record for a specific image, containing\ \ different content type entries" type: object image_detail: description: Details specific to an image reference and type such as tag and image source items: $ref: '#/components/schemas/ImageDetail' type: array last_updated: format: date-time type: string created_at: format: date-time type: string imageDigest: type: string userId: type: string annotations: properties: {} type: object image_status: description: State of the image enum: - active - inactive - disabled type: string analysis_status: description: A state value for the current status of the analysis progress of the image enum: - not_analyzed - analyzing - analyzed - analysis_failed type: string type: object AnchoreImageList: description: A list of Anchore Images items: $ref: '#/components/schemas/AnchoreImage' type: array SystemStatusResponse: description: System status response example: service_states: - status_message: status_message base_url: base_url hostid: hostid servicename: servicename service_detail: db_version: db_version busy: true available: true up: true detail: "{}" message: message version: version version: version status: true - status_message: status_message base_url: base_url hostid: hostid servicename: servicename service_detail: db_version: db_version busy: true available: true up: true detail: "{}" message: message version: version version: version status: true properties: service_states: description: A list of service objects items: $ref: '#/components/schemas/Service' type: array type: object StatusResponse: description: System status response example: db_version: db_version busy: true available: true up: true detail: "{}" message: message version: version properties: available: type: boolean busy: type: boolean up: type: boolean message: type: string version: type: string db_version: type: string detail: properties: {} type: object type: object ImageAnalysisReport: description: Analysis report json to be imported type: object ApiErrorResponse: description: Generic HTTP API error response properties: code: format: int32 type: integer error_type: type: string message: type: string detail: description: Details structure for additional information about the error if available. Content and structure will be error specific. properties: {} type: object type: object Service: description: A service status record example: status_message: status_message base_url: base_url hostid: hostid servicename: servicename service_detail: db_version: db_version busy: true available: true up: true detail: "{}" message: message version: version version: version status: true properties: hostid: description: The unique id of the host on which the service is executing type: string servicename: description: Registered service name type: string base_url: description: "The url to reach the service, including port as needed" type: string status_message: description: A state indicating the condition of the service. Normal operation is 'registered' type: string service_detail: $ref: '#/components/schemas/StatusResponse' status: type: boolean version: description: The version of the service as reported by the service implementation on registration type: string type: object ServiceList: description: A list of service objects items: $ref: '#/components/schemas/Service' type: array ContentResponse: description: Generic wrapper for content listings from images properties: imageDigest: type: string content_type: type: string content: items: properties: {} type: object type: array type: object ContentFilesResponse: description: File content listings from images example: content_type: content_type content: - mode: mode uid: 1 filename: filename gid: 0 sha256: sha256 size: 6 linkdest: linkdest type: type - mode: mode uid: 1 filename: filename gid: 0 sha256: sha256 size: 6 linkdest: linkdest type: type imageDigest: imageDigest properties: imageDigest: type: string content_type: type: string content: items: $ref: '#/components/schemas/ContentFilesResponse_content_inner' type: array type: object ContentPackageResponse: description: Package content listings from images example: content_type: content_type content: - license: license licenses: - licenses - licenses package: package size: size cpes: - cpes - cpes origin: origin location: location type: type version: version - license: license licenses: - licenses - licenses package: package size: size cpes: - cpes - cpes origin: origin location: location type: type version: version imageDigest: imageDigest properties: imageDigest: type: string content_type: type: string content: items: $ref: '#/components/schemas/ContentPackageResponse_content_inner' type: array type: object ContentMalwareResponse: description: Malware listing response example: content_type: content_type content: - metadata: "{}" findings: - path: path signature: signature - path: path signature: signature scanner: scanner enabled: true - metadata: "{}" findings: - path: path signature: signature - path: path signature: signature scanner: scanner enabled: true imageDigest: imageDigest properties: imageDigest: type: string content_type: type: string content: description: "List of malware scan results, one per scanner configured to\ \ run" items: $ref: '#/components/schemas/MalwareScan' type: array type: object MalwareScan: description: A single scan from a scanner example: metadata: "{}" findings: - path: path signature: signature - path: path signature: signature scanner: scanner enabled: true properties: enabled: description: Indicates if the scanner is enabled type: boolean scanner: description: The name of the scanner that produced the finding type: string metadata: description: Open schema for scanner-specific metadata related to the scan result properties: {} type: object findings: items: $ref: '#/components/schemas/MalwareScan_findings_inner' type: array type: object ContentJAVAPackageResponse: description: Java package content listings from images example: content_type: content_type content: - package: package implementation-version: implementation-version cpes: - cpes - cpes origin: origin maven-version: maven-version location: location type: type specification-version: specification-version - package: package implementation-version: implementation-version cpes: - cpes - cpes origin: origin maven-version: maven-version location: location type: type specification-version: specification-version imageDigest: imageDigest properties: imageDigest: type: string content_type: type: string content: items: $ref: '#/components/schemas/ContentJAVAPackageResponse_content_inner' type: array type: object MetadataResponse: description: Generic wrapper for metadata listings from images example: metadata: "{}" metadata_type: metadata_type imageDigest: imageDigest properties: imageDigest: type: string metadata_type: type: string metadata: type: object type: object PolicyEvaluation: description: Evaluation response object type: object PolicyEvaluationList: description: Evaluation response object items: $ref: '#/components/schemas/PolicyEvaluation' type: array SubscriptionUpdate: description: A modification to a subscription entry to change its status or value example: subscription_value: subscription_value active: true properties: subscription_value: description: "The new subscription value, e.g. the new tag to be subscribed\ \ to" nullable: true type: string active: description: Toggle the subscription processing on or off type: boolean type: object SubscriptionRequest: description: A subscription entry to add to the system example: subscription_value: subscription_value subscription_key: subscription_key subscription_type: subscription_type properties: subscription_key: type: string subscription_value: nullable: true type: string subscription_type: type: string type: object Subscription: description: Subscription entry example: subscription_id: subscription_id subscription_value: subscription_value active: true subscription_key: subscription_key subscription_type: subscription_type userId: userId properties: subscription_key: description: The key value that the subscription references. E.g. a tag value or a repo name. type: string subscription_type: description: The type of the subscription type: string subscription_value: description: The value of the subscription target nullable: true type: string userId: description: The userId of the subscribed user type: string active: description: Is the subscription currently active type: boolean subscription_id: description: the unique id for this subscription record type: string type: object SubscriptionList: description: List of subscriptions items: $ref: '#/components/schemas/Subscription' type: array RepositoryTagList: description: List of discovered tags in a repository items: type: string type: array RegistryConfigurationList: description: List of registry configurations items: $ref: '#/components/schemas/RegistryConfiguration' type: array RegistryConfigurationRequest: description: A registry record describing the endpoint and credentials for a registry example: registry: registry registry_user: registry_user registry_type: registry_type registry_name: registry_name registry_pass: registry_pass registry_verify: true properties: registry_user: description: Username portion of credential to use for this registry type: string registry_pass: description: Password portion of credential to use for this registry type: string registry_type: description: Type of registry type: string registry: description: "hostname:port string for accessing the registry, as would\ \ be used in a docker pull operation. May include some or all of a repository\ \ and wildcards (e.g. docker.io/library/* or gcr.io/myproject/myrepository)" type: string registry_name: description: human readable name associated with registry record type: string registry_verify: description: Use TLS/SSL verification for the registry URL type: boolean type: object RegistryConfiguration: description: A registry entry describing the endpoint and credentials for a registry to pull images from example: registry: registry last_upated: 2000-01-23T04:56:07.000+00:00 registry_user: registry_user registry_type: registry_type created_at: 2000-01-23T04:56:07.000+00:00 registry_name: registry_name userId: userId registry_verify: true properties: created_at: format: date-time type: string last_upated: format: date-time type: string registry_user: description: Username portion of credential to use for this registry type: string registry_type: description: Type of registry type: string userId: description: Engine user that owns this registry entry type: string registry: description: "hostname:port string for accessing the registry, as would\ \ be used in a docker pull operation" type: string registry_name: description: human readable name associated with registry record type: string registry_verify: description: Use TLS/SSL verification for the registry URL type: boolean type: object Vulnerability: example: severity: severity package: package package_path: package_path nvd_data: - cvss_v3: base_score: 5.962133916683182 impact_score: 2.3021358869347655 exploitability_score: 5.637376656633329 cvss_v2: base_score: 0.8008281904610115 impact_score: 1.4658129805029452 exploitability_score: 6.027456183070403 id: id - cvss_v3: base_score: 5.962133916683182 impact_score: 2.3021358869347655 exploitability_score: 5.637376656633329 cvss_v2: base_score: 0.8008281904610115 impact_score: 1.4658129805029452 exploitability_score: 6.027456183070403 id: id vendor_data: - cvss_v3: base_score: 5.962133916683182 impact_score: 2.3021358869347655 exploitability_score: 5.637376656633329 cvss_v2: base_score: 0.8008281904610115 impact_score: 1.4658129805029452 exploitability_score: 6.027456183070403 id: id - cvss_v3: base_score: 5.962133916683182 impact_score: 2.3021358869347655 exploitability_score: 5.637376656633329 cvss_v2: base_score: 0.8008281904610115 impact_score: 1.4658129805029452 exploitability_score: 6.027456183070403 id: id package_type: package_type package_cpe: package_cpe url: url will_not_fix: true feed: feed package_version: package_version fix: fix vuln: vuln feed_group: feed_group package_name: package_name properties: vuln: description: "The vulnerability identifier, such as CVE-2017-100, or RHSA-2017123" type: string fix: description: "The package containing a fix, if available" type: string severity: description: The severity of the vulnerability type: string package: description: The package name and version that are vulnerable in the image type: string url: description: The url for more information about the vulnerability type: string feed: description: The name of the feed where vulnerability match was made type: string feed_group: description: The name of the feed group where vulnerability match was made type: string package_name: description: The name of the vulnerable package artifact type: string package_version: description: The version of the vulnerable package artifact type: string package_type: description: The type of vulnerable package type: string package_cpe: description: The CPE string (if applicable) describing the package to vulnerability match type: string package_path: description: The location (if applicable) of the vulnerable package in the container filesystem type: string will_not_fix: description: Whether a vendor will fix or not fix the vulnerability type: boolean nvd_data: description: List of Nvd Data objects items: $ref: '#/components/schemas/NvdDataObject' type: array vendor_data: description: List of Vendor Data objects items: $ref: '#/components/schemas/VendorDataObject' type: array type: object NvdDataList: description: List of Nvd Data objects items: $ref: '#/components/schemas/NvdDataObject' type: array NvdDataObject: example: cvss_v3: base_score: 5.962133916683182 impact_score: 2.3021358869347655 exploitability_score: 5.637376656633329 cvss_v2: base_score: 0.8008281904610115 impact_score: 1.4658129805029452 exploitability_score: 6.027456183070403 id: id properties: id: description: NVD Vulnerability ID type: string cvss_v2: $ref: '#/components/schemas/CVSSV2Scores' cvss_v3: $ref: '#/components/schemas/CVSSV3Scores' type: object VendorDataList: description: List of Vendor Data objects items: $ref: '#/components/schemas/VendorDataObject' type: array VendorDataObject: example: cvss_v3: base_score: 5.962133916683182 impact_score: 2.3021358869347655 exploitability_score: 5.637376656633329 cvss_v2: base_score: 0.8008281904610115 impact_score: 1.4658129805029452 exploitability_score: 6.027456183070403 id: id properties: id: description: Vendor Vulnerability ID type: string cvss_v2: $ref: '#/components/schemas/CVSSV2Scores' cvss_v3: $ref: '#/components/schemas/CVSSV3Scores' type: object CVSSV2Scores: example: base_score: 0.8008281904610115 impact_score: 1.4658129805029452 exploitability_score: 6.027456183070403 properties: base_score: nullable: true type: number exploitability_score: nullable: true type: number impact_score: nullable: true type: number type: object CVSSV3Scores: example: base_score: 5.962133916683182 impact_score: 2.3021358869347655 exploitability_score: 5.637376656633329 properties: base_score: nullable: true type: number exploitability_score: nullable: true type: number impact_score: nullable: true type: number type: object VulnerabilityList: description: List of Vulnerability objects items: $ref: '#/components/schemas/Vulnerability' type: array VulnerabilityResponse: description: envelope containing list of vulnerabilities example: vulnerability_type: vulnerability_type vulnerabilities: - severity: severity package: package package_path: package_path nvd_data: - cvss_v3: base_score: 5.962133916683182 impact_score: 2.3021358869347655 exploitability_score: 5.637376656633329 cvss_v2: base_score: 0.8008281904610115 impact_score: 1.4658129805029452 exploitability_score: 6.027456183070403 id: id - cvss_v3: base_score: 5.962133916683182 impact_score: 2.3021358869347655 exploitability_score: 5.637376656633329 cvss_v2: base_score: 0.8008281904610115 impact_score: 1.4658129805029452 exploitability_score: 6.027456183070403 id: id vendor_data: - cvss_v3: base_score: 5.962133916683182 impact_score: 2.3021358869347655 exploitability_score: 5.637376656633329 cvss_v2: base_score: 0.8008281904610115 impact_score: 1.4658129805029452 exploitability_score: 6.027456183070403 id: id - cvss_v3: base_score: 5.962133916683182 impact_score: 2.3021358869347655 exploitability_score: 5.637376656633329 cvss_v2: base_score: 0.8008281904610115 impact_score: 1.4658129805029452 exploitability_score: 6.027456183070403 id: id package_type: package_type package_cpe: package_cpe url: url will_not_fix: true feed: feed package_version: package_version fix: fix vuln: vuln feed_group: feed_group package_name: package_name - severity: severity package: package package_path: package_path nvd_data: - cvss_v3: base_score: 5.962133916683182 impact_score: 2.3021358869347655 exploitability_score: 5.637376656633329 cvss_v2: base_score: 0.8008281904610115 impact_score: 1.4658129805029452 exploitability_score: 6.027456183070403 id: id - cvss_v3: base_score: 5.962133916683182 impact_score: 2.3021358869347655 exploitability_score: 5.637376656633329 cvss_v2: base_score: 0.8008281904610115 impact_score: 1.4658129805029452 exploitability_score: 6.027456183070403 id: id vendor_data: - cvss_v3: base_score: 5.962133916683182 impact_score: 2.3021358869347655 exploitability_score: 5.637376656633329 cvss_v2: base_score: 0.8008281904610115 impact_score: 1.4658129805029452 exploitability_score: 6.027456183070403 id: id - cvss_v3: base_score: 5.962133916683182 impact_score: 2.3021358869347655 exploitability_score: 5.637376656633329 cvss_v2: base_score: 0.8008281904610115 impact_score: 1.4658129805029452 exploitability_score: 6.027456183070403 id: id package_type: package_type package_cpe: package_cpe url: url will_not_fix: true feed: feed package_version: package_version fix: fix vuln: vuln feed_group: feed_group package_name: package_name imageDigest: imageDigest properties: imageDigest: type: string vulnerability_type: type: string vulnerabilities: description: List of Vulnerability objects items: $ref: '#/components/schemas/Vulnerability' type: array type: object ImageFilter: description: "Filter for an image list by id, tag, or digest, but not both" properties: tag: type: string digest: type: string type: object AnchoreErrorCode: description: "A description of an anchore error code (name, description)" example: name: name description: description properties: name: description: Error code name type: string description: description: Description of the error code type: string type: object GateSpec: description: A description of the set of gates available in this engine and the triggers and parameters supported example: name: name description: description superceded_by: superceded_by state: active triggers: - name: name description: description superceded_by: superceded_by state: active parameters: - name: name validator: "{}" description: description superceded_by: superceded_by state: active required: true example: example - name: name validator: "{}" description: description superceded_by: superceded_by state: active required: true example: example - name: name description: description superceded_by: superceded_by state: active parameters: - name: name validator: "{}" description: description superceded_by: superceded_by state: active required: true example: example - name: name validator: "{}" description: description superceded_by: superceded_by state: active required: true example: example properties: name: description: "Gate name, as it would appear in a policy document" type: string description: description: Description of the gate type: string state: description: State of the gate and transitively all triggers it contains if not 'active' enum: - active - deprecated - eol type: string superceded_by: description: The name of another trigger that supercedes this on functionally if this is deprecated nullable: true type: string triggers: description: List of the triggers that can fire for this Gate items: $ref: '#/components/schemas/TriggerSpec' type: array type: object TriggerSpec: description: Definition of a trigger and its parameters example: name: name description: description superceded_by: superceded_by state: active parameters: - name: name validator: "{}" description: description superceded_by: superceded_by state: active required: true example: example - name: name validator: "{}" description: description superceded_by: superceded_by state: active required: true example: example properties: name: description: Name of the trigger as it would appear in a policy document type: string description: description: Trigger description for what it tests and when it will fire during evaluation type: string state: description: State of the trigger enum: - active - deprecated - eol type: string superceded_by: description: The name of another trigger that supercedes this on functionally if this is deprecated nullable: true type: string parameters: description: The list of parameters that are valid for this trigger items: $ref: '#/components/schemas/TriggerParamSpec' type: array type: object TriggerParamSpec: example: name: name validator: "{}" description: description superceded_by: superceded_by state: active required: true example: example properties: name: description: Parameter name as it appears in policy document type: string description: type: string example: description: An example value for the parameter (encoded as a string if the parameter is an object or list type) nullable: true type: string state: description: State of the trigger parameter enum: - active - deprecated - eol type: string superceded_by: description: The name of another trigger that supercedes this on functionally if this is deprecated nullable: true type: string required: description: Is this a required parameter or optional type: boolean validator: description: "If present, a definition for validation of input. Typically\ \ a jsonschema object that can be used to validate an input against." properties: {} type: object type: object FeedMetadata: description: Metadata on a single feed based on what the engine finds from querying the endpoints example: last_full_sync: 2000-01-23T04:56:07.000+00:00 updated_at: 2000-01-23T04:56:07.000+00:00 name: name created_at: 2000-01-23T04:56:07.000+00:00 groups: - record_count: 0 last_sync: 2000-01-23T04:56:07.000+00:00 name: name created_at: 2000-01-23T04:56:07.000+00:00 - record_count: 0 last_sync: 2000-01-23T04:56:07.000+00:00 name: name created_at: 2000-01-23T04:56:07.000+00:00 properties: name: description: name of the feed type: string created_at: description: Date the metadata record was created in engine (first seen on source) format: date-time type: string updated_at: description: Date the metadata was last updated format: date-time type: string groups: items: $ref: '#/components/schemas/FeedGroupMetadata' type: array last_full_sync: format: date-time type: string type: object FeedGroupMetadata: example: record_count: 0 last_sync: 2000-01-23T04:56:07.000+00:00 name: name created_at: 2000-01-23T04:56:07.000+00:00 properties: name: type: string created_at: format: date-time type: string last_sync: format: date-time type: string record_count: type: integer type: object EventResponse: description: A record of occurance of an asynchronous event triggered either by system or by user activity example: generated_uuid: generated_uuid created_at: 2000-01-23T04:56:07.000+00:00 event: resource: user_id: user_id id: id type: type level: level details: "{}" source: base_url: base_url hostid: hostid servicename: servicename request_id: request_id type: type category: category message: message timestamp: 2000-01-23T04:56:07.000+00:00 properties: generated_uuid: type: string created_at: format: date-time type: string event: $ref: '#/components/schemas/EventResponse_event' type: object EventsList: description: Response envelope for paginated listing of events example: next_page: true item_count: 0 page: 6 results: - generated_uuid: generated_uuid created_at: 2000-01-23T04:56:07.000+00:00 event: resource: user_id: user_id id: id type: type level: level details: "{}" source: base_url: base_url hostid: hostid servicename: servicename request_id: request_id type: type category: category message: message timestamp: 2000-01-23T04:56:07.000+00:00 - generated_uuid: generated_uuid created_at: 2000-01-23T04:56:07.000+00:00 event: resource: user_id: user_id id: id type: type level: level details: "{}" source: base_url: base_url hostid: hostid servicename: servicename request_id: request_id type: type category: category message: message timestamp: 2000-01-23T04:56:07.000+00:00 properties: results: description: List of events items: $ref: '#/components/schemas/EventResponse' type: array next_page: description: "Boolean flag, True indicates there are more events and False\ \ otherwise" type: boolean item_count: description: Number of events in this page type: integer page: description: Page number of this result set type: integer type: object AccountCreationRequest: description: An account to create/add to the system. If already exists will return 400. example: name: name email: email properties: name: description: The account name to use. This will identify the account and must be globally unique in the system. pattern: "^[a-zA-Z0-9][a-zA-Z0-9@.!#$+-=^_`~;]{1,126}[a-zA-Z0-9]$" type: string email: description: An optional email to associate with the account for contact purposes pattern: "[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\\ .)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?" type: string required: - name type: object Account: description: Account information example: last_updated: 2000-01-23T04:56:07.000+00:00 name: name created_at: 2000-01-23T04:56:07.000+00:00 state: enabled type: user email: email properties: name: description: "The account identifier, not updatable after creation" type: string type: description: "The user type (admin vs user). If not specified in a POST\ \ request, 'user' is default" enum: - user - admin - service type: string state: description: "State of the account. Disabled accounts prevent member users\ \ from logging in, deleting accounts are disabled and pending deletion\ \ and will be removed once all owned resources are garbage collected by\ \ the system" enum: - enabled - disabled - deleting type: string email: description: Optional email address associated with the account type: string created_at: description: The timestamp when the account was created format: date-time type: string last_updated: description: The timestamp of the last update to the account metadata itself (not users or creds) format: date-time type: string required: - name type: object AccountStatus: description: A summary of account status example: state: enabled properties: state: description: The status of the account enum: - enabled - disabled type: string type: object User: description: "A username for authenticating with one or more types of credentials.\ \ User type defines the expected credentials allowed for the user. Native\ \ users have passwords, External users have no credential internally. Internal\ \ users are service/system users for inter-service communication." example: last_updated: 2000-01-23T04:56:07.000+00:00 created_at: 2000-01-23T04:56:07.000+00:00 source: source type: native username: username properties: username: description: The username to authenticate with type: string type: description: The user's type enum: - native - internal - external type: string source: description: "If the user is external, this is the source that the user\ \ was initialized from. All other user types have this set to null" type: string created_at: description: The timestampt the user record was created format: date-time type: string last_updated: description: The timestamp of the last update to this record format: date-time type: string required: - username type: object UserCreationRequest: description: "A payload for creating a new user, includes the username and password\ \ in a single request" example: password: password username: username properties: username: description: The username to create pattern: "^[a-zA-Z0-9][a-zA-Z0-9@.!#$+-=^_`~;]{1,126}[a-zA-Z0-9]$" type: string password: description: "The initial password for the user, must be at least 6 characters,\ \ up to 128" pattern: ".{6,128}$" type: string required: - password - username type: object AccessCredential: description: "A login credential mapped to a user identity. For password credentials,\ \ the username to present for Basic auth is the user's username from the user\ \ record" example: created_at: created_at type: password value: value properties: type: description: The type of credential enum: - password type: string value: description: The credential value (e.g. the password) type: string created_at: description: The timestamp of creation of the credential type: string required: - type - value type: object AccountList: items: $ref: '#/components/schemas/Account' type: array UserList: items: $ref: '#/components/schemas/User' type: array CredentialList: items: $ref: '#/components/schemas/AccessCredential' type: array ServiceVersion: description: Version information for a service example: service: version: version api: version: version db: schema_version: schema_version properties: service: $ref: '#/components/schemas/ServiceVersion_service' api: $ref: '#/components/schemas/ServiceVersion_api' db: $ref: '#/components/schemas/ServiceVersion_db' type: object ArchiveSummary: description: "A summarization of the available archives, a place to for long-term\ \ storage of audit, analysis, or other data to remove it from the system's\ \ working set but keep it available." example: images: last_updated: 2000-01-23T04:56:07.000+00:00 total_image_count: 0 total_tag_count: 6 total_data_bytes: 1 rules: last_updated: 2000-01-23T04:56:07.000+00:00 count: 5 properties: images: $ref: '#/components/schemas/AnalysisArchiveSummary' rules: $ref: '#/components/schemas/AnalysisArchiveRulesSummary' type: object AnalysisArchiveSummary: description: "A summarization of the analysis archive, including size, counts,\ \ etc. This archive stores image analysis only, never the actual image content\ \ or layers." example: last_updated: 2000-01-23T04:56:07.000+00:00 total_image_count: 0 total_tag_count: 6 total_data_bytes: 1 properties: total_image_count: description: The number of unique images (digests) in the archive type: integer total_tag_count: description: The number of tag records (registry/repo:tag pull strings) in the archive. This may include repeated tags but will always have a unique tag->digest mapping per record. type: integer total_data_bytes: description: "The total sum of all the bytes stored to the backing storage.\ \ Accounts for anchore-applied compression, but not compression by the\ \ underlying storage system." type: integer last_updated: description: The timestamp of the most recent archived image format: date-time type: string type: object AnalysisArchiveRulesSummary: description: Summary of the transition rule set example: last_updated: 2000-01-23T04:56:07.000+00:00 count: 5 properties: count: description: The number of rules for this account type: integer last_updated: description: The newest last_updated timestamp from the set of rules format: date-time type: string type: object ImageAnalysisReferences: description: List of image digests to archive items: description: Image digest type: string type: array AddAnalysisArchiveResult: description: List of analysis archive add results items: $ref: '#/components/schemas/AnalysisArchiveAddResult' type: array AnalysisArchiveAddResult: description: The result of adding a single digest to the archive example: digest: digest detail: detail status: archived properties: digest: description: The image digest requested to be added type: string status: description: The status of the archive add operation. Typically either 'archived' or 'error' enum: - archived - archiving - error type: string detail: description: "Details on the status, e.g. the error message" type: string type: object ArchivedAnalyses: description: List of archived analyses items: $ref: '#/components/schemas/ArchivedAnalysis' type: array ArchivedAnalysis: example: last_updated: 2000-01-23T04:56:07.000+00:00 parentDigest: parentDigest analyzed_at: 2000-01-23T04:56:07.000+00:00 annotations: "{}" created_at: 2000-01-23T04:56:07.000+00:00 archive_size_bytes: 0 imageDigest: imageDigest status: archiving image_detail: - registry: registry detected_at: 2000-01-23T04:56:07.000+00:00 pullstring: pullstring tag: tag repository: repository - registry: registry detected_at: 2000-01-23T04:56:07.000+00:00 pullstring: pullstring tag: tag repository: repository properties: imageDigest: description: "The image digest (digest of the manifest describing the image,\ \ per docker spec)" type: string parentDigest: description: The digest of a parent manifest (for manifest-list images) type: string annotations: description: User provided annotations as key-value pairs properties: {} type: object status: description: The archival status enum: - archiving - archived - deleting - deleted type: string image_detail: description: List of tags associated with the image digest items: $ref: '#/components/schemas/TagEntry' type: array created_at: format: date-time type: string last_updated: format: date-time type: string analyzed_at: format: date-time type: string archive_size_bytes: description: "The size, in bytes, of the analysis archive file" type: integer type: object AnalysisArchiveRules: description: Rule set for automatic archiving of system objects and flushing of archived objects (permament delete). items: $ref: '#/components/schemas/AnalysisArchiveTransitionRule' type: array AnalysisArchiveTransitionRule: description: A rule for auto-archiving image analysis by time and/or tag-history example: rule_id: rule_id max_images_per_account: 5 tag_versions_newer: 0 last_updated: 2000-01-23T04:56:07.000+00:00 created_at: 2000-01-23T04:56:07.000+00:00 selector: registry: registry tag: tag repository: repository exclude: expiration_days: 1 selector: registry: registry tag: tag repository: repository analysis_age_days: 6 system_global: true transition: archive properties: selector: $ref: '#/components/schemas/ImageSelector' rule_id: description: Unique identifier for archive rule type: string tag_versions_newer: description: Number of images mapped to the tag that are newer type: integer analysis_age_days: description: Matches if the analysis is strictly older than this number of days type: integer transition: description: "The type of transition to make. If \"archive\", then archive\ \ an image from the working set and remove it from the working set. If\ \ \"delete\", then match against archived images and delete from the archive\ \ if match." enum: - archive - delete type: string system_global: description: "True if the rule applies to all accounts in the system. This\ \ is only available to admin users to update/modify, but all users with\ \ permission to list rules can see them" type: boolean created_at: format: date-time type: string last_updated: format: date-time type: string exclude: $ref: '#/components/schemas/AnalysisArchiveTransitionRuleExclude' max_images_per_account: description: This is the maximum number of image analyses an account can have. Can only be set on system_global rules type: integer required: - transition type: object AnalysisArchiveTransitionRuleExclude: description: Which Images to exclude from auto-archiving logic example: expiration_days: 1 selector: registry: registry tag: tag repository: repository properties: selector: $ref: '#/components/schemas/ImageSelector' expiration_days: description: How long the image selected will be excluded from the archive transition type: integer type: object AnalysisArchiveTransitionHistory: description: A rule for auto-archiving image analysis by time and/or tag-history properties: transition_task_id: description: The task that created & updated this entry type: string rule_id: type: string imageDigest: type: string transition: enum: - archive - delete type: string created_at: format: date-time type: string last_updated: format: date-time type: string type: object ImageSelector: description: "A set of selection criteria to match an image by a tagged pullstring\ \ based on its components, with regex support in each field" example: registry: registry tag: tag repository: repository properties: registry: description: "The registry section of a pull string. e.g. with \"docker.io/anchore/anchore-engine:latest\"\ , this is \"docker.io\"" type: string repository: description: "The repository section of a pull string. e.g. with \"docker.io/anchore/anchore-engine:latest\"\ , this is \"anchore/anchore-engine\"" type: string tag: description: "The tag-only section of a pull string. e.g. with \"docker.io/anchore/anchore-engine:latest\"\ , this is \"latest\"" type: string type: object FeedSyncResults: description: An array of feed sync summaries representing the result of an explicit feed sync operation items: $ref: '#/components/schemas/FeedSyncResult' type: array FeedSyncResult: description: The result of a sync of a single feed example: feed: feed total_time_seconds: 0.8008281904610115 groups: - total_time_seconds: 5.962133916683182 updated_image_count: 6 updated_record_count: 1 group: group status: success - total_time_seconds: 5.962133916683182 updated_image_count: 6 updated_record_count: 1 group: group status: success status: success properties: feed: description: The name of the feed synced type: string status: description: "The result of the sync operations, either co" enum: - success - failure type: string total_time_seconds: description: "The duratin, in seconds, of the sync of the feed, the sum\ \ of all the group syncs" type: number groups: description: Array of group sync results items: $ref: '#/components/schemas/GroupSyncResult' type: array type: object GroupSyncResult: example: total_time_seconds: 5.962133916683182 updated_image_count: 6 updated_record_count: 1 group: group status: success properties: group: description: The name of the group type: string status: enum: - success - failure type: string updated_image_count: description: "The number of images updated by the this group sync, across\ \ all accounts. This is typically only non-zero for vulnerability feeds\ \ which update images' vulnerability results during the sync." type: integer updated_record_count: description: The number of feed data records synced down as either updates or new records type: integer total_time_seconds: description: The duration of the group sync in seconds type: number type: object TokenResponse: example: token: token properties: token: description: The token content type: string required: - token type: object RetrievedFile: description: The retrieved file entry including content (b64 encoded) example: path: path b64_content: b64_content properties: path: type: string b64_content: type: string type: object RetrievedFileList: description: Simple array of RetrievedFileMetadata objects items: $ref: '#/components/schemas/RetrievedFile' type: array SecretSearchResult: description: The retrieved file entry including content (b64 encoded) example: path: path matches: - regex: regex name: name lines: - 0 - 0 - regex: regex name: name lines: - 0 - 0 properties: path: type: string matches: items: $ref: '#/components/schemas/RegexContentMatch' type: array type: object SecretSearchList: description: Simple array of RetrievedFileMetadata objects items: $ref: '#/components/schemas/SecretSearchResult' type: array FileContentSearchResult: description: The retrieved file entry including content (b64 encoded) example: path: path matches: - regex: regex name: name lines: - 0 - 0 - regex: regex name: name lines: - 0 - 0 properties: path: type: string matches: items: $ref: '#/components/schemas/RegexContentMatch' type: array type: object FileContentSearchList: description: Simple array of RetrievedFileMetadata objects items: $ref: '#/components/schemas/FileContentSearchResult' type: array RegexContentMatch: description: Match of a named regex on a file example: regex: regex name: name lines: - 0 - 0 properties: name: description: The name associated with the regular expression type: string regex: description: The regular expression used for the match type: string lines: description: A list of line numbers in the file that matched the regex items: type: integer type: array type: object EventTypesList: description: Array of EventCategory objects items: $ref: '#/components/schemas/EventCategory' type: array EventCategory: description: A collection of event subcategories example: description: description category: category subcategories: - name: name description: description events: - name: name resource_type: resource_type type: type message: message - name: name resource_type: resource_type type: type message: message - name: name description: description events: - name: name resource_type: resource_type type: type message: message - name: name resource_type: resource_type type: type message: message properties: category: type: string description: type: string subcategories: items: $ref: '#/components/schemas/EventSubcategory' type: array type: object EventSubcategory: description: A collection of events related to each other example: name: name description: description events: - name: name resource_type: resource_type type: type message: message - name: name resource_type: resource_type type: type message: message properties: name: type: string description: type: string events: items: $ref: '#/components/schemas/EventDescription' type: array type: object EventDescription: description: A description of an event type example: name: name resource_type: resource_type type: type message: message properties: name: description: The event type. The last component of the fully-qualified event_type (category.subcategory.event) type: string type: description: The fully qualified event type as would be seen in the event payload type: string message: description: The message associated with the event type type: string resource_type: description: The type of resource this event is generated from type: string type: object NotificationBase: description: base object for Notifications (every notification has this basic structure) properties: queueId: type: string userId: type: string dataId: type: string created_at: type: integer last_updated: type: integer record_state_key: default: active type: string record_state_val: nullable: true type: string tries: type: integer max_tries: type: integer type: object PolicyEvalNotification: allOf: - $ref: '#/components/schemas/NotificationBase' - $ref: '#/components/schemas/PolicyEvalNotification_allOf' TagUpdateNotification: allOf: - $ref: '#/components/schemas/NotificationBase' - $ref: '#/components/schemas/TagUpdateNotification_allOf' VulnUpdateNotification: allOf: - $ref: '#/components/schemas/NotificationBase' - $ref: '#/components/schemas/VulnUpdateNotification_allOf' AnalysisUpdateNotification: allOf: - $ref: '#/components/schemas/NotificationBase' - $ref: '#/components/schemas/AnalysisUpdateNotification_allOf' BaseNotificationData: description: "Every notification has a payload, which follows this basic structure" properties: notification_user: type: string notification_user_email: type: string notification_type: type: string type: object PolicyEvalNotificationData: allOf: - $ref: '#/components/schemas/BaseNotificationData' - $ref: '#/components/schemas/PolicyEvalNotificationData_allOf' TagUpdateNotificationData: allOf: - $ref: '#/components/schemas/BaseNotificationData' - $ref: '#/components/schemas/TagUpdateNotificationData_allOf' VulnUpdateNotificationData: allOf: - $ref: '#/components/schemas/BaseNotificationData' - $ref: '#/components/schemas/VulnUpdateNotificationData_allOf' AnalysisUpdateNotificationData: allOf: - $ref: '#/components/schemas/BaseNotificationData' - $ref: '#/components/schemas/AnalysisUpdateNotificationData_allOf' GenericNotificationPayload: description: Parent class for Notification Payloads properties: userId: type: string subscription_key: type: string subscription_type: type: string notificationId: type: string type: object PolicyEvalNotificationPayload: allOf: - $ref: '#/components/schemas/GenericNotificationPayload' - $ref: '#/components/schemas/PolicyEvalNotificationPayload_allOf' TagUpdateNotificationPayload: allOf: - $ref: '#/components/schemas/GenericNotificationPayload' - $ref: '#/components/schemas/TagUpdateNotificationPayload_allOf' VulnUpdateNotificationPayload: allOf: - $ref: '#/components/schemas/GenericNotificationPayload' - $ref: '#/components/schemas/VulnUpdateNotificationPayload_allOf' AnalysisUpdateNotificationPayload: allOf: - $ref: '#/components/schemas/GenericNotificationPayload' - $ref: '#/components/schemas/AnalysisUpdateNotificationPayload_allOf' VulnDiffResult: description: The results of the comparing two vulnerability records during an update properties: added: items: type: object type: array updated: items: type: object type: array removed: items: type: object type: array type: object AnalysisUpdateEval: description: Evaluation Results for an entity (current or last) properties: analysis_status: type: string annotations: properties: {} type: object image_digest: type: string type: object ImageImportOperation: description: "An import record, creating a unique identifier for referencing\ \ the operation as well as its state" example: expires_at: 2000-01-23T04:56:07.000+00:00 created_at: 2000-01-23T04:56:07.000+00:00 uuid: uuid status: pending properties: uuid: type: string status: enum: - pending - queued - processing - complete - failed - expired type: string expires_at: format: date-time type: string created_at: format: date-time type: string type: object ImageImportContentResponse: example: digest: digest created_at: 2000-01-23T04:56:07.000+00:00 properties: digest: type: string created_at: format: date-time type: string type: object ImageContentDeleteResponse: type: object ImageImportManifest: example: local_image_id: local_image_id operation_uuid: operation_uuid contents: parent_manifest: parent_manifest manifest: manifest dockerfile: dockerfile image_config: image_config packages: packages digest: digest parent_digest: parent_digest tags: - docker.io/library/nginx:latest - docker.io/library/nginx:latest nullable: true properties: contents: $ref: '#/components/schemas/ImportContentDigests' tags: items: description: Full docker reference tags example: docker.io/library/nginx:latest type: string type: array digest: type: string parent_digest: description: The digest of the images's manifest-list parent if it was accessed from a multi-arch tag where the tag pointed to a manifest-list. This allows preservation of that relationship in the data type: string local_image_id: description: An "imageId" as used by Docker if available type: string operation_uuid: type: string type: object x-nullable: true ImportContentDigests: description: Digest of content to use in the final import example: parent_manifest: parent_manifest manifest: manifest dockerfile: dockerfile image_config: image_config packages: packages properties: packages: description: Digest to use for the packages content type: string image_config: description: Digest for reference content for image config type: string manifest: description: Digest to reference content for the image manifest type: string parent_manifest: description: Digest for reference content for parent manifest type: string dockerfile: description: Digest for reference content for dockerfile type: string required: - image_config - manifest - packages type: object Annotations: description: Simple key/value pairs where the value may be optional type: object ImageImports: items: $ref: '#/components/schemas/ImageImportOperation' type: array ImportContentDigestList: items: description: String digest of an uploaded content type: string type: array ImagePackageManifest: example: schema: version: version url: url distro: idLike: idLike name: name version: version source: type: type target: "{}" descriptor: name: name version: version artifactRelationships: - parent: parent metadata: "{}" type: type child: child - parent: parent metadata: "{}" type: type child: child artifacts: - foundBy: foundBy licenses: - licenses - licenses metadata: "{}" cpes: - cpes - cpes name: name locations: - path: path layerID: layerID - path: path layerID: layerID language: language id: id purl: purl type: type version: version metadataType: metadataType - foundBy: foundBy licenses: - licenses - licenses metadata: "{}" cpes: - cpes - cpes name: name locations: - path: path layerID: layerID - path: path layerID: layerID language: language id: id purl: purl type: type version: version metadataType: metadataType properties: artifacts: items: $ref: '#/components/schemas/ImportPackage' type: array source: $ref: '#/components/schemas/ImportSource' distro: $ref: '#/components/schemas/ImportDistribution' descriptor: $ref: '#/components/schemas/ImportDescriptor' schema: $ref: '#/components/schemas/ImportSchema' artifactRelationships: items: $ref: '#/components/schemas/ImportPackageRelationship' type: array required: - artifacts - distro - source type: object ImportDescriptor: example: name: name version: version properties: name: type: string version: type: string required: - name - version type: object ImportDistribution: example: idLike: idLike name: name version: version properties: name: type: string version: type: string idLike: type: string required: - idLike - name - version type: object ImportPackageLocation: example: path: path layerID: layerID properties: path: type: string layerID: type: string required: - path type: object ImportPackage: example: foundBy: foundBy licenses: - licenses - licenses metadata: "{}" cpes: - cpes - cpes name: name locations: - path: path layerID: layerID - path: path layerID: layerID language: language id: id purl: purl type: type version: version metadataType: metadataType properties: id: type: string name: type: string version: type: string type: type: string foundBy: type: string locations: items: $ref: '#/components/schemas/ImportPackageLocation' type: array licenses: items: type: string type: array language: type: string cpes: items: type: string type: array purl: type: string metadataType: type: string metadata: properties: {} type: object required: - cpes - language - licenses - locations - metadataType - name - type - version type: object ImportSchema: example: version: version url: url properties: version: type: string url: type: string required: - url - version type: object ImportSource: example: type: type target: "{}" properties: type: type: string target: type: object required: - target - type type: object ImportPackageRelationship: example: parent: parent metadata: "{}" type: type child: child properties: parent: type: string child: type: string type: type: string metadata: properties: {} type: object required: - child - parent - type type: object import_image_archive_request: properties: archive_file: description: anchore image tar archive. format: binary type: string required: - archive_file get_oauth_token_request: properties: grant_type: default: password description: OAuth Grant type for token type: string username: description: User to assign OAuth token to type: string password: description: Password for corresponding user type: string client_id: default: anonymous description: The type of client used for the OAuth token type: string PaginatedVulnerableImageList_allOf: properties: images: items: $ref: '#/components/schemas/VulnerableImage' type: array type: object example: null PaginatedVulnerabilityList_allOf: properties: vulnerabilities: description: The listing of matching vulnerabilities for the query subject to pagination items: $ref: '#/components/schemas/StandaloneVulnerability' type: array type: object example: null PaginatedImageList_allOf: properties: images: items: $ref: '#/components/schemas/ImageWithPackages' type: array type: object example: null PolicyRule_params_inner: example: name: name value: value properties: name: type: string value: type: string required: - name - value type: object ContentFilesResponse_content_inner: example: mode: mode uid: 1 filename: filename gid: 0 sha256: sha256 size: 6 linkdest: linkdest type: type properties: filename: type: string gid: type: integer linkdest: nullable: true type: string mode: type: string sha256: nullable: true type: string size: type: integer type: type: string uid: type: integer type: object ContentPackageResponse_content_inner: example: license: license licenses: - licenses - licenses package: package size: size cpes: - cpes - cpes origin: origin location: location type: type version: version properties: package: type: string version: type: string size: type: string type: type: string origin: type: string license: description: Deprecated in favor of the 'licenses' field" type: string licenses: items: type: string type: array location: type: string cpes: description: A list of Common Platform Enumerations that may uniquely identify the package items: type: string type: array type: object MalwareScan_findings_inner: example: path: path signature: signature properties: path: description: A path for a file in the image's rootfs type: string signature: description: The malware signature found at the path type: string type: object ContentJAVAPackageResponse_content_inner: example: package: package implementation-version: implementation-version cpes: - cpes - cpes origin: origin maven-version: maven-version location: location type: type specification-version: specification-version properties: package: type: string implementation-version: type: string specification-version: type: string maven-version: type: string location: type: string type: type: string origin: type: string cpes: description: A list of Common Platform Enumerations that may uniquely identify the package items: type: string type: array type: object EventResponse_event_source: example: base_url: base_url hostid: hostid servicename: servicename request_id: request_id properties: servicename: type: string hostid: type: string base_url: type: string request_id: type: string type: object EventResponse_event_resource: example: user_id: user_id id: id type: type properties: user_id: type: string id: type: string type: type: string type: object EventResponse_event: example: resource: user_id: user_id id: id type: type level: level details: "{}" source: base_url: base_url hostid: hostid servicename: servicename request_id: request_id type: type category: category message: message timestamp: 2000-01-23T04:56:07.000+00:00 properties: source: $ref: '#/components/schemas/EventResponse_event_source' resource: $ref: '#/components/schemas/EventResponse_event_resource' type: type: string category: type: string level: type: string message: type: string details: properties: {} type: object timestamp: format: date-time type: string type: object ServiceVersion_service: example: version: version properties: version: description: Semantic Version string of the service implementation type: string type: object ServiceVersion_api: description: Api Version string example: version: version properties: version: description: Semantic version of the api type: string type: object ServiceVersion_db: example: schema_version: schema_version properties: schema_version: description: Semantic version of the db schema type: string type: object PolicyEvalNotification_allOf: description: The Notification Object definition for Policy Eval Notifications properties: data: $ref: '#/components/schemas/PolicyEvalNotificationData' type: object example: null TagUpdateNotification_allOf: description: The Notification Object definition for Tag Update Notifications properties: data: $ref: '#/components/schemas/TagUpdateNotificationData' type: object example: null VulnUpdateNotification_allOf: description: The Notification Object definition for Tag Update Notifications properties: data: $ref: '#/components/schemas/VulnUpdateNotificationData' type: object example: null AnalysisUpdateNotification_allOf: description: The Notification Object definition for Tag Update Notifications properties: data: $ref: '#/components/schemas/AnalysisUpdateNotificationData' type: object example: null PolicyEvalNotificationData_allOf: properties: notification_payload: $ref: '#/components/schemas/PolicyEvalNotificationPayload' type: object example: null TagUpdateNotificationData_allOf: properties: notification_payload: $ref: '#/components/schemas/TagUpdateNotificationPayload' type: object example: null VulnUpdateNotificationData_allOf: properties: notification_payload: $ref: '#/components/schemas/VulnUpdateNotificationPayload' type: object example: null AnalysisUpdateNotificationData_allOf: properties: notification_payload: $ref: '#/components/schemas/AnalysisUpdateNotificationPayload' type: object example: null PolicyEvalNotificationPayload_allOf: properties: curr_eval: description: The Current Policy Evaluation result properties: {} type: object last_eval: description: The Previous Policy Evaluation result properties: {} type: object annotations: description: List of Corresponding Image Annotations nullable: true properties: {} type: object type: object example: null TagUpdateNotificationPayload_allOf: properties: curr_eval: description: A list containing the current image digest items: type: object type: array last_eval: description: A list containing the previous image digests items: type: object type: array annotations: description: List of Corresponding Image Annotations nullable: true properties: {} type: object type: object example: null VulnUpdateNotificationPayload_allOf: properties: diff_vulnerability_result: $ref: '#/components/schemas/VulnDiffResult' imageDigest: type: string annotations: description: List of Corresponding Image Annotations nullable: true properties: {} type: object type: object example: null AnalysisUpdateNotificationPayload_allOf: properties: curr_eval: $ref: '#/components/schemas/AnalysisUpdateEval' last_eval: $ref: '#/components/schemas/AnalysisUpdateEval' annotations: description: List of Corresponding Image Annotations nullable: true properties: {} type: object type: object example: null x-original-swagger-version: "2.0"