fyi.opensocial.listSiteRecords

lexicons.opensocial.fyi

Schema Diff

+19 -1

From

CID
bafyreieryfibhb4...
Indexed At
2026-10-09 20:29 UTC
View this version

To

CID
bafyreiaaxwjpk6j...
Indexed At
2026-10-11 05:03 UTC
View this version

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 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"
100 109
          },
101 110
          "sort": {
102 111
            "default": "newest",
103 112
            "description": "With `from: \"network\"` and a search: newest first, or the most relevant first.",
104 113
            "knownValues": [
105 114
              "newest",
106 115
              "relevance"
107 116
            ],
108 117
            "type": "string"
109 118
          }
110 119
        },
111 120
        "required": [
112 121
          "group",
113 122
          "collection"
114 123
        ],
115 124
        "type": "params"
116 125
      },
117 126
      "type": "query"
118 127
    },
119 128
    "siteRecord": {
120 129
      "properties": {
130 +
        "cid": {
131 +
          "format": "cid",
132 +
          "type": "string"
133 +
        },
121 134
        "createdAt": {
122 135
          "format": "datetime",
123 136
          "type": "string"
124 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 +
        },
125 143
        "repo": {
126 144
          "format": "did",
127 145
          "type": "string"
128 146
        },
129 147
        "uri": {
130 148
          "format": "at-uri",
131 149
          "type": "string"
132 150
        },
133 151
        "value": {
134 152
          "type": "unknown"
135 153
        }
136 154
      },
137 155
      "required": [
138 156
        "uri",
139 157
        "repo",
140 158
        "value"
141 159
      ],
142 160
      "type": "object"
143 161
    }
144 162
  },
145 163
  "id": "fyi.opensocial.listSiteRecords",
146 164
  "lexicon": 1
147 165
}

Compare Other Versions

Lexicon Garden

@