# Snyk

> Developer security platform. Read your Organizations, projects, targets and security issues, check any package version for known vulnerabilities, and tag and classify projects.

App · Compliance & Security · 12 actions. Web page: https://docs.lodol.com/docs/integrations/snyk

## Actions

### Check a package for vulnerabilities

List the known direct vulnerabilities of one package version. Give the ecosystem, name and version, or a full package URL (purl).

**Inputs**

- Organization (`org_id`, text, required): The Snyk Organization to act in: one of those you picked when you signed in with Snyk.
- Ecosystem (`ecosystem`, text): The package's ecosystem. Not needed with a purl. One of: `apk` (apk (Alpine)), `cargo` (Cargo (Rust)), `cocoapods`, `composer` (Composer (PHP)), `conan` (Conan (C/C++)), `deb` (deb (Debian)), `gem` (RubyGems), `generic`, `golang` (Go), `hex` (Hex (Elixir)), and 7 more.
- Package name (`package_name`, text): The package name, with its namespace where it has one: lodash, @angular/core, org.apache.logging.log4j/log4j-core.
- Version (`package_version`, text): The exact version, for example 4.17.20.
- Package URL (purl) (`purl`, text): Optional. Instead of the three fields above, a purl such as pkg:npm/lodash@4.17.20.
- Page size (`limit`, number): Optional. How many to return, 1 to 1000. From 1 to 1000.
- Offset (`offset`, number): Optional. How many to skip, for the next page. At least 0.

**Outputs**

