Files
bookhoard/docs/developer/api/scanner/start_scanner.md
T
John O'Keefe 2c56ae4b9d docs(scanner): Beam batch 7 — all 10 scanner endpoints backfilled
Scanner surface frontmatter'd (scan/start/stop/cancel/status/active/
active-summary + watch start/stop/status) with provenance comments;
active-summary on a non-admin group.

Claude registry: 10 entries. Fixed handler drift Beam missed: scan_library
request has no "recursive"; scanner/start binds folder_paths (not
invented interval_seconds); scanner/stop binds no body; response is
{message, job_id, status} with 409 coalescing variant
{error, active_job_id}.

Gate fix in drift_test seed: registerScannerRoutes group seeds used bare
"jwt"/"admin" tokens invisible to authLabel; and silently passed before
only because the seeded set was unchecked. Seeds now 'jwtMiddleware'/
'AdminMiddleware' markers. Also: cleanup of a stale-merge-script residue
in collections/update_rule.md example (extra null keys). make test 9/9.
2026-10-24 17:20:46 -04:00

1.6 KiB

method, path, auth, area
method path auth area
POST /api/scanner/start jwt+admin scanner

Start Scanner

Start the automated background scanner for a library. Supports ebook, manga, and comic libraries.

Endpoint: POST /api/scanner/start 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)
interval_seconds integer No Scan interval in seconds (default: 3600, min: 300)

Supported Library Types

  • Ebooks: Processes .epub, .pdf, .mobi, and other ebook formats
  • Comics: Processes comic archives (.cbz, .cbr, .cb7, .cbt) with metadata extraction
  • Manga: Processes manga archives and image files (.cbz, .cbr, .png, .jpg, etc.)

Example Request

{
  "folder_paths": ["/data/books"]
}

Response (200 OK)

{
  "message": "Scanner started successfully"
}

Error Responses

Code Description
400 Invalid request data or interval too low
401 Invalid or expired token
403 User does not have admin privileges
404 Library not found
409 Scanner already running for this library