Skip to main content

Snyk/service Accounts

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

Snyk Service Accounts — automated access management for CI/CD

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 access_token, api_key and client_secret returned by create_group_service_account, get_one_group_service_account, update_group_service_account, update_service_account_secret, create_org_service_account, get_one_org_service_account, update_org_service_account and update_org_service_account_secret are now stored in a vault, and the persisted resource holds a vault.get reference in their place. Before, they were written to swamp data in plaintext.

Changed: get_many_group_service_account and get_many_org_service_accounts drop any such value from their items, because swamp cannot vault a field inside a list; Snyk returns these secrets only on creation or rotation.

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_service_account_secret and update_org_service_account_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 secret until you rerun the method or delete the old data.

03Behaviors1
@webframp/snyk/service-accountsv2026.10.21.1snyk/service_accounts.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_many_group_service_account(group_id: string)
Get a list of group service accounts.
ArgumentTypeDescription
group_idstringThe ID of the Snyk Group that owns the service accounts.
fn create_group_service_account(group_id: string, data: object)
Create a service account for a group.
ArgumentTypeDescription
group_idstringThe ID of the Snyk Group that is creating and owns the service account
dataobject
fn get_one_group_service_account(group_id: string, serviceaccount_id: string)
Get a group service account.
ArgumentTypeDescription
group_idstringThe ID of the Snyk Group that owns the service account.
serviceaccount_idstringThe ID of the service account.
fn update_group_service_account(group_id: string, serviceaccount_id: string, data: object)
Update a group service account.
ArgumentTypeDescription
group_idstringThe ID of the Snyk Group that owns the service account.
serviceaccount_idstringThe ID of the service account.
dataobject
fn delete_one_group_service_account(group_id: string, serviceaccount_id: string)
Delete a group service account.
ArgumentTypeDescription
group_idstringThe ID of the Snyk Group that owns the service account.
serviceaccount_idstringThe ID of the service account.
fn update_service_account_secret(group_id: string, serviceaccount_id: string, data: object)
Manage a group service account's client secret.
ArgumentTypeDescription
group_idstringThe ID of the Snyk Group that owns the service account.
serviceaccount_idstringThe ID of the service account.
dataobject
fn get_many_org_service_accounts()
Get a list of organization service accounts.
fn create_org_service_account(data: object)
Create a service account for an organization.
ArgumentTypeDescription
dataobject
fn get_one_org_service_account(serviceaccount_id: string)
Get an organization service account.
ArgumentTypeDescription
serviceaccount_idstringThe ID of the service account.
fn update_org_service_account(serviceaccount_id: string, data: object)
Update an organization service account.
ArgumentTypeDescription
serviceaccount_idstringThe ID of the service account.
dataobject
fn delete_service_account(serviceaccount_id: string)
Delete a service account in an organization.
ArgumentTypeDescription
serviceaccount_idstringThe ID of the service account.
fn update_org_service_account_secret(serviceaccount_id: string, data: object)
Manage an organization service account's client secret.
ArgumentTypeDescription
serviceaccount_idstringThe ID of the service account.
dataobject

Resources

get_many_group_service_account(infinite)— Get a list of group service accounts.
group_service_account(infinite)— Create a service account for a group.
one_group_service_account(infinite)— Get a group service account.
service_account_secret(infinite)— Manage a group service account's client secret.
get_many_org_service_accounts(infinite)— Get a list of organization service accounts.
org_service_account(infinite)— Create a service account for an organization.
one_org_service_account(infinite)— Get an organization service account.
org_service_account_secret(infinite)— Manage an organization service account's client secret.
04Previous Versions14
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_service_account_secret now writes the declared service_account_secret resource; update_org_service_account_secret now writes the declared org_service_account_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.

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_service_account_secret now writes the declared service_account_secret resource; update_org_service_account_secret now writes the declared org_service_account_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.

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/service-accounts with 12 methods covering the Snyk service accounts 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/service-accounts with 12 methods covering the Snyk service accounts API surface.

2026.09.08.1

2026.09.08.1

Added: Initial code-generated release of @webframp/snyk/service-accounts with 12 methods covering the Snyk service accounts 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.1

2026.08.21.1

Changed: group_id and serviceaccount_id now must be non-empty strings — previously an empty value passed schema validation and only failed deep inside the Snyk API call with a generic 404. Errors from the Snyk API now name the HTTP method and path that was attempted instead of just the bare status and body. Network-level failures (DNS, connection refused, TLS errors) reaching the Snyk API are now also caught and reported with the operation and path that was being attempted, rather than surfacing as an unhandled fetch exception.

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/service-accounts with 12 methods covering the Snyk service accounts API surface.

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