atproto blogging
1{
2 "lexicon": 1,
3 "id": "sh.weaver.notebook.searchNotebooks",
4 "defs": {
5 "main": {
6 "type": "query",
7 "description": "Full-text search for notebooks.",
8 "parameters": {
9 "type": "params",
10 "required": ["q"],
11 "properties": {
12 "q": {
13 "type": "string",
14 "minLength": 1,
15 "maxLength": 500
16 },
17 "author": {
18 "type": "string",
19 "format": "at-identifier",
20 "description": "Filter by author."
21 },
22 "tags": {
23 "type": "array",
24 "items": {
25 "type": "string"
26 },
27 "maxLength": 10,
28 "description": "Filter by tags (all must match)."
29 },
30 "rating": {
31 "type": "array",
32 "items": {
33 "type": "string",
34 "knownValues": ["general", "teen", "mature", "explicit"]
35 },
36 "description": "Filter by content rating (any of these)."
37 },
38 "sort": {
39 "type": "string",
40 "knownValues": ["relevance", "recent", "popular"],
41 "default": "relevance"
42 },
43 "limit": {
44 "type": "integer",
45 "minimum": 1,
46 "maximum": 100,
47 "default": 25
48 },
49 "cursor": {
50 "type": "string"
51 }
52 }
53 },
54 "output": {
55 "encoding": "application/json",
56 "schema": {
57 "type": "object",
58 "required": ["notebooks"],
59 "properties": {
60 "notebooks": {
61 "type": "array",
62 "items": {
63 "type": "ref",
64 "ref": "sh.weaver.notebook.defs#notebookView"
65 }
66 },
67 "cursor": {
68 "type": "string"
69 }
70 }
71 }
72 }
73 }
74 }
75}