The Anchore Engine API Server provides a comprehensive REST API for managing accounts and users, submitting container images for analysis, and retrieving detailed analysis results such as vulnerability reports, content listings, SBOMs, and policy evaluation, while also exposing endpoints for events, archives, imports, and health checks.
Update the state of an account to either enabled or disabled. For deletion use the DELETE route
accountname(path, required)
GET
/accounts/{accountname}/users
List accounts for the user
accountname(path, required)
POST
/accounts/{accountname}/users
Create a new user
accountname(path, required)
DELETE
/accounts/{accountname}/users/{username}
Delete a specific user credential by username of the credential. Cannot be the credential used to authenticate the request.
accountname(path, required)
username(path, required)
GET
/
Simple status check
GET
/account
List the account for the authenticated user
GET
/accounts
List user summaries. Only available to the system admin user.
state(query) — Filter accounts by state
POST
/accounts
Create a new user. Only avaialble to admin user.
DELETE
/accounts/{accountname}
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
accountname(path, required)
GET
/accounts/{accountname}
Get info about an user. Only available to admin user. Uses the main user Id, not a username.
Returns the archive metadata record identifying the image and tags for the analysis in the archive.
imageDigest(path, required) — The image digest to identify the image analysis
GET
/archives/rules
system_global(query) — 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
POST
/archives/rules
DELETE
/archives/rules/{ruleId}
ruleId(path, required)
GET
/archives/rules/{ruleId}
ruleId(path, required)
GET
/event_types
List Event Types
DELETE
/events
Delete Events
before(query) — Delete events that occurred before the timestamp
since(query) — Delete events that occurred after the timestamp
level(query) — Delete events that match the level - INFO or ERROR
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/events
List Events
source_servicename(query) — Filter events by the originating service
source_hostid(query) — Filter events by the originating host ID
event_type(query) — Filter events by a prefix match on the event type (e.g. "user.image.")
resource_type(query) — Filter events by the type of resource - tag, imageDigest, repository etc
resource_id(query) — Filter events by the id of the resource
level(query) — Filter events by the level - INFO or ERROR
since(query) — Return events that occurred after the timestamp
before(query) — Return events that occurred before the timestamp
page(query, page) — Pagination controls - return the nth page of results. Defaults to first page if left empty
limit(query, limit) — Number of events in the result set. Defaults to 100 if left empty
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
DELETE
/events/{eventId}
Delete Event
eventId(path, required) — Event ID of the event to be deleted
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/events/{eventId}
Get Event
eventId(path, required) — Event ID of the event for lookup
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/health
Health check, returns 200 and no body if service is running
DELETE
/images
Bulk mark images for deletion
imageDigests(query, required)
force(query)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/images
List all visible images
history(query) — Include image history in the response
fulltag(query) — Full docker-pull string to filter results by (e.g. docker.io/library/nginx:latest, or myhost.com:5000/testimages:v1.1.1)
image_status(query) — Filter by image_status value on the record. Default if omitted is 'active'.
analysis_status(query) — Filter by analysis_status value on the record.
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
POST
/images
Submit a new image for analysis by the engine
force(query) — Override any existing entry in the system
autosubscribe(query) — Instruct engine to automatically begin watching the added tag for updates from registry
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
DELETE
/images/by_id/{imageId}
Delete image by docker imageId
imageId(path, required)
force(query)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/images/by_id/{imageId}
Lookup image by docker imageId
imageId(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/images/by_id/{imageId}/check
Check policy evaluation status for image
imageId(path, required)
policyId(query)
tag(query, required)
detail(query)
history(query)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/images/by_id/{imageId}/content
List image content types
imageId(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/images/by_id/{imageId}/content/files
Get the content of an image by type files
imageId(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/images/by_id/{imageId}/content/java
Get the content of an image by type java
imageId(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/images/by_id/{imageId}/content/{ctype}
Get the content of an image by type
imageId(path, required)
ctype(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/images/by_id/{imageId}/vuln
Get vulnerability types
imageId(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/images/by_id/{imageId}/vuln/{vtype}
Get vulnerabilities by type
imageId(path, required)
vtype(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
DELETE
/images/{imageDigest}
Delete an image analysis
imageDigest(path, required)
force(query)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/images/{imageDigest}
Get image metadata
imageDigest(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
Return a list of analyzer artifacts of the specified type
imageDigest(path, required)
GET
/images/{imageDigest}/artifacts/retrieved_files
Return a list of analyzer artifacts of the specified type
imageDigest(path, required)
GET
/images/{imageDigest}/artifacts/secret_search
Return a list of analyzer artifacts of the specified type
imageDigest(path, required)
GET
/images/{imageDigest}/check
Check policy evaluation status for image
imageDigest(path, required)
policyId(query)
tag(query, required)
detail(query)
history(query)
interactive(query)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/images/{imageDigest}/content
List image content types
imageDigest(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/images/{imageDigest}/content/files
Get the content of an image by type files
imageDigest(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/images/{imageDigest}/content/java
Get the content of an image by type java
imageDigest(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/images/{imageDigest}/content/malware
Get the content of an image by type malware
imageDigest(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/images/{imageDigest}/content/{ctype}
Get the content of an image by type
imageDigest(path, required)
ctype(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/images/{imageDigest}/metadata
List image metadata types
imageDigest(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/images/{imageDigest}/metadata/{mtype}
Get the metadata of an image by type
imageDigest(path, required)
mtype(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/images/{imageDigest}/sboms/native
Get image sbom in the native Anchore format
imageDigest(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/images/{imageDigest}/vuln
Get vulnerability types
imageDigest(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/images/{imageDigest}/vuln/{vtype}
Get vulnerabilities by type
imageDigest(path, required)
vtype(path, required)
force_refresh(query)
vendor_only(query) — 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`
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
POST
/import/images
Import an anchore image tar.gz archive file. This is a deprecated API replaced by the "/imports/images" route
GET
/imports/images
Lists in-progress imports
POST
/imports/images
Begin the import of an image analyzed by Syft into the system
DELETE
/imports/images/{operation_id}
Invalidate operation ID so it can be garbage collected
operation_id(path, required)
GET
/imports/images/{operation_id}
Get detail on a single import
operation_id(path, required)
GET
/imports/images/{operation_id}/dockerfile
List uploaded dockerfiles
operation_id(path, required)
POST
/imports/images/{operation_id}/dockerfile
Begin the import of an image analyzed by Syft into the system
operation_id(path, required)
GET
/imports/images/{operation_id}/image_config
List uploaded image configs
operation_id(path, required)
POST
/imports/images/{operation_id}/image_config
Import a docker or OCI image config to associate with the image
operation_id(path, required)
GET
/imports/images/{operation_id}/manifest
List uploaded image manifests
operation_id(path, required)
POST
/imports/images/{operation_id}/manifest
Import a docker or OCI distribution manifest to associate with the image
operation_id(path, required)
GET
/imports/images/{operation_id}/packages
List uploaded package manifests
operation_id(path, required)
POST
/imports/images/{operation_id}/packages
Begin the import of an image analyzed by Syft into the system
operation_id(path, required)
GET
/imports/images/{operation_id}/parent_manifest
List uploaded parent manifests (manifest lists for a tag)
operation_id(path, required)
POST
/imports/images/{operation_id}/parent_manifest
Import a docker or OCI distribution manifest list to associate with the image
operation_id(path, required)
POST
/oauth/token
Request a jwt token for subsequent operations, this request is authenticated with normal HTTP auth
GET
/policies
List policies
detail(query) — Include policy bundle detail in the form of the full bundle content for each entry
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
POST
/policies
Add a new policy
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
DELETE
/policies/{policyId}
Delete policy
policyId(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/policies/{policyId}
Get specific policy
policyId(path, required)
detail(query) — Include policy bundle detail in the form of the full bundle content for each entry
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
PUT
/policies/{policyId}
Update policy
policyId(path, required)
active(query) — Mark policy as active
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/query/images/by_package
List of images containing given package
name(query, required) — Name of package to search for (e.g. sed)
package_type(query) — Type of package to filter on (e.g. dpkg)
version(query) — Version of named package to filter on (e.g. 4.4-1)
page(query, page) — The page of results to fetch. Pages start at 1
limit(query, limit) — Limit the number of records for the requested page. If omitted or set to 0, return all results in a single page
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/query/images/by_vulnerability
List images vulnerable to the specific vulnerability ID.
vulnerability_id(query, required) — The ID of the vulnerability to search for within all images stored in anchore-engine (e.g. CVE-1999-0001)
namespace(query) — Filter results to images within the given vulnerability namespace (e.g. debian:8, ubuntu:14.04)
affected_package(query) — Filter results to images with vulnable packages with the given package name (e.g. libssl)
severity(query) — Filter results to vulnerable package/vulnerability with the given severity
vendor_only(query) — Filter results to include only vulnerabilities that are not marked as invalid by upstream OS vendor data
page(query, page) — The page of results to fetch. Pages start at 1
limit(query, limit) — Limit the number of records for the requested page. If omitted or set to 0, return all results in a single page
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/query/vulnerabilities
Listing information about given vulnerability
id(query, required) — The ID of the vulnerability (e.g. CVE-1999-0001)
affected_package(query) — Filter results by specified package name (e.g. sed)
affected_package_version(query) — Filter results by specified package version (e.g. 4.4-1)
page(query, page) — The page of results to fetch. Pages start at 1
limit(query, limit) — Limit the number of records for the requested page. If omitted or set to 0, return all results in a single page
namespace(query) — Namespace(s) to filter vulnerability records by
GET
/registries
List configured registries
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
POST
/registries
Add a new registry
validate(query) — flag to determine whether or not to validate registry/credential at registry add time
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
DELETE
/registries/{registry}
Delete a registry configuration
registry(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/registries/{registry}
Get a specific registry configuration
registry(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
PUT
/registries/{registry}
Update/replace a registry configuration
registry(path, required)
validate(query) — flag to determine whether or not to validate registry/credential at registry update time
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
POST
/repositories
Add repository to watch
repository(query, required) — full repository to add e.g. docker.io/library/alpine
autosubscribe(query) — flag to enable/disable auto tag_update activation when new images from a repo are added
dryrun(query) — flag to return tags in the repository without actually watching the repository, default is false
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/status
Service status
GET
/subscriptions
List all subscriptions
subscription_key(query) — filter only subscriptions matching key
subscription_type(query) — filter only subscriptions matching type
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
POST
/subscriptions
Add a subscription of a specific type
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
DELETE
/subscriptions/{subscriptionId}
Delete subscriptions of a specific type
subscriptionId(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/subscriptions/{subscriptionId}
Get a specific subscription set
subscriptionId(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
PUT
/subscriptions/{subscriptionId}
Update an existing and specific subscription
subscriptionId(path, required)
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/summaries/imagetags
List all visible image digests and tags
image_status(query) — Filter images in one or more states such as active, deleting. Defaults to active images only if unspecified
x-anchore-account(header) — An account name to change the resource scope of the request to that account, if permissions allow (admin only)
GET
/system
System status
GET
/system/error_codes
Describe anchore engine error codes.
GET
/system/feeds
list feeds operations and information
POST
/system/feeds
trigger feeds operations
flush(query) — instruct system to flush existing data feeds records from anchore-engine
sync(query) — instruct system to re-sync data feeds
DELETE
/system/feeds/{feed}
Delete the groups and data for the feed and disable the feed itself
feed(path, required)
PUT
/system/feeds/{feed}
Disable the feed so that it does not sync on subsequent sync operations
feed(path, required)
enabled(query, required)
DELETE
/system/feeds/{feed}/{group}
Delete the group data and disable the group itself
feed(path, required)
group(path, required)
PUT
/system/feeds/{feed}/{group}
Disable a specific group within a feed to not sync
feed(path, required)
group(path, required)
enabled(query, required)
GET
/system/policy_spec
Describe the policy language spec implemented by this service.
GET
/system/services
List system services
GET
/system/services/{servicename}
Get a service configuration and state
servicename(path, required)
DELETE
/system/services/{servicename}/{hostid}
Delete the service config
servicename(path, required)
hostid(path, required)
GET
/system/services/{servicename}/{hostid}
Get service config for a specific host
servicename(path, required)
hostid(path, required)
POST
/system/webhooks/{webhook_type}/test
Adds the capabilities to test a webhook delivery for the given notification type
webhook_type(path, required) — The Webhook Type that we should test
notification_type(query) — What kind of Notification to send
GET
/user
List authenticated user info
GET
/user/credentials
Get current credential summary
POST
/user/credentials
add/replace credential
GET
/version
Returns the version object for the service, including db schema version info
112 endpoints auto-detected
curl -X PUT \
"https://anchore.io//accounts/{accountname}/state"