# Update Universal Progress Update universal reading progress for a media item. **Endpoint**: `POST /api/progress/:id` **Auth**: Required **Content-Type**: `application/json` ## Path Parameters | Parameter | Type | Required | Description | |-----------|------|-----------|-------------| | id | string (UUID) | Yes | Media item UUID | ## Request Body | Field | Type | Required | Description | |--------|------|-----------|-------------| | percentage | float | No | Progress percentage (0-100) | | position | integer | No | Current position in bytes | | page | integer | No | Current page number | | finished | boolean | No | Whether the book is finished | | device_id | string (UUID) | No | Device UUID (optional, for tracking source) | ### Example Request ```json { "percentage": 75.5, "position": 1234, "page": 150, "finished": false, "device_id": "device-uuid" } ``` ## Response (200 OK) ```json { "media_item_id": "uuid", "percentage": 75.5, "position": 1234, "page": 150, "finished": false, "updated_at": "2026-02-08T10:00:00Z" } ``` ## Error Responses | Code | Description | |------|-------------| | 400 | Invalid request data | | 401 | Invalid or expired token | | 404 | Media item not found | ## Try It Out