fyi.atstore.directory.getListing
Schema Diff
+32 -15
Compatibility Analysis
Breaking Changes Detected
13 breaking changes, 0 non-breaking changes.
Breaking Changes (13)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingCardGet", src: "fyi.atstore.directory.getListing#listingCardGet", tgt: "fyi.atstore.directory.getListing#listingCardGet.productAccountHandle", kind: "prop", name: Some("productAccountHandle") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingCardGet", src: "fyi.atstore.directory.getListing#listingCardGet", tgt: "fyi.atstore.directory.getListing#listingCardGet.rating", kind: "prop", name: Some("rating") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingCardGet", src: "fyi.atstore.directory.getListing#listingCardGet", tgt: "fyi.atstore.directory.getListing#listingCardGet.categorySlug", kind: "prop", name: Some("categorySlug") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingCardGet", src: "fyi.atstore.directory.getListing#listingCardGet", tgt: "fyi.atstore.directory.getListing#listingCardGet.heroImageUrl", kind: "prop", name: Some("heroImageUrl") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingCardGet", src: "fyi.atstore.directory.getListing#listingCardGet", tgt: "fyi.atstore.directory.getListing#listingCardGet.iconUrl", kind: "prop", name: Some("iconUrl") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingDetailResponse", src: "fyi.atstore.directory.getListing#listingDetailResponse", tgt: "fyi.atstore.directory.getListing#listingDetailResponse.repoDid", kind: "prop", name: Some("repoDid") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingDetailResponse", src: "fyi.atstore.directory.getListing#listingDetailResponse", tgt: "fyi.atstore.directory.getListing#listingDetailResponse.externalUrl", kind: "prop", name: Some("externalUrl") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingDetailResponse", src: "fyi.atstore.directory.getListing#listingDetailResponse", tgt: "fyi.atstore.directory.getListing#listingDetailResponse.productAccountDid", kind: "prop", name: Some("productAccountDid") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingDetailResponse", src: "fyi.atstore.directory.getListing#listingDetailResponse", tgt: "fyi.atstore.directory.getListing#listingDetailResponse.sourceTagline", kind: "prop", name: Some("sourceTagline") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingDetailResponse", src: "fyi.atstore.directory.getListing#listingDetailResponse", tgt: "fyi.atstore.directory.getListing#listingDetailResponse.sourceUrl", kind: "prop", name: Some("sourceUrl") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingDetailResponse", src: "fyi.atstore.directory.getListing#listingDetailResponse", tgt: "fyi.atstore.directory.getListing#listingDetailResponse.createdAt", kind: "prop", name: Some("createdAt") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingDetailResponse", src: "fyi.atstore.directory.getListing#listingDetailResponse", tgt: "fyi.atstore.directory.getListing#listingDetailResponse.sourceFullDescription", kind: "prop", name: Some("sourceFullDescription") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingDetailResponse", src: "fyi.atstore.directory.getListing#listingDetailResponse", tgt: "fyi.atstore.directory.getListing#listingDetailResponse.updatedAt", kind: "prop", name: Some("updatedAt") }
Migration Guidance
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingDetailResponse", src: "fyi.atstore.directory.getListing#listingDetailResponse", tgt: "fyi.atstore.directory.getListing#listingDetailResponse.repoDid", kind: "prop", name: Some("repoDid") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingDetailResponse", src: "fyi.atstore.directory.getListing#listingDetailResponse", tgt: "fyi.atstore.directory.getListing#listingDetailResponse.externalUrl", kind: "prop", name: Some("externalUrl") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingDetailResponse", src: "fyi.atstore.directory.getListing#listingDetailResponse", tgt: "fyi.atstore.directory.getListing#listingDetailResponse.productAccountDid", kind: "prop", name: Some("productAccountDid") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingDetailResponse", src: "fyi.atstore.directory.getListing#listingDetailResponse", tgt: "fyi.atstore.directory.getListing#listingDetailResponse.sourceTagline", kind: "prop", name: Some("sourceTagline") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingDetailResponse", src: "fyi.atstore.directory.getListing#listingDetailResponse", tgt: "fyi.atstore.directory.getListing#listingDetailResponse.sourceUrl", kind: "prop", name: Some("sourceUrl") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingDetailResponse", src: "fyi.atstore.directory.getListing#listingDetailResponse", tgt: "fyi.atstore.directory.getListing#listingDetailResponse.createdAt", kind: "prop", name: Some("createdAt") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingDetailResponse", src: "fyi.atstore.directory.getListing#listingDetailResponse", tgt: "fyi.atstore.directory.getListing#listingDetailResponse.sourceFullDescription", kind: "prop", name: Some("sourceFullDescription") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingDetailResponse", src: "fyi.atstore.directory.getListing#listingDetailResponse", tgt: "fyi.atstore.directory.getListing#listingDetailResponse.updatedAt", kind: "prop", name: Some("updatedAt") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingCardGet", src: "fyi.atstore.directory.getListing#listingCardGet", tgt: "fyi.atstore.directory.getListing#listingCardGet.productAccountHandle", kind: "prop", name: Some("productAccountHandle") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingCardGet", src: "fyi.atstore.directory.getListing#listingCardGet", tgt: "fyi.atstore.directory.getListing#listingCardGet.rating", kind: "prop", name: Some("rating") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingCardGet", src: "fyi.atstore.directory.getListing#listingCardGet", tgt: "fyi.atstore.directory.getListing#listingCardGet.categorySlug", kind: "prop", name: Some("categorySlug") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingCardGet", src: "fyi.atstore.directory.getListing#listingCardGet", tgt: "fyi.atstore.directory.getListing#listingCardGet.heroImageUrl", kind: "prop", name: Some("heroImageUrl") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.atstore.directory.getListing#listingCardGet", src: "fyi.atstore.directory.getListing#listingCardGet", tgt: "fyi.atstore.directory.getListing#listingCardGet.iconUrl", kind: "prop", name: Some("iconUrl") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"listingCardGet": {
5
+
"nullable": [
6
+
"iconUrl",
7
+
"heroImageUrl",
8
+
"categorySlug",
9
+
"rating",
10
+
"productAccountHandle"
11
+
],
5
12
"properties": {
6
13
"accent": {
7
14
"knownValues": [
8
15
"blue",
9
16
"pink",
10
17
"purple",
11
18
"green"
12
19
],
13
20
"maxLength": 16,
14
21
"type": "string"
15
22
},
16
23
"appTags": {
17
24
"items": {
18
25
"maxLength": 256,
19
26
"type": "string"
20
27
},
21
28
"type": "array"
22
29
},
23
30
"category": {
24
31
"maxLength": 640,
25
32
"type": "string"
26
33
},
27
34
"categorySlug": {
28
35
"maxLength": 512,
29
-
"nullable": true,
30
36
"type": "string"
31
37
},
32
38
"categorySlugs": {
33
39
"items": {
34
40
"maxLength": 512,
35
41
"type": "string"
36
42
},
37
43
"type": "array"
38
44
},
39
45
"description": {
40
46
"maxLength": 20000,
41
47
"type": "string"
42
48
},
43
49
"heroImageUrl": {
44
50
"maxLength": 8192,
45
-
"nullable": true,
46
51
"type": "string"
47
52
},
48
53
"iconUrl": {
49
54
"maxLength": 8192,
50
-
"nullable": true,
51
55
"type": "string"
52
56
},
53
57
"name": {
54
58
"maxLength": 640,
55
59
"type": "string"
56
60
},
57
61
"priceLabel": {
58
62
"maxLength": 32,
59
63
"type": "string"
60
64
},
61
65
"productAccountHandle": {
62
66
"maxLength": 512,
63
-
"nullable": true,
64
67
"type": "string"
65
68
},
66
69
"rating": {
67
70
"maxLength": 16,
68
-
"nullable": true,
69
71
"type": "string"
70
72
},
71
73
"reviewCount": {
72
74
"type": "integer"
73
75
},
74
76
"tagline": {
75
77
"maxLength": 2000,
76
78
"type": "string"
77
79
},
78
80
"uri": {
79
81
"description": "AT URI of the fyi.atstore.listing.detail record.",
80
82
"format": "at-uri",
81
83
"maxLength": 2560,
82
84
"type": "string"
83
85
}
84
86
},
85
87
"required": [
86
88
"uri",
87
89
"name",
88
90
"tagline",
89
91
"description",
90
92
"category",
91
93
"accent",
92
94
"reviewCount",
93
95
"priceLabel",
94
96
"appTags",
95
-
"categorySlugs"
97
+
"categorySlugs",
98
+
"iconUrl",
99
+
"heroImageUrl",
100
+
"categorySlug",
101
+
"rating",
102
+
"productAccountHandle"
96
103
],
97
104
"type": "object"
98
105
},
99
106
"listingDetailResponse": {
107
+
"nullable": [
108
+
"repoDid",
109
+
"productAccountDid",
110
+
"sourceTagline",
111
+
"sourceFullDescription",
112
+
"externalUrl",
113
+
"sourceUrl",
114
+
"createdAt",
115
+
"updatedAt"
116
+
],
100
117
"properties": {
101
118
"createdAt": {
102
119
"maxLength": 64,
103
-
"nullable": true,
104
120
"type": "string"
105
121
},
106
122
"externalUrl": {
107
123
"maxLength": 2048,
108
-
"nullable": true,
109
124
"type": "string"
110
125
},
111
126
"isStoreManaged": {
112
127
"type": "boolean"
113
128
},
114
129
"links": {
115
130
"items": {
116
131
"ref": "#listingLinkRow",
117
132
"type": "ref"
118
133
},
119
134
"type": "array"
120
135
},
121
136
"listing": {
122
137
"ref": "#listingCardGet",
123
138
"type": "ref"
124
139
},
125
140
"productAccountDid": {
126
141
"maxLength": 2048,
127
-
"nullable": true,
128
142
"type": "string"
129
143
},
130
144
"repoDid": {
131
145
"maxLength": 2048,
132
-
"nullable": true,
133
146
"type": "string"
134
147
},
135
148
"screenshots": {
136
149
"items": {
137
150
"maxLength": 4096,
138
151
"type": "string"
139
152
},
140
153
"type": "array"
141
154
},
142
155
"sourceFullDescription": {
143
156
"maxLength": 20000,
144
-
"nullable": true,
145
157
"type": "string"
146
158
},
147
159
"sourceTagline": {
148
160
"maxLength": 20000,
149
-
"nullable": true,
150
161
"type": "string"
151
162
},
152
163
"sourceUrl": {
153
164
"maxLength": 8192,
154
-
"nullable": true,
155
165
"type": "string"
156
166
},
157
167
"updatedAt": {
158
168
"maxLength": 64,
159
-
"nullable": true,
160
169
"type": "string"
161
170
}
162
171
},
163
172
"required": [
164
173
"listing",
165
-
"isStoreManaged"
174
+
"isStoreManaged",
175
+
"repoDid",
176
+
"productAccountDid",
177
+
"sourceTagline",
178
+
"sourceFullDescription",
179
+
"externalUrl",
180
+
"sourceUrl",
181
+
"createdAt",
182
+
"updatedAt"
166
183
],
167
184
"type": "object"
168
185
},
169
186
"listingLinkRow": {
170
187
"properties": {
171
188
"label": {
172
189
"maxLength": 640,
173
190
"type": "string"
174
191
},
175
192
"uri": {
176
193
"maxLength": 2048,
177
194
"type": "string"
178
195
}
179
196
},
180
197
"required": [
181
198
"uri"
182
199
],
183
200
"type": "object"
184
201
},
185
202
"main": {
186
203
"description": "Fetch one public verified listing. Provide exactly one of `uri` (fyi.atstore.listing.detail AT URI) or `externalUrl` (unique storefront URL); `externalUrl` uses the same matching rules as the former resolve endpoint.",
187
204
"errors": [
188
205
{
189
206
"name": "ListingNotFound"
190
207
},
191
208
{
192
209
"name": "InvalidParams"
193
210
},
194
211
{
195
212
"name": "AmbiguousResolution"
196
213
}
197
214
],
198
215
"output": {
199
216
"encoding": "application/json",
200
217
"schema": {
201
218
"ref": "#listingDetailResponse",
202
219
"type": "ref"
203
220
}
204
221
},
205
222
"parameters": {
206
223
"properties": {
207
224
"externalUrl": {
208
225
"description": "Listing external_url / product URL as stored on the record; must match at most one public listing.",
209
226
"maxLength": 2048,
210
227
"type": "string"
211
228
},
212
229
"uri": {
213
230
"description": "AT URI of the fyi.atstore.listing.detail record.",
214
231
"format": "at-uri",
215
232
"maxLength": 2560,
216
233
"type": "string"
217
234
}
218
235
},
219
236
"type": "params"
220
237
},
221
238
"type": "query"
222
239
}
223
240
},
224
241
"id": "fyi.atstore.directory.getListing",
225
242
"lexicon": 1
226
243
}