Skip to main content

Snyk/inventory

@webframp/snyk/inventoryv2026.10.21.1· Apache-2.0· 5d agoBEHAVIORS
01README

Snyk Inventory — asset discovery for packages, containers, repos, and cloud resources

02Release Notes

2026.10.21.1

Changed: The README now shows the Snyk API token stored in a swamp vault (swamp vault put snyk API_TOKEN) and wired with --global-arg 'apiToken=${{ vault.get("snyk", "API_TOKEN") }}', replacing the literal-token example. The apiToken argument description says the same.

Documentation only: nothing behavioral changed. This API returns no secrets.

03Behaviors1
@webframp/snyk/inventoryv2026.10.21.1snyk/inventory.ts

Global Arguments

ArgumentTypeDescription
apiTokenstringSnyk API token. Store it in a vault and wire it with ${{ vault.get("snyk", "API_TOKEN") }}; never pass the literal token.
orgIdstringSnyk organization ID
version?stringSnyk API version date
fn list_assets_group(group_id: string, filter?: string, sort?: string, fields?: string, meta_count?: enum)
List or search all assets (synchronous) - Group scope (Early Access)
ArgumentTypeDescription
group_idstringThe unique identifier of the group
filter?stringRSQL filter expression for filtering results. See schema for full documentation.
sort?stringComma-separated sort fields. Prefix with `-` for descending order.
fields?stringSparse fieldsets allow clients to request only specific fields for a given...
meta_count?enumProvide summary count in the response meta object when requested.
fn update_assets_bulk_group(group_id: string, data: array)
Bulk update asset attributes - Group scope (Early Access)
ArgumentTypeDescription
group_idstringThe unique identifier of the group
dataarray
fn get_filter_fields_group(group_id: string, asset_types?: string)
Get available filter fields - Group scope (Early Access)
ArgumentTypeDescription
group_idstringThe unique identifier of the group
asset_types?stringComma-separated list of asset types to filter the available filter fields
fn get_filter_values_group(group_id: string, filter_id: string, q?: string, keys_only?: boolean, key?: string)
Get filter value suggestions (autocomplete) - Group scope (Early Access)
ArgumentTypeDescription
group_idstringThe unique identifier of the group
filter_idstring
q?stringFull text search term to filter the list of values.
keys_only?booleanReturn only the keys of the object filter values
key?stringReturn only the value for a specific key of the object filter values
fn get_group_fields_group(group_id: string, asset_types?: string)
Get available group fields - Group scope (Early Access)
ArgumentTypeDescription
group_idstringThe unique identifier of the group
asset_types?stringComma-separated list of asset types to filter group fields
fn get_group_values_group(group_id: string, group_field_id: string, asset_types?: string, filter?: string, sort?: string, meta_fields?: union, aggregate?: string)
Get group value aggregation - Group scope (Early Access)
ArgumentTypeDescription
group_idstringThe unique identifier of the group
group_field_idstring
asset_types?stringComma-separated list of asset types to filter the aggregation
filter?stringRSQL filter expression for filtering which assets are included in aggregation.
sort?stringComma-separated sort fields for group values.
meta_fields?unionMeta fields to include in the response. Multiple fields can be specified.
aggregate?stringPer-field aggregate function override for meta fields.
fn create_asset_search_group(group_id: string, data?: object)
Create an asset search (asynchronous) - Group scope (Early Access)
ArgumentTypeDescription
group_idstringThe unique identifier of the group
data?object
fn get_asset_search_results_group(group_id: string, search_id: string, sort?: string, fields?: string)
Retrieve asset search results (asynchronous) - Group scope (Early Access)
ArgumentTypeDescription
group_idstringThe unique identifier of the group
search_idstringThe unique identifier of the search operation
sort?stringSort order for results (e.g., -created_at for descending)
fields?stringSparse fieldsets allow clients to request only specific fields for a given...
fn get_asset_group(group_id: string, asset_id: string, fields?: string)
Get a single asset by ID - Group scope (Early Access)
ArgumentTypeDescription
group_idstringThe unique identifier of the group
asset_idstringThe unique identifier of the asset
fields?stringSparse fieldsets allow clients to request only specific fields for a given...
fn update_asset_group(group_id: string, asset_id: string, data: unknown)
Update asset attributes - Group scope (Early Access)
ArgumentTypeDescription
group_idstringThe unique identifier of the group
asset_idstringThe unique identifier of the asset
dataunknown
fn list_asset_projects_group(group_id: string, asset_id: string, canonical?: enum, target_id?: string, sort?: enum)
List projects for an asset (group scope) (Early Access)
ArgumentTypeDescription
group_idstringThe unique identifier of the group
asset_idstringThe unique identifier of the asset
canonical?enumFilter projects by canonical status.
target_id?stringFilter projects by target ID.
sort?enumSort field with optional direction prefix. Prefix with `-` for descending order.
fn list_asset_targets_group(group_id: string, asset_id: string)
List targets for an asset (group scope) (Early Access)
ArgumentTypeDescription
group_idstringThe unique identifier of the group
asset_idstringThe unique identifier of the asset
fn list_assets_org(filter?: string, sort?: string, fields?: string, meta_count?: enum)
List or search all assets (synchronous) - Org scope (Early Access)
ArgumentTypeDescription
filter?stringRSQL filter expression for filtering results. See schema for full documentation.
sort?stringComma-separated sort fields. Prefix with `-` for descending order.
fields?stringSparse fieldsets allow clients to request only specific fields for a given...
meta_count?enumProvide summary count in the response meta object when requested.
fn update_assets_bulk_org(data: array)
Bulk update asset attributes - Org scope (Early Access)
ArgumentTypeDescription
dataarray
fn get_filter_fields_org(asset_types?: string)
Get available filter fields - Org scope (Early Access)
ArgumentTypeDescription
asset_types?stringComma-separated list of asset types to filter the available filter fields
fn get_filter_values_org(filter_id: string, q?: string, keys_only?: boolean, key?: string)
Get filter value suggestions (autocomplete) - Org scope (Early Access)
ArgumentTypeDescription
filter_idstring
q?stringFull text search term to filter the list of values.
keys_only?booleanReturn only the keys of the object filter values
key?stringReturn only the value for a specific key of the object filter values
fn get_group_fields_org(asset_types?: string)
Get available group fields - Org scope (Early Access)
ArgumentTypeDescription
asset_types?stringComma-separated list of asset types to filter group fields
fn get_group_values_org(group_field_id: string, asset_types?: string, filter?: string, sort?: string, meta_fields?: union, aggregate?: string)
Get group value aggregation - Org scope (Early Access)
ArgumentTypeDescription
group_field_idstring
asset_types?stringComma-separated list of asset types to filter the aggregation
filter?stringRSQL filter expression for filtering which assets are included in aggregation.
sort?stringComma-separated sort fields for group values.
meta_fields?unionMeta fields to include in the response. Multiple fields can be specified.
aggregate?stringPer-field aggregate function override for meta fields.
fn create_asset_search_org(data?: object)
Create an asset search (asynchronous) - Org scope (Early Access)
ArgumentTypeDescription
data?object
fn get_asset_search_results_org(search_id: string, sort?: string, fields?: string)
Retrieve asset search results (asynchronous) - Org scope (Early Access)
ArgumentTypeDescription
search_idstringThe unique identifier of the search operation
sort?stringSort order for results (e.g., -created_at for descending)
fields?stringSparse fieldsets allow clients to request only specific fields for a given...
fn get_asset_org(asset_id: string, fields?: string)
Get a single asset by ID - Org scope (Early Access)
ArgumentTypeDescription
asset_idstringThe unique identifier of the asset
fields?stringSparse fieldsets allow clients to request only specific fields for a given...
fn update_asset_org(asset_id: string, data: unknown)
Update asset attributes - Org scope (Early Access)
ArgumentTypeDescription
asset_idstringThe unique identifier of the asset
dataunknown
fn list_asset_projects_org(asset_id: string, canonical?: enum, target_id?: string, sort?: enum)
List projects for an asset (org scope) (Early Access)
ArgumentTypeDescription
asset_idstringThe unique identifier of the asset
canonical?enumFilter projects by canonical status.
target_id?stringFilter projects by target ID.
sort?enumSort field with optional direction prefix. Prefix with `-` for descending order.
fn list_asset_targets_org(asset_id: string)
List targets for an asset (org scope) (Early Access)
ArgumentTypeDescription
asset_idstringThe unique identifier of the asset

