Files
bookhoard/docs/developer/api/scanner/get_scan_status.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.6 KiB

Get Scan Status

Get the status of a specific scan job.

Endpoint: GET /api/scanner/status/:jobId Auth: Required (Admin only)

Path Parameters

Parameter Type Required Description
jobId string (UUID) Yes Scan job UUID

Request Headers

Header Type Required Description
Authorization string Yes Bearer token (must have admin role)

Example Request

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

Response (200 OK)

{
  "job_id": "uuid",
  "library_id": "uuid",
  "status": "in_progress",
  "started_at": "2026-02-08T10:00:00Z",
  "updated_at": "2026-02-08T10:05:00Z",
  "progress": {
    "total_files": 1523,
    "scanned_files": 850,
    "added_files": 125,
    "updated_files": 45,
    "failed_files": 3,
    "percentage": 55.8
  },
  "errors": [
    {
      "file_path": "/path/to/file.epub",
      "error": "Invalid EPUB format"
    }
  ]
}

Status Values

Status Description
pending Job is queued
in_progress Job is currently running
completed Job completed successfully
failed Job failed with errors
cancelled Job was cancelled

Error Responses

Code Description
401 Invalid or expired token
403 User does not have admin privileges
404 Job not found

Try It Out