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

Scan Library

Initiate a one-time scan of a library for ebooks, manga, or comics.

Endpoint: POST /api/scanner/scan Auth: Required (Admin only) Content-Type: application/json

Request Body

Field Type Required Description
library_id string (UUID) Yes Library UUID to scan (supports ebooks, manga, and comics)
recursive boolean No Scan subdirectories recursively (default: true)
force boolean No Force rescan of existing files (default: false)

Supported Formats

The scanner automatically detects and processes files based on the library type:

Ebooks: .epub, .pdf, .mobi, .azw, .azw3, .txt, .rtf, .doc, .docx, .lit, .fb2, .pdb

Comics: .cbz, .cbr, .cb7, .cbt, .pdf

Manga: .cbz, .cbr, .png, .jpg, .jpeg, .gif, .bmp, .webp

Example Request

{
  "library_id": "550e8400-e29b-41d4-a716-446655440000",
  "recursive": true,
  "force": false
}

Response (202 Accepted)

{
  "message": "Scan initiated successfully",
  "job_id": "uuid",
  "library_id": "uuid",
  "status": "pending"
}

Error Responses

Code Description
400 Invalid request data
401 Invalid or expired token
403 User does not have admin privileges
404 Library not found

Try It Out