docs(api): add universal progress tracking documentation

- get_universal_progress.md - GET /api/progress/:id
- update_universal_progress.md - POST /api/progress/:id
- get_progress_history.md - GET /api/progress/:id/history

Documents device-agnostic (universal) reading progress tracking
that works across all devices (Kobo, KOReader, etc.)
This commit is contained in:
2026-02-08 12:38:14 -05:00
parent d5c23c5cac
commit de4f2ba7d8
14 changed files with 767 additions and 0 deletions
@@ -0,0 +1,65 @@
# Get Library Media Items
Get all media items in a specific library.
**Endpoint**: `GET /api/libraries/:id/media-items`
**Auth**: Required (Admin only)
## Path Parameters
| Parameter | Type | Required | Description |
|-----------|------|-----------|-------------|
| id | string (UUID) | Yes | Library UUID |
## Query Parameters
| Parameter | Type | Required | Description |
|-----------|------|-----------|-------------|
| limit | integer | No | Maximum number of items to return (default: 50) |
| offset | integer | No | Number of items to skip (default: 0) |
| sort_by | string | No | Sort field (title, created_at, etc.) |
| sort_order | string | No | Sort order (asc, desc) |
## Request Headers
| Header | Type | Required | Description |
|--------|------|-----------|-------------|
| Authorization | string | Yes | Bearer token (must have admin role) |
### Example Request
```http
GET /api/libraries/550e8400-e29b-41d4-a716-446655440000/media-items?limit=20&offset=0
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
```
## Response (200 OK)
```json
{
"items": [
{
"id": "uuid",
"title": "Sample Book",
"authors": ["Author Name"],
"tags": ["fiction", "science-fiction"],
"created_at": "2026-02-08T10:00:00Z"
}
],
"total": 1523,
"limit": 20,
"offset": 0
}
```
## Error Responses
| Code | Description |
|------|-------------|
| 401 | Invalid or expired token |
| 403 | User does not have admin privileges |
| 404 | Library not found |
## Try It Out
<!-- API Explorer will be inserted here in Phase 3 -->