---
search:
  tags:
    - User progress
    - GET
seo:
  description: >-
    Returns aggregate user progress across content blocks in a course layer.
    Scoped to… Reference for the GET /users/{id}/progress endpoint in the Fuxam
    API v4.
sidebar:
  label: Get user progress across course content blocks
  badge: GET
title: Get user progress across course content blocks
type: openapi-operation
---
Returns aggregate user progress across content blocks in a course layer. Scoped to your integration's institution via Basic Auth credentials.

`GET /users/{id}/progress`

**Responses**

- `200` — User progress data
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `429` — Too Many Requests — 1000 requests per minute per institution. Includes \`X-RateLimit-Limit\`, \`X-RateLimit-Remaining\`, \`X-RateLimit-Reset\` (ISO-8601), and \`Retry-After\` (seconds).
- `500` — Internal Server Error

Response example, 200:

```json
{
  "data": {
    "userId": "string",
    "layerId": "string",
    "summary": {
      "totalBlocks": 0,
      "completed": 0,
      "inProgress": 0,
      "notStarted": 0,
      "completionPercentage": 0
    },
    "blocks": [
      {
        "blockId": "string",
        "blockName": "string",
        "blockType": "string",
        "status": "NOT_STARTED",
        "lockState": "UNLOCKED",
        "startedAt": "2019-08-24T14:15:22Z",
        "completedAt": "2019-08-24T14:15:22Z",
        "userData": {},
        "blockedReason": "string"
      }
    ]
  },
  "meta": {
    "requestId": "req_1234567890_abc",
    "timestamp": "2026-06-02T07:00:00.000Z",
    "version": "v4",
    "watermark": "2019-08-24T14:15:22Z"
  }
}
```
