# List user consents (/docs/apis/management/users/GetAllUserConsents)

`GET /users/{user_id}/grants/consents`

Retrieves a paginated list of consents granted by the specified user. Each consent includes the application's approved scopes and associated metadata. Optional query parameters allow searching, filtering, and sorting the results. Access to grant and token management endpoints requires an active Secure+ subscription.

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

- `user_id` (path) (string, required) The unique identifier of the user.
- `page` (query) (integer, int32, default 1) The page number to retrieve.
- `size` (query) (integer, int32, default 10) The number of consent grants to return per page.
- `client_id` (query) (string) Filters results to consent grants issued to the specified client.
- `sort` (query) (string) Sort expression in the format `field:direction`, where direction is `1` for ascending or `-1` for descending. Supported fields include - `creation_time`.

## Response body

`200`, JSON. The user's consent grants were retrieved successfully

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

- `id` (string, required) The unique identifier of the grant.
- `client_id` (string, required) The unique identifier of the client to which the grant was issued.
- `creation_time` (integer, required, date-time) Specifies the time at which the grant was issued (in Epoch).
- `scopes` (UserConsentScope[], required) The consented scopes.
  - `scope` (string, required) The name of the scope for which consent was granted.
  - `granted_on` (integer, required, date-time) Specifies the time at which consent for the scope was granted (in Epoch).
  - `expiration` (integer, date-time) Specifies the time at which the granted consent expires (in Epoch).

## Errors

- `400` Bad Request
  - `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.
- `401` Unauthorized
- `402` Payment Required
  Same body as `400`.
- `403` Forbidden
- `404` Not Found
  Same body as `400`.
- `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 userId = "WUgDGqaqzqkRmsgd3PFAT";

var page = 1;

var size = 10;

var clientId = "eCOGRJYpnNwwAAuCeReEW";

var sort = "creation_time:1";


var result = await apiClient.Users.GetAllUserConsentsAsync(userId, page, size, clientId, sort);
```

## Example (MonoCloud Javascript SDK)

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

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

const userId = 'WUgDGqaqzqkRmsgd3PFAT';

const page = 1;

const size = 10;

const clientId = 'eCOGRJYpnNwwAAuCeReEW';

const sort = 'creation_time:1';

const result = apiClient.users.getAllUserConsents(userId, page, size, clientId, sort);
```