Skip to main content

Overview

The fetch_organization_roles function retrieves all available organization roles in the system.

Function Signature

pub async fn fetch_organization_roles() -> Result<OrganizationRoleListResponse>

Parameters

This function takes no parameters.

Return Value

Returns Result<OrganizationRoleListResponse> containing:
  • data: Vector of OrganizationRole objects

Basic Usage

use wacht::api::organizations::*;

let roles = fetch_organization_roles().await?;
for role in roles.data {
    println!("Role: {} - {}", role.name, role.description);
    println!("Permissions: {:?}", role.permissions);
}

Error Handling

match fetch_organization_roles().await {
    Ok(response) => {
        println!("Available roles:");
        for role in response.data {
            println!("- {} ({})", role.name, role.description);
        }
    }
    Err(Error::Api { status, message, .. }) => {
        match status.as_u16() {
            403 => println!("Access denied: {}", message),
            _ => println!("API error {}: {}", status, message),
        }
    }
    Err(e) => println!("Request failed: {}", e),
}

Rate Limits

  • List operations: 100 requests per minute
  • Burst limit: 20 requests per second