---
updatedAt: 2026-06-04T19:58:43.000Z
agentTools:
  projectIndex: https://docs.wristband.dev/llms.txt
---

# Resolve Assignable Permission Boundaries for a Role

Resolves the permissions that can be assigned to the specified role.

### Query Filter Attributes

| Name               | Type   | Case Sensitive | Supported Comparison Operators      |
| ------------------ | ------ | -------------- | ----------------------------------- |
| `type`             | String | No             | eq, ne, in, nin                     |
| `name`             | String | No             | eq, ne, sw, lt, le, gt, ge, in, nin |
| `displayName`      | String | No             | eq, ne, sw, lt, le, gt, ge, in, nin |
| `value`            | String | No             | eq, ne, sw, lt, le, gt, ge, in, nin |
| `tenantVisibility` | String | No             | eq, ne, in, nin                     |

### Sort Attributes

* `type`
* `name`
* `displayName`
* `value`
* `tenantVisibility`

### Required Permissions

Below is the list of required permissions needed to interact with this API.  For each permission, the allowed permission boundaries are also specified.

| Permission                   | Boundary              | Description                                                                                                                                                                           |
| ---------------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **permission-boundary:read** | Application           | The subject can perform this request if the role specified in the URL path is associated with the subject's application.                                                              |
|                              | Tenant                | The subject can perform this request if the subject's associated tenant owns the role specified in the URL path.                                                                      |
|                              | Tenant Inclusion List | The subject can perform this request if the role specified in the URL path is owned by a tenant included in the tenant inclusion list.                                                |
|                              | Tenant Exclusion List | The subject can perform this request if the role specified in the URL path belongs to the subject's associated application and is owned by a tenant not on the tenant exclusion list. |

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Resource Management APIs",
    "version": "1.0.0",
    "description": "Resource Management APIs",
    "license": {
      "name": "Private",
      "url": "https://wristband.dev/terms/"
    },
    "termsOfService": "https://wristband.dev/terms/",
    "contact": {
      "name": "Wristband Support",
      "email": "support@wristband.dev",
      "url": "https://wristband.dev/contact/"
    }
  },
  "servers": [
    {
      "url": "https://{application_vanity_domain}",
      "description": "Wristband application scoped URL.",
      "variables": {
        "application_vanity_domain": {
          "default": "yourapp-yourorg.us.wristband.dev",
          "description": "Wristband vanity domain scoped to a specific application."
        }
      }
    }
  ],
  "tags": [
    {
      "name": "Permission Boundaries",
      "description": "Permission Boundaries",
      "x-displayName": "Permission Boundaries"
    }
  ],
  "paths": {
    "/api/v1/roles/{roleId}/resolve-assignable-permission-boundaries": {
      "parameters": [
        {
          "$ref": "#/components/parameters/Resource_Management_APIs_RoleId"
        }
      ],
      "post": {
        "summary": "Resolve Assignable Permission Boundaries for a Role",
        "operationId": "resolveAssignablePermissionBoundariesForRoleV1",
        "tags": [
          "Permission Boundaries"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/Resource_Management_APIs_Query"
          },
          {
            "$ref": "#/components/parameters/Resource_Management_APIs_SortBy"
          },
          {
            "$ref": "#/components/parameters/Resource_Management_APIs_StartIndex"
          },
          {
            "$ref": "#/components/parameters/Resource_Management_APIs_Count"
          },
          {
            "$ref": "#/components/parameters/Resource_Management_APIs_Fields"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Resource_Management_APIs_PermissionBoundaryOffsetPaginatedResults"
                },
                "examples": {
                  "Example 1": {
                    "$ref": "#/components/examples/Resource_Management_APIs_PermissionBoundaryOffsetPaginatedResults"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Resource_Management_APIs_400-default"
          },
          "401": {
            "$ref": "#/components/responses/Resource_Management_APIs_401"
          },
          "403": {
            "$ref": "#/components/responses/Resource_Management_APIs_403"
          },
          "404": {
            "$ref": "#/components/responses/Resource_Management_APIs_404-role-not-found"
          },
          "405": {
            "$ref": "#/components/responses/Resource_Management_APIs_405"
          },
          "406": {
            "$ref": "#/components/responses/Resource_Management_APIs_406"
          },
          "500": {
            "$ref": "#/components/responses/Resource_Management_APIs_500"
          },
          "503": {
            "$ref": "#/components/responses/Resource_Management_APIs_503"
          }
        },
        "security": [
          {
            "Resource_Management_APIs_BearerAuth": []
          }
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "Resource_Management_APIs_BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    },
    "parameters": {
      "Resource_Management_APIs_Fields": {
        "name": "fields",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "default": "*",
          "example": "field1,field2",
          "minLength": 0
        },
        "description": "List of resource fields that should be returned in a response.  The wildcard value of `*` can be used to return all fields for the resource.",
        "style": "form"
      },
      "Resource_Management_APIs_Query": {
        "name": "query",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "default": "\"\"",
          "example": "foo eq 'bar'",
          "minLength": 0
        },
        "description": "Query expression used to filter returned results in a query API call."
      },
      "Resource_Management_APIs_SortBy": {
        "name": "sort_by",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "example": "foo:desc,bar:asc"
        },
        "description": "List of attributes that the results of a query should be sorted by along with their corresponding sort orders.  The items that occur earlier in the list will have higher sorting precedence than those that occur later in the list."
      },
      "Resource_Management_APIs_StartIndex": {
        "name": "start_index",
        "in": "query",
        "required": false,
        "schema": {
          "type": "number",
          "default": 1,
          "example": 1,
          "minimum": 1
        },
        "description": "A 1-based index indicating the position of the first item that should be returned in the query response."
      },
      "Resource_Management_APIs_Count": {
        "name": "count",
        "in": "query",
        "required": false,
        "schema": {
          "type": "number",
          "minimum": 0,
          "default": 20,
          "example": 20
        },
        "description": "The maximum number of results that can be returned in a query response.  If the value is set to 0 then the items array in the response will be empty; however the total results will still be set so you can see how many items this query matched."
      },
      "Resource_Management_APIs_RoleId": {
        "name": "roleId",
        "description": "The Id of the role",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "example": "jayovsssgbgbpk47ihblujcm2e",
          "minLength": 1,
          "maxLength": 26
        }
      }
    },
    "schemas": {
      "Resource_Management_APIs_id": {
        "type": "string",
        "minLength": 1,
        "maxLength": 26,
        "example": "pl4a4aa4jzydksmrf3jnu5yfcw",
        "description": "Globally unique Id of the resource.",
        "readOnly": true
      },
      "Resource_Management_APIs_api-error": {
        "title": "ApiError",
        "type": "object",
        "description": "API error object",
        "x-examples": {
          "Example 1": {
            "code": "invalid_request",
            "message": "The request was invalid",
            "ticket": "11t7n71hi5e6t"
          }
        },
        "properties": {
          "type": {
            "type": "string",
            "example": "base_error",
            "minLength": 1,
            "description": "The type of the API error.",
            "readOnly": true
          },
          "code": {
            "type": "string",
            "example": "invalid_request",
            "minLength": 1,
            "description": "A code identifying the error that occurred.",
            "readOnly": true
          },
          "message": {
            "type": "string",
            "example": "The request was invalid",
            "description": "A free text message describing the error.  This error message is only meant to help developers understand the cause of the error.  It should not be used for programmatic purposes.",
            "readOnly": true
          },
          "ticket": {
            "type": "string",
            "example": "11t7n71hi5e6t",
            "description": "Ticket that can help correlate the error to the backend",
            "readOnly": true
          },
          "details": {
            "type": "object",
            "description": "A map of details about the error. The keys are defined by the API.",
            "additionalProperties": {},
            "example": {
              "attemptsRemaining": 4
            }
          }
        },
        "required": [
          "type",
          "code"
        ]
      },
      "Resource_Management_APIs_constraint-violations-api-error": {
        "title": "ConstraintViolationsApiError",
        "description": "An API error that occurred due to a constraint violation",
        "allOf": [
          {
            "$ref": "#/components/schemas/Resource_Management_APIs_api-error"
          },
          {
            "type": "object",
            "readOnly": true,
            "required": [
              "violations"
            ],
            "properties": {
              "violations": {
                "type": "object",
                "readOnly": true,
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "A code identifying the constraint violation.",
                    "minLength": 1,
                    "example": "too_long"
                  },
                  "constraintAttributes": {
                    "type": "object",
                    "description": "A map of constraint attribute values.",
                    "additionalProperties": {
                      "type": "string"
                    },
                    "example": {
                      "maxLength": "10"
                    }
                  }
                }
              }
            }
          }
        ],
        "x-examples": {
          "Example 1": {
            "type": "constraint_violations_error",
            "code": "message_body_constraint_violations",
            "message": "The request contained invalid fields",
            "ticket": "11t7n71hi5e6t",
            "violations": {
              "field1": {
                "code": "too_long",
                "constraintAttributes": {
                  "maxLength": "10"
                }
              },
              "field2": {
                "code": "not_null"
              }
            }
          }
        }
      },
      "Resource_Management_APIs_offset-paginated-results": {
        "title": "OffsetPaginatedResults",
        "type": "object",
        "description": "Offset paginated results returned from a query API call.",
        "x-examples": {
          "Example 1": {
            "totalResults": 200,
            "startIndex": 1,
            "itemsPerPage": 10
          }
        },
        "properties": {
          "totalResults": {
            "type": "integer",
            "format": "int64",
            "example": 200,
            "minimum": 0,
            "description": "The total number of results that satisfied the query expression.",
            "readOnly": true
          },
          "startIndex": {
            "type": "integer",
            "format": "int32",
            "example": 1,
            "minimum": 1,
            "description": "A 1-based index representing the position of the first result in the returned query response.",
            "readOnly": true
          },
          "itemsPerPage": {
            "type": "integer",
            "format": "int32",
            "example": 10,
            "minimum": 0,
            "description": "The number of results returned in a page.",
            "readOnly": true
          }
        },
        "required": [
          "totalResults",
          "startIndex",
          "itemsPerPage"
        ]
      },
      "Resource_Management_APIs_version-metadata": {
        "title": "VersionMetadata",
        "type": "object",
        "description": "Version metadata associated to a resource.",
        "properties": {
          "version": {
            "type": "string",
            "example": "1.0",
            "description": "The version of the resource",
            "readOnly": true
          },
          "lastModifiedTime": {
            "type": "string",
            "format": "date-time",
            "example": "2016-06-13T19:49:31.686Z",
            "description": "The time at which the resource was last modified",
            "readOnly": true
          },
          "creationTime": {
            "type": "string",
            "format": "date-time",
            "example": "2016-06-13T19:49:31.686Z",
            "description": "The time at which the resource was created",
            "readOnly": true
          }
        }
      },
      "Resource_Management_APIs_applicationOnlyCreateOwnerType": {
        "description": "[Required on Create] The type of the owner of the resource.",
        "type": "string",
        "enum": [
          "APPLICATION"
        ],
        "minLength": 1,
        "maxLength": 30,
        "example": "APPLICATION"
      },
      "Resource_Management_APIs_createOwnerId": {
        "description": "[Required on Create] The ID of the owner of the resource.",
        "type": "string",
        "minLength": 1,
        "maxLength": 26,
        "example": "d7aml4q5lza3fdi2gavzdliouy"
      },
      "Resource_Management_APIs_PermissionBoundary": {
        "title": "Permission Boundary",
        "description": "Permission Boundary",
        "type": "object",
        "x-tags": [
          "Models"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Resource_Management_APIs_id"
          },
          "ownerType": {
            "$ref": "#/components/schemas/Resource_Management_APIs_applicationOnlyCreateOwnerType"
          },
          "ownerId": {
            "$ref": "#/components/schemas/Resource_Management_APIs_createOwnerId"
          },
          "type": {
            "description": "[Required on Create] Enum representing the permission boundary type.\n\n- `PREDEFINED`: [Read-only] A predefined permission boundary.  These permission boundaries are created by Wristband.\n- `CUSTOM`: A custom permission boundary that was created by an end user.\n- `TENANT_INCLUSION_LIST`: The boundary consists of all tenants in the resource list. (For multi-tenant apps only)\n- `TENANT_EXCLUSION_LIST`: The boundary consists of all tenants under an application not specified in the resource list. (For multi-tenant apps only)",
            "type": "string",
            "enum": [
              "PREDEFINED",
              "CUSTOM",
              "TENANT_INCLUSION_LIST",
              "TENANT_EXCLUSION_LIST"
            ],
            "minLength": 1,
            "maxLength": 45,
            "example": "CUSTOM"
          },
          "name": {
            "description": "[Required on Create] The name of the permission boundary. Name must be unique (case-insensitive) within an application.\nPredefined boundary names are prefixed with `predefined:`.  Non-predefined, application-level boundary names are prefixed with `app:<app_domain_name>:name`.",
            "type": "string",
            "pattern": "^[a-zA-Z0-9]+(-+[a-zA-Z0-9]+)*$",
            "minLength": 1,
            "maxLength": 40,
            "example": "custom-boundary"
          },
          "displayName": {
            "description": "[Required on Create] The display name of the permission boundary.",
            "type": "string",
            "minLength": 1,
            "maxLength": 60,
            "example": "Custom Boundary"
          },
          "value": {
            "description": "The value of the role boundary.  This value must be unique (case-insensitive) per application and adhere to the following constraints:\n\n- Value is required when the type is either `PREDEFINED` OR `CUSTOM`.\n- Value must be `null` when the type is either `TENANT_INCLUSION_LIST` or `TENANT_EXCLUSION_LIST`.\n- For the `PREDEFINED` type, the value must be one of `APPLICATION`, `TENANT`, or `SELF`.\n- For the `CUSTOM` type, the value can be anything.",
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "example": "boundary-value"
          },
          "description": {
            "description": "Optional description of the permission boundary.",
            "type": "string",
            "minLength": 1,
            "maxLength": 500,
            "example": "This permission boundary is limited to only a few tenants."
          },
          "resourceList": {
            "description": "The list of resources that comprise the permission boundary. The list can be empty for `TENANT_INCLUSION_LIST` and `TENANT_EXCLUSION_LIST` types, but it must be empty for all other types.",
            "type": "array",
            "maxItems": 10,
            "uniqueItems": true,
            "items": {
              "description": "The ID of the tenant resource which comprises the boundary.",
              "type": "string",
              "minLength": 1,
              "maxLength": 26,
              "example": "jayovsssgbgbpk47ihblujcm2e"
            },
            "example": [
              "jayovsssgbgbpk47ihblujcm2e"
            ]
          },
          "tenantVisibility": {
            "description": "[Required on Create] Enum representing the tenants that this permission boundary should be visible to.\n\n- `ALL`: The permission boundary is visible to all tenants, and it can be assigned to any tenant-owned role or permission group.  Useful for application boundaries that can be assigned to tenant-owned roles or permission groups.\n- `NONE`: The permission boundary is not visible to any tenants, and it cannot be assigned to any tenant-owned roles or permission groups.  Useful for internal application boundaries that tenants should not be aware of.",
            "type": "string",
            "enum": [
              "ALL",
              "NONE"
            ],
            "minLength": 1,
            "maxLength": 45,
            "example": "ALL"
          },
          "metadata": {
            "$ref": "#/components/schemas/Resource_Management_APIs_version-metadata"
          }
        },
        "example": {
          "ownerType": "APPLICATION",
          "ownerId": "pl4a4aa4jzydksmrf3jnu5yfcw",
          "type": "TENANT_EXCLUSION_LIST",
          "name": "excluded-tenants",
          "displayName": "Excluded Tenants",
          "description": "Boundary that excludes a group of tenants.",
          "resourceList": [
            "jayovsssgbgbpk47ihblujcm2e"
          ],
          "tenantVisibility": "ALL"
        }
      },
      "Resource_Management_APIs_PermissionBoundaryOffsetPaginatedResults": {
        "title": "Permission Boundary Offset Paginated Results",
        "description": "Permission Boundary Offset Paginated Results",
        "x-tags": [
          "Models"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Resource_Management_APIs_offset-paginated-results"
          },
          {
            "type": "object",
            "description": "Permission Boundary Offset Paginated Results",
            "required": [
              "items"
            ],
            "properties": {
              "items": {
                "type": "array",
                "description": "Array of permission boundaries that satisfied the query criteria",
                "uniqueItems": true,
                "readOnly": true,
                "items": {
                  "$ref": "#/components/schemas/Resource_Management_APIs_PermissionBoundary"
                }
              }
            }
          }
        ],
        "example": {
          "totalResults": 200,
          "startIndex": 1,
          "itemsPerPage": 10,
          "items": [
            {
              "id": "a4jzydksmrf3jnu5yfcwpl4a4a",
              "ownerType": "APPLICATION",
              "ownerId": "pl4a4aa4jzydksmrf3jnu5yfcw",
              "type": "CUSTOM",
              "name": "custom-boundary",
              "displayName": "Custom Boundary",
              "value": "custom-boundary-value",
              "description": "A custom permission boundary.",
              "tenantVisibility": "NONE",
              "metadata": {
                "version": "0.0",
                "lastModifiedTime": "2021-06-13T19:49:31.686Z",
                "creationTime": "2021-06-13T19:49:31.686Z"
              }
            }
          ]
        }
      }
    },
    "examples": {
      "Resource_Management_APIs_PermissionBoundaryOffsetPaginatedResults": {
        "description": "Permission Boundary Offset Paginated Results JSON object.",
        "value": {
          "totalResults": 200,
          "startIndex": 1,
          "itemsPerPage": 10,
          "items": [
            {
              "id": "a4jzydksmrf3jnu5yfcwpl4a4a",
              "ownerType": "APPLICATION",
              "ownerId": "pl4a4aa4jzydksmrf3jnu5yfcw",
              "type": "CUSTOM",
              "name": "custom-boundary",
              "displayName": "Custom Boundary",
              "value": "custom-boundary-value",
              "description": "A custom permission boundary.",
              "tenantVisibility": "NONE",
              "metadata": {
                "version": "0.0",
                "lastModifiedTime": "2021-06-13T19:49:31.686Z",
                "creationTime": "2021-06-13T19:49:31.686Z"
              }
            }
          ]
        }
      }
    },
    "responses": {
      "Resource_Management_APIs_401": {
        "description": "Unauthorized",
        "headers": {
          "WWW-Authenticate": {
            "description": "Includes details on the failed authentication condition. This header is set in accordance with the [OAuth2 specification](https://datatracker.ietf.org/doc/html/rfc6750#section-3).",
            "schema": {
              "type": "string",
              "example": "Bearer error=\"invalid_token\", error_description=\"The provided access token was invalid\""
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Resource_Management_APIs_api-error"
            },
            "examples": {
              "code - unauthenticated": {
                "value": {
                  "type": "base_error",
                  "code": "invalid_access_token",
                  "message": "The provided access token was invalid",
                  "ticket": "1u0d0edhwbjsd"
                }
              }
            }
          }
        }
      },
      "Resource_Management_APIs_403": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Resource_Management_APIs_api-error"
            },
            "examples": {
              "code - unauthorized": {
                "value": {
                  "type": "base_error",
                  "code": "unauthorized",
                  "message": "The request failed authorization",
                  "ticket": "11t7n71hi5e6t"
                }
              }
            }
          }
        }
      },
      "Resource_Management_APIs_405": {
        "description": "Method Not Allowed",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Resource_Management_APIs_api-error"
            },
            "examples": {
              "code - method_not_supported": {
                "value": {
                  "type": "base_error",
                  "code": "method_not_supported",
                  "message": "The specified HTTP method is not supported",
                  "ticket": "11t7n71hi5e6t"
                }
              }
            }
          }
        }
      },
      "Resource_Management_APIs_406": {
        "description": "Not Acceptable",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Resource_Management_APIs_api-error"
            },
            "examples": {
              "code - not_acceptable": {
                "value": {
                  "type": "base_error",
                  "code": "not_acceptable",
                  "message": "The Accept header was invalid",
                  "ticket": "11t7n71hi5e6t"
                }
              }
            }
          }
        }
      },
      "Resource_Management_APIs_500": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Resource_Management_APIs_api-error"
            },
            "examples": {
              "code - internal_server_failure ": {
                "value": {
                  "type": "base_error",
                  "code": "internal_server_failure",
                  "message": "An unexpected error occurred while processing the request",
                  "ticket": "11t7n71hi5e6t"
                }
              }
            }
          }
        }
      },
      "Resource_Management_APIs_503": {
        "description": "Service Unavailable",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Resource_Management_APIs_api-error"
            },
            "examples": {
              "code - service_unavailable": {
                "value": {
                  "type": "base_error",
                  "code": "service_unavailable",
                  "message": "The service is currently unavailable",
                  "ticket": "11t7n71hi5e6t"
                }
              }
            }
          }
        }
      },
      "Resource_Management_APIs_400-default": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Resource_Management_APIs_api-error"
                },
                {
                  "$ref": "#/components/schemas/Resource_Management_APIs_constraint-violations-api-error"
                }
              ]
            },
            "examples": {
              "code - invalid_request": {
                "value": {
                  "type": "base_error",
                  "code": "invalid_request",
                  "message": "The request was invalid",
                  "ticket": "11t7n71hi5e6t"
                }
              },
              "code - request_constraint_violations": {
                "value": {
                  "type": "constraint_violations_error",
                  "code": "message_body_constraint_violations",
                  "message": "The message body contained invalid fields",
                  "ticket": "11t7n71hi5e6t",
                  "violations": {
                    "field1": {
                      "code": "too_long",
                      "constraintAttributes": {
                        "maxLength": 10
                      }
                    },
                    "field2": {
                      "code": "not_null"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "Resource_Management_APIs_404-role-not-found": {
        "description": "Not Found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Resource_Management_APIs_api-error"
            },
            "examples": {
              "code - role_not_found": {
                "value": {
                  "type": "base_error",
                  "code": "role_not_found",
                  "message": "Role could not be found",
                  "ticket": "11t7n71hi5e6t"
                }
              }
            }
          }
        }
      }
    }
  },
  "x-tagGroups": [
    {
      "name": "Resource Management APIs",
      "tags": [
        "Applications",
        "Auth Factors",
        "Auth Sessions",
        "Auth Session Policies",
        "Bot Detection Policies",
        "Custom Claims",
        "Custom Domains",
        "Email Brandings",
        "Email Domains",
        "Email Policies",
        "External IdP Profiles",
        "External IdP Tokens",
        "Identity Providers",
        "IdP Attribute Mappings",
        "IdP Role Mappings",
        "MFA Policies",
        "OAuth2 Clients",
        "Page Brandings",
        "Password Policies",
        "Permissions",
        "Permission Boundaries",
        "Permission Groups",
        "Refresh Tokens",
        "Remembered Tenants",
        "Roles",
        "Role Assignment Policies",
        "Signing Keys",
        "Tenants",
        "Users",
        "User Schemas",
        "Vanity Domains",
        "Webhook Policies",
        "Workflow Policies"
      ]
    }
  ]
}
```