{
  "opencollection": "1.0.0",
  "info": {
    "name": "Voltair ApiKeys Roles API",
    "version": "0.1.0"
  },
  "request": {
    "auth": {
      "type": "bearer",
      "token": "{{bearerToken}}"
    }
  },
  "items": [
    {
      "info": {
        "name": "Roles",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List roles",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "/roles",
            "params": [
              {
                "name": "include",
                "value": "",
                "type": "query",
                "description": "Set to `cluster` to additionally include cluster-wide roles (`organizationId == null`). Omit for org-scoped roles only."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Page size (default 50, max 200)"
              },
              {
                "name": "cursor",
                "value": "",
                "type": "query",
                "description": "Opaque pagination cursor from a previous response"
              }
            ]
          },
          "docs": "Returns roles for the caller's organization. By default only org-scoped roles are returned. Pass `include=cluster` to also include cluster-wide roles (those with `organizationId == null`, e.g. super-admin and other system-actor roles); these are not assignable from the org UI but downstream consumers like the auth-context role lookup and the events page need them to resolve cluster-wide role IDs."
        },
        {
          "info": {
            "name": "Create role",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "/roles",
            "headers": [
              {
                "name": "Idempotency-Key",
                "value": ""
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a custom role. isSystem and canSwitchOrganizations are always set to false server-side."
        },
        {
          "info": {
            "name": "Get role",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "/roles/:roleId",
            "params": [
              {
                "name": "roleId",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Get role"
        },
        {
          "info": {
            "name": "Update role",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "/roles/:roleId",
            "params": [
              {
                "name": "roleId",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates a custom role. Returns 403 if the role is a system role. Cannot edit id, isSystem, or canSwitchOrganizations."
        },
        {
          "info": {
            "name": "Delete role",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "/roles/:roleId",
            "params": [
              {
                "name": "roleId",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Soft-deletes a custom role. Returns 403 if the role is a system role. Returns 409 if any active actors are currently assigned this role."
        }
      ]
    }
  ],
  "bundled": true
}