fyi.opensocial.listSiteRecords

lexicons.opensocial.fyi

Schema Diff

+29 -2

From

CID
bafyreihzzr77ebl...
Indexed At
2026-10-09 19:44 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 -
            "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
}

Compare Other Versions

Lexicon Garden

@