1{
2 "lexicon": 1,
3 "id": "sh.tangled.knot.listKeys",
4 "defs": {
5 "main": {
6 "type": "query",
7 "description": "List all public keys stored in the knot server",
8 "parameters": {
9 "type": "params",
10 "properties": {
11 "limit": {
12 "type": "integer",
13 "description": "Maximum number of keys to return",
14 "minimum": 1,
15 "maximum": 1000,
16 "default": 100
17 },
18 "cursor": {
19 "type": "string",
20 "description": "Pagination cursor"
21 }
22 }
23 },
24 "output": {
25 "encoding": "application/json",
26 "schema": {
27 "type": "object",
28 "required": ["keys"],
29 "properties": {
30 "keys": {
31 "type": "array",
32 "items": {
33 "type": "ref",
34 "ref": "#publicKey"
35 }
36 },
37 "cursor": {
38 "type": "string",
39 "description": "Pagination cursor for next page"
40 }
41 }
42 }
43 },
44 "errors": [
45 {
46 "name": "InternalServerError",
47 "description": "Failed to retrieve public keys"
48 }
49 ]
50 },
51 "publicKey": {
52 "type": "object",
53 "required": ["did", "key", "createdAt"],
54 "properties": {
55 "did": {
56 "type": "string",
57 "format": "did",
58 "description": "DID associated with the public key"
59 },
60 "key": {
61 "type": "string",
62 "maxLength": 4096,
63 "description": "Public key contents"
64 },
65 "createdAt": {
66 "type": "string",
67 "format": "datetime",
68 "description": "Key upload timestamp"
69 }
70 }
71 }
72 }
73}