fyi.opensocial.listSiteRecords

lexicons.opensocial.fyi

Schema Diff

+31 -3

From

CID
bafyreibcki34667...
Indexed At
2026-10-08 18:10 UTC
View this version

To

CID
bafyreihzzr77ebl...
Indexed At
2026-10-09 19:44 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:output.cursor" }
  • AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listSiteRecords:output.filling" }
  • AddedEdge AddedEdge { src: "fyi.opensocial.listSiteRecords:output", tgt: "fyi.opensocial.listSiteRecords:output.cursor", kind: "prop", name: Some("cursor") }
  • AddedEdge AddedEdge { src: "fyi.opensocial.listSiteRecords:output", tgt: "fyi.opensocial.listSiteRecords:output.filling", kind: "prop", name: Some("filling") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "fyi.opensocial.listSiteRecords:output.cursor" }
  • AddedVertex { vertex_id: "fyi.opensocial.listSiteRecords:output.filling" }

Additional Notes

  • Non-breaking: AddedEdge { src: "fyi.opensocial.listSiteRecords:output", tgt: "fyi.opensocial.listSiteRecords:output.cursor", kind: "prop", name: Some("cursor") }
  • Non-breaking: AddedEdge { src: "fyi.opensocial.listSiteRecords:output", tgt: "fyi.opensocial.listSiteRecords:output.filling", kind: "prop", name: Some("filling") }
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 of the group's own repo and its members' public repos, 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.",
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.",
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 +
        },
16 +
        {
17 +
          "name": "NotKept"
18 +
        },
19 +
        {
20 +
          "name": "TooLarge"
21 +
        },
22 +
        {
23 +
          "name": "TooMany"
15 24
        }
16 25
      ],
17 26
      "output": {
18 27
        "encoding": "application/json",
19 28
        "schema": {
20 29
          "properties": {
30 +
            "cursor": {
31 +
              "description": "With `from: \"network\"`, when there are older records.",
32 +
              "type": "string"
33 +
            },
34 +
            "filling": {
35 +
              "description": "With `from: \"network\"`: the host is still gathering the collection, so older records may be missing.",
36 +
              "type": "boolean"
37 +
            },
21 38
            "records": {
22 39
              "items": {
23 40
                "ref": "#siteRecord",
24 41
                "type": "ref"
25 42
              },
26 43
              "type": "array"
27 44
            }
28 45
          },
29 46
          "required": [
30 47
            "records"
31 48
          ],
32 49
          "type": "object"
33 50
        }
34 51
      },
35 52
      "parameters": {
36 53
        "properties": {
37 54
          "collection": {
38 55
            "format": "nsid",
39 56
            "type": "string"
40 57
          },
58 +
          "cursor": {
59 +
            "description": "With `from: \"network\"`: from the last page, for older records.",
60 +
            "maxLength": 1024,
61 +
            "type": "string"
62 +
          },
41 63
          "equals": {
42 64
            "maxLength": 2048,
43 65
            "type": "string"
44 66
          },
45 67
          "field": {
46 68
            "description": "Only records whose field (a name or a dotted path) equals `equals`.",
47 69
            "maxLength": 128,
48 70
            "type": "string"
49 71
          },
50 72
          "from": {
51 -
            "description": "Without `repo`: the group's records, or its members'.",
73 +
            "description": "Without `repo`: the group's records, its members', or everyone's on the network.",
52 74
            "knownValues": [
53 75
              "group",
54 -
              "members"
76 +
              "members",
77 +
              "network"
55 78
            ],
56 79
            "type": "string"
57 80
          },
58 81
          "group": {
59 82
            "format": "did",
60 83
            "type": "string"
61 84
          },
62 85
          "limit": {
63 86
            "default": 50,
64 87
            "maximum": 100,
65 88
            "minimum": 1,
66 89
            "type": "integer"
67 90
          },
68 91
          "repo": {
69 92
            "description": "One account's records: the group's or a member's.",
70 93
            "format": "did",
71 94
            "type": "string"
95 +
          },
96 +
          "search": {
97 +
            "description": "With `from: \"network\"`: only records whose words include any of these words or \"quoted phrases\".",
98 +
            "maxLength": 512,
99 +
            "type": "string"
72 100
          }
73 101
        },
74 102
        "required": [
75 103
          "group",
76 104
          "collection"
77 105
        ],
78 106
        "type": "params"
79 107
      },
80 108
      "type": "query"
81 109
    },
82 110
    "siteRecord": {
83 111
      "properties": {
84 112
        "createdAt": {
85 113
          "format": "datetime",
86 114
          "type": "string"
87 115
        },
88 116
        "repo": {
89 117
          "format": "did",
90 118
          "type": "string"
91 119
        },
92 120
        "uri": {
93 121
          "format": "at-uri",
94 122
          "type": "string"
95 123
        },
96 124
        "value": {
97 125
          "type": "unknown"
98 126
        }
99 127
      },
100 128
      "required": [
101 129
        "uri",
102 130
        "repo",
103 131
        "value"
104 132
      ],
105 133
      "type": "object"
106 134
    }
107 135
  },
108 136
  "id": "fyi.opensocial.listSiteRecords",
109 137
  "lexicon": 1
110 138
}

Compare Other Versions

Lexicon Garden

@