Skip to main content

Snyk/apps

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

Snyk Apps — OAuth application management, bots, installations

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.

Changed: The client_secret returned by create_group_app_install, update_group_app_install_secret, create_org_app, create_manage_app_creation_secret, create_org_app_install and update_org_app_install_secret is now stored in a vault, and the persisted resource holds a vault.get reference in its place. Before, it was written to swamp data in plaintext.

Changed: Because the model now declares sensitive output, swamp refuses to run any of its methods, reads included, until a vault exists (swamp vault create local_encryption snyk).

Changed: The data.attributes.secret argument of update_group_app_install_secret, create_manage_app_creation_secret and update_org_app_install_secret is marked sensitive, so swamp redacts it. Supply it with a vault.get expression.

Upgrade note: Create a vault before running any method of this extension. Resources written by earlier versions keep any plaintext client_secret until you rerun the method or delete the old data.

03Behaviors1
@webframp/snyk/appsv2026.10.21.1snyk/apps.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 get_app_installs_for_group(group_id: string, expand?: union)
Get a list of Snyk Apps installed for a Group
ArgumentTypeDescription
group_idstringGroup ID
expand?unionExpand relationships.
fn create_group_app_install(group_id: string, data: object, relationships: object)
Install a Snyk App for a Group
ArgumentTypeDescription
group_idstringGroup ID
dataobject
relationshipsobject
fn delete_group_app_install_by_id(group_id: string, install_id: string)
Revoke app authorization for a Snyk group with install ID
ArgumentTypeDescription
group_idstringGroup ID
install_idstringInstall ID
fn update_group_app_install_secret(group_id: string, install_id: string, data: object)
Manage client secret for non-interactive Snyk App installations
ArgumentTypeDescription
group_idstringGroup ID
install_idstringInstall ID
dataobject
fn get_org_apps()
Get a list of Snyk Apps created by an Organization
fn create_org_app(data: object)
Create a new Snyk App for an organization
ArgumentTypeDescription
dataobject
fn get_app_by_id(app_id: string)
Get a Snyk App by app ID
ArgumentTypeDescription
app_idstringApp ID
fn update_app_creation_by_id(app_id: string, data: object)
Update app creation attributes such as name, redirect URIs, and access token time to live using the App ID
ArgumentTypeDescription
app_idstringApp ID
dataobject
fn delete_app_by_id(app_id: string)
Delete a Snyk App by app ID
ArgumentTypeDescription
app_idstringApp ID
fn create_manage_app_creation_secret(app_id: string, data: object)
Manage client secret for a Snyk App
ArgumentTypeDescription
app_idstringApp ID
dataobject
fn get_app_installs_for_org(expand?: union)
Get a list of Snyk Apps installed for an Organization
ArgumentTypeDescription
expand?unionExpand relationships.
fn create_org_app_install(data: object, relationships: object)
Install a Snyk App for an Organization
ArgumentTypeDescription
dataobject
relationshipsobject
fn delete_app_org_install_by_id(install_id: string)
Revoke app authorization for a Snyk organization with install ID
ArgumentTypeDescription
install_idstringInstall ID
fn update_org_app_install_secret(install_id: string, data: object)
Manage client secret for non-interactive Snyk App installations
ArgumentTypeDescription
install_idstringInstall ID
dataobject

Resources

get_app_installs_for_group(infinite)— Get a list of Snyk Apps installed for a Group
group_app_install(infinite)— Install a Snyk App for a Group
group_app_install_secret(infinite)— Manage client secret for non-interactive Snyk App installations
get_org_apps(infinite)— Get a list of Snyk Apps created by an Organization
org_app(infinite)— Create a new Snyk App for an organization
app_by_id(infinite)— Get a Snyk App by app ID
app_creation_by_id(infinite)— Update app creation attributes such as name, redirect URIs, and access token time to live using the App ID
manage_app_creation_secret(infinite)— Manage client secret for a Snyk App
get_app_installs_for_org(infinite)— Get a list of Snyk Apps installed for an Organization
org_app_install(infinite)— Install a Snyk App for an Organization
org_app_install_secret(infinite)— Manage client secret for non-interactive Snyk App installations
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. A POST method named with a different verb wrote its result under a resource name the model never declared: update_group_app_install_secret now writes the declared group_app_install_secret resource; update_org_app_install_secret now writes the declared org_app_install_secret resource.

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 (expand), 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. A POST method named with a different verb wrote its result under a resource name the model never declared: update_group_app_install_secret now writes the declared group_app_install_secret resource; update_org_app_install_secret now writes the declared org_app_install_secret resource.

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 (expand), 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/apps with 14 methods covering the Snyk apps 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/apps with 14 methods covering the Snyk apps API surface.

2026.09.08.1

2026.09.08.1

Added: Initial code-generated release of @webframp/snyk/apps with 14 methods covering the Snyk apps 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 POST /orgs/{orgId}/apps/creations failed with HTTP 403: ...) instead of just the raw status and body. Network-level failures (DNS, timeout, connection reset) are also caught and re-raised with the same method/path context and the original error preserved as cause, rather than propagating an unlabeled fetch error.
  • update_group_app_install_secret, create_manage_app_creation_secret, and update_org_app_install_secret now validate that secret is present when mode is "create" or "replace". Previously an omitted secret in those modes would fail deep inside the Snyk API call with a generic 4xx error instead of a clear local validation message.

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, orgId, and the client_id/client_secret pair on create_group_app_install/create_org_app_install resource schemas, matching the same fields elsewhere in this model that already required a non-empty string.
  • Added .describe(...) to the previously undocumented org_public_id field (five occurrences) and the secret field used in app-secret rotation payloads.
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/apps with 14 methods covering the Snyk apps API surface.

05Stats
A
100 / 100
Downloads
45
Archive size
19.3 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