# OAuth Scopes ## List OAuth Scopes `iam.oauth_scopes.list() -> SyncSinglePage[OAuthScopeListResponse]` **get** `/oauth/scopes` List all available OAuth scopes. This endpoint requires authentication but has no authorization role requirements. ### Returns - `class OAuthScopeListResponse: …` An available OAuth scope that can be assigned to an OAuth client. - `id: str` The scope label to use in the scopes array when creating or updating an OAuth client. - `name: str` Human-readable name of the OAuth scope. - `category: Optional[str]` Category for grouping scopes in the UI. - `scopes: Optional[List[str]]` The underlying resource scopes (Bach scopes) that define which resources this OAuth scope can act upon. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) page = client.iam.oauth_scopes.list() 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": "account.read", "name": "Account Read", "category": "account_and_billing", "scopes": [ "com.cloudflare.api.account" ] } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000 } } ``` ## Domain Types ### OAuth Scope List Response - `class OAuthScopeListResponse: …` An available OAuth scope that can be assigned to an OAuth client. - `id: str` The scope label to use in the scopes array when creating or updating an OAuth client. - `name: str` Human-readable name of the OAuth scope. - `category: Optional[str]` Category for grouping scopes in the UI. - `scopes: Optional[List[str]]` The underlying resource scopes (Bach scopes) that define which resources this OAuth scope can act upon.