Snyk Policies API

The Policies API from Snyk — 5 operation(s) for policies.

OpenAPI Specification

snyk-policies-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Snyk AccessRequests Policies API
  version: REST
servers:
- description: Snyk REST API
  url: https://api.snyk.io/rest
security:
- APIToken: []
- BearerAuth: []
tags:
- name: Policies
paths:
  /groups/{group_id}/policies:
    get:
      description: 'Get all policies for the requested group


        *Group level Policy APIs Access Notice:* Access to our Group level Policy APIs is currently

        restricted via "use-group-policy-apis" feature flag and will result in a 403 Forbidden error

        without the flag enabled. Please contact your account representative for eligibility requirements.


        #### Required permissions


        - `View Policies (group.policy.read)`'
      operationId: listGroupPolicies
      parameters:
      - $ref: '#/components/parameters/Version'
      - description: Group ID
        in: path
        name: group_id
        required: true
        schema:
          format: uuid
          type: string
      - $ref: '#/components/parameters/StartingAfter'
      - $ref: '#/components/parameters/EndingBefore'
      - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                additionalProperties: false
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/GroupPolicyResponse'
                    type: array
                  jsonapi:
                    $ref: '#/components/schemas/JsonApi'
                  links:
                    $ref: '#/components/schemas/PaginatedLinks'
                required:
                - jsonapi
                - data
                type: object
          description: The group policies for the requested group
          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'
      summary: Get group level policies (Early Access)
      tags:
      - Policies
      x-snyk-api-lifecycle: released
      x-snyk-api-releases:
      - 2024-10-15~beta
      x-snyk-api-resource: grouppolicies
      x-snyk-api-stability: beta
      x-snyk-api-version: 2024-10-15~beta
      x-stability-level: beta
    post:
      description: 'Create one new group level policy.


        *Group level Policy APIs Access Notice:* Access to our Group level Policy APIs is currently

        restricted via "use-group-policy-apis" feature flag and will result in a 403 Forbidden error

        without the flag enabled. Please contact your account representative for eligibility requirements.


        #### Required permissions


        - `Create Policies (group.policy.create)`'
      operationId: createGroupPolicy
      parameters:
      - $ref: '#/components/parameters/Version'
      - description: Group ID
        in: path
        name: group_id
        required: true
        schema:
          format: uuid
          type: string
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/CreateGroupPolicyPayload'
      responses:
        '201':
          content:
            application/vnd.api+json:
              schema:
                additionalProperties: false
                properties:
                  data:
                    $ref: '#/components/schemas/GroupPolicyResponse'
                  jsonapi:
                    $ref: '#/components/schemas/JsonApi'
                  links:
                    $ref: '#/components/schemas/Links'
                required:
                - jsonapi
                - data
                type: object
          description: A single policy is returned if it is successfully created.
          headers:
            deprecation:
              $ref: '#/components/headers/DeprecationHeader'
            location:
              schema:
                type: string
            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: Create a new group level policy (Early Access)
      tags:
      - Policies
      x-snyk-api-lifecycle: released
      x-snyk-api-releases:
      - 2024-10-15~beta
      x-snyk-api-resource: grouppolicies
      x-snyk-api-stability: beta
      x-snyk-api-version: 2024-10-15~beta
      x-stability-level: beta
  /groups/{group_id}/policies/{policy_id}:
    delete:
      description: 'Delete an existing group-level policy.


        *Group level Policy APIs Access Notice:* Access to our Group level Policy APIs is currently

        restricted via "use-group-policy-apis" feature flag and will result in a 403 Forbidden error

        without the flag enabled. Please contact your account representative for eligibility requirements.


        #### Required permissions


        - `Delete Policies (group.policy.delete)`'
      operationId: deleteGroupPolicy
      parameters:
      - $ref: '#/components/parameters/Version'
      - description: Group ID
        in: path
        name: group_id
        required: true
        schema:
          format: uuid
          type: string
      - $ref: '#/components/parameters/PolicyId'
      responses:
        '204':
          $ref: '#/components/responses/204'
        '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: Delete an group-level policy (Early Access)
      tags:
      - Policies
      x-snyk-api-lifecycle: released
      x-snyk-api-releases:
      - 2024-10-15~beta
      x-snyk-api-resource: grouppolicies
      x-snyk-api-stability: beta
      x-snyk-api-version: 2024-10-15~beta
      x-stability-level: beta
    patch:
      description: 'Update the group-level policy.


        *Group level Policy APIs Access Notice:* Access to our Group level Policy APIs is currently

        restricted via "use-group-policy-apis" feature flag and will result in a 403 Forbidden error

        without the flag enabled. Please contact your account representative for eligibility requirements.


        #### Required permissions


        - `Edit Policies (group.policy.edit)`'
      operationId: updateGroupPolicy
      parameters:
      - $ref: '#/components/parameters/Version'
      - description: Group ID
        in: path
        name: group_id
        required: true
        schema:
          format: uuid
          type: string
      - $ref: '#/components/parameters/PolicyId'
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/UpdateGroupPolicyPayload'
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                additionalProperties: false
                properties:
                  data:
                    $ref: '#/components/schemas/GroupPolicyResponse'
                  jsonapi:
                    $ref: '#/components/schemas/JsonApi'
                  links:
                    $ref: '#/components/schemas/SelfLink'
                required:
                - jsonapi
                - data
                type: object
          description: A single group policy is returned if it is successfully updated.
          headers:
            deprecation:
              $ref: '#/components/headers/DeprecationHeader'
            location:
              schema:
                type: string
            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'
      summary: Update a group-level policy (Early Access)
      tags:
      - Policies
      x-snyk-api-lifecycle: released
      x-snyk-api-releases:
      - 2024-10-15~beta
      x-snyk-api-resource: grouppolicies
      x-snyk-api-stability: beta
      x-snyk-api-version: 2024-10-15~beta
      x-stability-level: beta
  /orgs/{org_id}/policies:
    get:
      description: "Get all policies for the requested organisation.\n\n*Org level Policy APIs Access Notice:* Org level Policy APIs are only available \nfor use with Code Consistent Ignores. For information about how to enable Code Consistent Ignores \nsee [this](https://docs.snyk.io/manage-risk/prioritize-issues-for-fixing/ignore-issues/consistent-ignores-for-snyk-code#enable-snyk-code-consistent-ignores) \ndocumentation.\n\n#### Required permissions\n\n- `View Ignores (org.project.ignore.read)`"
      operationId: getOrgPolicies
      parameters:
      - $ref: '#/components/parameters/Version'
      - $ref: '#/components/parameters/StartingAfter'
      - $ref: '#/components/parameters/EndingBefore'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Search'
      - $ref: '#/components/parameters/OrderBy'
      - $ref: '#/components/parameters/OrderDirection'
      - description: Org ID
        in: path
        name: org_id
        required: true
        schema:
          format: uuid
          type: string
      - $ref: '#/components/parameters/Review'
      - description: Select only policies with an expiry strictly before the given time.
        in: query
        name: expires_before
        schema:
          example: '2024-03-16T00:00:00Z'
          format: date-time
          type: string
      - description: Select only policies with an expiry strictly past the given time.
        in: query
        name: expires_after
        schema:
          example: '2024-03-16T00:00:00Z'
          format: date-time
          type: string
      - description: Select only policies that never expire.
        in: query
        name: expires_never
        schema:
          example: true
          type: boolean
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                additionalProperties: false
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/PolicyResponse'
                    type: array
                  jsonapi:
                    $ref: '#/components/schemas/JsonApi'
                  links:
                    $ref: '#/components/schemas/PaginatedLinks'
                required:
                - jsonapi
                - data
                type: object
          description: The policies for the requested organisation.
          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'
      summary: Get org-level policies
      tags:
      - Policies
      x-snyk-api-lifecycle: released
      x-snyk-api-releases:
      - '2024-10-15'
      - '2026-03-25'
      x-snyk-api-resource: policies
      x-snyk-api-stability: ga
      x-snyk-api-version: '2026-03-25'
      x-stability-level: stable
    post:
      description: "Create a new org-level policy.\n\n*Org level Policy APIs Access Notice:* Org level Policy APIs are only available \nfor use with Code Consistent Ignores. For information about how to enable Code Consistent Ignores \nsee [this](https://docs.snyk.io/manage-risk/prioritize-issues-for-fixing/ignore-issues/consistent-ignores-for-snyk-code#enable-snyk-code-consistent-ignores) \ndocumentation.\n\n#### Required permissions\n\n- `Create Ignores (org.project.ignore.create)`"
      operationId: createOrgPolicy
      parameters:
      - $ref: '#/components/parameters/Version'
      - description: Org ID
        in: path
        name: org_id
        required: true
        schema:
          format: uuid
          type: string
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/CreatePolicyPayload'
      responses:
        '201':
          content:
            application/vnd.api+json:
              schema:
                additionalProperties: false
                properties:
                  data:
                    $ref: '#/components/schemas/PolicyResponse'
                  jsonapi:
                    $ref: '#/components/schemas/JsonApi'
                  links:
                    $ref: '#/components/schemas/SelfLink'
                required:
                - jsonapi
                - data
                type: object
          description: A single policy is returned if it is successfully created.
          headers:
            deprecation:
              $ref: '#/components/headers/DeprecationHeader'
            location:
              schema:
                type: string
            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: Create a new org-level policy
      tags:
      - Policies
      x-snyk-api-lifecycle: released
      x-snyk-api-releases:
      - '2024-10-15'
      - '2026-03-25'
      x-snyk-api-resource: policies
      x-snyk-api-stability: ga
      x-snyk-api-version: '2026-03-25'
      x-stability-level: stable
  /orgs/{org_id}/policies/{policy_id}:
    delete:
      description: "Delete an existing org-level policy.\n\n*Org level Policy APIs Access Notice:* Org level Policy APIs are only available \nfor use with Code Consistent Ignores. For information about how to enable Code Consistent Ignores \nsee [this](https://docs.snyk.io/manage-risk/prioritize-issues-for-fixing/ignore-issues/consistent-ignores-for-snyk-code#enable-snyk-code-consistent-ignores) \ndocumentation.\n\n#### Required permissions\n\n- `Remove Ignores (org.project.ignore.delete)`"
      operationId: deleteOrgPolicy
      parameters:
      - $ref: '#/components/parameters/Version'
      - description: Org ID
        in: path
        name: org_id
        required: true
        schema:
          format: uuid
          type: string
      - $ref: '#/components/parameters/PolicyId'
      responses:
        '204':
          $ref: '#/components/responses/204'
        '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: Delete an org-level policy
      tags:
      - Policies
      x-snyk-api-lifecycle: released
      x-snyk-api-releases:
      - '2024-10-15'
      - '2026-03-25'
      x-snyk-api-resource: policies
      x-snyk-api-stability: ga
      x-snyk-api-version: '2026-03-25'
      x-stability-level: stable
    get:
      description: "Get a specific org-level policy based on its ID.\n\n*Org level Policy APIs Access Notice:* Org level Policy APIs are only available \nfor use with Code Consistent Ignores. For information about how to enable Code Consistent Ignores \nsee [this](https://docs.snyk.io/manage-risk/prioritize-issues-for-fixing/ignore-issues/consistent-ignores-for-snyk-code#enable-snyk-code-consistent-ignores) \ndocumentation.\n\n#### Required permissions\n\n- `View Ignores (org.project.ignore.read)`"
      operationId: getOrgPolicy
      parameters:
      - $ref: '#/components/parameters/Version'
      - description: Org ID
        in: path
        name: org_id
        required: true
        schema:
          format: uuid
          type: string
      - $ref: '#/components/parameters/PolicyId'
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                additionalProperties: false
                properties:
                  data:
                    $ref: '#/components/schemas/PolicyResponse'
                  jsonapi:
                    $ref: '#/components/schemas/JsonApi'
                  links:
                    $ref: '#/components/schemas/Links'
                required:
                - jsonapi
                - data
                type: object
          description: The requested policy.
          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'
      summary: Get an org-level policy
      tags:
      - Policies
      x-snyk-api-lifecycle: released
      x-snyk-api-releases:
      - '2024-10-15'
      - '2026-03-25'
      x-snyk-api-resource: policies
      x-snyk-api-stability: ga
      x-snyk-api-version: '2026-03-25'
      x-stability-level: stable
    patch:
      description: "Update the org-level policy. \n\n*Org level Policy APIs Access Notice:* Org level Policy APIs are only available \nfor use with Code Consistent Ignores. For information about how to enable Code Consistent Ignores \nsee [this](https://docs.snyk.io/manage-risk/prioritize-issues-for-fixing/ignore-issues/consistent-ignores-for-snyk-code#enable-snyk-code-consistent-ignores) \ndocumentation.\n\n#### Required permissions\n\n- `Edit Ignores (org.project.ignore.edit)`"
      operationId: updateOrgPolicy
      parameters:
      - $ref: '#/components/parameters/Version'
      - description: Org ID
        in: path
        name: org_id
        required: true
        schema:
          format: uuid
          type: string
      - $ref: '#/components/parameters/PolicyId'
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/UpdatePolicyPayload'
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                additionalProperties: false
                properties:
                  data:
                    $ref: '#/components/schemas/PolicyResponse'
                  jsonapi:
                    $ref: '#/components/schemas/JsonApi'
                  links:
                    $ref: '#/components/schemas/SelfLink'
                required:
                - jsonapi
                - data
                type: object
          description: A single policy is returned if it is successfully updated.
          headers:
            deprecation:
              $ref: '#/components/headers/DeprecationHeader'
            location:
              schema:
                type: string
            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'
      summary: Update an org-level policy
      tags:
      - Policies
      x-snyk-api-lifecycle: released
      x-snyk-api-releases:
      - '2024-10-15'
      - '2026-03-25'
      x-snyk-api-resource: policies
      x-snyk-api-stability: ga
      x-snyk-api-version: '2026-03-25'
      x-stability-level: stable
  /orgs/{org_id}/policies/{policy_id}/events:
    get:
      description: 'Retrieve the event history for the given policy.


        *Org level Policy APIs Access Notice:* Access to our Org level Policy APIs is currently

        restricted via "snykCodeConsistentIgnores" and "ignoreApprovalWorkflow" feature flags

        and will result in a 403 Forbidden error without the flag enabled. Please contact your

        account representative for eligibility requirements.


        #### Required permissions


        - `View Ignores (org.project.ignore.read)`'
      operationId: getOrgPolicyEvents
      parameters:
      - $ref: '#/components/parameters/Version'
      - $ref: '#/components/parameters/StartingAfter'
      - $ref: '#/components/parameters/EndingBefore'
      - $ref: '#/components/parameters/Limit'
      - description: Org ID
        in: path
        name: org_id
        required: true
        schema:
          format: uuid
          type: string
      - $ref: '#/components/parameters/PolicyId'
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                additionalProperties: false
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/PolicyEventResponse'
                    type: array
                  jsonapi:
                    $ref: '#/components/schemas/JsonApi'
                  links:
                    $ref: '#/components/schemas/PaginatedLinks'
                required:
                - jsonapi
                - data
                type: object
          description: The requested policy.
          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'
      summary: List org policy events (Early Access)
      tags:
      - Policies
      x-snyk-api-lifecycle: released
      x-snyk-api-releases:
      - 2024-10-13~beta
      x-snyk-api-resource: policyevents
      x-snyk-api-stability: beta
      x-snyk-api-version: 2024-10-13~beta
      x-stability-level: beta
