New frontmatter'd docs with handler-compatible shapes:
- get_library_types.md (public; []LibraryTypes)
- list_libraries.md (admin; {data: ListLibrariesRow})
- get_library_folders.md (admin; []LibraryFolders)
- list/get stats/resolve/delete processing issues (admin; family-lens 403s
documented)
- scan_library.md (202 + 409 coalescing with active_job_id)
- get/update scan-settings (ScanSettingsResponse)
Gate improvements forced by this batch:
- Array responses: registered slice -> doc example must be a JSON array; key
set compared against the element type
- RawMessage pins may now be arrays
- update scan-settings uses a RawMessage pin: handler always sets Message but
the struct's omitempty would reject correct docs via zero-value marshal
Registry: sqlc models pinned directly (LibraryTypes, LibraryFolders,
ListLibrariesRow — json tags verified in the generated code).
1.1 KiB
1.1 KiB
method, path, auth, area
| method | path | auth | area |
|---|---|---|---|
| GET | /api/libraries/:id/issues/list | jwt+admin | libraries |
List Processing Issues
Lists scan/processing issues for a library (import failures, metadata
problems). Row-less import failures have no media item — their
media_item_id is "" and title falls back to the file path.
Example response
[
{
"id": "bb0e8400-e29b-41d4-a716-446655440000",
"media_item_id": "cc0e8400-e29b-41d4-a716-446655440000",
"title": "1984",
"file_path": "/books/1984.epub",
"format_group": "text",
"library_type_name": "ebooks",
"issue_type": "import_failed",
"issue_description": "unsupported format",
"severity": "error",
"created_at": "2026-10-24T13:57:01Z"
}
]
Errors
| Status | Body | When |
|---|---|---|
| 403 | — | library not in requester's visible set (family lens) |
| 404 | — | no such library |
| 500 | {"error": "Failed to fetch issues"} |
unexpected server error |