fyi.opensocial.listSiteRecords
Schema Diff
+29 -2
Compatibility Analysis
Backward Compatible
Backward compatible. 4 non-breaking changes.
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listSiteRecords#siteRecord.cid" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listSiteRecords#siteRecord.handle" }
- AddedEdge AddedEdge { src: "fyi.opensocial.listSiteRecords#siteRecord", tgt: "fyi.opensocial.listSiteRecords#siteRecord.cid", kind: "prop", name: Some("cid") }
- AddedEdge AddedEdge { src: "fyi.opensocial.listSiteRecords#siteRecord", tgt: "fyi.opensocial.listSiteRecords#siteRecord.handle", kind: "prop", name: Some("handle") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "fyi.opensocial.listSiteRecords#siteRecord.cid" }AddedVertex { vertex_id: "fyi.opensocial.listSiteRecords#siteRecord.handle" }
Additional Notes
- Non-breaking: AddedEdge { src: "fyi.opensocial.listSiteRecords#siteRecord", tgt: "fyi.opensocial.listSiteRecords#siteRecord.cid", kind: "prop", name: Some("cid") }
- Non-breaking: AddedEdge { src: "fyi.opensocial.listSiteRecords#siteRecord", tgt: "fyi.opensocial.listSiteRecords#siteRecord.handle", kind: "prop", name: Some("handle") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
-
"description": "Records of one collection from the host's index, newest first. Without `repo`, a collection the group's site declares it reads, from the group (answered to anyone) or its members (members only). With `repo`, that one account's records — the group's or a member's — of any collection, kept on demand once asked for; members only. `field` and `equals` keep only records whose field (a name, or a path like subject.uri) equals that value. With `from: \"network\"`, everyone's records of the collection, from every account on the network that writes it: answered to anyone once the host keeps it, and kept from when a member first asks for it, unless too many accounts write it; `filling` says it is still being gathered.",
5
+
"description": "Records of one collection from the host's index, newest first. Without `repo`, a collection the group's site declares it reads, from the group (answered to anyone) or its members (members only). With `repo`, that one account's records — the group's or a member's — of any collection, kept on demand once asked for; members only. `field` and `equals` keep only records whose field (a name, or a path like subject.uri) equals that value. With `from: \"network\"`, everyone's records of the collection, from every account on the network that writes it: answered to anyone once the host keeps it, which it does from when a saved page declares it, unless too many accounts write it; `filling` says it is still being gathered. With `repos`, each of those accounts' newest record of any collection, such as each one's profile, answered to anyone; an account not heard from in time is left out, and fills in for the next read.",
6
6
"errors": [
7
7
{
8
8
"name": "NotFound"
9
9
},
10
10
{
11
11
"name": "NotDeclared"
12
12
},
13
13
{
14
14
"name": "NotAuthorized"
15
15
},
16
16
{
17
17
"name": "NotKept"
18
18
},
19
19
{
20
20
"name": "TooLarge"
21
21
},
22
22
{
23
23
"name": "TooMany"
24
24
}
25
25
],
26
26
"output": {
27
27
"encoding": "application/json",
28
28
"schema": {
29
29
"properties": {
30
30
"cursor": {
31
31
"description": "With `from: \"network\"`, when there are older records.",
32
32
"type": "string"
33
33
},
34
34
"filling": {
35
35
"description": "With `from: \"network\"`: the host is still gathering the collection, so older records may be missing.",
36
36
"type": "boolean"
37
37
},
38
38
"records": {
39
39
"items": {
40
40
"ref": "#siteRecord",
41
41
"type": "ref"
42
42
},
43
43
"type": "array"
44
44
}
45
45
},
46
46
"required": [
47
47
"records"
48
48
],
49
49
"type": "object"
50
50
}
51
51
},
52
52
"parameters": {
53
53
"properties": {
54
54
"collection": {
55
55
"format": "nsid",
56
56
"type": "string"
57
57
},
58
58
"cursor": {
59
59
"description": "With `from: \"network\"`: from the last page, for older records.",
60
60
"maxLength": 1024,
61
61
"type": "string"
62
62
},
63
63
"equals": {
64
64
"maxLength": 2048,
65
65
"type": "string"
66
66
},
67
67
"field": {
68
68
"description": "Only records whose field (a name or a dotted path) equals `equals`.",
69
69
"maxLength": 128,
70
70
"type": "string"
71
71
},
72
72
"from": {
73
73
"description": "Without `repo`: the group's records, its members', or everyone's on the network.",
74
74
"knownValues": [
75
75
"group",
76
76
"members",
77
77
"network"
78
78
],
79
79
"type": "string"
80
80
},
81
81
"group": {
82
82
"format": "did",
83
83
"type": "string"
84
84
},
85
85
"limit": {
86
86
"default": 50,
87
87
"maximum": 100,
88
88
"minimum": 1,
89
89
"type": "integer"
90
90
},
91
91
"repo": {
92
92
"description": "One account's records: the group's or a member's.",
93
93
"format": "did",
94
94
"type": "string"
95
95
},
96
+
"repos": {
97
+
"description": "Many accounts, anyone's: each one's newest record of the collection.",
98
+
"items": {
99
+
"format": "did",
100
+
"type": "string"
101
+
},
102
+
"maxLength": 100,
103
+
"type": "array"
104
+
},
96
105
"search": {
97
-
"description": "With `from: \"network\"`: only records whose words include any of these words or \"quoted phrases\".",
106
+
"description": "With `from: \"network\"`: records whose words have any of these words, \"quoted phrases\" kept together, a trailing * for a prefix, and AND, OR and NOT for more.",
98
107
"maxLength": 512,
99
108
"type": "string"
109
+
},
110
+
"sort": {
111
+
"default": "newest",
112
+
"description": "With `from: \"network\"` and a search: newest first, or the most relevant first.",
113
+
"knownValues": [
114
+
"newest",
115
+
"relevance"
116
+
],
117
+
"type": "string"
100
118
}
101
119
},
102
120
"required": [
103
121
"group",
104
122
"collection"
105
123
],
106
124
"type": "params"
107
125
},
108
126
"type": "query"
109
127
},
110
128
"siteRecord": {
111
129
"properties": {
130
+
"cid": {
131
+
"format": "cid",
132
+
"type": "string"
133
+
},
112
134
"createdAt": {
113
135
"format": "datetime",
114
136
"type": "string"
115
137
},
138
+
"handle": {
139
+
"description": "With `from: \"network\"` or `repos`: the account's handle, when it's known.",
140
+
"format": "handle",
141
+
"type": "string"
142
+
},
116
143
"repo": {
117
144
"format": "did",
118
145
"type": "string"
119
146
},
120
147
"uri": {
121
148
"format": "at-uri",
122
149
"type": "string"
123
150
},
124
151
"value": {
125
152
"type": "unknown"
126
153
}
127
154
},
128
155
"required": [
129
156
"uri",
130
157
"repo",
131
158
"value"
132
159
],
133
160
"type": "object"
134
161
}
135
162
},
136
163
"id": "fyi.opensocial.listSiteRecords",
137
164
"lexicon": 1
138
165
}