fyi.atstore.listing.detail

atstore.fyi

Schema Diff

+0 -1

From

CID
bafyreico3oumjzo...
Indexed At
2026-04-23 03:48 UTC
View this version

To

CID
bafyreietn3ivreh...
Indexed At
2026-04-27 18:13 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

1 breaking change, 0 non-breaking changes.

Breaking Changes (1)
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "fyi.atstore.listing.detail:body", src: "fyi.atstore.listing.detail:body", tgt: "fyi.atstore.listing.detail:body.heroImage", kind: "prop", name: Some("heroImage") }

Migration Guidance

Additional Notes

  • Breaking: RequiredEdgeRemoved { vertex_id: "fyi.atstore.listing.detail:body", src: "fyi.atstore.listing.detail:body", tgt: "fyi.atstore.listing.detail:body.heroImage", kind: "prop", name: Some("heroImage") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "link": {
5 5
      "properties": {
6 6
        "label": {
7 7
          "description": "Optional human-readable label, especially useful when type is 'other'.",
8 8
          "maxGraphemes": 50,
9 9
          "maxLength": 100,
10 10
          "type": "string"
11 11
        },
12 12
        "type": {
13 13
          "description": "The kind of link.",
14 14
          "knownValues": [
15 15
            "privacy",
16 16
            "terms",
17 17
            "support",
18 18
            "contact",
19 19
            "docs",
20 20
            "blog",
21 21
            "changelog",
22 22
            "source",
23 23
            "status",
24 24
            "other"
25 25
          ],
26 26
          "type": "string"
27 27
        },
28 28
        "url": {
29 29
          "description": "The destination URL.",
30 30
          "format": "uri",
31 31
          "type": "string"
32 32
        }
33 33
      },
34 34
      "required": [
35 35
        "type",
36 36
        "url"
37 37
      ],
38 38
      "type": "object"
39 39
    },
40 40
    "main": {
41 41
      "description": "Public protocol or app listing in the AT Store directory. Images are stored as repo blobs (Kitchen-style); the web app caches HTTPS URLs in Postgres separately.",
42 42
      "key": "tid",
43 43
      "record": {
44 44
        "properties": {
45 45
          "appTags": {
46 46
            "items": {
47 47
              "maxLength": 96,
48 48
              "type": "string"
49 49
            },
50 50
            "maxLength": 64,
51 51
            "type": "array"
52 52
          },
53 53
          "categorySlug": {
54 54
            "description": "Browse category keys (e.g. protocol/pds). First entry is the primary category for legacy surfaces.",
55 55
            "items": {
56 56
              "maxLength": 256,
57 57
              "type": "string"
58 58
            },
59 59
            "maxLength": 32,
60 60
            "minLength": 1,
61 61
            "type": "array"
62 62
          },
63 63
          "createdAt": {
64 64
            "format": "datetime",
65 65
            "type": "string"
66 66
          },
67 67
          "description": {
68 68
            "maxLength": 20000,
69 69
            "type": "string"
70 70
          },
71 71
          "externalUrl": {
72 72
            "description": "Primary product or project URL.",
73 73
            "format": "uri",
74 74
            "maxLength": 2048,
75 75
            "type": "string"
76 76
          },
77 77
          "heroImage": {
78 78
            "accept": [
79 79
              "image/png",
80 80
              "image/jpeg",
81 81
              "image/webp",
82 82
              "image/gif",
83 83
              "image/svg+xml"
84 84
            ],
85 85
            "description": "Hero / cover image blob.",
86 86
            "maxSize": 12000000,
87 87
            "type": "blob"
88 88
          },
89 89
          "icon": {
90 90
            "accept": [
91 91
              "image/png",
92 92
              "image/jpeg",
93 93
              "image/webp",
94 94
              "image/gif",
95 95
              "image/svg+xml"
96 96
            ],
97 97
            "description": "Square / app icon (uploaded to repo via com.atproto.repo.uploadBlob).",
98 98
            "maxSize": 2000000,
99 99
            "type": "blob"
100 100
          },
101 101
          "links": {
102 102
            "description": "Relevant links for the app, including trust/compliance, support, and project resources.",
103 103
            "items": {
104 104
              "ref": "#link",
105 105
              "type": "ref"
106 106
            },
107 107
            "maxLength": 12,
108 108
            "type": "array"
109 109
          },
110 110
          "migratedFromAtUri": {
111 111
            "description": "When this listing.detail record supersedes a prior record in another repo (e.g. moved from the AT Store publisher to a product owner PDS), the at:// URI of that prior fyi.atstore.listing.detail record.",
112 112
            "format": "at-uri",
113 113
            "maxLength": 8192,
114 114
            "type": "string"
115 115
          },
116 116
          "name": {
117 117
            "maxLength": 640,
118 118
            "type": "string"
119 119
          },
120 120
          "productAccountDid": {
121 121
            "description": "Bluesky DID for the product, app, or tool (not the AT Store publisher). Handle is resolved and stored in Postgres only.",
122 122
            "maxLength": 2048,
123 123
            "type": "string"
124 124
          },
125 125
          "screenshots": {
126 126
            "items": {
127 127
              "accept": [
128 128
                "image/png",
129 129
                "image/jpeg",
130 130
                "image/webp",
131 131
                "image/gif",
132 132
                "image/svg+xml"
133 133
              ],
134 134
              "maxSize": 12000000,
135 135
              "type": "blob"
136 136
            },
137 137
            "maxLength": 20,
138 138
            "type": "array"
139 139
          },
140 140
          "slug": {
141 141
            "description": "Stable URL slug; unique within the publishing account.",
142 142
            "maxLength": 512,
143 143
            "minLength": 1,
144 144
            "type": "string"
145 145
          },
146 146
          "tagline": {
147 147
            "maxLength": 300,
148 148
            "type": "string"
149 149
          },
150 150
          "updatedAt": {
151 151
            "format": "datetime",
152 152
            "type": "string"
153 153
          }
154 154
        },
155 155
        "required": [
156 156
          "slug",
157 157
          "name",
158 158
          "tagline",
159 159
          "externalUrl",
160 160
          "icon",
161 -
          "heroImage",
162 161
          "categorySlug",
163 162
          "createdAt",
164 163
          "updatedAt"
165 164
        ],
166 165
        "type": "object"
167 166
      },
168 167
      "type": "record"
169 168
    }
170 169
  },
171 170
  "id": "fyi.atstore.listing.detail",
172 171
  "lexicon": 1
173 172
}

Compare Other Versions

Lexicon Garden

@