Beam drafted 15 frontmatter'd docs (saved-filters CRUD, dashboard
sections/preferences/restore, system config/settings, series list + books);
Claude verified shapes against handlers and pinned the registry:
- saved-filters: SavedFilterResponse pinned by type (RFC3339 timestamps here,
unlike most of the API); create/update share CreateSavedFilterRequest
(resource_type oneof media-items|collections|devices)
- dashboard: preferences GET pin {hidden_collections, collection_order,
items_per_section}; PUT returns full UserDashboardPreferences row; sections
wrapper {sections}
- system: GET+PUT /api/system/config are admin-defined key/value maps — new
AnyJSONObject sentinel (gate shape-checks without key comparison; request
side too). UpdateSystemConfiguration returns {status, message} — verified,
not guessed. GET /api/system/settings returns []SettingEntry.
- series: {series[{name, library_id, book_count, total_in_series,
cover_paths, last_entry_at}], total, limit, offset}; books by
?name=&library_id= with family-lens 403
Dedupe: deleted dashboard.md, system/config.md, system/settings.md — each
covered the same endpoints as Beam's per-endpoint files (content merged by
the gate-verified shapes; old prose recoverable from git).
Beam clarifications confirmed: scanner routes are WO5 (docs exist);
progress/books-match are WO5.
1.1 KiB
1.1 KiB
method, path, auth, area
| method | path | auth | area |
|---|---|---|---|
| POST | /api/dashboard/restore-system-collection | jwt | dashboard |
Restore System Collection
Resets a system collection to its default state, removing user customizations.
Example request
{
"collection_name": "Continue Reading",
"reset_type": "full"
}
Example response
{
"message": "System collection restored to defaults"
}
Fields
| Field | Type | Required | Notes |
|---|---|---|---|
| collection_name | string | Yes | One of Continue Reading, Recently Added, Recently Read, Not Started, Continue Series |
| reset_type | string | No | full (default) or keep_books |
Errors
| Status | Body | When |
|---|---|---|
| 400 | {"error": "Invalid request"} / {"error": "collection_name required"} / {"error": "Invalid system collection name"} / {"error": "reset_type must be 'full' or 'keep_books'"} |
malformed body or invalid values |
| 500 | {"error": "Failed to restore system collection"} |
unexpected server error |