# Roles ## List Roles `accounts.roles.list(RoleListParams**kwargs) -> SyncV4PagePaginationArray[Role]` **get** `/accounts/{account_id}/roles` Get all available roles for an account. ### Parameters - `account_id: str` Account identifier tag. - `page: Optional[float]` Page number of paginated results. - `per_page: Optional[float]` Number of roles per page. ### Returns - `class Role: …` - `id: str` Role identifier tag. - `description: str` Description of role's permissions. - `name: str` Role name. - `permissions: Permissions` - `analytics: Optional[PermissionGrant]` - `read: Optional[bool]` - `write: Optional[bool]` - `billing: Optional[PermissionGrant]` - `cache_purge: Optional[PermissionGrant]` - `dns: Optional[PermissionGrant]` - `dns_records: Optional[PermissionGrant]` - `lb: Optional[PermissionGrant]` - `logs: Optional[PermissionGrant]` - `organization: Optional[PermissionGrant]` - `ssl: Optional[PermissionGrant]` - `waf: Optional[PermissionGrant]` - `zone_settings: Optional[PermissionGrant]` - `zones: Optional[PermissionGrant]` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) page = client.accounts.roles.list( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) page = page.result[0] print(page.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "id": "3536bcfad5faccb999b47003c79917fb", "description": "Administrative access to the entire Account", "name": "Account Administrator", "permissions": { "analytics": { "read": true, "write": false }, "billing": { "read": true, "write": false }, "cache_purge": { "read": true, "write": false }, "dns": { "read": true, "write": false }, "dns_records": { "read": true, "write": false }, "lb": { "read": true, "write": false }, "logs": { "read": true, "write": false }, "organization": { "read": true, "write": false }, "ssl": { "read": true, "write": false }, "waf": { "read": true, "write": false }, "zone_settings": { "read": true, "write": false }, "zones": { "read": true, "write": true } } } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000 } } ``` ## Role Details `accounts.roles.get(strrole_id, RoleGetParams**kwargs) -> Role` **get** `/accounts/{account_id}/roles/{role_id}` Get information about a specific role for an account. ### Parameters - `account_id: str` Account identifier tag. - `role_id: str` Role identifier tag. ### Returns - `class Role: …` - `id: str` Role identifier tag. - `description: str` Description of role's permissions. - `name: str` Role name. - `permissions: Permissions` - `analytics: Optional[PermissionGrant]` - `read: Optional[bool]` - `write: Optional[bool]` - `billing: Optional[PermissionGrant]` - `cache_purge: Optional[PermissionGrant]` - `dns: Optional[PermissionGrant]` - `dns_records: Optional[PermissionGrant]` - `lb: Optional[PermissionGrant]` - `logs: Optional[PermissionGrant]` - `organization: Optional[PermissionGrant]` - `ssl: Optional[PermissionGrant]` - `waf: Optional[PermissionGrant]` - `zone_settings: Optional[PermissionGrant]` - `zones: Optional[PermissionGrant]` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) role = client.accounts.roles.get( role_id="3536bcfad5faccb999b47003c79917fb", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(role.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "3536bcfad5faccb999b47003c79917fb", "description": "Administrative access to the entire Account", "name": "Account Administrator", "permissions": { "analytics": { "read": true, "write": false }, "billing": { "read": true, "write": false }, "cache_purge": { "read": true, "write": false }, "dns": { "read": true, "write": false }, "dns_records": { "read": true, "write": false }, "lb": { "read": true, "write": false }, "logs": { "read": true, "write": false }, "organization": { "read": true, "write": false }, "ssl": { "read": true, "write": false }, "waf": { "read": true, "write": false }, "zone_settings": { "read": true, "write": false }, "zones": { "read": true, "write": true } } } } ```