openapi-directory
Version:
Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS
1 lines • 92.2 kB
JSON
{"openapi":"3.0.0","info":{"contact":{"email":"nurmi@anchore.com","x-twitter":"anchore"},"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.9","x-apisguru-categories":["developer_tools"],"x-logo":{"url":"https://twitter.com/anchore/profile_image?size=original"},"x-origin":[{"format":"swagger","url":"https://raw.githubusercontent.com/anchore/anchore-engine/master/anchore_engine/services/apiext/swagger/swagger.yaml","version":"2.0"}],"x-providerName":"anchore.io"},"security":[{"basicAuth":[]}],"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"}],"paths":{"/":{"get":{"description":"Simple status check","operationId":"ping","responses":{"200":{"description":"Version check response, returns the api version prefix (e.g. 'v1')","content":{"application/json":{"schema":{"type":"string"}}}}},"x-anchore-authz-action":"None","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.system"}},"/account":{"get":{"operationId":"get_users_account","responses":{"200":{"description":"User details for caller's user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"List the account for the authenticated user","tags":["Identity"],"x-anchore-authz-action":"None","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.accounts"}},"/accounts":{"get":{"operationId":"list_accounts","parameters":[{"description":"Filter accounts by state","in":"query","name":"state","required":false,"schema":{"type":"string","enum":["active","disabled","deleting"]}}],"responses":{"200":{"description":"Accound summary listing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountList"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"List user summaries. Only available to the system admin user.","tags":["User Management"],"x-anchore-authz-action":"listAccounts","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.accounts"},"post":{"operationId":"create_account","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountCreationRequest"}}},"required":true},"responses":{"200":{"description":"Account Record","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}},"409":{"description":"Conflicting user information. User already exists.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Create a new user. Only avaialble to admin user.","tags":["User Management"],"x-anchore-authz-action":"createAccount","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.accounts"}},"/accounts/{accountname}":{"delete":{"operationId":"delete_account","parameters":[{"in":"path","name":"accountname","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Successful deletion"},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"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-anchore-authz-action":"deleteAccount","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.accounts"},"get":{"operationId":"get_account","parameters":[{"in":"path","name":"accountname","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Get user information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Get info about an user. Only available to admin user. Uses the main user Id, not a username.","tags":["User Management"],"x-anchore-authz-action":"getAccount","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.accounts"}},"/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":{"description":"Updated state of the account","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountStatus"}}}},"400":{"description":"State requested is invalid based on current state of the account","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Update the state of an account to either enabled or disabled. For deletion use the DELETE route","tags":["User Management"],"x-anchore-authz-action":"updateAccount","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.accounts"}},"/accounts/{accountname}/users":{"get":{"operationId":"list_users","parameters":[{"in":"path","name":"accountname","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"User listing","content":{"application/json":{"schema":{"description":"List of user credential records","items":{"$ref":"#/components/schemas/User"},"type":"array"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"List accounts for the user","tags":["User Management"],"x-anchore-authz-action":"listUsers","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.accounts"},"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":{"description":"Credential summary","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}},"summary":"Create a new user","tags":["User Management"],"x-anchore-authz-action":"createUser","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.accounts"}},"/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":{"description":"Deleted credential"},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Delete a specific user credential by username of the credential. Cannot be the credential used to authenticate the request.","tags":["User Management"],"x-anchore-authz-action":"deleteUser","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.accounts"},"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":{"description":"User record","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Get a specific user in the specified account","tags":["User Management"],"x-anchore-authz-action":"getUser","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.accounts"}},"/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":{"type":"string","enum":["password"]}}],"responses":{"204":{"description":"Successful deletion"},"400":{"description":"Conflict, cannot delete the credential used to authenticate this request"},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"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":{"description":"User credential listing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialList"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"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":{"$ref":"#/components/requestBodies/AccessCredential"},"responses":{"200":{"description":"Add a credential, overwritting if already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"add/replace credential","tags":["User Management"],"x-anchore-authz-action":"updateUser","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.accounts"}},"/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","required":false,"schema":{"type":"string"}},{"description":"Delete events that occurred after the timestamp","in":"query","name":"since","required":false,"schema":{"type":"string"}},{"description":"Delete events that match the level - INFO or ERROR","in":"query","name":"level","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"List of deleted event IDs","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Delete Events","tags":["Events"],"x-anchore-authz-action":"deleteEvents","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.events"},"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","required":false,"schema":{"type":"string"}},{"description":"Filter events by the originating host ID","in":"query","name":"source_hostid","required":false,"schema":{"type":"string"}},{"description":"Filter events by the type of resource - tag, imageDigest, repository etc","in":"query","name":"resource_type","required":false,"schema":{"type":"string"}},{"description":"Filter events by the id of the resource","in":"query","name":"resource_id","required":false,"schema":{"type":"string"}},{"description":"Filter events by the level - INFO or ERROR","in":"query","name":"level","required":false,"schema":{"type":"string"}},{"description":"Return events that occurred after the timestamp","in":"query","name":"since","required":false,"schema":{"type":"string"}},{"description":"Return events that occurred before the timestamp","in":"query","name":"before","required":false,"schema":{"type":"string"}},{"description":"Pagination controls - return the nth page of results. Defaults to first page if left empty","in":"query","name":"page","required":false,"schema":{"type":"integer","default":1}},{"description":"Number of events in the result set. Defaults to 100 if left empty","in":"query","name":"limit","required":false,"schema":{"type":"integer","default":100}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Paginated list of event records and the next token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventsList"}}}}},"summary":"List Events","tags":["Events"],"x-anchore-authz-action":"listEvents","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.events"}},"/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"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Delete success"}},"summary":"Delete Event","tags":["Events"],"x-anchore-authz-action":"getEvent","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.events"},"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"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Single event record","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventResponse"}}}}},"summary":"Get Event","tags":["Events"],"x-anchore-authz-action":"getEvent","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.events"}},"/health":{"get":{"description":"Health check, returns 200 and no body if service is running","operationId":"health_noop","responses":{"200":{"description":"Empty body on success"}},"x-anchore-authz-action":"None","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.system"}},"/imageimport":{"post":{"operationId":"import_image","parameters":[{"$ref":"#/components/parameters/AsAccountParameter"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageAnalysisReport"}}},"required":true},"responses":{"200":{"description":"Import task accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnchoreImageList"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Import and image analysis directly","tags":["Images"],"x-anchore-authz-action":"importImage","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"}},"/images":{"get":{"description":"List all images visible to the user","operationId":"list_images","parameters":[{"description":"Include image history in the response","in":"query","name":"history","required":false,"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","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageFilter"}}},"x-nullable":true},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnchoreImageList"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"List all visible images","tags":["Images"],"x-anchore-authz-action":"listImages","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"},"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","required":false,"schema":{"type":"boolean"}},{"description":"Instruct engine to automatically begin watching the added tag for updates from registry","in":"query","name":"autosubscribe","required":false,"schema":{"type":"boolean"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageAnalysisRequest"}}},"required":true},"responses":{"200":{"description":"Successfully added image to analysis queue","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnchoreImageList"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Submit a new image for analysis by the engine","tags":["Images"],"x-anchore-authz-action":"createImage","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"}},"/images/by_id/{imageId}":{"delete":{"operationId":"delete_image_by_imageId","parameters":[{"in":"path","name":"imageId","required":true,"schema":{"type":"string"}},{"in":"query","name":"force","required":false,"schema":{"type":"boolean"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Image deletion success"},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Delete image by docker imageId","tags":["Images"],"x-anchore-authz-action":"deleteImage","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"},"get":{"operationId":"get_image_by_imageId","parameters":[{"in":"path","name":"imageId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Image lookup success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnchoreImageList"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Lookup image by docker imageId","tags":["Images"],"x-anchore-authz-action":"getImage","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"}},"/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","required":false,"schema":{"type":"string"}},{"in":"query","name":"tag","required":true,"schema":{"type":"string"}},{"in":"query","name":"detail","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"history","required":false,"schema":{"type":"boolean"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Policy evaluation success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyEvaluationList"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Check policy evaluation status for image","tags":["Images","Policy Evaluation"],"x-anchore-authz-action":"getImageEvaluation","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"}},"/images/by_id/{imageId}/content":{"get":{"operationId":"list_image_content_by_imageid","parameters":[{"in":"path","name":"imageId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Content of specified type from the image","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"List image content types","tags":["Images","Image Content","Queries"],"x-anchore-authz-action":"getImage","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"}},"/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"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Content of specified type from the image","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentFilesResponse"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Get the content of an image by type files","tags":["Images","Image Content","Queries"],"x-anchore-authz-action":"getImage","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"}},"/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"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Content of specified type from the image","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentJAVAPackageResponse"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Get the content of an image by type java","tags":["Images","Image Content","Queries"],"x-anchore-authz-action":"getImage","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"}},"/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"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Content of specified type from the image","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentPackageResponse"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Get the content of an image by type","tags":["Images","Image Content","Queries"],"x-anchore-authz-action":"getImage","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"}},"/images/by_id/{imageId}/vuln":{"get":{"operationId":"get_image_vulnerability_types_by_imageId","parameters":[{"in":"path","name":"imageId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Vulnerability listing for the image","content":{"application/json":{"schema":{"items":{"enum":["all","os","non-os"],"type":"string"},"type":"array"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Get vulnerability types","tags":["Images","Vulnerabilities","Queries"],"x-anchore-authz-action":"getImage","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"}},"/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"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Vulnerability listing for the image","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VulnerabilityResponse"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Get vulnerabilities by type","tags":["Images","Vulnerabilities","Queries"],"x-anchore-authz-action":"getImage","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"}},"/images/{imageDigest}":{"delete":{"operationId":"delete_image","parameters":[{"in":"path","name":"imageDigest","required":true,"schema":{"type":"string"}},{"in":"query","name":"force","required":false,"schema":{"type":"boolean"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Image deletion success"}},"summary":"Delete an image analysis","tags":["Images"],"x-anchore-authz-action":"deleteImage","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"},"get":{"operationId":"get_image","parameters":[{"in":"path","name":"imageDigest","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Image lookup success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnchoreImageList"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Get image metadata","tags":["Images"],"x-anchore-authz-action":"getImage","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"}},"/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","required":false,"schema":{"type":"string"}},{"in":"query","name":"tag","required":true,"schema":{"type":"string"}},{"in":"query","name":"detail","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"history","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"interactive","required":false,"schema":{"type":"boolean"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Policy evaluation success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyEvaluationList"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Check policy evaluation status for image","tags":["Images","Policy Evaluation"],"x-anchore-authz-action":"getImageEvaluation","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"}},"/images/{imageDigest}/content":{"get":{"operationId":"list_image_content","parameters":[{"in":"path","name":"imageDigest","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Content listing for the image","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"List image content types","tags":["Images","Image Content","Queries"],"x-anchore-authz-action":"getImage","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"}},"/images/{imageDigest}/content/files":{"get":{"operationId":"get_image_content_by_type_files","parameters":[{"in":"path","name":"imageDigest","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Content of specified type from the image","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentFilesResponse"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Get the content of an image by type files","tags":["Images","Image Content","Queries"],"x-anchore-authz-action":"getImage","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"}},"/images/{imageDigest}/content/java":{"get":{"operationId":"get_image_content_by_type_javapackage","parameters":[{"in":"path","name":"imageDigest","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Content of specified type from the image","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentJAVAPackageResponse"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Get the content of an image by type java","tags":["Images","Image Content","Queries"],"x-anchore-authz-action":"getImage","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"}},"/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"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Content of specified type from the image","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentPackageResponse"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Get the content of an image by type","tags":["Images","Image Content","Queries"],"x-anchore-authz-action":"getImage","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"}},"/images/{imageDigest}/metadata":{"get":{"operationId":"list_image_metadata","parameters":[{"in":"path","name":"imageDigest","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Metadata listing for the image","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"List image metadata types","tags":["Images","Queries"],"x-anchore-authz-action":"getImage","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"}},"/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"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Metadata of specified type from the image","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadataResponse"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Get the metadata of an image by type","tags":["Images","Queries"],"x-anchore-authz-action":"getImage","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"}},"/images/{imageDigest}/vuln":{"get":{"operationId":"get_image_vulnerability_types","parameters":[{"in":"path","name":"imageDigest","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Vulnerability listing for the image","content":{"application/json":{"schema":{"items":{"enum":["all","os","non-os"],"type":"string"},"type":"array"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Get vulnerability types","tags":["Images","Vulnerabilities","Queries"],"x-anchore-authz-action":"getImage","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"}},"/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","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"vendor_only","required":false,"schema":{"type":"boolean"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Vulnerability listing for the image","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VulnerabilityResponse"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Get vulnerabilities by type","tags":["Images","Vulnerabilities","Queries"],"x-anchore-authz-action":"getImage","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"}},"/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","required":false,"schema":{"type":"boolean"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Policy listing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyBundleList"}}}}},"summary":"List policies","tags":["Policies"],"x-anchore-authz-action":"listPolicies","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.policies"},"post":{"description":"Adds a new policy bundle to the system","operationId":"add_policy","parameters":[{"$ref":"#/components/parameters/AsAccountParameter"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyBundle"}}},"required":true},"responses":{"200":{"description":"Saved bundle","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyBundleRecord"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Add a new policy","tags":["Policies"],"x-anchore-authz-action":"createPolicy","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.policies"}},"/policies/{policyId}":{"delete":{"description":"Delete the specified policy","operationId":"delete_policy","parameters":[{"in":"path","name":"policyId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Delete success"},"404":{"description":"Policy not found to delete","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Delete policy","tags":["Policies"],"x-anchore-authz-action":"deletePolicy","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.policies"},"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","required":false,"schema":{"type":"boolean"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"A list with a single fetched policy bundle record","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyBundleList"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Get specific policy","tags":["Policies"],"x-anchore-authz-action":"getPolicy","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.policies"},"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","required":false,"schema":{"type":"boolean"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyBundleRecord"}}},"required":true},"responses":{"200":{"description":"A list with a single updated policy bundle record","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyBundleList"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Update policy","tags":["Policies"],"x-anchore-authz-action":"updatePolicy","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.policies"}},"/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","required":false,"schema":{"type":"string"}},{"description":"Version of named package to filter on (e.g. 4.4-1)","in":"query","name":"version","required":false,"schema":{"type":"string"}},{"description":"The page of results to fetch. Pages start at 1","in":"query","name":"page","required":false,"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","required":false,"schema":{"type":"integer"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Image listing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedImageList"}}}},"400":{"description":"Bad filter parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"List of images containing given package","tags":["Queries"],"x-anchore-authz-action":"listImages","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.query"}},"/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","required":false,"schema":{"type":"string"}},{"description":"Filter results to images with vulnable packages with the given package name (e.g. libssl)","in":"query","name":"affected_package","required":false,"schema":{"type":"string"}},{"description":"Filter results to vulnerable package/vulnerability with the given severity","in":"query","name":"severity","required":false,"schema":{"type":"string","enum":["Unknown","Negligible","Low","Medium","High","Critical"]}},{"description":"Filter results to include only vulnerabilities that are not marked as invalid by upstream OS vendor data","in":"query","name":"vendor_only","required":false,"schema":{"type":"boolean","default":true}},{"description":"The page of results to fetch. Pages start at 1","in":"query","name":"page","required":false,"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","required":false,"schema":{"type":"integer"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Image lookup success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedVulnerableImageList"}}}},"400":{"description":"Invalid filter parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"List images vulnerable to the specific vulnerability ID.","tags":["Vulnerabilities","Queries"],"x-anchore-authz-action":"listImages","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.query"}},"/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)","in":"query","name":"id","required":true,"schema":{"type":"string"}},{"description":"Filter results by specified package name (e.g. sed)","in":"query","name":"affected_package","required":false,"schema":{"type":"string"}},{"description":"Filter results by specified package version (e.g. 4.4-1)","in":"query","name":"affected_package_version","required":false,"schema":{"type":"string"}},{"description":"The page of results to fetch. Pages start at 1","in":"query","name":"page","required":false,"schema":{"type":"string","default":"1"}},{"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","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Vulnerability listing paginated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedVulnerabilityList"}}}},"400":{"description":"Invalid filter parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Listing information about given vulnerability","tags":["Vulnerabilities","Queries"],"x-anchore-authz-action":"None","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.query"}},"/registries":{"get":{"description":"List all configured registries the system can/will watch","operationId":"list_registries","parameters":[{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Registry listing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistryConfigurationList"}}}}},"summary":"List configured registries","tags":["Registries"],"x-anchore-authz-action":"listRegistries","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.registries"},"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","required":false,"schema":{"type":"boolean"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"requestBody":{"$ref":"#/components/requestBodies/RegistryConfigurationRequest"},"responses":{"200":{"description":"Saved registry configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistryConfigurationList"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Add a new registry","tags":["Registries"],"x-anchore-authz-action":"createRegistry","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.registries"}},"/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":{"type":"string"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Delete success"},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Delete a registry configuration","tags":["Registries"],"x-anchore-authz-action":"deleteRegistry","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.registries"},"get":{"description":"Get information on a specific registry","operationId":"get_registry","parameters":[{"in":"path","name":"registry","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Registry configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistryConfiguration"}}}}},"summary":"Get a specific registry configuration","tags":["Registries"],"x-anchore-authz-action":"getRegistry","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.registries"},"put":{"description":"Replaces an existing registry record with the given record","operationId":"update_registry","parameters":[{"in":"path","name":"registry","required":true,"schema":{"type":"string"}},{"description":"flag to determine whether or not to validate registry/credential at registry update time","in":"query","name":"validate","required":false,"schema":{"type":"boolean"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"requestBody":{"$ref":"#/components/requestBodies/RegistryConfigurationRequest"},"responses":{"200":{"description":"Updated registry configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistryConfigurationList"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Update/replace a registry configuration","tags":["Registries"],"x-anchore-authz-action":"updateRegistry","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.registries"}},"/repositories":{"post":{"description":"","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","required":false,"schema":{"type":"boolean"}},{"description":"use specified existing tag to perform repo scan (default is 'latest')","in":"query","name":"lookuptag","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Repository and discovered tags added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionList"}}}}},"summary":"Add repository to watch","tags":["Repository Credentials"],"x-anchore-authz-action":"createRepository","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.images"}},"/status":{"get":{"description":"Get the API service status","operationId":"get_status","responses":{"200":{"description":"Status listing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusResponse"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"Service status","tags":["System"],"x-anchore-authz-action":"None","x-swagger-router-controller":"anchore_engine.services.apiext.api.controllers.system"}},"/subscriptions":{"get":{"operationId":"list_subscriptions","parameters":[{"description":"filter only subscriptions matching key","in":"query","name":"subscription_key","required":false,"schema":{"type":"string"}},{"description":"filter only subscriptions matching type","in":"query","name":"subscription_type","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/AsAccountParameter"}],"responses":{"200":{"description":"Subscription listing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionList"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}},"summary":"List all subscriptions","tags":["Subscriptions"],"x-anchore-authz-action":"listSubscriptions","x-swagger-router-controller":"anchore_e