atproto blogging
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}