{ "lexicon": 1, "id": "sh.weaver.notebook.getReadingHistory", "defs": { "main": { "type": "query", "description": "Get the authenticated user's reading history.", "parameters": { "type": "params", "properties": { "status": { "type": "string", "knownValues": ["reading", "finished", "abandoned", "want-to-read", "all"], "default": "all", "description": "Filter by reading status." }, "limit": { "type": "integer", "minimum": 1, "maximum": 100, "default": 50 }, "cursor": { "type": "string" } } }, "output": { "encoding": "application/json", "schema": { "type": "object", "required": ["history"], "properties": { "history": { "type": "array", "items": { "type": "ref", "ref": "#readingHistoryItem" } }, "cursor": { "type": "string" } } } } }, "readingHistoryItem": { "type": "object", "required": ["notebook", "progress"], "properties": { "notebook": { "type": "ref", "ref": "sh.weaver.notebook.defs#notebookView" }, "progress": { "type": "ref", "ref": "sh.weaver.notebook.defs#readingProgress" }, "currentEntry": { "type": "ref", "ref": "sh.weaver.notebook.defs#entryView", "description": "The entry the user was last reading." } } } } }