# List user progress

`GET https://api.cademi.com.br/api/v3/users/{user_id}/progress`

Operation ID: `users.progress.list` · API v3

Returns the user's progress in each product, using cursor-based pagination.

If the current credentials are restricted to specific products, only those products are included.

Required permissions: `progress.read`.

## Parameters

| Name | In | Type | Required | Description |
|---|---|---|---|---|
| `user_id` | path | string | yes |  |
| `limit` | query | integer | no |  |
| `cursor` | query | string | no |  |

## Responses

### 200

Returns a page of product progress entries.

Body: `data`: array of ProductProgress.

Fields of ProductProgress:

| Field | Type | Required | Description |
|---|---|---|---|
| `completed_at` | string or null (date-time) | yes |  |
| `completed_lessons` | integer | yes |  |
| `last_activity_at` | string or null (date-time) | yes |  |
| `object` | string, one of `product_progress` | yes |  |
| `percent` | integer | yes |  |
| `product_id` | string | yes |  |
| `started_at` | string or null (date-time) | yes |  |
| `total_lessons` | integer | yes |  |
| `user_id` | string | yes |  |

### 400

The cursor is invalid or the request contains an unsupported query parameter.

Body: Error.

### 401

The credential is missing, malformed, expired, or revoked.

Body: Error.

### 403

The current credentials do not have the permission required by this operation.

Body: Error.

### 404

The user was not found or is not accessible with the current credentials.

Body: Error.

### 422

The request body or query parameters failed validation.

Body: ValidationFailed.

Full schema: https://cademi.dev/openapi/v3.json