Resources

assets_group(infinite)— List or search all assets (synchronous) - Group scope (Early Access)
assets_bulk_group(infinite)— Bulk update asset attributes - Group scope (Early Access)
get_filter_fields_group(infinite)— Get available filter fields - Group scope (Early Access)
get_filter_values_group(infinite)— Get filter value suggestions (autocomplete) - Group scope (Early Access)
get_group_fields_group(infinite)— Get available group fields - Group scope (Early Access)
get_group_values_group(infinite)— Get group value aggregation - Group scope (Early Access)
asset_search_group(infinite)— Create an asset search (asynchronous) - Group scope (Early Access)
get_asset_search_results_group(infinite)— Retrieve asset search results (asynchronous) - Group scope (Early Access)
asset_group(infinite)— Get a single asset by ID - Group scope (Early Access)
asset_projects_group(infinite)— List projects for an asset (group scope) (Early Access)
asset_targets_group(infinite)— List targets for an asset (group scope) (Early Access)
assets_org(infinite)— List or search all assets (synchronous) - Org scope (Early Access)
assets_bulk_org(infinite)— Bulk update asset attributes - Org scope (Early Access)
get_filter_fields_org(infinite)— Get available filter fields - Org scope (Early Access)
get_filter_values_org(infinite)— Get filter value suggestions (autocomplete) - Org scope (Early Access)
get_group_fields_org(infinite)— Get available group fields - Org scope (Early Access)
get_group_values_org(infinite)— Get group value aggregation - Org scope (Early Access)
asset_search_org(infinite)— Create an asset search (asynchronous) - Org scope (Early Access)
get_asset_search_results_org(infinite)— Retrieve asset search results (asynchronous) - Org scope (Early Access)
asset_org(infinite)— Get a single asset by ID - Org scope (Early Access)
asset_projects_org(infinite)— List projects for an asset (org scope) (Early Access)
asset_targets_org(infinite)— List targets for an asset (org scope) (Early Access)
04Previous Versions15
2026.10.14.1Apache-2.0(was none)

