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,71 @@
# Get Unlinked Book Suggestions
Get suggested matches for unlinked books on a device.
**Endpoint**: `GET /api/sync/unlinked-books/:id/suggestions`
**Auth**: Required
## Path Parameters
| Parameter | Type | Required | Description |
|-----------|------|-----------|-------------|
| id | string (UUID) | Yes | Device UUID |
## Query Parameters
| Parameter | Type | Required | Description |
|-----------|------|-----------|-------------|
| limit | integer | No | Maximum number of suggestions per book (default: 5) |
| threshold | float | No | Minimum confidence threshold (default: 0.5) |
## Request Headers
| Header | Type | Required | Description |
|--------|------|-----------|-------------|
| Authorization | string | Yes | Bearer token |
### Example Request
```http
GET /api/sync/unlinked-books/550e8400-e29b-41d4-a716-446655440000/suggestions?limit=3&threshold=0.6
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
```
## Response (200 OK)
```json
{
"suggestions": [
{
"book_id": "book-123",
"book_title": "Foundation",
"book_author": "Isaac Asimov",
"matches": [
{
"media_item_id": "uuid",
"title": "Foundation",
"authors": ["Isaac Asimov"],
"confidence": 0.95
},
{
"media_item_id": "uuid-2",
"title": "Foundation and Empire",
"authors": ["Isaac Asimov"],
"confidence": 0.75
}
]
}
]
}
```
## Error Responses
| Code | Description |
|------|-------------|
| 401 | Invalid or expired token |
| 404 | Device not found |
## Try It Out
<!-- API Explorer will be inserted here in Phase 3 -->