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

method, path, auth, area
method path auth area
GET /api/scanner/status/:jobId jwt+admin scanner

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",
  "status": "in_progress",
  "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"
    }
  ],
  "error": null,
  "files_scanned": null,
  "new_items": null,
  "result": null
}

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