2026.10.14.1

Added: The manifest now declares license: Apache-2.0 (SPDX). The registry quality rubric scores a declared license separately from the bundled LICENSE.md.

Upgrade note: Metadata only. No code, schema, or behavioral changes.

2026.10.07.1

Fixed: A request that never answers no longer hangs the method. Each attempt now has a 30-second deadline, and a timeout names the method and path. Rate limiting (HTTP 429) retries up to three times, waits at most 30 seconds between tries, and then reports the rate limit instead of failing with a consumed-body TypeError. An empty 2xx body (202, 204, or an empty 200) no longer fails JSON parsing. A malformed JSON body now reports the HTTP status and the request instead of a bare SyntaxError, and HTTP errors name the request too. Pagination follows a relative next link with or without the /rest prefix, and refuses a next link that leaves the Snyk API origin or the /rest path instead of sending the API token to it. create_asset_search_group, create_asset_search_org, and create_asset_search_tenant store a list result under items instead of an empty object, and their resource schema keeps the fields.

Changed: Response schemas now accept what the API returns. Enumerated response fields accept any value of their type, value constraints (min, max, pattern) are dropped, response properties may be missing or null, and nested objects keep fields the spec does not list, so one unexpected value no longer fails a whole page. Methods that read or create a single resource now fail when the API answers with an empty body where the spec promises content, instead of storing an empty resource. Operations the spec documents as returning no content (204) still succeed. Argument and field descriptions now end at a word boundary. Request arguments are unchanged, except the array-valued query parameters (meta_fields), which now accept a string or a list of strings. A list joins with commas or repeats the key, as the API specifies for that parameter, and a plain string is sent unchanged.

Upgrade note: The loosened response schemas change validation behavior. Stored resources remain valid, and no data migration is needed. Anything that relied on a resource schema to reject an out-of-enum value or a missing field must now check the data itself.

2026.10.07.1

2026.10.07.1

Fixed: A request that never answers no longer hangs the method. Each attempt now has a 30-second deadline, and a timeout names the method and path. Rate limiting (HTTP 429) retries up to three times, waits at most 30 seconds between tries, and then reports the rate limit instead of failing with a consumed-body TypeError. An empty 2xx body (202, 204, or an empty 200) no longer fails JSON parsing. A malformed JSON body now reports the HTTP status and the request instead of a bare SyntaxError, and HTTP errors name the request too. Pagination follows a relative next link with or without the /rest prefix, and refuses a next link that leaves the Snyk API origin or the /rest path instead of sending the API token to it. create_asset_search_group, create_asset_search_org, and create_asset_search_tenant store a list result under items instead of an empty object, and their resource schema keeps the fields.

Changed: Response schemas now accept what the API returns. Enumerated response fields accept any value of their type, value constraints (min, max, pattern) are dropped, response properties may be missing or null, and nested objects keep fields the spec does not list, so one unexpected value no longer fails a whole page. Methods that read or create a single resource now fail when the API answers with an empty body where the spec promises content, instead of storing an empty resource. Operations the spec documents as returning no content (204) still succeed. Argument and field descriptions now end at a word boundary. Request arguments are unchanged, except the array-valued query parameters (meta_fields), which now accept a string or a list of strings. A list joins with commas or repeats the key, as the API specifies for that parameter, and a plain string is sent unchanged.