- `count` (number): How many were returned.
- `has_more` (true/false): Whether a full page came back, so more may follow.
- `items` (list): The package's direct vulnerabilities.
- `match` (object): Snyk's description of the match.
- `match_type` (text): none, partial or full: how well Snyk matched the package.
- `package` (object): The package Snyk matched.
- `purl` (text): The package URL that was looked up.

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "items": [
    {
      "effective_severity_level": "high",
      "id": "SNYK-JS-LODASH-1040724",
      "title": "Command Injection",
      "type": "issue"
    }
  ],
  "match_type": "full",
  "purl": "pkg:npm/lodash@4.17.20"
}
```

### Delete a project

Permanently delete a Snyk project and its test history.

**Inputs**

- Organization (`org_id`, text, required): The Snyk Organization to act in: one of those you picked when you signed in with Snyk.
- Project ID (`project_id`, text, required): The project's id, from 'List projects', or its address in Snyk (app.snyk.io/org/.../project/<id>).

**Outputs**: Confirmation of a deletion.

- `deleted` (true/false): Always true.
- `id` (text): The id of the deleted record.

**Example output**

```json
{
  "deleted": true,
  "id": "c8f2d9a4-3b6e-4f1a-8d2c-7e9b0a1c2d3e"
}
```

### Get a project

Get a Snyk project: its name, file, target, attributes, tags and settings, and optionally its latest issue counts.

**Inputs**

- Organization (`org_id`, text, required): The Snyk Organization to act in: one of those you picked when you signed in with Snyk.
- Project ID (`project_id`, text, required): The project's id, from 'List projects', or its address in Snyk (app.snyk.io/org/.../project/<id>).
- Include issue counts (`include_issue_counts`, true/false): Optional. Also return the latest issue counts by severity. Default: `false`.

**Outputs**: A Snyk project: one manifest, image or code base Snyk tests.

- `business_criticality` (list): critical, high, medium and/or low.
- `created` (text): When the project was created (ISO 8601).
- `environment` (list): frontend, backend, internal, external, and so on.
- `id` (text): The record's Snyk id (a UUID).
- `lifecycle` (list): production, development and/or sandbox.
- `meta` (object): Monitoring times and, when asked for, the latest issue counts.
- `name` (text): The project's name.
- `org_id` (text): The id of the Organization it belongs to.
- `origin` (text): Where the project came from, for example github or cli.
- `project_type` (text): The package manager or scanner, for example npm, maven or sast.
- `read_only` (true/false): Whether the project is read-only.
- `relationships` (object): Snyk's raw relationships block, as sent.
- `settings` (object): Recurring-test and pull-request settings.
- `status` (text): active or inactive.
- `tags` (list): The project's tags.
- `target_display_name` (text): The target's display name.
- `target_file` (text): The manifest or file the project tests.
- `target_id` (text): The id of the target (repository, image, ...) it belongs to.
- `target_reference` (text): The branch or tag tested, if any.
- `target_runtime` (text): The runtime of the tested code, if known.
- `target_url` (text): The target's address, if it has one.
- `type` (text): The JSON:API record type.

**Example output**

```json
{
  "business_criticality": [
    "high"
  ],
  "created": "2026-02-01T12:00:00Z",
  "environment": [
    "backend"
  ],
  "id": "c8f2d9a4-3b6e-4f1a-8d2c-7e9b0a1c2d3e",
  "lifecycle": [
    "production"
  ],
  "name": "lodol/demo-app:package.json",
  "org_id": "5b1f1b1e-7c1a-4d7e-9b1a-0c7e2e3f4a5b",
  "origin": "cli",
  "project_type": "npm",
  "read_only": false,
  "status": "active",
  "tags": [
    {
      "key": "team",
      "value": "platform"
    }
  ],
  "target_display_name": "lodol/demo-app",
  "target_file": "package.json",
  "target_id": "9e8d7c6b-5a4f-4e3d-2c1b-0a9f8e7d6c5b",
  "target_reference": "main",
  "type": "project"
}
```

### Get a target

Get a Snyk target's name, address, privacy and source.

**Inputs**

- Organization (`org_id`, text, required): The Snyk Organization to act in: one of those you picked when you signed in with Snyk.
- Target ID (`target_id`, text, required): The target's id, from 'List targets' or a project's target_id.

**Outputs**: A Snyk target: a repository, image or other source holding projects.

- `created_at` (text): When it was created (ISO 8601).
- `display_name` (text): The target's display name.
- `id` (text): The record's Snyk id (a UUID).
- `integration_type` (text): The integration it came through, for example github.
- `is_private` (true/false): Whether the target is private.
- `org_id` (text): The id of the Organization it belongs to.
- `relationships` (object): Snyk's raw relationships block, as sent.
- `type` (text): The JSON:API record type.
- `url` (text): The target's remote address, if it has one.

**Example output**

```json
{
  "display_name": "lodol/demo-app",
  "id": "9e8d7c6b-5a4f-4e3d-2c1b-0a9f8e7d6c5b",
  "integration_type": "cli",
  "is_private": false,
  "org_id": "5b1f1b1e-7c1a-4d7e-9b1a-0c7e2e3f4a5b",
  "type": "target",
  "url": null
}
```

### Get an issue

Get a Snyk issue: its title, severity, status, the vulnerabilities or rules behind it, where it occurs and how it can be fixed.

**Inputs**

- Organization (`org_id`, text, required): The Snyk Organization to act in: one of those you picked when you signed in with Snyk.
- Issue ID (`issue_id`, text, required): The issue's id, from 'List issues'.

**Outputs**: A Snyk issue.

- `coordinates` (list): Where the issue occurs and how it can be fixed.
- `created_at` (text): When it was found (ISO 8601).
- `description` (text): The issue's description, if any.
- `effective_severity_level` (text): info, low, medium, high or critical.
- `id` (text): The record's Snyk id (a UUID).
- `ignored` (true/false): Whether the issue is ignored.
- `issue_type` (text): package_vulnerability, license, cloud, code, custom, config or secrets (Snyk may add more).
- `key` (text): Snyk's stable key for the issue.
- `org_id` (text): The id of the Organization it belongs to.
- `problems` (list): What the issue is.
- `project_id` (text): The id of the project it was found in, if a project.
- `relationships` (object): Snyk's raw relationships block, as sent.
- `resolution` (object): How the issue was resolved, once it is.
- `scan_item_id` (text): The id of the project or environment it was found in.
- `scan_item_type` (text): project or environment.
- `severities` (list): Severity ratings.
- `status` (text): open or resolved.
- `title` (text): The issue's title.
- `tool` (text): The Snyk product that found it.
- `type` (text): The JSON:API record type.
- `updated_at` (text): When it last changed (ISO 8601).

**Example output**

```json
{
  "created_at": "2026-02-01T12:05:00Z",
  "effective_severity_level": "high",
  "id": "7d6c5b4a-3f2e-4d1c-9b8a-7f6e5d4c3b2a",
  "ignored": false,
  "issue_type": "package_vulnerability",
  "key": "SNYK-JS-LODASH-1040724",
  "org_id": "5b1f1b1e-7c1a-4d7e-9b1a-0c7e2e3f4a5b",
  "problems": [
    {
      "id": "SNYK-JS-LODASH-1040724",
      "source": "SNYK",
      "type": "vulnerability"
    }
  ],
  "project_id": "c8f2d9a4-3b6e-4f1a-8d2c-7e9b0a1c2d3e",
  "scan_item_id": "c8f2d9a4-3b6e-4f1a-8d2c-7e9b0a1c2d3e",
  "scan_item_type": "project",
  "status": "open",
  "title": "Command Injection",
  "type": "issue",
  "updated_at": "2026-02-01T12:05:00Z"
}
```

### Get an Organization

Get a Snyk Organization's name, slug and Group.

**Inputs**

- Organization (`org_id`, text, required): The Snyk Organization to act in: one of those you picked when you signed in with Snyk.

**Outputs**: A Snyk Organization.

- `access_requests_enabled` (true/false): Whether users may request access to it.
- `created_at` (text): When it was created (ISO 8601).
- `group_id` (text): The id of the Group it belongs to, if any.
- `id` (text): The record's Snyk id (a UUID).
- `is_personal` (true/false): Whether the Organization belongs to no Group.
- `name` (text): The Organization's name.
- `relationships` (object): Snyk's raw relationships block, as sent.
- `slug` (text): The Organization's slug, as it appears in app.snyk.io addresses.
- `type` (text): The JSON:API record type.
- `updated_at` (text): When it was last changed (ISO 8601).

**Example output**

```json
{
  "created_at": "2026-01-10T09:00:00Z",
  "id": "5b1f1b1e-7c1a-4d7e-9b1a-0c7e2e3f4a5b",
  "is_personal": true,
  "name": "Lodol Demo",
  "slug": "lodol-demo",
  "type": "org"
}
```

### Get the connected identity

Get who this connection acts as. For a Snyk App this is the app itself (type app_instance) rather than a person. Useful as a connection check.

**Inputs**: None.

**Outputs**: Who this connection acts as.

- `avatar_url` (text): The avatar image address (users only).
- `default_org_context` (text): The id of the default Organization.
- `email` (text): The email address (users only).
- `id` (text): The record's Snyk id (a UUID).
- `name` (text): The display name.
- `type` (text): user, service_account or app_instance (a Snyk App's own identity).
- `username` (text): The username (users only).

**Example output**

```json
{
  "id": "5b1f1b1e-7c1a-4d7e-9b1a-0c7e2e3f4a5b",
  "name": "Lodol",
  "type": "app_instance"
}
```

### List issues

List the issues Snyk found in an Organization, or in one project, filtered by type, severity, status and date.

**Inputs**

- Organization (`org_id`, text, required): The Snyk Organization to act in: one of those you picked when you signed in with Snyk.
- Project ID (`project_id`, text): Optional. Only issues found in this project.
- Issue type (`issue_type`, text): Optional. Only issues of this type. One of: `package_vulnerability` (Package vulnerability), `license`, `cloud`, `code` (Code (SAST)), `custom`, `config` (Configuration (IaC)), `secrets`.
- Severities (`severities`, list): Optional. Only issues of these severities. One or more of: `info`, `low`, `medium`, `high`, `critical`.
- Statuses (`statuses`, list): Optional. Open, resolved, or both. One or more of: `open`, `resolved`.
- Ignored (`ignored`, text): Optional. Only ignored, or only not-ignored, issues. One of: `yes`, `no`.
- Found after (`created_after`, date and time): Optional. Only issues found after this time.
- Updated after (`updated_after`, date and time): Optional. Only issues changed after this time.
- Page size (`limit`, number): Optional. How many to return per page, 1 to 100. Snyk's default is 10. From 1 to 100.
- Page cursor (`starting_after`, text): Optional. The next_cursor of the previous page, to fetch the next one.

**Outputs**

- `count` (number): How many issues are on this page.
- `has_more` (true/false): Whether another page is available.
- `items` (list): The issues.
- `next_cursor` (text): Pass as 'Page cursor' to fetch the next page; empty on the last.
- `total` (number): The total count, when Snyk reports one.

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "items": [
    {
      "created_at": "2026-02-01T12:05:00Z",
      "effective_severity_level": "high",
      "id": "7d6c5b4a-3f2e-4d1c-9b8a-7f6e5d4c3b2a",
      "ignored": false,
      "issue_type": "package_vulnerability",
      "key": "SNYK-JS-LODASH-1040724",
      "org_id": "5b1f1b1e-7c1a-4d7e-9b1a-0c7e2e3f4a5b",
      "problems": [
        {
          "id": "SNYK-JS-LODASH-1040724",
          "source": "SNYK",
          "type": "vulnerability"
        }
      ],
      "project_id": "c8f2d9a4-3b6e-4f1a-8d2c-7e9b0a1c2d3e",
      "scan_item_id": "c8f2d9a4-3b6e-4f1a-8d2c-7e9b0a1c2d3e",
      "scan_item_type": "project",
      "status": "open",
      "title": "Command Injection",
      "type": "issue",
      "updated_at": "2026-02-01T12:05:00Z"
    }
  ],
  "next_cursor": null
}
```

