Now let's take a silly one
1{
2 "lexicon": 1,
3 "id": "sh.tangled.repo.listCollaborators",
4 "defs": {
5 "main": {
6 "type": "query",
7 "parameters": {
8 "type": "params",
9 "required": ["subject"],
10 "properties": {
11 "subject": {
12 "type": "string",
13 "format": "did",
14 "description": "Repo DID whose collaborator records to list."
15 },
16 "cursor": {
17 "type": "string",
18 "description": "Pagination cursor"
19 },
20 "limit": {
21 "type": "integer",
22 "minimum": 1,
23 "maximum": 1000,
24 "default": 50
25 },
26 "order": {
27 "type": "string",
28 "knownValues": ["asc", "desc"],
29 "default": "desc",
30 "description": "Sort direction by createdAt."
31 }
32 }
33 },
34 "output": {
35 "encoding": "application/json",
36 "schema": {
37 "type": "object",
38 "required": ["items"],
39 "properties": {
40 "items": {
41 "type": "array",
42 "items": { "type": "ref", "ref": "#listItem" }
43 },
44 "cursor": { "type": "string" }
45 }
46 }
47 }
48 },
49 "listItem": {
50 "type": "object",
51 "required": ["subject", "addedBy", "createdAt"],
52 "properties": {
53 "subject": {
54 "type": "string",
55 "format": "did",
56 "description": "DID of the collaborator"
57 },
58 "addedBy": {
59 "type": "string",
60 "format": "did",
61 "description": "DID that added this collaborator"
62 },
63 "createdAt": {
64 "type": "string",
65 "format": "datetime",
66 "description": "When the collaborator was added"
67 },
68 "uri": {
69 "type": "string",
70 "format": "at-uri",
71 "description": "Optional record AT-URI for record-backed indexers"
72 },
73 "cid": {
74 "type": "string",
75 "format": "cid",
76 "description": "Optional record CID for record-backed indexers"
77 }
78 }
79 }
80 }
81}