openapi: 3.0.3 info: title: Snyk AccessRequests Asset API version: REST servers: - description: Snyk REST API url: https://api.snyk.io/rest security: - APIToken: [] - BearerAuth: [] tags: - name: Asset paths: /groups/{group_id}/assets/repository/aliases: delete: description: 'Detach one or more aliased URLs from their canonical repository assets within a group. Each removed URL gets a new standalone asset document. #### Required permissions - `Edit Group Details (group.edit)`' operationId: deleteAliasesInGroup parameters: - description: Group ID in: path name: group_id required: true schema: format: uuid type: string - $ref: '#/components/parameters/Version' requestBody: content: application/vnd.api+json: schema: additionalProperties: false properties: data: items: $ref: '#/components/schemas/RemoveRepositoryAliasRequestData' maxItems: 100 minItems: 1 type: array required: - data type: object required: true responses: '204': description: Aliases removed successfully headers: deprecation: $ref: '#/components/headers/DeprecationHeader' snyk-request-id: $ref: '#/components/headers/RequestIdResponseHeader' snyk-version-lifecycle-stage: $ref: '#/components/headers/VersionStageResponseHeader' snyk-version-requested: $ref: '#/components/headers/VersionRequestedResponseHeader' snyk-version-served: $ref: '#/components/headers/VersionServedResponseHeader' sunset: $ref: '#/components/headers/SunsetHeader' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '500': $ref: '#/components/responses/500' summary: Bulk remove aliases from repository assets in group (Early Access) tags: - Asset x-snyk-api-lifecycle: released x-snyk-api-releases: - 2025-09-28~beta x-snyk-api-resource: refs x-snyk-api-stability: beta x-snyk-api-version: 2025-09-28~beta x-stability-level: beta get: description: 'Returns a paginated list of alias URL entries for repository assets within a group. Use the optional url filter to restrict results to a specific canonical document. #### Required permissions - `View Groups (group.read)`' operationId: listRepositoryAliasesInGroup parameters: - description: Group ID in: path name: group_id required: true schema: format: uuid type: string - $ref: '#/components/parameters/RepositoryUrlQuery' - description: Maximum number of alias items to return per page. A single canonical document with multiple aliases may span more than one page. in: query name: limit schema: default: 10 maximum: 100 minimum: 10 type: integer - $ref: '#/components/parameters/StartingAfterCursor' - $ref: '#/components/parameters/EndingBeforeCursor' - $ref: '#/components/parameters/Version' responses: '200': content: application/vnd.api+json: schema: $ref: '#/components/schemas/ListRepositoryAliasesResponse' description: Paginated list of repository alias entries headers: deprecation: $ref: '#/components/headers/DeprecationHeader' snyk-request-id: $ref: '#/components/headers/RequestIdResponseHeader' snyk-version-lifecycle-stage: $ref: '#/components/headers/VersionStageResponseHeader' snyk-version-requested: $ref: '#/components/headers/VersionRequestedResponseHeader' snyk-version-served: $ref: '#/components/headers/VersionServedResponseHeader' sunset: $ref: '#/components/headers/SunsetHeader' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '500': $ref: '#/components/responses/500' summary: List repository aliases in group (Early Access) tags: - Asset x-snyk-api-lifecycle: released x-snyk-api-releases: - 2025-09-28~beta x-snyk-api-resource: refs x-snyk-api-stability: beta x-snyk-api-version: 2025-09-28~beta x-stability-level: beta post: description: 'Link one or more alternate repository URLs to a canonical repository asset within a group, enabling alias-aware asset lookup. #### Required permissions - `Edit Group Details (group.edit)`' operationId: createAliasInGroup parameters: - description: Group ID in: path name: group_id required: true schema: format: uuid type: string - $ref: '#/components/parameters/Version' requestBody: content: application/vnd.api+json: schema: additionalProperties: false properties: data: items: $ref: '#/components/schemas/AddRepositoryAliasRequestData' maxItems: 100 minItems: 1 type: array required: - data type: object required: true responses: '204': description: Aliases created successfully headers: deprecation: $ref: '#/components/headers/DeprecationHeader' snyk-request-id: $ref: '#/components/headers/RequestIdResponseHeader' snyk-version-lifecycle-stage: $ref: '#/components/headers/VersionStageResponseHeader' snyk-version-requested: $ref: '#/components/headers/VersionRequestedResponseHeader' snyk-version-served: $ref: '#/components/headers/VersionServedResponseHeader' sunset: $ref: '#/components/headers/SunsetHeader' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '500': $ref: '#/components/responses/500' summary: Add alias for a repository asset in group (Early Access) tags: - Asset x-snyk-api-lifecycle: released x-snyk-api-releases: - 2025-09-28~beta x-snyk-api-resource: refs x-snyk-api-stability: beta x-snyk-api-version: 2025-09-28~beta x-stability-level: beta /groups/{group_id}/assets/search: post: description: 'List Assets with filters #### Required permissions - `View Groups (group.read)`' operationId: listAssets parameters: - description: Group ID in: path name: group_id required: true schema: format: uuid type: string - $ref: '#/components/parameters/Version' requestBody: content: application/json: examples: example1: summary: One filter, one attribute value: query: attributes: attribute: type operator: equal values: - repository example2: summary: Two filters value: query: attributes: operator: and values: - attribute: type operator: equal values: - repository - attribute: sources operator: equal values: - snyk - github example3: summary: Nested filters - X and (Y or Z) value: query: attributes: operator: and values: - attribute: type operator: equal values: - repository - operator: or values: - attribute: class operator: in values: - A - B - attribute: risk_factors operator: in values: - Deployed example4: summary: Tags filtering value: query: attributes: operator: and values: - attribute: type operator: equal values: - repository - attribute: tags.environment operator: equal values: - production - attribute: tags.team operator: equal values: - backend schema: oneOf: - additionalProperties: false description: Empty body type: object - $ref: '#/components/schemas/SearchObject' description: Filter criteria for listing assets. Can be empty or contain query filters. required: true responses: '200': content: application/vnd.api+json: schema: additionalProperties: false properties: data: items: $ref: '#/components/schemas/AssetResponseData' type: array jsonapi: additionalProperties: false properties: version: type: string type: object links: $ref: '#/components/schemas/Links' type: object description: Assets found headers: deprecation: $ref: '#/components/headers/DeprecationHeader' location: $ref: '#/components/headers/LocationHeader' snyk-request-id: $ref: '#/components/headers/RequestIdResponseHeader' snyk-version-lifecycle-stage: $ref: '#/components/headers/VersionStageResponseHeader' snyk-version-requested: $ref: '#/components/headers/VersionRequestedResponseHeader' snyk-version-served: $ref: '#/components/headers/VersionServedResponseHeader' sunset: $ref: '#/components/headers/SunsetHeader' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': $ref: '#/components/responses/409' '500': $ref: '#/components/responses/500' summary: List Assets with filters (Early Access) tags: - Asset x-snyk-api-lifecycle: released x-snyk-api-releases: - 2024-10-15~beta - 2025-09-28~beta x-snyk-api-resource: assets x-snyk-api-stability: beta x-snyk-api-version: 2025-09-28~beta x-stability-level: beta /groups/{group_id}/assets/{asset_id}: get: description: 'Get an Asset by its ID #### Required permissions - `View Groups (group.read)`' operationId: getAsset parameters: - $ref: '#/components/parameters/AssetId' - description: Group ID in: path name: group_id required: true schema: format: uuid type: string - $ref: '#/components/parameters/Version' responses: '200': content: application/vnd.api+json: schema: additionalProperties: false properties: data: $ref: '#/components/schemas/AssetResponseData' jsonapi: additionalProperties: false properties: version: type: string type: object links: $ref: '#/components/schemas/SelfLink' type: object description: Asset found headers: deprecation: $ref: '#/components/headers/DeprecationHeader' location: $ref: '#/components/headers/LocationHeader' snyk-request-id: $ref: '#/components/headers/RequestIdResponseHeader' snyk-version-lifecycle-stage: $ref: '#/components/headers/VersionStageResponseHeader' snyk-version-requested: $ref: '#/components/headers/VersionRequestedResponseHeader' snyk-version-served: $ref: '#/components/headers/VersionServedResponseHeader' sunset: $ref: '#/components/headers/SunsetHeader' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': $ref: '#/components/responses/409' '500': $ref: '#/components/responses/500' summary: Get an Asset by its ID (Early Access) tags: - Asset x-snyk-api-lifecycle: released x-snyk-api-releases: - 2024-10-15~beta - 2025-09-28~beta x-snyk-api-resource: assets x-snyk-api-stability: beta x-snyk-api-version: 2025-09-28~beta x-stability-level: beta patch: description: 'The endpoint allows for partial updates to an asset''s attributes. #### Required permissions - `Edit Group Details (group.edit)`' operationId: updateAsset parameters: - $ref: '#/components/parameters/AssetId' - description: Group ID in: path name: group_id required: true schema: format: uuid type: string - $ref: '#/components/parameters/Version' requestBody: content: application/vnd.api+json: schema: additionalProperties: false properties: data: $ref: '#/components/schemas/UpdateAssetRequestData' required: - data type: object required: true responses: '200': content: application/vnd.api+json: schema: additionalProperties: false properties: data: $ref: '#/components/schemas/AssetResponseData' jsonapi: additionalProperties: false properties: version: type: string type: object links: $ref: '#/components/schemas/SelfLink' type: object description: Asset updated successfully headers: deprecation: $ref: '#/components/headers/DeprecationHeader' snyk-request-id: $ref: '#/components/headers/RequestIdResponseHeader' snyk-version-lifecycle-stage: $ref: '#/components/headers/VersionStageResponseHeader' snyk-version-requested: $ref: '#/components/headers/VersionRequestedResponseHeader' snyk-version-served: $ref: '#/components/headers/VersionServedResponseHeader' sunset: $ref: '#/components/headers/SunsetHeader' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': $ref: '#/components/responses/409' '500': $ref: '#/components/responses/500' summary: Update asset attributes (Early Access) tags: - Asset x-snyk-api-lifecycle: released x-snyk-api-releases: - 2025-09-28~beta x-snyk-api-resource: assets x-snyk-api-stability: beta x-snyk-api-version: 2025-09-28~beta x-stability-level: beta /groups/{group_id}/assets/{asset_id}/relationships/assets: get: description: 'List related assets with pagination #### Required permissions - `View Groups (group.read)`' operationId: listRelatedAssets parameters: - description: Group ID in: path name: group_id required: true schema: format: uuid type: string - $ref: '#/components/parameters/AssetId' - $ref: '#/components/parameters/StartingAfterCursor__0' - $ref: '#/components/parameters/EndingBeforeCursor__0' - $ref: '#/components/parameters/Limit__0' - $ref: '#/components/parameters/Version' - $ref: '#/components/parameters/AssetTypeFilter' responses: '200': content: application/vnd.api+json: schema: additionalProperties: false properties: data: items: $ref: '#/components/schemas/AssetResponseData' type: array jsonapi: additionalProperties: false properties: version: type: string type: object links: $ref: '#/components/schemas/Links' type: object description: Related assets found headers: deprecation: $ref: '#/components/headers/DeprecationHeader' snyk-request-id: $ref: '#/components/headers/RequestIdResponseHeader' snyk-version-lifecycle-stage: $ref: '#/components/headers/VersionStageResponseHeader' snyk-version-requested: $ref: '#/components/headers/VersionRequestedResponseHeader' snyk-version-served: $ref: '#/components/headers/VersionServedResponseHeader' sunset: $ref: '#/components/headers/SunsetHeader' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': $ref: '#/components/responses/409' '500': $ref: '#/components/responses/500' summary: List related assets with pagination (Early Access) tags: - Asset x-snyk-api-lifecycle: released x-snyk-api-releases: - 2024-10-15~beta - 2025-09-28~beta x-snyk-api-resource: assets x-snyk-api-stability: beta x-snyk-api-version: 2025-09-28~beta x-stability-level: beta /groups/{group_id}/assets/{asset_id}/relationships/projects: get: description: 'List asset projects with pagination #### Required permissions - `View Groups (group.read)`' operationId: listAssetProjects parameters: - description: Group ID in: path name: group_id required: true schema: format: uuid type: string - $ref: '#/components/parameters/AssetId' - $ref: '#/components/parameters/StartingAfterCursor__0' - $ref: '#/components/parameters/EndingBeforeCursor__0' - $ref: '#/components/parameters/Limit__0' - $ref: '#/components/parameters/Version' responses: '200': content: application/vnd.api+json: schema: additionalProperties: false properties: data: items: $ref: '#/components/schemas/AssetProjectResponseData' type: array jsonapi: additionalProperties: false properties: version: type: string type: object links: $ref: '#/components/schemas/Links' type: object description: Assets found headers: deprecation: $ref: '#/components/headers/DeprecationHeader' location: $ref: '#/components/headers/LocationHeader' snyk-request-id: $ref: '#/components/headers/RequestIdResponseHeader' snyk-version-lifecycle-stage: $ref: '#/components/headers/VersionStageResponseHeader' snyk-version-requested: $ref: '#/components/headers/VersionRequestedResponseHeader' snyk-version-served: $ref: '#/components/headers/VersionServedResponseHeader' sunset: $ref: '#/components/headers/SunsetHeader' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': $ref: '#/components/responses/409' '500': $ref: '#/components/responses/500' summary: List asset projects with pagination (Early Access) tags: - Asset x-snyk-api-lifecycle: released x-snyk-api-releases: - 2024-10-15~beta - 2025-09-28~beta x-snyk-api-resource: assets x-snyk-api-stability: beta x-snyk-api-version: 2025-09-28~beta x-stability-level: beta /orgs/{org_id}/assets/repository/aliases: delete: description: 'Detach one or more aliased URLs from their canonical repository assets within an organisation. Each removed URL gets a new standalone asset document. #### Required permissions - `Edit Organization (org.edit)`' operationId: deleteAliasesInOrg parameters: - description: Org ID in: path name: org_id required: true schema: format: uuid type: string - $ref: '#/components/parameters/Version' requestBody: content: application/vnd.api+json: schema: additionalProperties: false properties: data: items: $ref: '#/components/schemas/RemoveRepositoryAliasRequestData' maxItems: 100 minItems: 1 type: array required: - data type: object required: true responses: '204': description: Aliases removed successfully headers: deprecation: $ref: '#/components/headers/DeprecationHeader' snyk-request-id: $ref: '#/components/headers/RequestIdResponseHeader' snyk-version-lifecycle-stage: $ref: '#/components/headers/VersionStageResponseHeader' snyk-version-requested: $ref: '#/components/headers/VersionRequestedResponseHeader' snyk-version-served: $ref: '#/components/headers/VersionServedResponseHeader' sunset: $ref: '#/components/headers/SunsetHeader' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '500': $ref: '#/components/responses/500' summary: Bulk remove aliases from repository assets in org (Early Access) tags: - Asset x-snyk-api-lifecycle: released x-snyk-api-releases: - 2025-09-28~beta x-snyk-api-resource: refs x-snyk-api-stability: beta x-snyk-api-version: 2025-09-28~beta x-stability-level: beta get: description: 'Returns a paginated list of alias URL entries for repository assets within an organisation. Use the optional url filter to restrict results to a specific canonical document. #### Required permissions - `View Organization (org.read)`' operationId: listRepositoryAliasesInOrg parameters: - description: Org ID in: path name: org_id required: true schema: format: uuid type: string - $ref: '#/components/parameters/RepositoryUrlQuery' - description: Maximum number of alias items to return per page. A single canonical document with multiple aliases may span more than one page. in: query name: limit schema: default: 10 maximum: 100 minimum: 10 type: integer - $ref: '#/components/parameters/StartingAfterCursor' - $ref: '#/components/parameters/EndingBeforeCursor' - $ref: '#/components/parameters/Version' responses: '200': content: application/vnd.api+json: schema: $ref: '#/components/schemas/ListRepositoryAliasesResponse' description: Paginated list of repository alias entries headers: deprecation: $ref: '#/components/headers/DeprecationHeader' snyk-request-id: $ref: '#/components/headers/RequestIdResponseHeader' snyk-version-lifecycle-stage: $ref: '#/components/headers/VersionStageResponseHeader' snyk-version-requested: $ref: '#/components/headers/VersionRequestedResponseHeader' snyk-version-served: $ref: '#/components/headers/VersionServedResponseHeader' sunset: $ref: '#/components/headers/SunsetHeader' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '500': $ref: '#/components/responses/500' summary: List repository aliases in org (Early Access) tags: - Asset x-snyk-api-lifecycle: released x-snyk-api-releases: - 2025-09-28~beta x-snyk-api-resource: refs x-snyk-api-stability: beta x-snyk-api-version: 2025-09-28~beta x-stability-level: beta post: description: 'Link one or more alternate repository URLs to a canonical repository asset within an organisation, enabling alias-aware asset lookup. #### Required permissions - `Edit Organization (org.edit)`' operationId: createAliasInOrg parameters: - description: Org ID in: path name: org_id required: true schema: format: uuid type: string - $ref: '#/components/parameters/Version' requestBody: content: application/vnd.api+json: schema: additionalProperties: false properties: data: items: $ref: '#/components/schemas/AddRepositoryAliasRequestData' maxItems: 100 minItems: 1 type: array required: - data type: object required: true responses: '204': description: Aliases created successfully headers: deprecation: $ref: '#/components/headers/DeprecationHeader' snyk-request-id: $ref: '#/components/headers/RequestIdResponseHeader' snyk-version-lifecycle-stage: $ref: '#/components/headers/VersionStageResponseHeader' snyk-version-requested: $ref: '#/components/headers/VersionRequestedResponseHeader' snyk-version-served: $ref: '#/components/headers/VersionServedResponseHeader' sunset: $ref: '#/components/headers/SunsetHeader' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '500': $ref: '#/components/responses/500' summary: Add alias for a repository asset in org (Early Access) tags: - Asset x-snyk-api-lifecycle: released x-snyk-api-releases: - 2025-09-28~beta x-snyk-api-resource: refs x-snyk-api-stability: beta x-snyk-api-version: 2025-09-28~beta x-stability-level: beta components: parameters: EndingBeforeCursor__0: description: Return records before the record identified by cursor position ending_before in: query name: ending_before schema: type: string AssetTypeFilter: description: Filter by asset type in: query name: type schema: enum: - repository - package - image type: string RepositoryUrlQuery: description: Optional repository URL filter — restricts results to the canonical document containing this URL in: query name: url schema: type: string StartingAfterCursor__0: description: Return records after the record identified by cursor position starting_after in: query name: starting_after schema: type: string Version: description: The requested version of the endpoint to process the request example: '2026-03-25' in: query name: version required: true schema: $ref: '#/components/schemas/QueryVersion' EndingBeforeCursor: description: Return records before the record identified by this cursor example: v1.MTIzNDU2Nzg5MHxhYmNkZWY= in: query name: ending_before schema: type: string AssetId: description: Unique identifier for the Asset in: path name: asset_id required: true schema: format: uuid type: string StartingAfterCursor: description: Return records after the record identified by this cursor example: v1.MTIzNDU2Nzg5MHxhYmNkZWY= in: query name: starting_after schema: type: string Limit__0: description: Number of records to return in: query name: limit schema: default: 10 maximum: 100 minimum: 10 type: number schemas: AssetProjectResponseData: description: asset project resource object properties: attributes: $ref: '#/components/schemas/AssetProjectAttributes' id: format: uuid type: string type: enum: - project example: project type: string required: - id - type type: object AssetClass: additionalProperties: false anyOf: - required: - display_name - required: - rank description: "Sets the asset's class using either a rank (a number between 1 and 4) or a display name (e.g., \"A,\" \"B,\" \"C,\" or \"D\"). If both rank and name are provided, rank takes precedence.\n* This attribute accepts a single value. It can be locked: When a class attribute is \"locked\", this attribute will not be affected by any policy.\n * UI: When the user changes the asset class, by default is \"locked\".\n * API: The user will need to indicate wether they want to \"lock\" the class attribute.\n" properties: display_name: description: Asset class display name enum: - A - B - C - D type: string locked: description: Whether the asset class is locked type: boolean rank: description: Asset class rank (1-4) enum: - 1 - 2 - 3 - 4 type: integer type: object ActualVersion: description: Resolved API version example: '2026-03-25' pattern: ^((([0-9]{4})-([0-1][0-9]))-((3[01])|(0[1-9])|([12][0-9]))(~(wip|work-in-progress|experimental|beta))?)$ type: string IssuesCountAttributes: example: critical: 5 high: 12 low: 3 medium: 7 properties: critical: description: Number of critical issues type: integer high: description: Number of high-severity issues type: integer low: description: Number of low-severity issues type: integer medium: description: Number of medium-severity issues type: integer type: object PaginationLinks: description: Cursor-based pagination links properties: first: description: Link to the first page format: uri type: string next: description: Link to the next page (if available) format: uri type: string prev: description: Link to the previous page (if available) format: uri type: string self: description: Link to the current page format: uri type: string type: object AssetClassAttributes: additionalProperties: false description: 'Mandated, hierarchical attribute that provides a standardized measure of an asset''s importance to the business. It can be a number from 1-4 or a display name (e.g "A", "B", "C" or "D"). The locked status is a boolean flag that, when true, prevents automated policy-driven actions from overriding the manually set Business Criticality (Class) value. ' example: display_name: A locked: true rank: 1 properties: display_name: description: class name of the asset type: string locked: description: Whether the asset class is locked type: boolean rank: description: Rank associated with the asset class type: integer type: object AssetProjectAttributes: properties: issues_counts: properties: critical: type: number high: type: number low: type: number medium: type: number type: object last_scan: type: string name: type: string organization_id: type: string organization_name: type: string project_type: type: string target_file: type: string target_id: type: string target_reference: type: string test_surface: type: string url: type: string type: object DeveloperAttributes: example: discovered_by: github email: john.doe@example.com url: https://github.com/johndoe username: johndoe properties: discovered_by: description: The SCM integration that was discovered by the developer nullable: true type: string email: description: Email address of the developer format: email nullable: true type: string url: description: URL of the developer's profile format: uri nullable: true type: string username: description: Username of the developer nullable: true type: string type: object QueryVersion: description: Requested API version example: '2026-03-25' pattern: ^(wip|work-in-progress|experimental|beta|((([0-9]{4})-([0-1][0-9]))-((3[01])|(0[1-9])|([12][0-9]))(~(wip|work-in-progress|experimental|beta))?))$ type: string AssetAttributes: properties: app_context: description: asset metadata from App Context integrations nullable: true type: object archived: description: Indicates if the asset is archived type: boolean base_image: description: Base image of the container image nullable: true type: string browse_url: description: URL to browse the asset format: uri nullable: true type: string class: $ref: '#/components/schemas/AssetClassAttributes' coverage_controls: items: $ref: '#/components/schemas/CoverageControlAttributes' type: array created_at: description: Creation timestamp format: date-time type: string default_branch_name: description: Default branch name of the repository example: main nullable: true type: string developers: description: List of developers associated with the asset items: $ref: '#/components/schemas/DeveloperAttributes' type: array file_path: description: File path of the asset nullable: true type: string image_digests: description: List of digests for the container image items: type: string nullable: true type: array image_id: description: ID of the container image nullable: true type: string image_registries: description: List of registries containing the container image items: type: string nullable: true type: array image_repositories: description: List of repositories containing the container image items: type: string nullable: true type: array image_tags: description: List of tags for the container image items: type: string nullable: true type: array labels: description: Unstructured, simple text strings that can be applied to an asset items: type: string type: array languages: additionalProperties: type: integer description: Languages used in the asset with usage counts nullable: true type: object name: description: Name of the asset of the file path nullable: true type: string removed_reasons: description: List of reasons for removal items: properties: reason: description: 'Reason for removal: - repo-archived - The asset was archived on the SCM. - repo-deleted - The asset was deleted on the SCM. - org-level-inactive - The Org-Level integration/profile is inactive. - snyk-project-deleted - The associated Snyk Project was deleted and Snyk was the only source. - deleted-profile - The integration profile was deleted. ' enum: - deleted-profile - org-level-inactive - repo-archived - repo-deleted - snyk-project-deleted removed_at: format: date-time type: string type: object type: array repository_freshness: description: Indicating the activity level of the repository format: byte nullable: true type: string repository_url: description: URL to the asset's repository nullable: true type: string risk_factors: description: Runtime context that indicates increased asset risk items: type: string type: array sources: description: List of source identifiers for the asset items: type: string type: array tags: additionalProperties: type: string description: Explicitly defined, key:value pairs that are associated with an asset type: object updated_at: description: Last update timestamp format: date-time type: string type: object RemoveRepositoryAliasAttributes: properties: new_url: description: The aliased URL to detach from its canonical asset example: https://github.com/org/repo-renamed.git type: string url: description: The primary URL of the canonical document that owns the alias. Used to verify the request targets the correct document. example: https://github.com/org/repo.git type: string required: - url - new_url type: object SearchObject: description: The request body can be empty or include query parameters. properties: query: properties: attributes: $ref: '#/components/schemas/SearchAttributesObject' required: - attributes type: object required: - query type: object AssetLabelsUpdate: additionalProperties: false description: 'Updates the asset''s labels by adding or removing label values. ' properties: add: description: Labels to add to the asset items: maxLength: 40 minLength: 1 type: string type: array remove: description: Labels to remove from the asset items: maxLength: 40 minLength: 1 type: string type: array type: object ErrorDocument: additionalProperties: false example: errors: - detail: Permission denied for this resource status: '403' jsonapi: version: '1.0' properties: errors: example: - detail: Permission denied for this resource status: '403' items: additionalProperties: false example: detail: Not Found status: '404' properties: code: description: An application-specific error code, expressed as a string value. example: entity-not-found type: string detail: description: A human-readable explanation specific to this occurrence of the problem. example: 'The request was missing these required fields: ...' type: string id: description: A unique identifier for this particular occurrence of the problem. example: f16c31b5-6129-4571-add8-d589da9be524 format: uuid type: string links: additionalProperties: false description: A link that leads to further details about this particular occurrance of the problem. example: about: https://example.com/about_this_error properties: about: example: https://example.com/api/resource oneOf: - description: A string containing the link’s URL. example: https://example.com/api/resource type: string - additionalProperties: false example: href: https://example.com/api/resource properties: href: description: A string containing the link’s URL. example: https://example.com/api/resource type: string meta: additionalProperties: true description: Free-form object that may contain non-standard information. example: key1: value1 key2: sub_key: sub_value key3: - array_value1 - array_value2 type: object required: - href type: object type: object meta: additionalProperties: true example: key: value type: object source: additionalProperties: false example: pointer: /data/attributes properties: parameter: description: A string indicating which URI query parameter caused the error. example: param1 type: string pointer: description: A JSON Pointer [RFC6901] to the associated entity in the request document. example: /data/attributes type: string type: object status: description: The HTTP status code applicable to this problem, expressed as a string value. example: '400' pattern: ^[45]\d\d$ type: string title: description: A short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization. example: Bad request type: string required: - status - detail type: object minItems: 1 type: array jsonapi: additionalProperties: false example: version: '1.0' properties: version: description: Version of the JSON API specification this server supports. example: '1.0' pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)$ type: string required: - version type: object required: - jsonapi - errors type: object RepositoryAliasesData: additionalProperties: false properties: attributes: $ref: '#/components/schemas/RepositoryAliasItemAttributes' id: description: The _id of the canonical reference document in the asset-reference collection format: uuid type: string type: enum: - asset_aliases type: string required: - id - type - attributes type: object SelfLink: additionalProperties: false example: self: https://example.com/api/this_resource properties: self: $ref: '#/components/schemas/LinkProperty' type: object AssetTagsUpdate: additionalProperties: false description: 'Updates the asset''s custom tags by adding or removing tag key-value pairs. ' properties: add: additionalProperties: maxLength: 40 pattern: ^[a-zA-Z0-9_/:?#@&=+%~-]+$ type: string description: 'Tags to add to the asset (key-value pairs). Tag keys must be 1-30 characters long and contain only alphanumeric characters, underscores, and hyphens. ' type: object remove: description: Tag keys to remove from the asset items: maxLength: 30 pattern: ^[a-zA-Z0-9_-]+$ type: string type: array type: object UpdateAssetAttributes: additionalProperties: false properties: class: $ref: '#/components/schemas/AssetClass' labels: $ref: '#/components/schemas/AssetLabelsUpdate' tags: $ref: '#/components/schemas/AssetTagsUpdate' type: object CoverageControlAttributes: example: category: security gap: true issues_count: critical: 1 high: 2 low: 0 medium: 0 last_scan: '2023-10-10T08:00:00Z' name: control1 properties: category: description: Category of the control type: string gap: description: indicates if there is a coverage gap type: boolean issues_count: $ref: '#/components/schemas/IssuesCountAttributes' last_scan: description: Last scan date for this control format: date-time type: string name: description: Name of the control type: string type: object RepositoryAliasItemAttributes: additionalProperties: false properties: new_url: description: The alias URL on the canonical document type: string url: description: The primary URL of the canonical document type: string required: - url - new_url type: object SearchAttributesObject: properties: attribute: description: 'Name of the Asset attribute to filter on, not required if a logical operator is used. **Tags Filtering:** The API supports filtering on tags using dot notation: - **Tags**: `tags.{tagName}` - Filter by tag keys (e.g., `tags.environment`, `tags.team`, `tags.owner`) ' oneOf: - enum: - id - type - removed - name - repository_url - file_path - sources - risk_factors - repository_freshness - browse_url - image_id - image_digests - image_tags - image_repositories - image_registries - labels - class - organizations - created_at - updated_at type: string - description: Tag attribute in the format `tags.{tagName}` pattern: ^tags\.[a-zA-Z0-9_-]{1,30}$ type: string operator: description: Required, name of the Operator for the query enum: - and - or - equal - not_equal - contains - not_contains - starts_with - ends_with - in - not_in - greater_than - lower_than - equal_or_greater_than - equal_or_lower_than type: string values: description: Required values, which can be strings, dates, integers, booleans, or nested attributes items: oneOf: - description: A string value type: string - description: A date value in ISO 8601 format format: date type: string - description: An integer value type: integer - $ref: '#/components/schemas/SearchAttributesObject' - description: A boolean value type: boolean type: array required: - operator - values type: object AddRepositoryAliasAttributes: properties: new_url: description: The alias URL to link to the canonical URL example: https://github.com/org/repo-renamed.git type: string url: description: The canonical URL example: https://github.com/org/repo.git type: string required: - url - new_url type: object RemoveRepositoryAliasRequestData: properties: attributes: $ref: '#/components/schemas/RemoveRepositoryAliasAttributes' id: description: The _id of the canonical reference document in the asset-reference collection format: uuid type: string type: enum: - asset_aliases type: string required: - type - id - attributes type: object AddRepositoryAliasRequestData: properties: attributes: $ref: '#/components/schemas/AddRepositoryAliasAttributes' type: enum: - asset_aliases type: string required: - type - attributes type: object ListRepositoryAliasesResponse: additionalProperties: false properties: data: items: $ref: '#/components/schemas/RepositoryAliasesData' type: array jsonapi: additionalProperties: false properties: version: type: string type: object links: $ref: '#/components/schemas/PaginationLinks' type: object Links: additionalProperties: false properties: first: $ref: '#/components/schemas/LinkProperty' last: $ref: '#/components/schemas/LinkProperty' next: $ref: '#/components/schemas/LinkProperty' prev: $ref: '#/components/schemas/LinkProperty' related: $ref: '#/components/schemas/LinkProperty' self: $ref: '#/components/schemas/LinkProperty' type: object AssetResponseData: description: asset resource object properties: attributes: $ref: '#/components/schemas/AssetAttributes' id: format: uuid type: string relationships: $ref: '#/components/schemas/AssetRelationships' removed: type: boolean type: enum: - repository - image - package example: repository type: string required: - id - type type: object UpdateAssetRequestData: description: Asset update request data properties: attributes: $ref: '#/components/schemas/UpdateAssetAttributes' id: format: uuid type: string type: enum: - repository - image - package type: string required: - type - id - attributes type: object AssetRelationships: properties: assets: properties: links: properties: related: type: string type: object type: object organizations: description: Snyk Organizations with Projects that map to this asset nullable: true properties: data: items: properties: attributes: properties: name: nullable: true type: string type: object id: type: string type: type: string type: object type: array type: object projects: properties: links: properties: related: type: string type: object type: object type: object LinkProperty: example: https://example.com/api/resource oneOf: - description: A string containing the link’s URL. example: https://example.com/api/resource type: string - additionalProperties: false example: href: https://example.com/api/resource properties: href: description: A string containing the link’s URL. example: https://example.com/api/resource type: string meta: additionalProperties: true description: Free-form object that may contain non-standard information. example: key1: value1 key2: sub_key: sub_value key3: - array_value1 - array_value2 type: object required: - href type: object headers: SunsetHeader: description: 'A header containing the date of when the underlying endpoint will be removed. This header is only present if the endpoint has been deprecated. For information purposes only. Returned as a date in the format: YYYY-MM-DD' example: '2021-08-02' schema: format: date type: string VersionRequestedResponseHeader: description: A header containing the version of the endpoint requested by the caller. example: '2026-03-25' schema: $ref: '#/components/schemas/QueryVersion' VersionServedResponseHeader: description: A header containing the version of the endpoint that was served by the API. example: '2026-03-25' schema: $ref: '#/components/schemas/ActualVersion' VersionStageResponseHeader: description: 'A header containing the version stage of the endpoint. This stage describes the guarantees snyk provides surrounding stability of the endpoint. ' schema: enum: - wip - experimental - beta - ga - deprecated - sunset example: ga type: string RequestIdResponseHeader: description: 'A header containing a unique id used for tracking this request. If you are reporting an issue to Snyk it''s very helpful to provide this ID. ' example: 4b58e274-ec62-4fab-917b-1d2c48d6bdef schema: format: uuid type: string LocationHeader: description: 'A header providing a URL for the location of a resource ' example: https://example.com/resource/4 schema: format: url type: string DeprecationHeader: description: 'A header containing the deprecation date of the underlying endpoint. For more information, please refer to the deprecation header RFC: https://tools.ietf.org/id/draft-dalal-deprecation-header-01.html ' example: '2021-07-01T00:00:00Z' schema: format: date-time type: string responses: '409': content: application/vnd.api+json: schema: $ref: '#/components/schemas/ErrorDocument' description: 'Conflict: The requested operation conflicts with the current state of the resource in some way.' headers: deprecation: $ref: '#/components/headers/DeprecationHeader' snyk-request-id: $ref: '#/components/headers/RequestIdResponseHeader' snyk-version-lifecycle-stage: $ref: '#/components/headers/VersionStageResponseHeader' snyk-version-requested: $ref: '#/components/headers/VersionRequestedResponseHeader' snyk-version-served: $ref: '#/components/headers/VersionServedResponseHeader' sunset: $ref: '#/components/headers/SunsetHeader' '500': content: application/vnd.api+json: schema: $ref: '#/components/schemas/ErrorDocument' description: 'Internal Server Error: An error was encountered while attempting to process the request.' headers: deprecation: $ref: '#/components/headers/DeprecationHeader' snyk-request-id: $ref: '#/components/headers/RequestIdResponseHeader' snyk-version-lifecycle-stage: $ref: '#/components/headers/VersionStageResponseHeader' snyk-version-requested: $ref: '#/components/headers/VersionRequestedResponseHeader' snyk-version-served: $ref: '#/components/headers/VersionServedResponseHeader' sunset: $ref: '#/components/headers/SunsetHeader' '400': content: application/vnd.api+json: schema: $ref: '#/components/schemas/ErrorDocument' description: 'Bad Request: A parameter provided as a part of the request was invalid.' headers: deprecation: $ref: '#/components/headers/DeprecationHeader' snyk-request-id: $ref: '#/components/headers/RequestIdResponseHeader' snyk-version-lifecycle-stage: $ref: '#/components/headers/VersionStageResponseHeader' snyk-version-requested: $ref: '#/components/headers/VersionRequestedResponseHeader' snyk-version-served: $ref: '#/components/headers/VersionServedResponseHeader' sunset: $ref: '#/components/headers/SunsetHeader' '403': content: application/vnd.api+json: schema: $ref: '#/components/schemas/ErrorDocument' description: 'Forbidden: the request requires an authentication token with more or different permissions.' headers: deprecation: $ref: '#/components/headers/DeprecationHeader' snyk-request-id: $ref: '#/components/headers/RequestIdResponseHeader' snyk-version-lifecycle-stage: $ref: '#/components/headers/VersionStageResponseHeader' snyk-version-requested: $ref: '#/components/headers/VersionRequestedResponseHeader' snyk-version-served: $ref: '#/components/headers/VersionServedResponseHeader' sunset: $ref: '#/components/headers/SunsetHeader' '404': content: application/vnd.api+json: schema: $ref: '#/components/schemas/ErrorDocument' description: 'Not Found: The resource being operated on could not be found.' headers: deprecation: $ref: '#/components/headers/DeprecationHeader' snyk-request-id: $ref: '#/components/headers/RequestIdResponseHeader' snyk-version-lifecycle-stage: $ref: '#/components/headers/VersionStageResponseHeader' snyk-version-requested: $ref: '#/components/headers/VersionRequestedResponseHeader' snyk-version-served: $ref: '#/components/headers/VersionServedResponseHeader' sunset: $ref: '#/components/headers/SunsetHeader' '401': content: application/vnd.api+json: schema: $ref: '#/components/schemas/ErrorDocument' description: 'Unauthorized: the request requires an authentication token.' headers: deprecation: $ref: '#/components/headers/DeprecationHeader' snyk-request-id: $ref: '#/components/headers/RequestIdResponseHeader' snyk-version-lifecycle-stage: $ref: '#/components/headers/VersionStageResponseHeader' snyk-version-requested: $ref: '#/components/headers/VersionRequestedResponseHeader' snyk-version-served: $ref: '#/components/headers/VersionServedResponseHeader' sunset: $ref: '#/components/headers/SunsetHeader' securitySchemes: APIToken: description: API key value must be prefixed with \"Token \". in: header name: Authorization type: apiKey BearerAuth: scheme: bearer type: http x-snyk-api-version: '2024-10-15'