### List Organizations

List the Snyk Organizations this connection may act in: the ones picked when signing in with Snyk.

**Inputs**

- Name contains (`name`, text): Optional. Only Organizations whose name contains this.
- Slug (`slug`, text): Optional. Only the Organization with exactly this slug.
- Page size (`limit`, number): Optional. How many to return per page, 1 to 100. Snyk's default is 10. From 1 to 100.
- Page cursor (`starting_after`, text): Optional. The next_cursor of the previous page, to fetch the next one.

**Outputs**

- `count` (number): How many Organizations are on this page.
- `has_more` (true/false): Whether another page is available.
- `items` (list): The Organizations.
- `next_cursor` (text): Pass as 'Page cursor' to fetch the next page; empty on the last.
- `total` (number): The total count, when Snyk reports one.

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "items": [
    {
      "created_at": "2026-01-10T09:00:00Z",
      "id": "5b1f1b1e-7c1a-4d7e-9b1a-0c7e2e3f4a5b",
      "is_personal": true,
      "name": "Lodol Demo",
      "slug": "lodol-demo",
      "type": "org"
    }
  ],
  "next_cursor": null
}
```

### List projects

List the projects in an Organization - each manifest, image or code base Snyk tests - with optional filters.

**Inputs**

- Organization (`org_id`, text, required): The Snyk Organization to act in: one of those you picked when you signed in with Snyk.
- Target ID (`target_id`, text): Optional. Only projects of this target.
- Name starts with (`name_starts_with`, text): Optional. Only projects whose name starts with this.
- Project types (`project_types`, text): Optional. Comma-separated project types, for example npm, maven, pip or sast.
- Origins (`origins`, text): Optional. Comma-separated origins, for example github or cli.
- Tags (`tags`, list): Optional. Only projects with these tags, each written key:value, for example team:platform.
- Business criticality (`business_criticality`, list): Optional. Choose one or more. One or more of: `critical`, `high`, `medium`, `low`.
- Environment (`environment`, list): Optional. Choose one or more. One or more of: `frontend`, `backend`, `internal`, `external`, `mobile`, `saas`, `onprem` (On-premises), `hosted`, `distributed`.
- Lifecycle (`lifecycle`, list): Optional. Choose one or more. One or more of: `production`, `development`, `sandbox`.
- Include issue counts (`include_issue_counts`, true/false): Optional. Also return the latest issue counts by severity. Default: `false`.
- Page size (`limit`, number): Optional. How many to return per page, 1 to 100. Snyk's default is 10. From 1 to 100.
- Page cursor (`starting_after`, text): Optional. The next_cursor of the previous page, to fetch the next one.

**Outputs**

- `count` (number): How many projects are on this page.
- `has_more` (true/false): Whether another page is available.
- `items` (list): The projects.
- `next_cursor` (text): Pass as 'Page cursor' to fetch the next page; empty on the last.
- `total` (number): The total count, when Snyk reports one.

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "items": [
    {
      "business_criticality": [
        "high"
      ],
      "created": "2026-02-01T12:00:00Z",
      "environment": [
        "backend"
      ],
      "id": "c8f2d9a4-3b6e-4f1a-8d2c-7e9b0a1c2d3e",
      "lifecycle": [
        "production"
      ],
      "name": "lodol/demo-app:package.json",
      "org_id": "5b1f1b1e-7c1a-4d7e-9b1a-0c7e2e3f4a5b",
      "origin": "cli",
      "project_type": "npm",
      "read_only": false,
      "status": "active",
      "tags": [
        {
          "key": "team",
          "value": "platform"
        }
      ],
      "target_display_name": "lodol/demo-app",
      "target_file": "package.json",
      "target_id": "9e8d7c6b-5a4f-4e3d-2c1b-0a9f8e7d6c5b",
      "target_reference": "main",
      "type": "project"
    }
  ],
  "next_cursor": null
}
```

