---
title: "Put Reading Position"
method: PUT
path: "/student/progress/courses/{course_id}/reading-position"
tags: ["Student Progress"]
---

# Put Reading Position

`PUT /student/progress/courses/{course_id}/reading-position`

## Request

- Base URL: `https://api.excellence-ai.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.excellence-ai.com/student/progress/courses/{course_id}/reading-position`
- Auth: OAuth 2 (password, token URL `api/login`)

Remember where the current student is in this course.

## Path parameters

- `course_id` string, required

## Request body

- ReadingPositionUpdate
  - `unit_id` string, required
  - `block_id` string, nullable

## Response `200`

Successful Response

- ReadingPositionResponse
  - `unit_id` string, required
  - `block_id` string, nullable, required
  - `updated_at` string, date-time, required

## Other responses

- `409`: Business rule violated
- `422`: Validation Error

## Changes

> 55 revisions in range; 1 not diffed.

- **2026-10-15** `7925dd21e4d0`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/excellence-ai/apis/excellence-learning/changes/student/progress/courses/:course_id/reading-position/put.md)

---

[API](https://skmtc.dev/excellence-ai/apis/excellence-learning.md) - [All operations](https://skmtc.dev/excellence-ai/apis/excellence-learning/llms.txt) - [OpenAPI document](https://skmtc.dev/excellence-ai/apis/excellence-learning/revisions/379e4a57dee8?raw)