components:
  schemas:
    CreatePolicyPayload:
      properties:
        data:
          additionalProperties: false
          properties:
            attributes:
              $ref: '#/components/schemas/PolicyAttributes'
            meta:
              $ref: '#/components/schemas/Meta'
            type:
              enum:
              - policy
              type: string
          required:
          - type
          - attributes
          type: object
      required:
      - data
      type: object
    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
    GroupPolicyConditionExploitMaturity:
      additionalProperties: false
      description: Matches on the exploit maturity.
      properties:
        field:
          enum:
          - exploit-maturity
          type: string
          x-enum-varnames:
          - GroupPolicyExploitMaturity
        operator:
          $ref: '#/components/schemas/GroupPolicyConditionOperator'
        value:
          items:
            enum:
            - mature
            - proof-of-concept
            - no-known-exploit
            - no-data
            type: string
          minItems: 1
          type: array
      required:
      - field
      - operator
      - value
      type: object
    PolicyConditionsGroup:
      properties:
        conditions:
          items:
            $ref: '#/components/schemas/PolicyCondition'
          maxItems: 1
          minItems: 1
          type: array
        logical_operator:
          description: The logical operator for the policy condition. Currently only 'and' is supported.
          enum:
          - and
          type: string
      required:
      - logical_operator
      - conditions
      type: object
    PolicyActionIgnore:
      additionalProperties: false
      properties:
        data:
          $ref: '#/components/schemas/PolicyActionIgnoreData'
      required:
      - data
      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
    GroupPolicyConditionEnvironment:
      additionalProperties: false
      description: Matches on the project environment - if environment is provided, the policy will only apply to projects with the specified environment.
      properties:
        field:
          enum:
          - environment
          type: string
          x-enum-varnames:
          - GroupPolicyEnvironment
        operator:
          $ref: '#/components/schemas/GroupPolicyConditionOperator'
        value:
          items:
            enum:
            - frontend
            - backend
            - mobile
            - internal
            - external
            - saas
            - on-prem
            - hosted
            - distributed
            type: string
          minItems: 1
          type: array
      required:
      - field
      - operator
      - value
      type: object
    PolicyEventResponse:
      additionalProperties: false
      properties:
        attributes:
          $ref: '#/components/schemas/PolicyEventAttributes'
        id:
          description: A unique identifier for this event.
          example: f16c31b5-6129-4571-add8-d589da9be524
          format: uuid
          type: string
        type:
          enum:
          - policy_event
          type: string
      required:
      - id
      - type
      - attributes
      type: object
    PolicyEventChanges:
      additionalProperties: false
      properties:
        new_action:
          $ref: '#/components/schemas/PolicyActionIgnore__0'
        new_conditions_group:
          $ref: '#/components/schemas/PolicyConditionsGroup'
        new_name:
          type: string
        new_review:
          $ref: '#/components/schemas/PolicyReview'
        old_action:
          $ref: '#/components/schemas/PolicyActionIgnore__0'
        old_conditions_group:
          $ref: '#/components/schemas/PolicyConditionsGroup'
        old_name:
          type: string
        old_review:
          $ref: '#/components/schemas/PolicyReview'
      type: object
    GroupPolicyRequestAttributes:
      additionalProperties: false
      properties:
        action:
          $ref: '#/components/schemas/GroupPolicyAction'
        action_type:
          $ref: '#/components/schemas/GroupPolicyActionType'
        conditions_group:
          $ref: '#/components/schemas/GroupPolicyConditionsGroup'
        name:
          type: string
      required:
      - name
      - conditions_group
      - action_type
      - action
      type: object
    GroupPolicyResponse:
      additionalProperties: false
      properties:
        attributes:
          $ref: '#/components/schemas/GroupPolicyResponseAttributes'
        id:
          description: A unique identifier for this particular occurrence of the group level policy.
          example: f16c31b5-6129-4571-add8-d589da9be524
          format: uuid
          type: string
        type:
          enum:
          - policy
          type: string
      required:
      - id
      - type
      - attributes
      type: object
    PaginatedLinks:
      additionalProperties: false
      example:
        first: https://example.com/api/resource?ending_before=v1.eyJpZCI6IjExIn0K
        last: https://example.com/api/resource?starting_after=v1.eyJpZCI6IjMwIn0K
        next: https://example.com/api/resource?starting_after=v1.eyJpZCI6IjEwIn0K
      properties:
        first:
          $ref: '#/components/schemas/LinkProperty'
        last:
          $ref: '#/components/schemas/LinkProperty'
        next:
          $ref: '#/components/schemas/LinkProperty'
        prev:
          $ref: '#/components/schemas/LinkProperty'
        self:
          $ref: '#/components/schemas/LinkProperty'
      type: object
    PolicyActionIgnore__0:
      additionalProperties: false
      properties:
        data:
          $ref: '#/components/schemas/PolicyActionIgnoreData__0'
      required:
      - data
      type: object
    GroupPolicyActionAnnota

# --- truncated at 32 KB (69 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/snyk/refs/heads/main/openapi/snyk-policies-api-openapi.yml