### List targets

List an Organization's targets: the repositories, images and other sources its projects come from.

**Inputs**

- Organization (`org_id`, text, required): The Snyk Organization to act in: one of those you picked when you signed in with Snyk.
- Name starts with (`display_name`, text): Optional. Only targets whose name starts with this.
- Remote URL (`url`, text): Optional. Only the target with this remote address.
- Sources (`source_types`, list): Optional. Only targets from these sources. One or more of: `bitbucket-server`, `gitlab`, `github-enterprise`, `bitbucket-cloud`, `bitbucket-connect-app`, `azure-repos`, `github`, `github-cloud-app`, `github-server-app`, `cli`, and 23 more.
- Private (`is_private`, text): Optional. Only private, or only public, targets. One of: `yes`, `no`.
- Include targets without projects (`include_empty`, true/false): Optional. Snyk leaves them out unless this is on. Default: `false`.
- Created on or after (`created_after`, date and time): Optional. Only targets created at or after this time.
- Page size (`limit`, number): Optional. How many to return per page, 1 to 100. Snyk's default is 10. From 1 to 100.
- Page cursor (`starting_after`, text): Optional. The next_cursor of the previous page, to fetch the next one.

**Outputs**

- `count` (number): How many targets are on this page.
- `has_more` (true/false): Whether another page is available.
- `items` (list): The targets.
- `next_cursor` (text): Pass as 'Page cursor' to fetch the next page; empty on the last.
- `total` (number): The total count, when Snyk reports one.

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "items": [
    {
      "display_name": "lodol/demo-app",
      "id": "9e8d7c6b-5a4f-4e3d-2c1b-0a9f8e7d6c5b",
      "integration_type": "cli",
      "is_private": false,
      "org_id": "5b1f1b1e-7c1a-4d7e-9b1a-0c7e2e3f4a5b",
      "type": "target",
      "url": null
    }
  ],
  "next_cursor": null
}
```

### Update a project

Set a project's business criticality, environment, lifecycle, tags or test frequency. Only what you fill in changes; a list you fill in replaces the project's current list.

**Inputs**

- Organization (`org_id`, text, required): The Snyk Organization to act in: one of those you picked when you signed in with Snyk.
- Project ID (`project_id`, text, required): The project's id, from 'List projects', or its address in Snyk (app.snyk.io/org/.../project/<id>).
- Business criticality (`business_criticality`, list): Optional. Choose one or more. One or more of: `critical`, `high`, `medium`, `low`.
- Environment (`environment`, list): Optional. Choose one or more. One or more of: `frontend`, `backend`, `internal`, `external`, `mobile`, `saas`, `onprem` (On-premises), `hosted`, `distributed`.
- Lifecycle (`lifecycle`, list): Optional. Choose one or more. One or more of: `production`, `development`, `sandbox`.
- Tags (`tags`, list): Optional. The project's tags, each written key:value, for example team:platform. Replaces its current tags.
- Test frequency (`test_frequency`, text): Optional. How often Snyk re-tests the project. Also controls when automated fix PRs may be opened. One of: `daily`, `weekly`, `never`.

**Outputs**: A Snyk project: one manifest, image or code base Snyk tests.

- `business_criticality` (list): critical, high, medium and/or low.
- `created` (text): When the project was created (ISO 8601).
- `environment` (list): frontend, backend, internal, external, and so on.
- `id` (text): The record's Snyk id (a UUID).
- `lifecycle` (list): production, development and/or sandbox.
- `meta` (object): Monitoring times and, when asked for, the latest issue counts.
- `name` (text): The project's name.
- `org_id` (text): The id of the Organization it belongs to.
- `origin` (text): Where the project came from, for example github or cli.
- `project_type` (text): The package manager or scanner, for example npm, maven or sast.
- `read_only` (true/false): Whether the project is read-only.
- `relationships` (object): Snyk's raw relationships block, as sent.
- `settings` (object): Recurring-test and pull-request settings.
- `status` (text): active or inactive.
- `tags` (list): The project's tags.
- `target_display_name` (text): The target's display name.
- `target_file` (text): The manifest or file the project tests.
- `target_id` (text): The id of the target (repository, image, ...) it belongs to.
- `target_reference` (text): The branch or tag tested, if any.
- `target_runtime` (text): The runtime of the tested code, if known.
- `target_url` (text): The target's address, if it has one.
- `type` (text): The JSON:API record type.

**Example output**

```json
{
  "business_criticality": [
    "high"
  ],
  "created": "2026-02-01T12:00:00Z",
  "environment": [
    "backend"
  ],
  "id": "c8f2d9a4-3b6e-4f1a-8d2c-7e9b0a1c2d3e",
  "lifecycle": [
    "production"
  ],
  "name": "lodol/demo-app:package.json",
  "org_id": "5b1f1b1e-7c1a-4d7e-9b1a-0c7e2e3f4a5b",
  "origin": "cli",
  "project_type": "npm",
  "read_only": false,
  "status": "active",
  "tags": [
    {
      "key": "team",
      "value": "platform"
    }
  ],
  "target_display_name": "lodol/demo-app",
  "target_file": "package.json",
  "target_id": "9e8d7c6b-5a4f-4e3d-2c1b-0a9f8e7d6c5b",
  "target_reference": "main",
  "type": "project"
}
```
