v4

latestOpenAPI 3.1.02026-08-02261331761.5 KB
Condition Sets

Create Condition Set

Creates a new condition set (can be either a user set or a resource set).

post/v2/schema/{proj_id}/{env_id}/condition_sets

Path parameters

proj_idstring required

Either the unique id of the project, or the URL-friendly key of the project (i.e: the "slug").

Either the unique id of the project, or the URL-friendly key of the project (i.e: the "slug").

env_idstring required

Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the "slug").

Either the unique id of the environment, or the URL-friendly key of the environment (i.e: the "slug").

Request body

keystring required

A unique id by which Permit will identify the condition set. The key will be used as the generated rego rule name.

type'userset' | 'resourceset'

An enumeration.

autogeneratedboolean

whether the set was autogenerated by the system.

namestring required

A descriptive name for the set, i.e: 'US based employees' or 'Users behind VPN'

descriptionstring

an optional longer description of the set

conditionsobject

a boolean expression that consists of multiple conditions, with and/or logic.

Example request

{
  "key": "na_based_employees",
  "name": "US or Canada based employees",
  "type": "userset",
  "conditions": {
    "allOf": [
      {
        "user.role": {
          "equals": "employee"
        }
      },
      {
        "user.location": {
          "in": [
            "US",
            "Canada"
          ]
        }
      }
    ]
  }
}

Response

Successful Response

keystring required

A unique id by which Permit will identify the condition set. The key will be used as the generated rego rule name.

type'userset' | 'resourceset'

An enumeration.

autogeneratedboolean

whether the set was autogenerated by the system.

idstring uuid required

Unique id of the condition set

organization_idstring uuid required

Unique id of the organization that the condition set belongs to.

project_idstring uuid required

Unique id of the project that the condition set belongs to.

environment_idstring uuid required

Unique id of the environment that the condition set belongs to.

created_atstring date-time required

Date and time when the condition set was created (ISO_8601 format).

updated_atstring date-time required

Date and time when the condition set was last updated/modified (ISO_8601 format).

namestring required

A descriptive name for the set, i.e: 'US based employees' or 'Users behind VPN'

descriptionstring

an optional longer description of the set

conditionsobject

a boolean expression that consists of multiple conditions, with and/or logic.

Example response

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
  "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
  "resource_id": "e05f8571-f31e-20b2-2c45-15ae74cfb0f1",
  "environment_id": "40ef0e48-a11f-4963-a229-e396c9f7e7c4",
  "created_at": "2019-08-24T14:15:22Z",
  "updated_at": "2019-08-24T14:15:22Z",
  "key": "na_based_employees",
  "name": "US or Canada based employees",
  "description": "All employees based in the US or Canada",
  "type": "userset",
  "autogenerated": false,
  "conditions": {
    "allOf": [
      {
        "user.role": {
          "equals": "employee"
        }
      },
      {
        "user.location": {
          "in": [
            "US",
            "Canada"
          ]
        }
      }
    ]
  }
}