Upgrade note: The loosened response schemas change validation behavior. Stored resources remain valid, and no data migration is needed. Anything that relied on a resource schema to reject an out-of-enum value or a missing field must now check the data itself.

2026.09.27.1

2026.09.27.1

Added: Initial code-generated release of @webframp/snyk/inventory with 24 methods covering the Snyk inventory API surface.

2026.09.18.1

2026.09.18.1

Upgrade note: Normalized npm:zod dependency version to 4.6.5 across the repo. No behavioral changes in this extension.

2026.09.15.1

2026.09.15.1

Changed: Bump zod 4.4.3 → 4.6.5

2026.09.08.1

Added: Initial code-generated release of @webframp/snyk/inventory with 24 methods covering the Snyk inventory API surface.

2026.09.08.1

2026.09.08.1

Added: Initial code-generated release of @webframp/snyk/inventory with 24 methods covering the Snyk inventory API surface.

2026.08.28.2

2026.08.28.2

Hardened codegen: instance names sanitized against path traversal; 429 rate-limit retry with Retry-After; string schema patterns emit regex validation; output schemas passthrough unknown fields.

updated labels

2026.08.28.1

2026.08.28.1

Changed: Normalized the extension license to Apache-2.0 and corrected the copyright holder to "Sean Escriva". Extensions that previously shipped an MIT LICENSE.md are now Apache-2.0, consistent with the repository root and every other extension. No code or behavioral changes.

Upgrade note: License text only. No API, schema, or runtime behavior changed.

2026.08.26.2

Fixed: Restored inline npm:zod@4.4.3 import specifiers so the registry quality scorer can resolve dependencies and score the extension. An earlier release used a bare "zod" import-map specifier, which published but scored as unscored.

Changed: Retained explicit compilerOptions.strict in deno.json. No behavioral or schema changes.

2026.08.26.2

2026.08.26.2

Fixed: Restored inline npm:zod@4.4.3 import specifiers so the registry quality scorer can resolve dependencies and score the extension. An earlier release used a bare "zod" import-map specifier, which published but scored as unscored.

Changed: Retained explicit compilerOptions.strict in deno.json. No behavioral or schema changes.

2026.08.25.1

2026.08.25.1

Changed: Updated labels for improved extension discoverability. Added cross-cutting category labels (security, observability, finops, infrastructure, networking, compliance, devops, ai, incident-response) where applicable.

updated labels

2026.08.24.1

2026.08.24.1

Added: Output metadata attributes for observability.

  • durationMs: Method execution duration in milliseconds.
  • collectedBy: Extension name that produced the data.
  • fetchedAt: ISO 8601 timestamp when data was fetched (added to resources that previously lacked it).
2026.08.21.2

2026.08.21.2

Changed:

  • Snyk API request failures now name the HTTP method and path that was attempted (e.g. Snyk API PATCH /groups/{groupId}/inventory/assets failed with HTTP 403: ...) instead of surfacing only the raw status and body. Network-level failures (DNS, timeout, connection reset) are also caught and re-raised with the same context and the original error preserved as cause, rather than propagating an unlabeled fetch error.
  • update_assets_bulk_group and update_assets_bulk_org now reject an empty data array with a clear local validation error instead of sending a no-op bulk update request to the Snyk API.

Upgrade note: No changes to stored resource schemas. Existing instances need no migration.

2026.08.21.1

2026.08.21.1

Changed: Schema tightening sweep — no behavioral changes.

  • Added .min(1) to apiToken and orgId in the global arguments schema.
  • Added .describe(...) to previously undocumented fields on the asset projects schemas (group and org scope): the base_image_remediation sub-fields (base_image, base_image_name, base_image_outdated, code, distro_alert, proposed_base_images) and the issues severity-count breakdown.
2026.07.20.1

2026.07.20.1

Fixed: Group-scoped methods (paths under /groups/{group_id}/...) dropped their group_id path parameter. The generated code referenced args.group_id, but the argument was never declared or forwarded, so requests went to /groups/undefined/... and returned HTTP 404. These methods now declare and forward group_id correctly.

Upgrade note: Group-scoped methods now take a required group_id argument. Calls that previously failed with a 404 succeed once group_id is supplied.

2026.07.19.1

2026.07.19.1

Added: Initial code-generated release of @webframp/snyk/inventory with 24 methods covering the Snyk inventory API surface.

05Stats
A
100 / 100
Downloads
33
Archive size
22.5 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License2/2earned
  • Verified public repository2/2earned
06Platforms
07Labels