APIIdentity & Access

Roles API

Roles define named permission sets that can be assigned to users and groups. The Roles API allows you to manage both system-defined roles and custom roles created for your tenant. Permission strings follow the resource:action format (e.g., cost_analysis:read, alerts:write).

Endpoints

MethodPathDescriptionRequired Permission
GET/rolesList all roles (system + custom) in the tenantiam:read
GET/roles/{id}Get a single role with its full permission setiam:read
POST/rolesCreate a custom role with a defined permission setiam:admin
PUT/roles/{id}Update a custom role's name or permission setiam:admin
DELETE/roles/{id}Delete a custom role (system roles cannot be deleted)iam:admin

Role Object

Role Response Object
{
  "id": "role_analyst",
  "name": "Analyst",
  "permissions": [
    "cost_analysis:read",
    "redshift_health:read",
    "vidura:read"
  ],
  "is_system_role": false,
  "created_at": "2024-01-10T08:00:00Z"
}

Available Permission Strings

PermissionDescription
cost_analysis:readView Cost & Usage dashboards and reports
cost_analysis:writeModify cost analysis configurations and filters
redshift_health:readView Redshift health dashboards and metrics
alerts:readView alert rules, incidents, and notification channels
alerts:writeCreate and modify alert rules and escalation policies
iam:readView users, groups, and roles
iam:writeCreate and update users and groups
iam:adminFull IAM control including role management and deletion
vidura:readAccess Vidura AI chat and query the agent

System Roles

System roles are pre-built by Quper and cannot be modified or deleted. They are identified by is_system_role: true in the response.

RoleDescription
adminFull access to all modules including IAM administration
viewerRead-only access to Cost & Usage module only

System Role Deletion

Attempting to delete a system role (is_system_role: true) will return a 403 Forbidden error. System roles can only be read and assigned — they cannot be modified or deleted.