Snyk/memberships
Snyk Memberships — group and org member management
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.
Global Arguments
| Argument | Type | Description |
|---|---|---|
| apiToken | string | Snyk API token. Store it in a vault and wire it with ${{ vault.get("snyk", "API_TOKEN") }}; never pass the literal token. |
| orgId | string | Snyk organization ID |
| version? | string | Snyk API version date |
| Argument | Type | Description |
|---|---|---|
| group_id | string | The ID of the group |
| sort_by? | enum | Which column to sort by. |
| sort_order? | enum | Order in which results are returned. |
| email? | string | Filter the response by Users that match the provided email |
| user_id? | string | Filter the response by Users that match the provided user ID |
| username? | string | Filter the response by Users that match the provided username |
| role_name? | string | Filter the response for results only with the specified role. |
| include_group_membership_count? | boolean | indicates whether the count of group memberships is included |
| Argument | Type | Description |
|---|---|---|
| group_id | string | The ID of the group |
| data? | object |
| Argument | Type | Description |
|---|---|---|
| group_id | string | The ID of the group |
| membership_id | string | The ID of the Group Membership |
| data? | unknown |
| Argument | Type | Description |
|---|---|---|
| group_id | string | The ID of the group |
| membership_id | string | The ID of the Group Membership |
| cascade? | boolean | indicates whether to delete the child org memberships of the group membership. |
| Argument | Type | Description |
|---|---|---|
| sort_by? | enum | Which column to sort by. |
| sort_order? | enum | Order in which results are returned. |
| email? | string | Filter the response by Users that match the provided email |
| user_id? | string | Filter the response by Users that match the provided user ID |
| username? | string | Filter the response by Users that match the provided username |
| role_name? | string | Filter the response for results only with the specified role. |
| Argument | Type | Description |
|---|---|---|
| data | object |
| Argument | Type | Description |
|---|---|---|
| membership_id | string | The id of the org membership |
| data | unknown |
| Argument | Type | Description |
|---|---|---|
| membership_id | string | The id of the org membership |
Resources
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.
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
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.
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
Added: Initial code-generated release of @webframp/snyk/memberships with 8 methods covering the Snyk memberships API surface.
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
Changed: Bump zod 4.4.3 → 4.6.5
2026.09.08.1
Added: Initial code-generated release of @webframp/snyk/memberships with 8 methods covering the Snyk memberships API surface.
2026.09.08.1
Added: Initial code-generated release of @webframp/snyk/memberships with 8 methods covering the Snyk memberships API surface.
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
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
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
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
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
Changed: group_id and membership_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
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
Added: Initial code-generated release of @webframp/snyk/memberships with 8 methods covering the Snyk memberships API surface.
- 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