at main 50 lines 1.5 kB view raw
1{ 2 "lexicon": 1, 3 "id": "sh.weaver.notebook.getReadingHistory", 4 "defs": { 5 "main": { 6 "type": "query", 7 "description": "Get the authenticated user's reading history.", 8 "parameters": { 9 "type": "params", 10 "properties": { 11 "status": { 12 "type": "string", 13 "knownValues": ["reading", "finished", "abandoned", "want-to-read", "all"], 14 "default": "all", 15 "description": "Filter by reading status." 16 }, 17 "limit": { "type": "integer", "minimum": 1, "maximum": 100, "default": 50 }, 18 "cursor": { "type": "string" } 19 } 20 }, 21 "output": { 22 "encoding": "application/json", 23 "schema": { 24 "type": "object", 25 "required": ["history"], 26 "properties": { 27 "history": { 28 "type": "array", 29 "items": { "type": "ref", "ref": "#readingHistoryItem" } 30 }, 31 "cursor": { "type": "string" } 32 } 33 } 34 } 35 }, 36 "readingHistoryItem": { 37 "type": "object", 38 "required": ["notebook", "progress"], 39 "properties": { 40 "notebook": { "type": "ref", "ref": "sh.weaver.notebook.defs#notebookView" }, 41 "progress": { "type": "ref", "ref": "sh.weaver.notebook.defs#readingProgress" }, 42 "currentEntry": { 43 "type": "ref", 44 "ref": "sh.weaver.notebook.defs#entryView", 45 "description": "The entry the user was last reading." 46 } 47 } 48 } 49 } 50}