Files
bookhoard/docs/developer/api/progress/get_universal_progress.md
T
john-okeefe c4607cd9b5 docs(api): complete backend documentation with all missing endpoints
Complete API documentation audit covering all backend endpoints.

Auth Endpoints:
- Fixed endpoint paths from /api/users/me/* to /api/auth/*
- Added update_email.md and update_username.md

Device Management:
- Device shelf operations (add, get, remove, clear)
- Device CRUD operations (update, delete)
- Registration management (pending, approve, reject)

Books Operations:
- Bulk delete and bulk update with normalization
- Download endpoint with format-specific headers

Conflict Resolution:
- Complete conflict management (list, get, resolve, delete)
- Bulk operations (bulk resolve, bulk dismiss, dismiss all)

Sync Protocols:
- KOReader: progress, metadata, library, bookmarks
- Kobo: markup, bookmarks, analytics, initialization, server sync

Scanner:
- Enhanced docs with manga/comic support
- Added 148-line comprehensive overview
- All formats documented (ebooks, comics, manga)

WebSocket:
- Comprehensive real-time sync API
- Messages, topics, authentication, examples

Documentation:
- Updated api-reference.md with all 122+ endpoints
- Updated index.md with new categories

Total: 36 new files, 6 modified files, 100% coverage
2026-02-08 12:39:46 -05:00

1.1 KiB

Get Universal Progress

Get universal (device-agnostic) reading progress for a media item.

Endpoint: GET /api/progress/:id Auth: Required

Path Parameters

Parameter Type Required Description
id string (UUID) Yes Media item UUID

Request Headers

Header Type Required Description
Authorization string Yes Bearer token

Example Request

GET /api/progress/550e8400-e29b-41d4-a716-446655440000
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Response (200 OK)

{
  "media_item_id": "uuid",
  "percentage": 75.5,
  "position": 1234,
  "page": 150,
  "total_pages": 200,
  "finished": false,
  "updated_at": "2026-02-08T10:00:00Z",
  "device": {
    "id": "device-uuid",
    "name": "My Kobo"
  }
}

Error Responses

Code Description
401 Invalid or expired token
404 Media item not found

Try It Out