# List API scopes (/docs/apis/management/resources/GetAllApiScopes)

`GET /resources/api_resources/{api_id}/scopes`

Retrieves a paginated list of API scopes for the specified API resource. Optional query parameters allow searching, filtering, and sorting the results.

Base URL: `https://{tenant}.{region}.monocloud.com/api`, where `{tenant}`, `{region}` (one of us, eu, in) come from your tenant. Authentication: send your Management API key in the `X-API-KEY` header.

## Parameters

- `api_id` (path) (string, required) The unique identifier of the API resource.
- `page` (query) (integer, int32, default 1) The page number to retrieve.
- `size` (query) (integer, int32, default 10) The number of resources to return per page.
- `filter` (query) (string) Optional Lucene-style filter expression used to search by attributes.
- `sort` (query) (string) Sort expression in the format `field:direction`, where direction is `1` for ascending or `-1` for descending. Supported fields include - `name`, `display_name`, and `creation_time`

## Response body

`200`, JSON. The API scopes were retrieved successfully

Returns `ApiScope[]`. Each item has these fields:

- `id` (string, required) The unique identifier of the resource.
- `display_name` (string) Human-readable display name for the resource.
- `description` (string) Description that explains the purpose of the resource.
- `show_in_discovery_document` (boolean, required) Indicates whether this API scope is advertised via the discovery document.
- `creation_time` (integer, required, date-time) Specifies the creation time of the resource (in Epoch).
- `last_updated` (integer, required, date-time) Specifies the last update time of the resource (in Epoch).
- `name` (string, required) The unique name of the scope. This is the value a client will use for the scope parameter in the authorize request.
- `required` (boolean, required) Specifies whether the scope is mandatory and cannot be de-selected by the user on the consent screen.
- `emphasize` (boolean, required) Indicates whether this scope is visually emphasized on the consent screen, typically for sensitive or high-impact permissions.
- `is_default` (boolean, required) Specifies whether this scope is automatically included in issued tokens when the `scope` parameter is omitted.
- `user_claims` (string[], required) List of user claim types that will be embedded into access tokens when this scope is granted.

## Errors

- `401` Unauthorized
- `403` Forbidden
- `404` Not Found
  - `type` (string, required) A URI reference that identifies the error type. When accessed, it may provide human-readable documentation.
  - `title` (string, required) A short, human-readable summary of the error.
  - `status` (integer, required, int32) The HTTP status code associated with this error response.
  - `trace_id` (string, required) A unique identifier for the request, used for tracing and diagnostics.
  - `detail` (string) A human-readable explanation specific to this occurrence of the error.
  - `instance` (string) A URI reference that identifies the specific occurrence of the error.
- `422` Unprocessable Entity
  - `type` (string, required) A URI reference that identifies the error type. When accessed, it may provide human-readable documentation.
  - `title` (string, required) A short, human-readable summary of the error.
  - `status` (integer, required, int32) The HTTP status code associated with this error response.
  - `trace_id` (string, required) A unique identifier for the request, used for tracing and diagnostics.
  - `detail` (string) A human-readable explanation specific to this occurrence of the error.
  - `instance` (string) A URI reference that identifies the specific occurrence of the error.
  - `errors` (Record<string, string[]>, required) A key-value map of validation errors, where each key represents a request field and the value contains one or more messages describing why the request could not be processed.

## Example (MonoCloud .NET SDK)

```csharp
using MonoCloud.Management;
using MonoCloud.Management.Core.Base;

var apiClient = new MonoCloudManagementClient(new MonoCloudConfig("<your-domain>", "[[API-Key]]"));


var apiId = "n8TniSuy4WN9ROJYNwir6";

var page = 1;

var size = 10;

var filter = "api";

var sort = "creation_time:1";


var result = await apiClient.Resources.GetAllApiScopesAsync(apiId, page, size, filter, sort);
```

## Example (MonoCloud Javascript SDK)

```javascript
import { MonoCloudManagementClient } from '@monocloud/management';

const apiClient = MonoCloudManagementClient.init({ domain: '<your-domain>', apiKey: '[[API-Key]]' });

const apiId = 'n8TniSuy4WN9ROJYNwir6';

const page = 1;

const size = 10;

const filter = 'api';

const sort = 'creation_time:1';

const result = apiClient.resources.getAllApiScopes(apiId, page, size, filter, sort);
```