Role Management

Manage access roles and their configurations.

List Roles

Get all available roles with optional provider filtering.

GET /roles

Availability

  • Server Mode (via /api/v1/roles)
  • Agent Mode (via /roles)

Query Parameters

  • provider - Filter by provider (comma-separated)

Example Usage

# Get all roles
curl http://localhost:8080/api/v1/roles

# Filter by providers
curl "http://localhost:8080/api/v1/roles?provider=aws,gcp"

Response

{
  "version": "1.0",
  "roles": {
    "admin": {
      "role": {
        "name": "admin",
        "description": "Administrative access to all systems",
        "providers": ["aws", "gcp"],
        "workflows": ["default", "emergency"],
        "enabled": true,
        "permissions": {
          "users": ["alice@example.com", "bob@example.com"],
          "groups": ["admins"]
        }
      }
    },
    "developer": {
      "role": {
        "name": "developer",
        "description": "Development environment access",
        "providers": ["aws"],
        "workflows": ["development"],
        "enabled": true,
        "permissions": {
          "groups": ["developers"]
        }
      }
    }
  }
}

Notes

  • Only available in server mode
  • Requires authentication
  • Filters roles based on user permissions
  • Only returns enabled roles
  • Supports both JSON and HTML responses

Get Role Details

GET /role/{role}

Response

{
  "name": "admin",
  "description": "Administrative access to all systems",
  "providers": ["aws", "gcp"],
  "workflows": ["default", "emergency"],
  "enabled": true,
  "permissions": {
    "users": ["alice@example.com"],
    "groups": ["admins"]
  }
}

Notes

  • Only available in server mode
  • Requires authentication
  • User must have permission to view the role
  • Returns complete role configuration including permissions and workflows