githubEdit

Assets

circle-info

This document uses the REST API. For more details, see the Authentication for API page.

Bulk update asset attributes (Early Access)

patch

Partially updates multiple assets in a single request. Maximum of 100 assets can be updated per request. The operation is transactional - all updates succeed or all fail. Supports updating class, labels (add/remove), and tags (add/remove).

Required permissions

  • Edit Tenant Details (tenant.edit)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
tenant_idstring · uuidRequired

The unique identifier of the tenant

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
Body
Responses
patch
/tenants/{tenant_id}/inventory/assets

No content

List or search all assets (synchronous) (Early Access)

get

Retrieves a polymorphic list of all asset types for a given tenant. The response includes different asset types (containers, container images, etc.) in a single unified response following the JSON:API specification.

This endpoint supports both simple listing and synchronous search with filtering, sorting, and cursor-based pagination through query parameters.

Required permissions

  • View Tenant Details (tenant.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
tenant_idstring · uuidRequired

The unique identifier of the tenant

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
filterstringOptional

RSQL filter expression for filtering results.

Supported operators:

  • == (equal), != (not equal)
  • < or =lt= (less than), > or =gt= (greater than)
  • <= or =le= (less than or equal), >= or =ge= (greater than or equal)
  • =in=(val1,val2) (IN list), =out=(val1,val2) (NOT IN list)
  • ; or and (logical AND), , or or (logical OR) - word operators are case-insensitive

Wildcard pattern matching: Use * (asterisk) for flexible string matching with == and != operators:

  • *value* - Contains (e.g., type==*image* matches "container_images")
  • value* - Starts with (e.g., type==container* matches "container_images")
  • *value - Ends with (e.g., type==*images matches "container_images")
  • !=*value* - Does not contain (e.g., class!=*test*)

Note: Special SQL characters (%, _) are automatically escaped for security.

Multi-field substring search: Use the special q field to search across multiple fields simultaneously using case-insensitive substring matching:

  • q==<search_term> - Searches across: labels, tags, registry, repository, name, and distribution_digests
  • Only supports the == operator (no wildcards needed - automatically searches for substring matches)
  • Uses case-insensitive pattern matching (PostgreSQL ILIKE)
  • Does not support linguistic features like stemming or ranking
  • Special characters are automatically escaped for security
  • Can be combined with other filters: q==nginx;type==container_images

Supported fields:

  • q (string) - Multi-field substring search across multiple fields (see Multi-field substring search above)
  • type (string) - Type of asset. Allowed values: container_images
  • class (string) - Class of asset (e.g., production, development)
  • created_at (timestamp) - Asset creation timestamp (ISO 8601 format)
  • updated_at (timestamp) - Asset last update timestamp (ISO 8601 format)

Examples:

  • q==nginx - Multi-field substring search for "nginx"
  • q==docker.io;type==container_images - Search "docker.io" substring in container images only
  • type==container_images - Exact match
  • type==*image* - Contains "image" (wildcard)
  • created_at>2024-01-01 or created_at=gt=2024-01-01 - Date comparison
  • class==A;created_at=ge=2024-01-01 - AND combination
Example: type==container_images;created_at>2024-01-01
sortstringOptional

Comma-separated sort fields. Prefix with - for descending order.

Supported fields:

  • created_at - Asset creation timestamp
  • updated_at - Asset last update timestamp
  • type - Asset type (container_images)
  • class - Asset class
  • registry - Container image registry (container images only)
  • name - Container image name (container images only)

Asset-specific fields will group results by type naturally.

Example: -created_at
limitinteger · min: 10 · max: 100Optional

Number of results to return per page

Default: 10
starting_afterstringOptional

Cursor for fetching the next page of results

Example: v1.MTIzNDU2Nzg5MHxhYmNkZWY=
ending_beforestringOptional

Cursor for fetching the previous page of results

Example: v1.MTIzNDU2Nzg5MHxhYmNkZWY=
meta_countstring · enumOptional

Provide summary count in the response meta object when requested. When with is provided, the count will be included in the response meta object. When only is provided, the count will be included in the response meta object and no data will be returned.

Example: withPossible values:
Responses
chevron-right
200

Successful response with a polymorphic list of assets

application/vnd.api+json
get
/tenants/{tenant_id}/inventory/assets

Update asset attributes (Early Access)

patch

Partially updates an asset's attributes. Supports updating class, labels (add/remove), and tags (add/remove). At least one attribute must be provided in the request.

Required permissions

  • Edit Tenant Details (tenant.edit)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
tenant_idstring · uuidRequired

The unique identifier of the tenant

asset_idstring · uuidRequired

The unique identifier of the asset

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
Body
Responses
chevron-right
200

Asset updated successfully

application/vnd.api+json
patch
/tenants/{tenant_id}/inventory/assets/{asset_id}

Get a single asset by ID (Early Access)

get

Retrieves a single asset by its unique identifier. The response includes the asset's details in JSON:API format. The asset type is determined from the database and the appropriate details are returned polymorphically.

Required permissions

  • View Tenant Details (tenant.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
tenant_idstring · uuidRequired

The unique identifier of the tenant

asset_idstring · uuidRequired

The unique identifier of the asset

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
Responses
chevron-right
200

Asset retrieved successfully

application/vnd.api+json
get
/tenants/{tenant_id}/inventory/assets/{asset_id}

Create an asset search (asynchronous) (Early Access)

post

Initiates an asynchronous search for assets and returns a redirect to the search results endpoint

Required permissions

  • View Tenant Details (tenant.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
tenant_idstring · uuidRequired

The unique identifier of the tenant

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
Body
Responses
post
/tenants/{tenant_id}/inventory/assets/searches

Retrieve asset search results (asynchronous) (Early Access)

get

Gets paginated results for a previously initiated asset search

Required permissions

  • View Tenant Details (tenant.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
tenant_idstring · uuidRequired

The unique identifier of the tenant

search_idstring · uuidRequired

The unique identifier of the search operation

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
sortstringOptional

Comma-separated sort fields (prefix with - for descending, e.g., -created_at,updated_at). Supports: created_at, updated_at, type, class, registry, name, url, scm

Example: -created_at
limitinteger · min: 10 · max: 100Optional

Number of results to return

Default: 10
starting_afterstringOptional

Cursor for next page

ending_beforestringOptional

Cursor for previous page

Responses
chevron-right
200

Search results retrieved successfully

application/vnd.api+json
get
/tenants/{tenant_id}/inventory/assets/searches/{search_id}/results

Get available group fields (Early Access)

get

Returns a list of valid field names that can be used for grouping assets. Each field includes its name, data type, and which asset types it applies to.

Required permissions

  • View Tenant Details (tenant.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
tenant_idstring · uuidRequired

The unique identifier of the tenant

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
asset_typesstringOptional

Comma-separated list of asset types to filter the available group fields

Example: container_images
limitinteger · min: 10 · max: 100Optional

Number of results to return

Default: 10
starting_afterstringOptional

Cursor for fetching the next page of results

ending_beforestringOptional

Cursor for fetching the previous page of results

Responses
chevron-right
200

List of available group fields

application/vnd.api+json
get
/tenants/{tenant_id}/inventory/assets/groups

Get group value aggregation (Early Access)

get

Returns aggregated values for a specific group field, showing the count of assets for each distinct value.

Use the UUID from the group fields list endpoint to identify which field to query.

Required permissions

  • View Tenant Details (tenant.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
tenant_idstring · uuidRequired

The unique identifier of the tenant

group_fieldstring · uuidRequired

The UUID of the group field to get values for (from the group fields list endpoint)

Example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
asset_typesstringOptional

Comma-separated list of asset types to filter the aggregation

Example: container_images
filterstringOptional

RSQL filter expression for filtering results.

Supported operators:

  • == (equal), != (not equal)
  • < or =lt= (less than), > or =gt= (greater than)
  • <= or =le= (less than or equal), >= or =ge= (greater than or equal)
  • =in=(val1,val2) (IN list), =out=(val1,val2) (NOT IN list)
  • ; or and (logical AND), , or or (logical OR) - word operators are case-insensitive

Wildcard pattern matching: Use * (asterisk) for flexible string matching with == and != operators:

  • *value* - Contains (e.g., type==*image* matches "container_images")
  • value* - Starts with (e.g., type==container* matches "container_images")
  • *value - Ends with (e.g., type==*images matches "container_images")
  • !=*value* - Does not contain (e.g., class!=*test*)

Note: Special SQL characters (%, _) are automatically escaped for security.

Multi-field substring search: Use the special q field to search across multiple fields simultaneously using case-insensitive substring matching:

  • q==<search_term> - Searches across: labels, tags, registry, repository, name, and distribution_digests
  • Only supports the == operator (no wildcards needed - automatically searches for substring matches)
  • Uses case-insensitive pattern matching (PostgreSQL ILIKE)
  • Does not support linguistic features like stemming or ranking
  • Special characters are automatically escaped for security
  • Can be combined with other filters: q==nginx;type==container_images

Supported fields:

  • q (string) - Multi-field substring search across multiple fields (see Multi-field substring search above)
  • type (string) - Type of asset. Allowed values: container_images
  • class (string) - Class of asset (e.g., production, development)
  • created_at (timestamp) - Asset creation timestamp (ISO 8601 format)
  • updated_at (timestamp) - Asset last update timestamp (ISO 8601 format)

Examples:

  • q==nginx - Multi-field substring search for "nginx"
  • q==docker.io;type==container_images - Search "docker.io" substring in container images only
  • type==container_images - Exact match
  • type==*image* - Contains "image" (wildcard)
  • created_at>2024-01-01 or created_at=gt=2024-01-01 - Date comparison
  • class==A;created_at=ge=2024-01-01 - AND combination
Example: type==container_images;created_at>2024-01-01
limitinteger · min: 10 · max: 100Optional

Number of results to return

Default: 10
starting_afterstringOptional

Cursor for fetching the next page of results

ending_beforestringOptional

Cursor for fetching the previous page of results

Responses
chevron-right
200

List of group values with aggregated metadata

application/vnd.api+json
get
/tenants/{tenant_id}/inventory/assets/groups/{group_field}/values

Get available filter fields (Early Access)

get

Returns a list of valid field names that can be used for filtering assets using RSQL. Each field includes its name, data type, and which asset types it applies to.

Required permissions

  • View Tenant Details (tenant.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
tenant_idstring · uuidRequired

The unique identifier of the tenant

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
asset_typesstringOptional

Comma-separated list of asset types to filter the available filter fields

Example: container_images
limitinteger · min: 10 · max: 100Optional

Number of results to return (not used, included for API compliance)

Default: 10
starting_afterstringOptional

Cursor for fetching the next page of results (not used, included for API compliance)

ending_beforestringOptional

Cursor for fetching the previous page of results (not used, included for API compliance)

Responses
chevron-right
200

List of available filter fields

application/vnd.api+json
get
/tenants/{tenant_id}/inventory/assets/filters

Get filter value suggestions (autocomplete) (Early Access)

get

Returns a list of distinct values for a specific filter field. Useful for building autocomplete functionality in filter UIs.

Use the UUID from the filter fields list endpoint to identify which field to query.

For object filter values, both the keys and values are returned.

Required permissions

  • View Tenant Details (tenant.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
tenant_idstring · uuidRequired

The unique identifier of the tenant

filter_idstring · uuidRequired

The UUID of the filter field to get values for (from the filter fields list endpoint)

Example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
qstring · max: 100Optional

Full text search term to filter the list of values. If keys_only is true, this will filter the keys of the object filter values. If key is provided, this will filter the value for the specific key of the object filter values.

Example: prod
limitinteger · min: 10 · max: 100Optional

Number of results to return

Default: 10
starting_afterstringOptional

Cursor for fetching the next page of results (not used, included for API compliance)

ending_beforestringOptional

Cursor for fetching the previous page of results (not used, included for API compliance)

keys_onlybooleanOptional

Return only the keys of the object filter values

keystringOptional

Return only the value for a specific key of the object filter values

Responses
chevron-right
200

List of filter values

application/vnd.api+json
get
/tenants/{tenant_id}/inventory/assets/filters/{filter_id}/values

Bulk update asset attributes - Org scope (Early Access)

patch

Partially updates multiple assets within an org context. Maximum of 100 assets can be updated per request. The operation is transactional - all updates succeed or all fail.

Required permissions

  • Edit Organization (org.edit)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
org_idstring · uuidRequired

The unique identifier of the organization

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
Body
Responses
patch
/orgs/{org_id}/inventory/assets

No content

List or search all assets (synchronous) - Org scope (Early Access)

get

Retrieves a polymorphic list of all asset types for a given organization. The group and tenant are resolved from the org_id.

Required permissions

  • View Organization (org.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
org_idstring · uuidRequired

The unique identifier of the organization

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
filterstringOptional

RSQL filter expression for filtering results.

Supported operators:

  • == (equal), != (not equal)
  • < or =lt= (less than), > or =gt= (greater than)
  • <= or =le= (less than or equal), >= or =ge= (greater than or equal)
  • =in=(val1,val2) (IN list), =out=(val1,val2) (NOT IN list)
  • ; or and (logical AND), , or or (logical OR) - word operators are case-insensitive

Wildcard pattern matching: Use * (asterisk) for flexible string matching with == and != operators:

  • *value* - Contains (e.g., type==*image* matches "container_images")
  • value* - Starts with (e.g., type==container* matches "container_images")
  • *value - Ends with (e.g., type==*images matches "container_images")
  • !=*value* - Does not contain (e.g., class!=*test*)

Note: Special SQL characters (%, _) are automatically escaped for security.

Multi-field substring search: Use the special q field to search across multiple fields simultaneously using case-insensitive substring matching:

  • q==<search_term> - Searches across: labels, tags, registry, repository, name, and distribution_digests
  • Only supports the == operator (no wildcards needed - automatically searches for substring matches)
  • Uses case-insensitive pattern matching (PostgreSQL ILIKE)
  • Does not support linguistic features like stemming or ranking
  • Special characters are automatically escaped for security
  • Can be combined with other filters: q==nginx;type==container_images

Supported fields:

  • q (string) - Multi-field substring search across multiple fields (see Multi-field substring search above)
  • type (string) - Type of asset. Allowed values: container_images
  • class (string) - Class of asset (e.g., production, development)
  • created_at (timestamp) - Asset creation timestamp (ISO 8601 format)
  • updated_at (timestamp) - Asset last update timestamp (ISO 8601 format)

Examples:

  • q==nginx - Multi-field substring search for "nginx"
  • q==docker.io;type==container_images - Search "docker.io" substring in container images only
  • type==container_images - Exact match
  • type==*image* - Contains "image" (wildcard)
  • created_at>2024-01-01 or created_at=gt=2024-01-01 - Date comparison
  • class==A;created_at=ge=2024-01-01 - AND combination
Example: type==container_images;created_at>2024-01-01
sortstringOptional

Comma-separated sort fields. Prefix with - for descending order.

Example: -created_at
limitinteger · min: 10 · max: 100Optional

Number of results to return per page

Default: 10
starting_afterstringOptional

Cursor for fetching the next page of results

ending_beforestringOptional

Cursor for fetching the previous page of results

meta_countstring · enumOptional

Provide summary count in the response meta object when requested. When with is provided, the count will be included in the response meta object. When only is provided, the count will be included in the response meta object and no data will be returned.

Example: withPossible values:
Responses
chevron-right
200

Successful response with a polymorphic list of assets

application/vnd.api+json
get
/orgs/{org_id}/inventory/assets

Update asset attributes - Org scope (Early Access)

patch

Partially updates an asset's attributes within an org context. Supports updating class, labels (add/remove), and tags (add/remove).

Required permissions

  • Edit Organization (org.edit)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
org_idstring · uuidRequired

The unique identifier of the organization

asset_idstring · uuidRequired

The unique identifier of the asset

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
Body
Responses
chevron-right
200

Asset updated successfully

application/vnd.api+json
patch
/orgs/{org_id}/inventory/assets/{asset_id}

Get a single asset by ID - Org scope (Early Access)

get

Retrieves a single asset by its unique identifier within an org context.

Required permissions

  • View Organization (org.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
org_idstring · uuidRequired

The unique identifier of the organization

asset_idstring · uuidRequired

The unique identifier of the asset

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
Responses
chevron-right
200

Asset retrieved successfully

application/vnd.api+json
get
/orgs/{org_id}/inventory/assets/{asset_id}

Create an asset search (asynchronous) - Org scope (Early Access)

post

Initiates an asynchronous search for assets within an org context.

Required permissions

  • View Organization (org.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
org_idstring · uuidRequired

The unique identifier of the organization

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
Body
Responses
post
/orgs/{org_id}/inventory/assets/searches

Retrieve asset search results (asynchronous) - Org scope (Early Access)

get

Gets paginated results for a previously initiated asset search within an org context.

Required permissions

  • View Organization (org.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
org_idstring · uuidRequired

The unique identifier of the organization

search_idstring · uuidRequired

The unique identifier of the search operation

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
sortstringOptional

Sort order for results (e.g., -created_at for descending)

limitinteger · min: 10 · max: 100Optional

Maximum number of results to return

Default: 10
starting_afterstringOptional

Cursor for forward pagination

ending_beforestringOptional

Cursor for backward pagination

Responses
chevron-right
200

Search results retrieved successfully

application/vnd.api+json
get
/orgs/{org_id}/inventory/assets/searches/{search_id}/results

Get available group fields - Org scope (Early Access)

get

Returns a list of valid field names that can be used for grouping assets within an org context.

Required permissions

  • View Organization (org.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
org_idstring · uuidRequired

The unique identifier of the organization

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
asset_typesstringOptional

Comma-separated list of asset types to filter group fields

limitinteger · min: 10 · max: 100Optional

Maximum number of results to return

Default: 10
starting_afterstringOptional

Cursor for forward pagination

ending_beforestringOptional

Cursor for backward pagination

Responses
chevron-right
200

List of available group fields

application/vnd.api+json
get
/orgs/{org_id}/inventory/assets/groups

Get group value aggregation - Org scope (Early Access)

get

Returns aggregated values for a specific group field within an org context.

Required permissions

  • View Organization (org.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
org_idstring · uuidRequired

The unique identifier of the organization

group_fieldstring · uuidRequired

The UUID of the group field to get values for (from the group fields list endpoint)

Example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
asset_typesstringOptional

Comma-separated list of asset types to filter the aggregation

Example: container_images
filterstringOptional

RSQL filter expression for filtering results.

Supported operators:

  • == (equal), != (not equal)
  • < or =lt= (less than), > or =gt= (greater than)
  • <= or =le= (less than or equal), >= or =ge= (greater than or equal)
  • =in=(val1,val2) (IN list), =out=(val1,val2) (NOT IN list)
  • ; or and (logical AND), , or or (logical OR) - word operators are case-insensitive

Wildcard pattern matching: Use * (asterisk) for flexible string matching with == and != operators:

  • *value* - Contains (e.g., type==*image* matches "container_images")
  • value* - Starts with (e.g., type==container* matches "container_images")
  • *value - Ends with (e.g., type==*images matches "container_images")
  • !=*value* - Does not contain (e.g., class!=*test*)

Note: Special SQL characters (%, _) are automatically escaped for security.

Multi-field substring search: Use the special q field to search across multiple fields simultaneously using case-insensitive substring matching:

  • q==<search_term> - Searches across: labels, tags, registry, repository, name, and distribution_digests
  • Only supports the == operator (no wildcards needed - automatically searches for substring matches)
  • Uses case-insensitive pattern matching (PostgreSQL ILIKE)
  • Does not support linguistic features like stemming or ranking
  • Special characters are automatically escaped for security
  • Can be combined with other filters: q==nginx;type==container_images

Supported fields:

  • q (string) - Multi-field substring search across multiple fields (see Multi-field substring search above)
  • type (string) - Type of asset. Allowed values: container_images
  • class (string) - Class of asset (e.g., production, development)
  • created_at (timestamp) - Asset creation timestamp (ISO 8601 format)
  • updated_at (timestamp) - Asset last update timestamp (ISO 8601 format)

Examples:

  • q==nginx - Multi-field substring search for "nginx"
  • q==docker.io;type==container_images - Search "docker.io" substring in container images only
  • type==container_images - Exact match
  • type==*image* - Contains "image" (wildcard)
  • created_at>2024-01-01 or created_at=gt=2024-01-01 - Date comparison
  • class==A;created_at=ge=2024-01-01 - AND combination
Example: type==container_images;created_at>2024-01-01
limitinteger · min: 10 · max: 100Optional

Maximum number of group values to return

Default: 10
starting_afterstringOptional

Cursor for forward pagination

ending_beforestringOptional

Cursor for backward pagination

Responses
chevron-right
200

List of group values with aggregated metadata

application/vnd.api+json
get
/orgs/{org_id}/inventory/assets/groups/{group_field}/values

Get available filter fields - Org scope (Early Access)

get

Returns a list of valid field names that can be used for filtering assets using RSQL within an org context.

Required permissions

  • View Organization (org.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
org_idstring · uuidRequired

The unique identifier of the organization

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
asset_typesstringOptional

Comma-separated list of asset types to filter

limitinteger · min: 10 · max: 100Optional

Maximum number of results to return

Default: 10
starting_afterstringOptional

Cursor for forward pagination

ending_beforestringOptional

Cursor for backward pagination

Responses
chevron-right
200

List of available filter fields

application/vnd.api+json
get
/orgs/{org_id}/inventory/assets/filters

Get filter value suggestions (autocomplete) - Org scope (Early Access)

get

Returns a list of distinct values for a specific filter field. Useful for building autocomplete functionality in filter UIs.

Use the UUID from the filter fields list endpoint to identify which field to query.

For object filter values, both the keys and values are returned.

Required permissions

  • View Organization (org.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
org_idstring · uuidRequired

The unique identifier of the organization

filter_idstring · uuidRequired

The unique identifier of the filter field

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
qstring · max: 100Optional

Search query to filter values (autocomplete)

limitinteger · min: 10 · max: 100Optional

Maximum number of results to return

Default: 10
starting_afterstringOptional

Cursor for forward pagination

ending_beforestringOptional

Cursor for backward pagination

Responses
chevron-right
200

List of filter values

application/vnd.api+json
get
/orgs/{org_id}/inventory/assets/filters/{filter_id}/values

Bulk update asset attributes - Group scope (Early Access)

patch

Partially updates multiple assets within a group context. Maximum of 100 assets can be updated per request. The operation is transactional - all updates succeed or all fail.

Required permissions

  • Edit Group Details (group.edit)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
group_idstring · uuidRequired

The unique identifier of the group

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
Body
Responses
patch
/groups/{group_id}/inventory/assets

No content

List or search all assets (synchronous) - Group scope (Early Access)

get

Retrieves a polymorphic list of all asset types for a given group. The tenant is resolved from the group_id.

Required permissions

  • View Groups (group.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
group_idstring · uuidRequired

The unique identifier of the group

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
filterstringOptional

RSQL filter expression for filtering results.

Supported operators:

  • == (equal), != (not equal)
  • < or =lt= (less than), > or =gt= (greater than)
  • <= or =le= (less than or equal), >= or =ge= (greater than or equal)
  • =in=(val1,val2) (IN list), =out=(val1,val2) (NOT IN list)
  • ; or and (logical AND), , or or (logical OR) - word operators are case-insensitive

Wildcard pattern matching: Use * (asterisk) for flexible string matching with == and != operators:

  • *value* - Contains (e.g., type==*image* matches "container_images")
  • value* - Starts with (e.g., type==container* matches "container_images")
  • *value - Ends with (e.g., type==*images matches "container_images")
  • !=*value* - Does not contain (e.g., class!=*test*)

Note: Special SQL characters (%, _) are automatically escaped for security.

Multi-field substring search: Use the special q field to search across multiple fields simultaneously using case-insensitive substring matching:

  • q==<search_term> - Searches across: labels, tags, registry, repository, name, and distribution_digests
  • Only supports the == operator (no wildcards needed - automatically searches for substring matches)
  • Uses case-insensitive pattern matching (PostgreSQL ILIKE)
  • Does not support linguistic features like stemming or ranking
  • Special characters are automatically escaped for security
  • Can be combined with other filters: q==nginx;type==container_images

Supported fields:

  • q (string) - Multi-field substring search across multiple fields (see Multi-field substring search above)
  • type (string) - Type of asset. Allowed values: container_images
  • class (string) - Class of asset (e.g., production, development)
  • created_at (timestamp) - Asset creation timestamp (ISO 8601 format)
  • updated_at (timestamp) - Asset last update timestamp (ISO 8601 format)

Examples:

  • q==nginx - Multi-field substring search for "nginx"
  • q==docker.io;type==container_images - Search "docker.io" substring in container images only
  • type==container_images - Exact match
  • type==*image* - Contains "image" (wildcard)
  • created_at>2024-01-01 or created_at=gt=2024-01-01 - Date comparison
  • class==A;created_at=ge=2024-01-01 - AND combination
Example: type==container_images;created_at>2024-01-01
sortstringOptional

Comma-separated sort fields. Prefix with - for descending order.

Example: -created_at
limitinteger · min: 10 · max: 100Optional

Number of results to return per page

Default: 10
starting_afterstringOptional

Cursor for fetching the next page of results

ending_beforestringOptional

Cursor for fetching the previous page of results

meta_countstring · enumOptional

Provide summary count in the response meta object when requested. When with is provided, the count will be included in the response meta object. When only is provided, the count will be included in the response meta object and no data will be returned.

Example: withPossible values:
Responses
chevron-right
200

Successful response with a polymorphic list of assets

application/vnd.api+json
get
/groups/{group_id}/inventory/assets

Update asset attributes - Group scope (Early Access)

patch

Partially updates an asset's attributes within a group context. Supports updating class, labels (add/remove), and tags (add/remove).

Required permissions

  • Edit Group Details (group.edit)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
group_idstring · uuidRequired

The unique identifier of the group

asset_idstring · uuidRequired

The unique identifier of the asset

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
Body
Responses
chevron-right
200

Asset updated successfully

application/vnd.api+json
patch
/groups/{group_id}/inventory/assets/{asset_id}

Get a single asset by ID - Group scope (Early Access)

get

Retrieves a single asset by its unique identifier within a group context.

Required permissions

  • View Groups (group.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
group_idstring · uuidRequired

The unique identifier of the group

asset_idstring · uuidRequired

The unique identifier of the asset

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
Responses
chevron-right
200

Asset retrieved successfully

application/vnd.api+json
get
/groups/{group_id}/inventory/assets/{asset_id}

Create an asset search (asynchronous) - Group scope (Early Access)

post

Initiates an asynchronous search for assets within a group context.

Required permissions

  • View Groups (group.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
group_idstring · uuidRequired

The unique identifier of the group

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
Body
Responses
post
/groups/{group_id}/inventory/assets/searches

Retrieve asset search results (asynchronous) - Group scope (Early Access)

get

Gets paginated results for a previously initiated asset search within a group context.

Required permissions

  • View Groups (group.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
group_idstring · uuidRequired

The unique identifier of the group

search_idstring · uuidRequired

The unique identifier of the search operation

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
sortstringOptional

Sort order for results (e.g., -created_at for descending)

limitinteger · min: 10 · max: 100Optional

Maximum number of results to return

Default: 10
starting_afterstringOptional

Cursor for forward pagination

ending_beforestringOptional

Cursor for backward pagination

Responses
chevron-right
200

Search results retrieved successfully

application/vnd.api+json
get
/groups/{group_id}/inventory/assets/searches/{search_id}/results

Get available group fields - Group scope (Early Access)

get

Returns a list of valid field names that can be used for grouping assets within a group context.

Required permissions

  • View Groups (group.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
group_idstring · uuidRequired

The unique identifier of the group

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
asset_typesstringOptional

Comma-separated list of asset types to filter group fields

limitinteger · min: 10 · max: 100Optional

Maximum number of results to return

Default: 10
starting_afterstringOptional

Cursor for forward pagination

ending_beforestringOptional

Cursor for backward pagination

Responses
chevron-right
200

List of available group fields

application/vnd.api+json
get
/groups/{group_id}/inventory/assets/groups

Get group value aggregation - Group scope (Early Access)

get

Returns aggregated values for a specific group field within a group context.

Required permissions

  • View Groups (group.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
group_idstring · uuidRequired

The unique identifier of the group

group_fieldstring · uuidRequired

The UUID of the group field to get values for (from the group fields list endpoint)

Example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
asset_typesstringOptional

Comma-separated list of asset types to filter the aggregation

Example: container_images
filterstringOptional

RSQL filter expression for filtering results.

Supported operators:

  • == (equal), != (not equal)
  • < or =lt= (less than), > or =gt= (greater than)
  • <= or =le= (less than or equal), >= or =ge= (greater than or equal)
  • =in=(val1,val2) (IN list), =out=(val1,val2) (NOT IN list)
  • ; or and (logical AND), , or or (logical OR) - word operators are case-insensitive

Wildcard pattern matching: Use * (asterisk) for flexible string matching with == and != operators:

  • *value* - Contains (e.g., type==*image* matches "container_images")
  • value* - Starts with (e.g., type==container* matches "container_images")
  • *value - Ends with (e.g., type==*images matches "container_images")
  • !=*value* - Does not contain (e.g., class!=*test*)

Note: Special SQL characters (%, _) are automatically escaped for security.

Multi-field substring search: Use the special q field to search across multiple fields simultaneously using case-insensitive substring matching:

  • q==<search_term> - Searches across: labels, tags, registry, repository, name, and distribution_digests
  • Only supports the == operator (no wildcards needed - automatically searches for substring matches)
  • Uses case-insensitive pattern matching (PostgreSQL ILIKE)
  • Does not support linguistic features like stemming or ranking
  • Special characters are automatically escaped for security
  • Can be combined with other filters: q==nginx;type==container_images

Supported fields:

  • q (string) - Multi-field substring search across multiple fields (see Multi-field substring search above)
  • type (string) - Type of asset. Allowed values: container_images
  • class (string) - Class of asset (e.g., production, development)
  • created_at (timestamp) - Asset creation timestamp (ISO 8601 format)
  • updated_at (timestamp) - Asset last update timestamp (ISO 8601 format)

Examples:

  • q==nginx - Multi-field substring search for "nginx"
  • q==docker.io;type==container_images - Search "docker.io" substring in container images only
  • type==container_images - Exact match
  • type==*image* - Contains "image" (wildcard)
  • created_at>2024-01-01 or created_at=gt=2024-01-01 - Date comparison
  • class==A;created_at=ge=2024-01-01 - AND combination
Example: type==container_images;created_at>2024-01-01
limitinteger · min: 10 · max: 100Optional

Maximum number of group values to return

Default: 10
starting_afterstringOptional

Cursor for forward pagination

ending_beforestringOptional

Cursor for backward pagination

Responses
chevron-right
200

List of group values with aggregated metadata

application/vnd.api+json
get
/groups/{group_id}/inventory/assets/groups/{group_field}/values

Get available filter fields - Group scope (Early Access)

get

Returns a list of valid field names that can be used for filtering assets using RSQL within a group context.

Required permissions

  • View Groups (group.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
group_idstring · uuidRequired

The unique identifier of the group

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
asset_typesstringOptional

Comma-separated list of asset types to filter

limitinteger · min: 10 · max: 100Optional

Maximum number of results to return

Default: 10
starting_afterstringOptional

Cursor for forward pagination

ending_beforestringOptional

Cursor for backward pagination

Responses
chevron-right
200

List of available filter fields

application/vnd.api+json
get
/groups/{group_id}/inventory/assets/filters

Get filter value suggestions (autocomplete) - Group scope (Early Access)

get

Returns a list of distinct values for a specific filter field. Useful for building autocomplete functionality in filter UIs.

Use the UUID from the filter fields list endpoint to identify which field to query.

For object filter values, both the keys and values are returned.

Required permissions

  • View Groups (group.read)
Authorizations
AuthorizationstringRequired

API key value must be prefixed with "Token ".

Path parameters
group_idstring · uuidRequired

The unique identifier of the group

filter_idstring · uuidRequired

The unique identifier of the filter field

Query parameters
versionstringOptional

The requested API version

Example: 2024-10-15Pattern: ^\d{4}-\d{2}-\d{2}$
qstring · max: 100Optional

Search query to filter values (autocomplete)

limitinteger · min: 10 · max: 100Optional

Maximum number of results to return

Default: 10
starting_afterstringOptional

Cursor for forward pagination

ending_beforestringOptional

Cursor for backward pagination

Responses
chevron-right
200

List of filter values

application/vnd.api+json
get
/groups/{group_id}/inventory/assets/filters/{filter_id}/values

Last updated

Was this helpful?