tcgpriser 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.cts +1964 -2407
- package/dist/index.d.ts +1964 -2407
- package/package.json +2 -2
package/dist/index.d.cts
CHANGED
|
@@ -27,9 +27,12 @@ declare class HttpClient {
|
|
|
27
27
|
patch<T>(path: string, body: unknown, requestOptions?: PremiumOptions): Promise<T>;
|
|
28
28
|
private request;
|
|
29
29
|
}
|
|
30
|
-
|
|
31
30
|
interface components {
|
|
32
31
|
schemas: {
|
|
32
|
+
AlternativeName: {
|
|
33
|
+
name: string;
|
|
34
|
+
shortName: string | undefined;
|
|
35
|
+
};
|
|
33
36
|
ApiError: {
|
|
34
37
|
error: {
|
|
35
38
|
/** @enum {string} */
|
|
@@ -39,100 +42,142 @@ interface components {
|
|
|
39
42
|
};
|
|
40
43
|
};
|
|
41
44
|
BargainListResponse: {
|
|
42
|
-
data:
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
45
|
+
data: components["schemas"]["BargainListing"][];
|
|
46
|
+
pagination: components["schemas"]["PageMeta"];
|
|
47
|
+
};
|
|
48
|
+
BargainListing: {
|
|
49
|
+
url: string;
|
|
50
|
+
/** @example 149.5 */
|
|
51
|
+
price: number | undefined;
|
|
52
|
+
/**
|
|
53
|
+
* @description ISO-4217 currency code
|
|
54
|
+
* @example SEK
|
|
55
|
+
*/
|
|
56
|
+
currency: string | undefined;
|
|
57
|
+
shop: components["schemas"]["ShopRef"];
|
|
58
|
+
inStock: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Format: date-time
|
|
61
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
62
|
+
*/
|
|
63
|
+
matchedAt: string;
|
|
64
|
+
product: {
|
|
58
65
|
/**
|
|
59
|
-
*
|
|
60
|
-
* @example
|
|
66
|
+
* @description Resource identifier
|
|
67
|
+
* @example 6a577711abc1ce71383d3e10
|
|
61
68
|
*/
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
imageUrl: string | undefined;
|
|
74
|
-
};
|
|
75
|
-
bargain: {
|
|
76
|
-
discountPercent: number;
|
|
77
|
-
/** @enum {string} */
|
|
78
|
-
referenceSource: "retail" | "tradera" | "cardmarket";
|
|
79
|
-
};
|
|
80
|
-
}[];
|
|
81
|
-
pagination: {
|
|
82
|
-
/** @description Total matching records, ignoring pagination */
|
|
83
|
-
total: number;
|
|
84
|
-
limit: number;
|
|
85
|
-
skip: number;
|
|
86
|
-
hasMore: boolean;
|
|
69
|
+
id: string;
|
|
70
|
+
/** @enum {string} */
|
|
71
|
+
kind: "sealed" | "card";
|
|
72
|
+
name: string;
|
|
73
|
+
technicalName: string;
|
|
74
|
+
imageUrl: string | undefined;
|
|
75
|
+
};
|
|
76
|
+
bargain: {
|
|
77
|
+
discountPercent: number;
|
|
78
|
+
/** @enum {string} */
|
|
79
|
+
referenceSource: "retail" | "tradera" | "cardmarket";
|
|
87
80
|
};
|
|
88
81
|
};
|
|
89
82
|
BargainSearchResponse: {
|
|
90
|
-
data:
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
83
|
+
data: components["schemas"]["BargainListing"][];
|
|
84
|
+
pagination: components["schemas"]["PageMeta"];
|
|
85
|
+
};
|
|
86
|
+
Brand: {
|
|
87
|
+
/**
|
|
88
|
+
* @description Resource identifier
|
|
89
|
+
* @example 6a577711abc1ce71383d3e10
|
|
90
|
+
*/
|
|
91
|
+
id: string;
|
|
92
|
+
/** @example Pokémon */
|
|
93
|
+
name: string;
|
|
94
|
+
/** @example pokemon */
|
|
95
|
+
technicalName: string;
|
|
96
|
+
/**
|
|
97
|
+
* Format: date-time
|
|
98
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
99
|
+
*/
|
|
100
|
+
createdAt: string;
|
|
101
|
+
/**
|
|
102
|
+
* Format: date-time
|
|
103
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
104
|
+
*/
|
|
105
|
+
updatedAt: string;
|
|
106
|
+
};
|
|
107
|
+
Card: {
|
|
108
|
+
/**
|
|
109
|
+
* @description Resource identifier
|
|
110
|
+
* @example 6a577711abc1ce71383d3e10
|
|
111
|
+
*/
|
|
112
|
+
id: string;
|
|
113
|
+
name: string;
|
|
114
|
+
shortName: string | undefined;
|
|
115
|
+
technicalName: string;
|
|
116
|
+
brand: components["schemas"]["Brand"];
|
|
117
|
+
manufacturer: string;
|
|
118
|
+
modelNumber: string | undefined;
|
|
119
|
+
category: components["schemas"]["CategoryRef"] | undefined;
|
|
120
|
+
expansion: components["schemas"]["ExpansionRef"] | undefined;
|
|
121
|
+
/**
|
|
122
|
+
* @description Printing language of the item
|
|
123
|
+
* @example JPN
|
|
124
|
+
* @enum {string|null}
|
|
125
|
+
*/
|
|
126
|
+
language: "ENG" | "JPN" | "CHI" | undefined;
|
|
127
|
+
alternativeNames: components["schemas"]["AlternativeName"][];
|
|
128
|
+
supportsMultipackPricing: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* @description Absolute asset URL, or null when absent
|
|
131
|
+
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
132
|
+
*/
|
|
133
|
+
imageUrl: string | undefined;
|
|
134
|
+
/**
|
|
135
|
+
* @description Cheapest current shop price, in SEK
|
|
136
|
+
* @example 149.5
|
|
137
|
+
*/
|
|
138
|
+
retailPrice: number | undefined;
|
|
139
|
+
/**
|
|
140
|
+
* @description Estimated market value, in SEK
|
|
141
|
+
* @example 149.5
|
|
142
|
+
*/
|
|
143
|
+
estimatedValue: number | undefined;
|
|
144
|
+
/** @description Active shops currently tracking this item */
|
|
145
|
+
shopCount: number;
|
|
146
|
+
/** @description Observations the estimate rests on */
|
|
147
|
+
pricingDataPoints: number;
|
|
148
|
+
/**
|
|
149
|
+
* Format: date-time
|
|
150
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
151
|
+
*/
|
|
152
|
+
pricingUpdatedAt: string | undefined;
|
|
153
|
+
/**
|
|
154
|
+
* Format: date-time
|
|
155
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
156
|
+
*/
|
|
157
|
+
createdAt: string;
|
|
158
|
+
/**
|
|
159
|
+
* Format: date-time
|
|
160
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
161
|
+
*/
|
|
162
|
+
updatedAt: string;
|
|
163
|
+
/** @enum {string} */
|
|
164
|
+
kind: "card";
|
|
165
|
+
/** @example 4/102 */
|
|
166
|
+
cardNumber: string;
|
|
167
|
+
/** @example Rare Holo */
|
|
168
|
+
rarity: string | undefined;
|
|
169
|
+
artist: string | undefined;
|
|
170
|
+
cardmarketId: string | undefined;
|
|
171
|
+
tcgplayerId: string | undefined;
|
|
172
|
+
variants: components["schemas"]["CardVariants"] | undefined;
|
|
173
|
+
prisjaktId: string | undefined;
|
|
174
|
+
};
|
|
175
|
+
CardVariants: {
|
|
176
|
+
normal: boolean;
|
|
177
|
+
holo: boolean;
|
|
178
|
+
reverse: boolean;
|
|
179
|
+
firstEdition: boolean;
|
|
180
|
+
wPromo: boolean;
|
|
136
181
|
};
|
|
137
182
|
CardWithPricing: {
|
|
138
183
|
/**
|
|
@@ -143,95 +188,18 @@ interface components {
|
|
|
143
188
|
name: string;
|
|
144
189
|
shortName: string | undefined;
|
|
145
190
|
technicalName: string;
|
|
146
|
-
brand:
|
|
147
|
-
/**
|
|
148
|
-
* @description Resource identifier
|
|
149
|
-
* @example 6a577711abc1ce71383d3e10
|
|
150
|
-
*/
|
|
151
|
-
id: string;
|
|
152
|
-
/** @example Pokémon */
|
|
153
|
-
name: string;
|
|
154
|
-
/** @example pokemon */
|
|
155
|
-
technicalName: string;
|
|
156
|
-
/**
|
|
157
|
-
* Format: date-time
|
|
158
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
159
|
-
*/
|
|
160
|
-
createdAt: string;
|
|
161
|
-
/**
|
|
162
|
-
* Format: date-time
|
|
163
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
164
|
-
*/
|
|
165
|
-
updatedAt: string;
|
|
166
|
-
};
|
|
191
|
+
brand: components["schemas"]["Brand"];
|
|
167
192
|
manufacturer: string;
|
|
168
193
|
modelNumber: string | undefined;
|
|
169
|
-
category:
|
|
170
|
-
|
|
171
|
-
* @description Resource identifier
|
|
172
|
-
* @example 6a577711abc1ce71383d3e10
|
|
173
|
-
*/
|
|
174
|
-
id: string;
|
|
175
|
-
/** @example Booster Box */
|
|
176
|
-
name: string;
|
|
177
|
-
/** @example booster-box */
|
|
178
|
-
technicalName: string;
|
|
179
|
-
} | undefined;
|
|
180
|
-
expansion: {
|
|
181
|
-
/**
|
|
182
|
-
* @description Resource identifier
|
|
183
|
-
* @example 6a577711abc1ce71383d3e10
|
|
184
|
-
*/
|
|
185
|
-
id: string;
|
|
186
|
-
/** @example Mega Evolution 30th Celebration */
|
|
187
|
-
name: string;
|
|
188
|
-
/** @example 30th Celebration */
|
|
189
|
-
shortName: string;
|
|
190
|
-
/** @example jpn-mega-evolution-30th-celebration */
|
|
191
|
-
technicalName: string;
|
|
192
|
-
/**
|
|
193
|
-
* @description Printing language of the item
|
|
194
|
-
* @example JPN
|
|
195
|
-
* @enum {string}
|
|
196
|
-
*/
|
|
197
|
-
language: "ENG" | "JPN" | "CHI";
|
|
198
|
-
/** @example m6a */
|
|
199
|
-
code: string | undefined;
|
|
200
|
-
/** @example m6a */
|
|
201
|
-
cardCode: string | undefined;
|
|
202
|
-
/** @example Mega Evolution */
|
|
203
|
-
seriesName: string | undefined;
|
|
204
|
-
/**
|
|
205
|
-
* Format: date-time
|
|
206
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
207
|
-
*/
|
|
208
|
-
releaseDate: string | undefined;
|
|
209
|
-
/**
|
|
210
|
-
* @description Absolute asset URL, or null when absent
|
|
211
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
212
|
-
*/
|
|
213
|
-
logoUrl: string | undefined;
|
|
214
|
-
/**
|
|
215
|
-
* @description Absolute asset URL, or null when absent
|
|
216
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
217
|
-
*/
|
|
218
|
-
symbolUrl: string | undefined;
|
|
219
|
-
/**
|
|
220
|
-
* @description Absolute asset URL, or null when absent
|
|
221
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
222
|
-
*/
|
|
223
|
-
imageUrl: string | undefined;
|
|
224
|
-
} | undefined;
|
|
194
|
+
category: components["schemas"]["CategoryRef"] | undefined;
|
|
195
|
+
expansion: components["schemas"]["ExpansionRef"] | undefined;
|
|
225
196
|
/**
|
|
226
197
|
* @description Printing language of the item
|
|
227
198
|
* @example JPN
|
|
228
199
|
* @enum {string|null}
|
|
229
200
|
*/
|
|
230
201
|
language: "ENG" | "JPN" | "CHI" | undefined;
|
|
231
|
-
alternativeNames:
|
|
232
|
-
name: string;
|
|
233
|
-
shortName: string | undefined;
|
|
234
|
-
}[];
|
|
202
|
+
alternativeNames: components["schemas"]["AlternativeName"][];
|
|
235
203
|
supportsMultipackPricing: boolean;
|
|
236
204
|
/**
|
|
237
205
|
* @description Absolute asset URL, or null when absent
|
|
@@ -276,73 +244,52 @@ interface components {
|
|
|
276
244
|
artist: string | undefined;
|
|
277
245
|
cardmarketId: string | undefined;
|
|
278
246
|
tcgplayerId: string | undefined;
|
|
279
|
-
variants:
|
|
280
|
-
normal: boolean;
|
|
281
|
-
holo: boolean;
|
|
282
|
-
reverse: boolean;
|
|
283
|
-
firstEdition: boolean;
|
|
284
|
-
wPromo: boolean;
|
|
285
|
-
} | undefined;
|
|
247
|
+
variants: components["schemas"]["CardVariants"] | undefined;
|
|
286
248
|
prisjaktId: string | undefined;
|
|
287
|
-
lowestShopOffer:
|
|
288
|
-
shop: {
|
|
289
|
-
/** @example cardlevels */
|
|
290
|
-
technicalName: string;
|
|
291
|
-
/** @example Cardlevels */
|
|
292
|
-
name: string;
|
|
293
|
-
};
|
|
294
|
-
url: string;
|
|
295
|
-
/** @example 149.5 */
|
|
296
|
-
price: number;
|
|
297
|
-
/**
|
|
298
|
-
* @description ISO-4217 currency code
|
|
299
|
-
* @example SEK
|
|
300
|
-
*/
|
|
301
|
-
currency: string;
|
|
302
|
-
inStock: boolean;
|
|
303
|
-
inPreorder: boolean;
|
|
304
|
-
inMonitor: boolean;
|
|
305
|
-
isFullyBooked: boolean;
|
|
306
|
-
/**
|
|
307
|
-
* Format: date-time
|
|
308
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
309
|
-
*/
|
|
310
|
-
matchedAt: string;
|
|
311
|
-
/**
|
|
312
|
-
* Format: date-time
|
|
313
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
314
|
-
*/
|
|
315
|
-
updatedAt: string;
|
|
316
|
-
bargain: {
|
|
317
|
-
discountPercent: number;
|
|
318
|
-
/** @enum {string} */
|
|
319
|
-
referenceSource: "retail" | "tradera" | "cardmarket";
|
|
320
|
-
} | undefined;
|
|
321
|
-
} | undefined;
|
|
249
|
+
lowestShopOffer: components["schemas"]["LowestShopOffer"] | undefined;
|
|
322
250
|
referencePriceSnapshotsByProvider: {
|
|
323
|
-
[key: string]:
|
|
324
|
-
/** @enum {string} */
|
|
325
|
-
provider: "cardmarket" | "tcgplayer" | "ebay" | "tradera";
|
|
326
|
-
/** @example 149.5 */
|
|
327
|
-
price: number;
|
|
328
|
-
/**
|
|
329
|
-
* @description ISO-4217 currency code
|
|
330
|
-
* @example SEK
|
|
331
|
-
*/
|
|
332
|
-
currency: string;
|
|
333
|
-
/**
|
|
334
|
-
* @description price converted to SEK at the rate stored on the row
|
|
335
|
-
* @example 149.5
|
|
336
|
-
*/
|
|
337
|
-
priceSek: number;
|
|
338
|
-
/**
|
|
339
|
-
* Format: date-time
|
|
340
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
341
|
-
*/
|
|
342
|
-
snapshotDate: string;
|
|
343
|
-
};
|
|
251
|
+
[key: string]: components["schemas"]["ReferencePriceSummary"];
|
|
344
252
|
};
|
|
345
253
|
};
|
|
254
|
+
CatalogItem: components["schemas"]["Card"] | components["schemas"]["Product"];
|
|
255
|
+
CatalogItemRef: {
|
|
256
|
+
/**
|
|
257
|
+
* @description Resource identifier
|
|
258
|
+
* @example 6a577711abc1ce71383d3e10
|
|
259
|
+
*/
|
|
260
|
+
id: string;
|
|
261
|
+
name: string;
|
|
262
|
+
};
|
|
263
|
+
CategoryRef: {
|
|
264
|
+
/**
|
|
265
|
+
* @description Resource identifier
|
|
266
|
+
* @example 6a577711abc1ce71383d3e10
|
|
267
|
+
*/
|
|
268
|
+
id: string;
|
|
269
|
+
/** @example Booster Box */
|
|
270
|
+
name: string;
|
|
271
|
+
/** @example booster-box */
|
|
272
|
+
technicalName: string;
|
|
273
|
+
};
|
|
274
|
+
DailyPricePoint: {
|
|
275
|
+
/**
|
|
276
|
+
* Format: date-time
|
|
277
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
278
|
+
*/
|
|
279
|
+
statDate: string;
|
|
280
|
+
/** @example 149.5 */
|
|
281
|
+
averagePrice: number;
|
|
282
|
+
};
|
|
283
|
+
EstimatedValue: {
|
|
284
|
+
/** @example 149.5 */
|
|
285
|
+
estimatedValue: number | undefined;
|
|
286
|
+
/**
|
|
287
|
+
* Format: date-time
|
|
288
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
289
|
+
*/
|
|
290
|
+
estimateUpdatedAt: string | undefined;
|
|
291
|
+
dataPointCount: number;
|
|
292
|
+
};
|
|
346
293
|
Expansion: {
|
|
347
294
|
/**
|
|
348
295
|
* @description Resource identifier
|
|
@@ -388,31 +335,8 @@ interface components {
|
|
|
388
335
|
*/
|
|
389
336
|
imageUrl: string | undefined;
|
|
390
337
|
year: number | undefined;
|
|
391
|
-
brand:
|
|
392
|
-
|
|
393
|
-
* @description Resource identifier
|
|
394
|
-
* @example 6a577711abc1ce71383d3e10
|
|
395
|
-
*/
|
|
396
|
-
id: string;
|
|
397
|
-
/** @example Pokémon */
|
|
398
|
-
name: string;
|
|
399
|
-
/** @example pokemon */
|
|
400
|
-
technicalName: string;
|
|
401
|
-
/**
|
|
402
|
-
* Format: date-time
|
|
403
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
404
|
-
*/
|
|
405
|
-
createdAt: string;
|
|
406
|
-
/**
|
|
407
|
-
* Format: date-time
|
|
408
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
409
|
-
*/
|
|
410
|
-
updatedAt: string;
|
|
411
|
-
};
|
|
412
|
-
alternativeNames: {
|
|
413
|
-
name: string;
|
|
414
|
-
shortName: string | undefined;
|
|
415
|
-
}[];
|
|
338
|
+
brand: components["schemas"]["Brand"];
|
|
339
|
+
alternativeNames: components["schemas"]["AlternativeName"][];
|
|
416
340
|
/** @description Sealed products in this expansion */
|
|
417
341
|
sealedCount: number;
|
|
418
342
|
/** @description Cards in this expansion */
|
|
@@ -431,973 +355,94 @@ interface components {
|
|
|
431
355
|
updatedAt: string;
|
|
432
356
|
};
|
|
433
357
|
ExpansionContents: {
|
|
434
|
-
expansion:
|
|
435
|
-
/**
|
|
436
|
-
* @description Resource identifier
|
|
437
|
-
* @example 6a577711abc1ce71383d3e10
|
|
438
|
-
*/
|
|
439
|
-
id: string;
|
|
440
|
-
/** @example Mega Evolution 30th Celebration */
|
|
441
|
-
name: string;
|
|
442
|
-
/** @example 30th Celebration */
|
|
443
|
-
shortName: string;
|
|
444
|
-
/** @example jpn-mega-evolution-30th-celebration */
|
|
445
|
-
technicalName: string;
|
|
446
|
-
/**
|
|
447
|
-
* @description Printing language of the item
|
|
448
|
-
* @example JPN
|
|
449
|
-
* @enum {string}
|
|
450
|
-
*/
|
|
451
|
-
language: "ENG" | "JPN" | "CHI";
|
|
452
|
-
/** @example m6a */
|
|
453
|
-
code: string | undefined;
|
|
454
|
-
/** @example m6a */
|
|
455
|
-
cardCode: string | undefined;
|
|
456
|
-
/** @example Mega Evolution */
|
|
457
|
-
seriesName: string | undefined;
|
|
458
|
-
/**
|
|
459
|
-
* Format: date-time
|
|
460
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
461
|
-
*/
|
|
462
|
-
releaseDate: string | undefined;
|
|
463
|
-
/**
|
|
464
|
-
* @description Absolute asset URL, or null when absent
|
|
465
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
466
|
-
*/
|
|
467
|
-
logoUrl: string | undefined;
|
|
468
|
-
/**
|
|
469
|
-
* @description Absolute asset URL, or null when absent
|
|
470
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
471
|
-
*/
|
|
472
|
-
symbolUrl: string | undefined;
|
|
473
|
-
/**
|
|
474
|
-
* @description Absolute asset URL, or null when absent
|
|
475
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
476
|
-
*/
|
|
477
|
-
imageUrl: string | undefined;
|
|
478
|
-
};
|
|
358
|
+
expansion: components["schemas"]["ExpansionRef"];
|
|
479
359
|
cards: {
|
|
480
360
|
count: number;
|
|
481
|
-
items:
|
|
482
|
-
/**
|
|
483
|
-
* @description Resource identifier
|
|
484
|
-
* @example 6a577711abc1ce71383d3e10
|
|
485
|
-
*/
|
|
486
|
-
id: string;
|
|
487
|
-
name: string;
|
|
488
|
-
shortName: string | undefined;
|
|
489
|
-
technicalName: string;
|
|
490
|
-
brand: {
|
|
491
|
-
/**
|
|
492
|
-
* @description Resource identifier
|
|
493
|
-
* @example 6a577711abc1ce71383d3e10
|
|
494
|
-
*/
|
|
495
|
-
id: string;
|
|
496
|
-
/** @example Pokémon */
|
|
497
|
-
name: string;
|
|
498
|
-
/** @example pokemon */
|
|
499
|
-
technicalName: string;
|
|
500
|
-
/**
|
|
501
|
-
* Format: date-time
|
|
502
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
503
|
-
*/
|
|
504
|
-
createdAt: string;
|
|
505
|
-
/**
|
|
506
|
-
* Format: date-time
|
|
507
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
508
|
-
*/
|
|
509
|
-
updatedAt: string;
|
|
510
|
-
};
|
|
511
|
-
manufacturer: string;
|
|
512
|
-
modelNumber: string | undefined;
|
|
513
|
-
category: {
|
|
514
|
-
/**
|
|
515
|
-
* @description Resource identifier
|
|
516
|
-
* @example 6a577711abc1ce71383d3e10
|
|
517
|
-
*/
|
|
518
|
-
id: string;
|
|
519
|
-
/** @example Booster Box */
|
|
520
|
-
name: string;
|
|
521
|
-
/** @example booster-box */
|
|
522
|
-
technicalName: string;
|
|
523
|
-
} | undefined;
|
|
524
|
-
expansion: {
|
|
525
|
-
/**
|
|
526
|
-
* @description Resource identifier
|
|
527
|
-
* @example 6a577711abc1ce71383d3e10
|
|
528
|
-
*/
|
|
529
|
-
id: string;
|
|
530
|
-
/** @example Mega Evolution 30th Celebration */
|
|
531
|
-
name: string;
|
|
532
|
-
/** @example 30th Celebration */
|
|
533
|
-
shortName: string;
|
|
534
|
-
/** @example jpn-mega-evolution-30th-celebration */
|
|
535
|
-
technicalName: string;
|
|
536
|
-
/**
|
|
537
|
-
* @description Printing language of the item
|
|
538
|
-
* @example JPN
|
|
539
|
-
* @enum {string}
|
|
540
|
-
*/
|
|
541
|
-
language: "ENG" | "JPN" | "CHI";
|
|
542
|
-
/** @example m6a */
|
|
543
|
-
code: string | undefined;
|
|
544
|
-
/** @example m6a */
|
|
545
|
-
cardCode: string | undefined;
|
|
546
|
-
/** @example Mega Evolution */
|
|
547
|
-
seriesName: string | undefined;
|
|
548
|
-
/**
|
|
549
|
-
* Format: date-time
|
|
550
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
551
|
-
*/
|
|
552
|
-
releaseDate: string | undefined;
|
|
553
|
-
/**
|
|
554
|
-
* @description Absolute asset URL, or null when absent
|
|
555
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
556
|
-
*/
|
|
557
|
-
logoUrl: string | undefined;
|
|
558
|
-
/**
|
|
559
|
-
* @description Absolute asset URL, or null when absent
|
|
560
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
561
|
-
*/
|
|
562
|
-
symbolUrl: string | undefined;
|
|
563
|
-
/**
|
|
564
|
-
* @description Absolute asset URL, or null when absent
|
|
565
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
566
|
-
*/
|
|
567
|
-
imageUrl: string | undefined;
|
|
568
|
-
} | undefined;
|
|
569
|
-
/**
|
|
570
|
-
* @description Printing language of the item
|
|
571
|
-
* @example JPN
|
|
572
|
-
* @enum {string|null}
|
|
573
|
-
*/
|
|
574
|
-
language: "ENG" | "JPN" | "CHI" | undefined;
|
|
575
|
-
alternativeNames: {
|
|
576
|
-
name: string;
|
|
577
|
-
shortName: string | undefined;
|
|
578
|
-
}[];
|
|
579
|
-
supportsMultipackPricing: boolean;
|
|
580
|
-
/**
|
|
581
|
-
* @description Absolute asset URL, or null when absent
|
|
582
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
583
|
-
*/
|
|
584
|
-
imageUrl: string | undefined;
|
|
585
|
-
/**
|
|
586
|
-
* @description Cheapest current shop price, in SEK
|
|
587
|
-
* @example 149.5
|
|
588
|
-
*/
|
|
589
|
-
retailPrice: number | undefined;
|
|
590
|
-
/**
|
|
591
|
-
* @description Estimated market value, in SEK
|
|
592
|
-
* @example 149.5
|
|
593
|
-
*/
|
|
594
|
-
estimatedValue: number | undefined;
|
|
595
|
-
/** @description Active shops currently tracking this item */
|
|
596
|
-
shopCount: number;
|
|
597
|
-
/** @description Observations the estimate rests on */
|
|
598
|
-
pricingDataPoints: number;
|
|
599
|
-
/**
|
|
600
|
-
* Format: date-time
|
|
601
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
602
|
-
*/
|
|
603
|
-
pricingUpdatedAt: string | undefined;
|
|
604
|
-
/**
|
|
605
|
-
* Format: date-time
|
|
606
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
607
|
-
*/
|
|
608
|
-
createdAt: string;
|
|
609
|
-
/**
|
|
610
|
-
* Format: date-time
|
|
611
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
612
|
-
*/
|
|
613
|
-
updatedAt: string;
|
|
614
|
-
/** @enum {string} */
|
|
615
|
-
kind: "card";
|
|
616
|
-
/** @example 4/102 */
|
|
617
|
-
cardNumber: string;
|
|
618
|
-
/** @example Rare Holo */
|
|
619
|
-
rarity: string | undefined;
|
|
620
|
-
artist: string | undefined;
|
|
621
|
-
cardmarketId: string | undefined;
|
|
622
|
-
tcgplayerId: string | undefined;
|
|
623
|
-
variants: {
|
|
624
|
-
normal: boolean;
|
|
625
|
-
holo: boolean;
|
|
626
|
-
reverse: boolean;
|
|
627
|
-
firstEdition: boolean;
|
|
628
|
-
wPromo: boolean;
|
|
629
|
-
} | undefined;
|
|
630
|
-
prisjaktId: string | undefined;
|
|
631
|
-
lowestShopOffer: {
|
|
632
|
-
shop: {
|
|
633
|
-
/** @example cardlevels */
|
|
634
|
-
technicalName: string;
|
|
635
|
-
/** @example Cardlevels */
|
|
636
|
-
name: string;
|
|
637
|
-
};
|
|
638
|
-
url: string;
|
|
639
|
-
/** @example 149.5 */
|
|
640
|
-
price: number;
|
|
641
|
-
/**
|
|
642
|
-
* @description ISO-4217 currency code
|
|
643
|
-
* @example SEK
|
|
644
|
-
*/
|
|
645
|
-
currency: string;
|
|
646
|
-
inStock: boolean;
|
|
647
|
-
inPreorder: boolean;
|
|
648
|
-
inMonitor: boolean;
|
|
649
|
-
isFullyBooked: boolean;
|
|
650
|
-
/**
|
|
651
|
-
* Format: date-time
|
|
652
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
653
|
-
*/
|
|
654
|
-
matchedAt: string;
|
|
655
|
-
/**
|
|
656
|
-
* Format: date-time
|
|
657
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
658
|
-
*/
|
|
659
|
-
updatedAt: string;
|
|
660
|
-
bargain: {
|
|
661
|
-
discountPercent: number;
|
|
662
|
-
/** @enum {string} */
|
|
663
|
-
referenceSource: "retail" | "tradera" | "cardmarket";
|
|
664
|
-
} | undefined;
|
|
665
|
-
} | undefined;
|
|
666
|
-
referencePriceSnapshotsByProvider: {
|
|
667
|
-
[key: string]: {
|
|
668
|
-
/** @enum {string} */
|
|
669
|
-
provider: "cardmarket" | "tcgplayer" | "ebay" | "tradera";
|
|
670
|
-
/** @example 149.5 */
|
|
671
|
-
price: number;
|
|
672
|
-
/**
|
|
673
|
-
* @description ISO-4217 currency code
|
|
674
|
-
* @example SEK
|
|
675
|
-
*/
|
|
676
|
-
currency: string;
|
|
677
|
-
/**
|
|
678
|
-
* @description price converted to SEK at the rate stored on the row
|
|
679
|
-
* @example 149.5
|
|
680
|
-
*/
|
|
681
|
-
priceSek: number;
|
|
682
|
-
/**
|
|
683
|
-
* Format: date-time
|
|
684
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
685
|
-
*/
|
|
686
|
-
snapshotDate: string;
|
|
687
|
-
};
|
|
688
|
-
};
|
|
689
|
-
}[];
|
|
361
|
+
items: components["schemas"]["CardWithPricing"][];
|
|
690
362
|
};
|
|
691
363
|
sealed: {
|
|
692
364
|
count: number;
|
|
693
|
-
items:
|
|
694
|
-
/**
|
|
695
|
-
* @description Resource identifier
|
|
696
|
-
* @example 6a577711abc1ce71383d3e10
|
|
697
|
-
*/
|
|
698
|
-
id: string;
|
|
699
|
-
name: string;
|
|
700
|
-
shortName: string | undefined;
|
|
701
|
-
technicalName: string;
|
|
702
|
-
brand: {
|
|
703
|
-
/**
|
|
704
|
-
* @description Resource identifier
|
|
705
|
-
* @example 6a577711abc1ce71383d3e10
|
|
706
|
-
*/
|
|
707
|
-
id: string;
|
|
708
|
-
/** @example Pokémon */
|
|
709
|
-
name: string;
|
|
710
|
-
/** @example pokemon */
|
|
711
|
-
technicalName: string;
|
|
712
|
-
/**
|
|
713
|
-
* Format: date-time
|
|
714
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
715
|
-
*/
|
|
716
|
-
createdAt: string;
|
|
717
|
-
/**
|
|
718
|
-
* Format: date-time
|
|
719
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
720
|
-
*/
|
|
721
|
-
updatedAt: string;
|
|
722
|
-
};
|
|
723
|
-
manufacturer: string;
|
|
724
|
-
modelNumber: string | undefined;
|
|
725
|
-
category: {
|
|
726
|
-
/**
|
|
727
|
-
* @description Resource identifier
|
|
728
|
-
* @example 6a577711abc1ce71383d3e10
|
|
729
|
-
*/
|
|
730
|
-
id: string;
|
|
731
|
-
/** @example Booster Box */
|
|
732
|
-
name: string;
|
|
733
|
-
/** @example booster-box */
|
|
734
|
-
technicalName: string;
|
|
735
|
-
} | undefined;
|
|
736
|
-
expansion: {
|
|
737
|
-
/**
|
|
738
|
-
* @description Resource identifier
|
|
739
|
-
* @example 6a577711abc1ce71383d3e10
|
|
740
|
-
*/
|
|
741
|
-
id: string;
|
|
742
|
-
/** @example Mega Evolution 30th Celebration */
|
|
743
|
-
name: string;
|
|
744
|
-
/** @example 30th Celebration */
|
|
745
|
-
shortName: string;
|
|
746
|
-
/** @example jpn-mega-evolution-30th-celebration */
|
|
747
|
-
technicalName: string;
|
|
748
|
-
/**
|
|
749
|
-
* @description Printing language of the item
|
|
750
|
-
* @example JPN
|
|
751
|
-
* @enum {string}
|
|
752
|
-
*/
|
|
753
|
-
language: "ENG" | "JPN" | "CHI";
|
|
754
|
-
/** @example m6a */
|
|
755
|
-
code: string | undefined;
|
|
756
|
-
/** @example m6a */
|
|
757
|
-
cardCode: string | undefined;
|
|
758
|
-
/** @example Mega Evolution */
|
|
759
|
-
seriesName: string | undefined;
|
|
760
|
-
/**
|
|
761
|
-
* Format: date-time
|
|
762
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
763
|
-
*/
|
|
764
|
-
releaseDate: string | undefined;
|
|
765
|
-
/**
|
|
766
|
-
* @description Absolute asset URL, or null when absent
|
|
767
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
768
|
-
*/
|
|
769
|
-
logoUrl: string | undefined;
|
|
770
|
-
/**
|
|
771
|
-
* @description Absolute asset URL, or null when absent
|
|
772
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
773
|
-
*/
|
|
774
|
-
symbolUrl: string | undefined;
|
|
775
|
-
/**
|
|
776
|
-
* @description Absolute asset URL, or null when absent
|
|
777
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
778
|
-
*/
|
|
779
|
-
imageUrl: string | undefined;
|
|
780
|
-
} | undefined;
|
|
781
|
-
/**
|
|
782
|
-
* @description Printing language of the item
|
|
783
|
-
* @example JPN
|
|
784
|
-
* @enum {string|null}
|
|
785
|
-
*/
|
|
786
|
-
language: "ENG" | "JPN" | "CHI" | undefined;
|
|
787
|
-
alternativeNames: {
|
|
788
|
-
name: string;
|
|
789
|
-
shortName: string | undefined;
|
|
790
|
-
}[];
|
|
791
|
-
supportsMultipackPricing: boolean;
|
|
792
|
-
/**
|
|
793
|
-
* @description Absolute asset URL, or null when absent
|
|
794
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
795
|
-
*/
|
|
796
|
-
imageUrl: string | undefined;
|
|
797
|
-
/**
|
|
798
|
-
* @description Cheapest current shop price, in SEK
|
|
799
|
-
* @example 149.5
|
|
800
|
-
*/
|
|
801
|
-
retailPrice: number | undefined;
|
|
802
|
-
/**
|
|
803
|
-
* @description Estimated market value, in SEK
|
|
804
|
-
* @example 149.5
|
|
805
|
-
*/
|
|
806
|
-
estimatedValue: number | undefined;
|
|
807
|
-
/** @description Active shops currently tracking this item */
|
|
808
|
-
shopCount: number;
|
|
809
|
-
/** @description Observations the estimate rests on */
|
|
810
|
-
pricingDataPoints: number;
|
|
811
|
-
/**
|
|
812
|
-
* Format: date-time
|
|
813
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
814
|
-
*/
|
|
815
|
-
pricingUpdatedAt: string | undefined;
|
|
816
|
-
/**
|
|
817
|
-
* Format: date-time
|
|
818
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
819
|
-
*/
|
|
820
|
-
createdAt: string;
|
|
821
|
-
/**
|
|
822
|
-
* Format: date-time
|
|
823
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
824
|
-
*/
|
|
825
|
-
updatedAt: string;
|
|
826
|
-
/** @enum {string} */
|
|
827
|
-
kind: "sealed";
|
|
828
|
-
upc: string | undefined;
|
|
829
|
-
asin: string | undefined;
|
|
830
|
-
epid: string | undefined;
|
|
831
|
-
priceChartingId: string | undefined;
|
|
832
|
-
prisjaktId: string | undefined;
|
|
833
|
-
lowestShopOffer: {
|
|
834
|
-
shop: {
|
|
835
|
-
/** @example cardlevels */
|
|
836
|
-
technicalName: string;
|
|
837
|
-
/** @example Cardlevels */
|
|
838
|
-
name: string;
|
|
839
|
-
};
|
|
840
|
-
url: string;
|
|
841
|
-
/** @example 149.5 */
|
|
842
|
-
price: number;
|
|
843
|
-
/**
|
|
844
|
-
* @description ISO-4217 currency code
|
|
845
|
-
* @example SEK
|
|
846
|
-
*/
|
|
847
|
-
currency: string;
|
|
848
|
-
inStock: boolean;
|
|
849
|
-
inPreorder: boolean;
|
|
850
|
-
inMonitor: boolean;
|
|
851
|
-
isFullyBooked: boolean;
|
|
852
|
-
/**
|
|
853
|
-
* Format: date-time
|
|
854
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
855
|
-
*/
|
|
856
|
-
matchedAt: string;
|
|
857
|
-
/**
|
|
858
|
-
* Format: date-time
|
|
859
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
860
|
-
*/
|
|
861
|
-
updatedAt: string;
|
|
862
|
-
bargain: {
|
|
863
|
-
discountPercent: number;
|
|
864
|
-
/** @enum {string} */
|
|
865
|
-
referenceSource: "retail" | "tradera" | "cardmarket";
|
|
866
|
-
} | undefined;
|
|
867
|
-
} | undefined;
|
|
868
|
-
referencePriceSnapshotsByProvider: {
|
|
869
|
-
[key: string]: {
|
|
870
|
-
/** @enum {string} */
|
|
871
|
-
provider: "cardmarket" | "tcgplayer" | "ebay" | "tradera";
|
|
872
|
-
/** @example 149.5 */
|
|
873
|
-
price: number;
|
|
874
|
-
/**
|
|
875
|
-
* @description ISO-4217 currency code
|
|
876
|
-
* @example SEK
|
|
877
|
-
*/
|
|
878
|
-
currency: string;
|
|
879
|
-
/**
|
|
880
|
-
* @description price converted to SEK at the rate stored on the row
|
|
881
|
-
* @example 149.5
|
|
882
|
-
*/
|
|
883
|
-
priceSek: number;
|
|
884
|
-
/**
|
|
885
|
-
* Format: date-time
|
|
886
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
887
|
-
*/
|
|
888
|
-
snapshotDate: string;
|
|
889
|
-
};
|
|
890
|
-
};
|
|
891
|
-
}[];
|
|
365
|
+
items: components["schemas"]["ProductWithPricing"][];
|
|
892
366
|
};
|
|
893
367
|
};
|
|
894
368
|
ExpansionLivePricing: {
|
|
895
369
|
expansion: {
|
|
896
370
|
technicalName: string;
|
|
897
371
|
};
|
|
898
|
-
items:
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
372
|
+
items: components["schemas"]["LivePricingForItem"][];
|
|
373
|
+
};
|
|
374
|
+
ExpansionRef: {
|
|
375
|
+
/**
|
|
376
|
+
* @description Resource identifier
|
|
377
|
+
* @example 6a577711abc1ce71383d3e10
|
|
378
|
+
*/
|
|
379
|
+
id: string;
|
|
380
|
+
/** @example Mega Evolution 30th Celebration */
|
|
381
|
+
name: string;
|
|
382
|
+
/** @example 30th Celebration */
|
|
383
|
+
shortName: string;
|
|
384
|
+
/** @example jpn-mega-evolution-30th-celebration */
|
|
385
|
+
technicalName: string;
|
|
386
|
+
/**
|
|
387
|
+
* @description Printing language of the item
|
|
388
|
+
* @example JPN
|
|
389
|
+
* @enum {string}
|
|
390
|
+
*/
|
|
391
|
+
language: "ENG" | "JPN" | "CHI";
|
|
392
|
+
/** @example m6a */
|
|
393
|
+
code: string | undefined;
|
|
394
|
+
/** @example m6a */
|
|
395
|
+
cardCode: string | undefined;
|
|
396
|
+
/** @example Mega Evolution */
|
|
397
|
+
seriesName: string | undefined;
|
|
398
|
+
/**
|
|
399
|
+
* Format: date-time
|
|
400
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
401
|
+
*/
|
|
402
|
+
releaseDate: string | undefined;
|
|
403
|
+
/**
|
|
404
|
+
* @description Absolute asset URL, or null when absent
|
|
405
|
+
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
406
|
+
*/
|
|
407
|
+
logoUrl: string | undefined;
|
|
408
|
+
/**
|
|
409
|
+
* @description Absolute asset URL, or null when absent
|
|
410
|
+
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
411
|
+
*/
|
|
412
|
+
symbolUrl: string | undefined;
|
|
413
|
+
/**
|
|
414
|
+
* @description Absolute asset URL, or null when absent
|
|
415
|
+
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
416
|
+
*/
|
|
417
|
+
imageUrl: string | undefined;
|
|
418
|
+
};
|
|
419
|
+
ItemDailyStats: {
|
|
420
|
+
item: components["schemas"]["CatalogItemRef"];
|
|
421
|
+
dailyStats: components["schemas"]["DailyPricePoint"][];
|
|
939
422
|
};
|
|
940
423
|
ItemEstimatedValue: {
|
|
941
|
-
item:
|
|
942
|
-
|
|
943
|
-
* @description Resource identifier
|
|
944
|
-
* @example 6a577711abc1ce71383d3e10
|
|
945
|
-
*/
|
|
946
|
-
id: string;
|
|
947
|
-
name: string;
|
|
948
|
-
};
|
|
949
|
-
estimate: {
|
|
950
|
-
/** @example 149.5 */
|
|
951
|
-
estimatedValue: number | undefined;
|
|
952
|
-
/**
|
|
953
|
-
* Format: date-time
|
|
954
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
955
|
-
*/
|
|
956
|
-
estimateUpdatedAt: string | undefined;
|
|
957
|
-
dataPointCount: number;
|
|
958
|
-
};
|
|
424
|
+
item: components["schemas"]["CatalogItemRef"];
|
|
425
|
+
estimate: components["schemas"]["EstimatedValue"];
|
|
959
426
|
};
|
|
960
427
|
ItemFullStats: {
|
|
961
|
-
item:
|
|
962
|
-
/**
|
|
963
|
-
* @description Resource identifier
|
|
964
|
-
* @example 6a577711abc1ce71383d3e10
|
|
965
|
-
*/
|
|
966
|
-
id: string;
|
|
967
|
-
name: string;
|
|
968
|
-
shortName: string | undefined;
|
|
969
|
-
technicalName: string;
|
|
970
|
-
brand: {
|
|
971
|
-
/**
|
|
972
|
-
* @description Resource identifier
|
|
973
|
-
* @example 6a577711abc1ce71383d3e10
|
|
974
|
-
*/
|
|
975
|
-
id: string;
|
|
976
|
-
/** @example Pokémon */
|
|
977
|
-
name: string;
|
|
978
|
-
/** @example pokemon */
|
|
979
|
-
technicalName: string;
|
|
980
|
-
/**
|
|
981
|
-
* Format: date-time
|
|
982
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
983
|
-
*/
|
|
984
|
-
createdAt: string;
|
|
985
|
-
/**
|
|
986
|
-
* Format: date-time
|
|
987
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
988
|
-
*/
|
|
989
|
-
updatedAt: string;
|
|
990
|
-
};
|
|
991
|
-
manufacturer: string;
|
|
992
|
-
modelNumber: string | undefined;
|
|
993
|
-
category: {
|
|
994
|
-
/**
|
|
995
|
-
* @description Resource identifier
|
|
996
|
-
* @example 6a577711abc1ce71383d3e10
|
|
997
|
-
*/
|
|
998
|
-
id: string;
|
|
999
|
-
/** @example Booster Box */
|
|
1000
|
-
name: string;
|
|
1001
|
-
/** @example booster-box */
|
|
1002
|
-
technicalName: string;
|
|
1003
|
-
} | undefined;
|
|
1004
|
-
expansion: {
|
|
1005
|
-
/**
|
|
1006
|
-
* @description Resource identifier
|
|
1007
|
-
* @example 6a577711abc1ce71383d3e10
|
|
1008
|
-
*/
|
|
1009
|
-
id: string;
|
|
1010
|
-
/** @example Mega Evolution 30th Celebration */
|
|
1011
|
-
name: string;
|
|
1012
|
-
/** @example 30th Celebration */
|
|
1013
|
-
shortName: string;
|
|
1014
|
-
/** @example jpn-mega-evolution-30th-celebration */
|
|
1015
|
-
technicalName: string;
|
|
1016
|
-
/**
|
|
1017
|
-
* @description Printing language of the item
|
|
1018
|
-
* @example JPN
|
|
1019
|
-
* @enum {string}
|
|
1020
|
-
*/
|
|
1021
|
-
language: "ENG" | "JPN" | "CHI";
|
|
1022
|
-
/** @example m6a */
|
|
1023
|
-
code: string | undefined;
|
|
1024
|
-
/** @example m6a */
|
|
1025
|
-
cardCode: string | undefined;
|
|
1026
|
-
/** @example Mega Evolution */
|
|
1027
|
-
seriesName: string | undefined;
|
|
1028
|
-
/**
|
|
1029
|
-
* Format: date-time
|
|
1030
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1031
|
-
*/
|
|
1032
|
-
releaseDate: string | undefined;
|
|
1033
|
-
/**
|
|
1034
|
-
* @description Absolute asset URL, or null when absent
|
|
1035
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1036
|
-
*/
|
|
1037
|
-
logoUrl: string | undefined;
|
|
1038
|
-
/**
|
|
1039
|
-
* @description Absolute asset URL, or null when absent
|
|
1040
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1041
|
-
*/
|
|
1042
|
-
symbolUrl: string | undefined;
|
|
1043
|
-
/**
|
|
1044
|
-
* @description Absolute asset URL, or null when absent
|
|
1045
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1046
|
-
*/
|
|
1047
|
-
imageUrl: string | undefined;
|
|
1048
|
-
} | undefined;
|
|
1049
|
-
/**
|
|
1050
|
-
* @description Printing language of the item
|
|
1051
|
-
* @example JPN
|
|
1052
|
-
* @enum {string|null}
|
|
1053
|
-
*/
|
|
1054
|
-
language: "ENG" | "JPN" | "CHI" | undefined;
|
|
1055
|
-
alternativeNames: {
|
|
1056
|
-
name: string;
|
|
1057
|
-
shortName: string | undefined;
|
|
1058
|
-
}[];
|
|
1059
|
-
supportsMultipackPricing: boolean;
|
|
1060
|
-
/**
|
|
1061
|
-
* @description Absolute asset URL, or null when absent
|
|
1062
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1063
|
-
*/
|
|
1064
|
-
imageUrl: string | undefined;
|
|
1065
|
-
/**
|
|
1066
|
-
* @description Cheapest current shop price, in SEK
|
|
1067
|
-
* @example 149.5
|
|
1068
|
-
*/
|
|
1069
|
-
retailPrice: number | undefined;
|
|
1070
|
-
/**
|
|
1071
|
-
* @description Estimated market value, in SEK
|
|
1072
|
-
* @example 149.5
|
|
1073
|
-
*/
|
|
1074
|
-
estimatedValue: number | undefined;
|
|
1075
|
-
/** @description Active shops currently tracking this item */
|
|
1076
|
-
shopCount: number;
|
|
1077
|
-
/** @description Observations the estimate rests on */
|
|
1078
|
-
pricingDataPoints: number;
|
|
1079
|
-
/**
|
|
1080
|
-
* Format: date-time
|
|
1081
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1082
|
-
*/
|
|
1083
|
-
pricingUpdatedAt: string | undefined;
|
|
1084
|
-
/**
|
|
1085
|
-
* Format: date-time
|
|
1086
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1087
|
-
*/
|
|
1088
|
-
createdAt: string;
|
|
1089
|
-
/**
|
|
1090
|
-
* Format: date-time
|
|
1091
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1092
|
-
*/
|
|
1093
|
-
updatedAt: string;
|
|
1094
|
-
/** @enum {string} */
|
|
1095
|
-
kind: "card";
|
|
1096
|
-
/** @example 4/102 */
|
|
1097
|
-
cardNumber: string;
|
|
1098
|
-
/** @example Rare Holo */
|
|
1099
|
-
rarity: string | undefined;
|
|
1100
|
-
artist: string | undefined;
|
|
1101
|
-
cardmarketId: string | undefined;
|
|
1102
|
-
tcgplayerId: string | undefined;
|
|
1103
|
-
variants: {
|
|
1104
|
-
normal: boolean;
|
|
1105
|
-
holo: boolean;
|
|
1106
|
-
reverse: boolean;
|
|
1107
|
-
firstEdition: boolean;
|
|
1108
|
-
wPromo: boolean;
|
|
1109
|
-
} | undefined;
|
|
1110
|
-
prisjaktId: string | undefined;
|
|
1111
|
-
} | {
|
|
1112
|
-
/**
|
|
1113
|
-
* @description Resource identifier
|
|
1114
|
-
* @example 6a577711abc1ce71383d3e10
|
|
1115
|
-
*/
|
|
1116
|
-
id: string;
|
|
1117
|
-
name: string;
|
|
1118
|
-
shortName: string | undefined;
|
|
1119
|
-
technicalName: string;
|
|
1120
|
-
brand: {
|
|
1121
|
-
/**
|
|
1122
|
-
* @description Resource identifier
|
|
1123
|
-
* @example 6a577711abc1ce71383d3e10
|
|
1124
|
-
*/
|
|
1125
|
-
id: string;
|
|
1126
|
-
/** @example Pokémon */
|
|
1127
|
-
name: string;
|
|
1128
|
-
/** @example pokemon */
|
|
1129
|
-
technicalName: string;
|
|
1130
|
-
/**
|
|
1131
|
-
* Format: date-time
|
|
1132
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1133
|
-
*/
|
|
1134
|
-
createdAt: string;
|
|
1135
|
-
/**
|
|
1136
|
-
* Format: date-time
|
|
1137
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1138
|
-
*/
|
|
1139
|
-
updatedAt: string;
|
|
1140
|
-
};
|
|
1141
|
-
manufacturer: string;
|
|
1142
|
-
modelNumber: string | undefined;
|
|
1143
|
-
category: {
|
|
1144
|
-
/**
|
|
1145
|
-
* @description Resource identifier
|
|
1146
|
-
* @example 6a577711abc1ce71383d3e10
|
|
1147
|
-
*/
|
|
1148
|
-
id: string;
|
|
1149
|
-
/** @example Booster Box */
|
|
1150
|
-
name: string;
|
|
1151
|
-
/** @example booster-box */
|
|
1152
|
-
technicalName: string;
|
|
1153
|
-
} | undefined;
|
|
1154
|
-
expansion: {
|
|
1155
|
-
/**
|
|
1156
|
-
* @description Resource identifier
|
|
1157
|
-
* @example 6a577711abc1ce71383d3e10
|
|
1158
|
-
*/
|
|
1159
|
-
id: string;
|
|
1160
|
-
/** @example Mega Evolution 30th Celebration */
|
|
1161
|
-
name: string;
|
|
1162
|
-
/** @example 30th Celebration */
|
|
1163
|
-
shortName: string;
|
|
1164
|
-
/** @example jpn-mega-evolution-30th-celebration */
|
|
1165
|
-
technicalName: string;
|
|
1166
|
-
/**
|
|
1167
|
-
* @description Printing language of the item
|
|
1168
|
-
* @example JPN
|
|
1169
|
-
* @enum {string}
|
|
1170
|
-
*/
|
|
1171
|
-
language: "ENG" | "JPN" | "CHI";
|
|
1172
|
-
/** @example m6a */
|
|
1173
|
-
code: string | undefined;
|
|
1174
|
-
/** @example m6a */
|
|
1175
|
-
cardCode: string | undefined;
|
|
1176
|
-
/** @example Mega Evolution */
|
|
1177
|
-
seriesName: string | undefined;
|
|
1178
|
-
/**
|
|
1179
|
-
* Format: date-time
|
|
1180
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1181
|
-
*/
|
|
1182
|
-
releaseDate: string | undefined;
|
|
1183
|
-
/**
|
|
1184
|
-
* @description Absolute asset URL, or null when absent
|
|
1185
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1186
|
-
*/
|
|
1187
|
-
logoUrl: string | undefined;
|
|
1188
|
-
/**
|
|
1189
|
-
* @description Absolute asset URL, or null when absent
|
|
1190
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1191
|
-
*/
|
|
1192
|
-
symbolUrl: string | undefined;
|
|
1193
|
-
/**
|
|
1194
|
-
* @description Absolute asset URL, or null when absent
|
|
1195
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1196
|
-
*/
|
|
1197
|
-
imageUrl: string | undefined;
|
|
1198
|
-
} | undefined;
|
|
1199
|
-
/**
|
|
1200
|
-
* @description Printing language of the item
|
|
1201
|
-
* @example JPN
|
|
1202
|
-
* @enum {string|null}
|
|
1203
|
-
*/
|
|
1204
|
-
language: "ENG" | "JPN" | "CHI" | undefined;
|
|
1205
|
-
alternativeNames: {
|
|
1206
|
-
name: string;
|
|
1207
|
-
shortName: string | undefined;
|
|
1208
|
-
}[];
|
|
1209
|
-
supportsMultipackPricing: boolean;
|
|
1210
|
-
/**
|
|
1211
|
-
* @description Absolute asset URL, or null when absent
|
|
1212
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1213
|
-
*/
|
|
1214
|
-
imageUrl: string | undefined;
|
|
1215
|
-
/**
|
|
1216
|
-
* @description Cheapest current shop price, in SEK
|
|
1217
|
-
* @example 149.5
|
|
1218
|
-
*/
|
|
1219
|
-
retailPrice: number | undefined;
|
|
1220
|
-
/**
|
|
1221
|
-
* @description Estimated market value, in SEK
|
|
1222
|
-
* @example 149.5
|
|
1223
|
-
*/
|
|
1224
|
-
estimatedValue: number | undefined;
|
|
1225
|
-
/** @description Active shops currently tracking this item */
|
|
1226
|
-
shopCount: number;
|
|
1227
|
-
/** @description Observations the estimate rests on */
|
|
1228
|
-
pricingDataPoints: number;
|
|
1229
|
-
/**
|
|
1230
|
-
* Format: date-time
|
|
1231
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1232
|
-
*/
|
|
1233
|
-
pricingUpdatedAt: string | undefined;
|
|
1234
|
-
/**
|
|
1235
|
-
* Format: date-time
|
|
1236
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1237
|
-
*/
|
|
1238
|
-
createdAt: string;
|
|
1239
|
-
/**
|
|
1240
|
-
* Format: date-time
|
|
1241
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1242
|
-
*/
|
|
1243
|
-
updatedAt: string;
|
|
1244
|
-
/** @enum {string} */
|
|
1245
|
-
kind: "sealed";
|
|
1246
|
-
upc: string | undefined;
|
|
1247
|
-
asin: string | undefined;
|
|
1248
|
-
epid: string | undefined;
|
|
1249
|
-
priceChartingId: string | undefined;
|
|
1250
|
-
prisjaktId: string | undefined;
|
|
1251
|
-
};
|
|
428
|
+
item: components["schemas"]["CatalogItem"];
|
|
1252
429
|
stats: {
|
|
1253
|
-
dailyStats:
|
|
1254
|
-
|
|
1255
|
-
* Format: date-time
|
|
1256
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1257
|
-
*/
|
|
1258
|
-
statDate: string;
|
|
1259
|
-
/** @example 149.5 */
|
|
1260
|
-
averagePrice: number;
|
|
1261
|
-
}[];
|
|
1262
|
-
variantStats: {
|
|
1263
|
-
/** @description Distinct cardType/condition/company/grade combinations */
|
|
1264
|
-
variantCount: number;
|
|
1265
|
-
looseCount: number;
|
|
1266
|
-
gradedCount: number;
|
|
1267
|
-
};
|
|
1268
|
-
};
|
|
1269
|
-
estimate: {
|
|
1270
|
-
/** @example 149.5 */
|
|
1271
|
-
estimatedValue: number | undefined;
|
|
1272
|
-
/**
|
|
1273
|
-
* Format: date-time
|
|
1274
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1275
|
-
*/
|
|
1276
|
-
estimateUpdatedAt: string | undefined;
|
|
1277
|
-
dataPointCount: number;
|
|
430
|
+
dailyStats: components["schemas"]["DailyPricePoint"][];
|
|
431
|
+
variantStats: components["schemas"]["VariantStatsSummary"];
|
|
1278
432
|
};
|
|
433
|
+
estimate: components["schemas"]["EstimatedValue"];
|
|
1279
434
|
shopMatches: {
|
|
1280
|
-
data:
|
|
1281
|
-
|
|
1282
|
-
* @description Resource identifier
|
|
1283
|
-
* @example 6a577711abc1ce71383d3e10
|
|
1284
|
-
*/
|
|
1285
|
-
id: string;
|
|
1286
|
-
shop: {
|
|
1287
|
-
/** @example cardlevels */
|
|
1288
|
-
technicalName: string;
|
|
1289
|
-
/** @example Cardlevels */
|
|
1290
|
-
name: string;
|
|
1291
|
-
delivery: {
|
|
1292
|
-
/** @example 149.5 */
|
|
1293
|
-
cost: number | undefined;
|
|
1294
|
-
currency: string | undefined;
|
|
1295
|
-
daysMin: number | undefined;
|
|
1296
|
-
daysMax: number | undefined;
|
|
1297
|
-
/** @example 149.5 */
|
|
1298
|
-
freeShippingThreshold: number | undefined;
|
|
1299
|
-
supportsLocalPickup: boolean | undefined;
|
|
1300
|
-
note: string | undefined;
|
|
1301
|
-
};
|
|
1302
|
-
};
|
|
1303
|
-
url: string;
|
|
1304
|
-
/**
|
|
1305
|
-
* @description Resource identifier
|
|
1306
|
-
* @example 6a577711abc1ce71383d3e10
|
|
1307
|
-
*/
|
|
1308
|
-
shopUrlId: string | undefined;
|
|
1309
|
-
/** @example 149.5 */
|
|
1310
|
-
price: number | undefined;
|
|
1311
|
-
/**
|
|
1312
|
-
* @description ISO-4217 currency code
|
|
1313
|
-
* @example SEK
|
|
1314
|
-
*/
|
|
1315
|
-
currency: string | undefined;
|
|
1316
|
-
inStock: boolean;
|
|
1317
|
-
inPreorder: boolean;
|
|
1318
|
-
inMonitor: boolean;
|
|
1319
|
-
isFullyBooked: boolean;
|
|
1320
|
-
scrapedName: string | undefined;
|
|
1321
|
-
scrapedType: string | undefined;
|
|
1322
|
-
matchScore: number | undefined;
|
|
1323
|
-
hasCategoryMismatch: boolean;
|
|
1324
|
-
/** @enum {string|null} */
|
|
1325
|
-
cardType: "loose" | "graded" | undefined;
|
|
1326
|
-
/** @enum {string|null} */
|
|
1327
|
-
itemCondition: "NM" | "LP" | "MP" | "HP" | "DMG" | undefined;
|
|
1328
|
-
/** @enum {string|null} */
|
|
1329
|
-
gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | undefined;
|
|
1330
|
-
grade: number | undefined;
|
|
1331
|
-
/**
|
|
1332
|
-
* Format: date-time
|
|
1333
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1334
|
-
*/
|
|
1335
|
-
matchedAt: string;
|
|
1336
|
-
/**
|
|
1337
|
-
* Format: date-time
|
|
1338
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1339
|
-
*/
|
|
1340
|
-
updatedAt: string;
|
|
1341
|
-
bargain: {
|
|
1342
|
-
discountPercent: number;
|
|
1343
|
-
/** @enum {string} */
|
|
1344
|
-
referenceSource: "retail" | "tradera" | "cardmarket";
|
|
1345
|
-
} | undefined;
|
|
1346
|
-
}[];
|
|
1347
|
-
pagination: {
|
|
1348
|
-
/** @description Total matching records, ignoring pagination */
|
|
1349
|
-
total: number;
|
|
1350
|
-
limit: number;
|
|
1351
|
-
skip: number;
|
|
1352
|
-
hasMore: boolean;
|
|
1353
|
-
};
|
|
435
|
+
data: components["schemas"]["ShopProductMatch"][];
|
|
436
|
+
pagination: components["schemas"]["PageMeta"];
|
|
1354
437
|
};
|
|
1355
438
|
};
|
|
1356
439
|
ItemPriceComparison: {
|
|
1357
|
-
item:
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
* @example 6a577711abc1ce71383d3e10
|
|
1361
|
-
*/
|
|
1362
|
-
id: string;
|
|
1363
|
-
name: string;
|
|
1364
|
-
};
|
|
1365
|
-
items: {
|
|
1366
|
-
shop: string;
|
|
1367
|
-
/** @example 149.5 */
|
|
1368
|
-
price: number;
|
|
1369
|
-
/**
|
|
1370
|
-
* @description ISO-4217 currency code
|
|
1371
|
-
* @example SEK
|
|
1372
|
-
*/
|
|
1373
|
-
currency: string;
|
|
1374
|
-
inStock: boolean;
|
|
1375
|
-
url: string;
|
|
1376
|
-
/**
|
|
1377
|
-
* Format: date-time
|
|
1378
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1379
|
-
*/
|
|
1380
|
-
snapshotDate: string;
|
|
1381
|
-
}[];
|
|
1382
|
-
stats: {
|
|
1383
|
-
/** @example 149.5 */
|
|
1384
|
-
lowestPrice: number;
|
|
1385
|
-
/** @example 149.5 */
|
|
1386
|
-
highestPrice: number;
|
|
1387
|
-
/** @example 149.5 */
|
|
1388
|
-
averagePrice: number;
|
|
1389
|
-
inStockCount: number;
|
|
1390
|
-
} | undefined;
|
|
440
|
+
item: components["schemas"]["CatalogItemRef"];
|
|
441
|
+
items: components["schemas"]["ShopPriceComparisonRow"][];
|
|
442
|
+
stats: components["schemas"]["ShopPriceComparisonStats"] | undefined;
|
|
1391
443
|
};
|
|
1392
444
|
ItemReferencePrices: {
|
|
1393
|
-
item:
|
|
1394
|
-
/**
|
|
1395
|
-
* @description Resource identifier
|
|
1396
|
-
* @example 6a577711abc1ce71383d3e10
|
|
1397
|
-
*/
|
|
1398
|
-
id: string;
|
|
1399
|
-
name: string;
|
|
1400
|
-
};
|
|
445
|
+
item: components["schemas"]["CatalogItemRef"];
|
|
1401
446
|
/**
|
|
1402
447
|
* Format: date-time
|
|
1403
448
|
* @example 2026-07-15T12:03:29.322Z
|
|
@@ -1412,592 +457,115 @@ interface components {
|
|
|
1412
457
|
metric: "price" | "low" | "mid" | "high" | "avg" | "avg1" | "avg7" | "avg30" | "directLow";
|
|
1413
458
|
/** @enum {string} */
|
|
1414
459
|
currencyMode: "native" | "sek";
|
|
1415
|
-
series:
|
|
1416
|
-
/** @enum {string} */
|
|
1417
|
-
source: "tcgdex" | "cmapi" | "tradera";
|
|
1418
|
-
/** @enum {string} */
|
|
1419
|
-
provider: "cardmarket" | "tcgplayer" | "ebay" | "tradera";
|
|
1420
|
-
/** @enum {string|null} */
|
|
1421
|
-
variant: "normal" | "holo" | "reverse" | undefined;
|
|
1422
|
-
/** @enum {string|null} */
|
|
1423
|
-
cardType: "loose" | "graded" | undefined;
|
|
1424
|
-
/** @enum {string|null} */
|
|
1425
|
-
gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | undefined;
|
|
1426
|
-
grade: number | undefined;
|
|
1427
|
-
currency: string;
|
|
1428
|
-
sampleSize: number | undefined;
|
|
1429
|
-
points: {
|
|
1430
|
-
/**
|
|
1431
|
-
* Format: date-time
|
|
1432
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1433
|
-
*/
|
|
1434
|
-
snapshotDate: string;
|
|
1435
|
-
price: number;
|
|
1436
|
-
}[];
|
|
1437
|
-
}[];
|
|
460
|
+
series: components["schemas"]["ReferencePriceSeries"][];
|
|
1438
461
|
};
|
|
1439
462
|
ItemShopMatches: {
|
|
1440
|
-
item:
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
* @example 6a577711abc1ce71383d3e10
|
|
1444
|
-
*/
|
|
1445
|
-
id: string;
|
|
1446
|
-
name: string;
|
|
1447
|
-
};
|
|
1448
|
-
data: {
|
|
1449
|
-
/**
|
|
1450
|
-
* @description Resource identifier
|
|
1451
|
-
* @example 6a577711abc1ce71383d3e10
|
|
1452
|
-
*/
|
|
1453
|
-
id: string;
|
|
1454
|
-
shop: {
|
|
1455
|
-
/** @example cardlevels */
|
|
1456
|
-
technicalName: string;
|
|
1457
|
-
/** @example Cardlevels */
|
|
1458
|
-
name: string;
|
|
1459
|
-
delivery: {
|
|
1460
|
-
/** @example 149.5 */
|
|
1461
|
-
cost: number | undefined;
|
|
1462
|
-
currency: string | undefined;
|
|
1463
|
-
daysMin: number | undefined;
|
|
1464
|
-
daysMax: number | undefined;
|
|
1465
|
-
/** @example 149.5 */
|
|
1466
|
-
freeShippingThreshold: number | undefined;
|
|
1467
|
-
supportsLocalPickup: boolean | undefined;
|
|
1468
|
-
note: string | undefined;
|
|
1469
|
-
};
|
|
1470
|
-
};
|
|
1471
|
-
url: string;
|
|
1472
|
-
/**
|
|
1473
|
-
* @description Resource identifier
|
|
1474
|
-
* @example 6a577711abc1ce71383d3e10
|
|
1475
|
-
*/
|
|
1476
|
-
shopUrlId: string | undefined;
|
|
1477
|
-
/** @example 149.5 */
|
|
1478
|
-
price: number | undefined;
|
|
1479
|
-
/**
|
|
1480
|
-
* @description ISO-4217 currency code
|
|
1481
|
-
* @example SEK
|
|
1482
|
-
*/
|
|
1483
|
-
currency: string | undefined;
|
|
1484
|
-
inStock: boolean;
|
|
1485
|
-
inPreorder: boolean;
|
|
1486
|
-
inMonitor: boolean;
|
|
1487
|
-
isFullyBooked: boolean;
|
|
1488
|
-
scrapedName: string | undefined;
|
|
1489
|
-
scrapedType: string | undefined;
|
|
1490
|
-
matchScore: number | undefined;
|
|
1491
|
-
hasCategoryMismatch: boolean;
|
|
1492
|
-
/** @enum {string|null} */
|
|
1493
|
-
cardType: "loose" | "graded" | undefined;
|
|
1494
|
-
/** @enum {string|null} */
|
|
1495
|
-
itemCondition: "NM" | "LP" | "MP" | "HP" | "DMG" | undefined;
|
|
1496
|
-
/** @enum {string|null} */
|
|
1497
|
-
gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | undefined;
|
|
1498
|
-
grade: number | undefined;
|
|
1499
|
-
/**
|
|
1500
|
-
* Format: date-time
|
|
1501
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1502
|
-
*/
|
|
1503
|
-
matchedAt: string;
|
|
1504
|
-
/**
|
|
1505
|
-
* Format: date-time
|
|
1506
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1507
|
-
*/
|
|
1508
|
-
updatedAt: string;
|
|
1509
|
-
bargain: {
|
|
1510
|
-
discountPercent: number;
|
|
1511
|
-
/** @enum {string} */
|
|
1512
|
-
referenceSource: "retail" | "tradera" | "cardmarket";
|
|
1513
|
-
} | undefined;
|
|
1514
|
-
}[];
|
|
1515
|
-
pagination: {
|
|
1516
|
-
/** @description Total matching records, ignoring pagination */
|
|
1517
|
-
total: number;
|
|
1518
|
-
limit: number;
|
|
1519
|
-
skip: number;
|
|
1520
|
-
hasMore: boolean;
|
|
1521
|
-
};
|
|
463
|
+
item: components["schemas"]["CatalogItemRef"];
|
|
464
|
+
data: components["schemas"]["ShopProductMatch"][];
|
|
465
|
+
pagination: components["schemas"]["PageMeta"];
|
|
1522
466
|
};
|
|
1523
467
|
ItemShopPriceHistory: {
|
|
1524
|
-
item:
|
|
1525
|
-
|
|
1526
|
-
* @description Resource identifier
|
|
1527
|
-
* @example 6a577711abc1ce71383d3e10
|
|
1528
|
-
*/
|
|
1529
|
-
id: string;
|
|
1530
|
-
name: string;
|
|
1531
|
-
};
|
|
1532
|
-
shops: {
|
|
1533
|
-
/** @description The shop's technicalName */
|
|
1534
|
-
shop: string;
|
|
1535
|
-
history: {
|
|
1536
|
-
/**
|
|
1537
|
-
* Format: date-time
|
|
1538
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1539
|
-
*/
|
|
1540
|
-
snapshotDate: string;
|
|
1541
|
-
/** @example 149.5 */
|
|
1542
|
-
price: number;
|
|
1543
|
-
/**
|
|
1544
|
-
* @description ISO-4217 currency code
|
|
1545
|
-
* @example SEK
|
|
1546
|
-
*/
|
|
1547
|
-
currency: string;
|
|
1548
|
-
inStock: boolean;
|
|
1549
|
-
url: string;
|
|
1550
|
-
}[];
|
|
1551
|
-
}[];
|
|
468
|
+
item: components["schemas"]["CatalogItemRef"];
|
|
469
|
+
shops: components["schemas"]["ShopPriceHistory"][];
|
|
1552
470
|
recordCount: number;
|
|
1553
471
|
};
|
|
1554
472
|
ItemSoldPrices: {
|
|
1555
|
-
item:
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
* @example 6a577711abc1ce71383d3e10
|
|
1559
|
-
*/
|
|
1560
|
-
id: string;
|
|
1561
|
-
name: string;
|
|
1562
|
-
};
|
|
1563
|
-
data: {
|
|
1564
|
-
/**
|
|
1565
|
-
* @description Resource identifier
|
|
1566
|
-
* @example 6a577711abc1ce71383d3e10
|
|
1567
|
-
*/
|
|
1568
|
-
id: string;
|
|
1569
|
-
url: string;
|
|
1570
|
-
/** @example 149.5 */
|
|
1571
|
-
price: number;
|
|
1572
|
-
/**
|
|
1573
|
-
* @description ISO-4217 currency code
|
|
1574
|
-
* @example SEK
|
|
1575
|
-
*/
|
|
1576
|
-
currency: string;
|
|
1577
|
-
/**
|
|
1578
|
-
* Format: date-time
|
|
1579
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1580
|
-
*/
|
|
1581
|
-
soldAt: string | undefined;
|
|
1582
|
-
itemId: string | undefined;
|
|
1583
|
-
/** @example tradera */
|
|
1584
|
-
source: string | undefined;
|
|
1585
|
-
}[];
|
|
1586
|
-
pagination: {
|
|
1587
|
-
/** @description Total matching records, ignoring pagination */
|
|
1588
|
-
total: number;
|
|
1589
|
-
limit: number;
|
|
1590
|
-
skip: number;
|
|
1591
|
-
hasMore: boolean;
|
|
1592
|
-
};
|
|
473
|
+
item: components["schemas"]["CatalogItemRef"];
|
|
474
|
+
data: components["schemas"]["SoldPrice"][];
|
|
475
|
+
pagination: components["schemas"]["PageMeta"];
|
|
1593
476
|
/** @enum {boolean} */
|
|
1594
477
|
premiumRequired: true;
|
|
1595
478
|
};
|
|
1596
479
|
ItemStats: {
|
|
1597
|
-
item:
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
*/
|
|
1602
|
-
id: string;
|
|
1603
|
-
name: string;
|
|
1604
|
-
shortName: string | undefined;
|
|
1605
|
-
technicalName: string;
|
|
1606
|
-
brand: {
|
|
1607
|
-
/**
|
|
1608
|
-
* @description Resource identifier
|
|
1609
|
-
* @example 6a577711abc1ce71383d3e10
|
|
1610
|
-
*/
|
|
1611
|
-
id: string;
|
|
1612
|
-
/** @example Pokémon */
|
|
1613
|
-
name: string;
|
|
1614
|
-
/** @example pokemon */
|
|
1615
|
-
technicalName: string;
|
|
1616
|
-
/**
|
|
1617
|
-
* Format: date-time
|
|
1618
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1619
|
-
*/
|
|
1620
|
-
createdAt: string;
|
|
1621
|
-
/**
|
|
1622
|
-
* Format: date-time
|
|
1623
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1624
|
-
*/
|
|
1625
|
-
updatedAt: string;
|
|
1626
|
-
};
|
|
1627
|
-
manufacturer: string;
|
|
1628
|
-
modelNumber: string | undefined;
|
|
1629
|
-
category: {
|
|
1630
|
-
/**
|
|
1631
|
-
* @description Resource identifier
|
|
1632
|
-
* @example 6a577711abc1ce71383d3e10
|
|
1633
|
-
*/
|
|
1634
|
-
id: string;
|
|
1635
|
-
/** @example Booster Box */
|
|
1636
|
-
name: string;
|
|
1637
|
-
/** @example booster-box */
|
|
1638
|
-
technicalName: string;
|
|
1639
|
-
} | undefined;
|
|
1640
|
-
expansion: {
|
|
1641
|
-
/**
|
|
1642
|
-
* @description Resource identifier
|
|
1643
|
-
* @example 6a577711abc1ce71383d3e10
|
|
1644
|
-
*/
|
|
1645
|
-
id: string;
|
|
1646
|
-
/** @example Mega Evolution 30th Celebration */
|
|
1647
|
-
name: string;
|
|
1648
|
-
/** @example 30th Celebration */
|
|
1649
|
-
shortName: string;
|
|
1650
|
-
/** @example jpn-mega-evolution-30th-celebration */
|
|
1651
|
-
technicalName: string;
|
|
1652
|
-
/**
|
|
1653
|
-
* @description Printing language of the item
|
|
1654
|
-
* @example JPN
|
|
1655
|
-
* @enum {string}
|
|
1656
|
-
*/
|
|
1657
|
-
language: "ENG" | "JPN" | "CHI";
|
|
1658
|
-
/** @example m6a */
|
|
1659
|
-
code: string | undefined;
|
|
1660
|
-
/** @example m6a */
|
|
1661
|
-
cardCode: string | undefined;
|
|
1662
|
-
/** @example Mega Evolution */
|
|
1663
|
-
seriesName: string | undefined;
|
|
1664
|
-
/**
|
|
1665
|
-
* Format: date-time
|
|
1666
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1667
|
-
*/
|
|
1668
|
-
releaseDate: string | undefined;
|
|
1669
|
-
/**
|
|
1670
|
-
* @description Absolute asset URL, or null when absent
|
|
1671
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1672
|
-
*/
|
|
1673
|
-
logoUrl: string | undefined;
|
|
1674
|
-
/**
|
|
1675
|
-
* @description Absolute asset URL, or null when absent
|
|
1676
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1677
|
-
*/
|
|
1678
|
-
symbolUrl: string | undefined;
|
|
1679
|
-
/**
|
|
1680
|
-
* @description Absolute asset URL, or null when absent
|
|
1681
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1682
|
-
*/
|
|
1683
|
-
imageUrl: string | undefined;
|
|
1684
|
-
} | undefined;
|
|
1685
|
-
/**
|
|
1686
|
-
* @description Printing language of the item
|
|
1687
|
-
* @example JPN
|
|
1688
|
-
* @enum {string|null}
|
|
1689
|
-
*/
|
|
1690
|
-
language: "ENG" | "JPN" | "CHI" | undefined;
|
|
1691
|
-
alternativeNames: {
|
|
1692
|
-
name: string;
|
|
1693
|
-
shortName: string | undefined;
|
|
1694
|
-
}[];
|
|
1695
|
-
supportsMultipackPricing: boolean;
|
|
1696
|
-
/**
|
|
1697
|
-
* @description Absolute asset URL, or null when absent
|
|
1698
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1699
|
-
*/
|
|
1700
|
-
imageUrl: string | undefined;
|
|
1701
|
-
/**
|
|
1702
|
-
* @description Cheapest current shop price, in SEK
|
|
1703
|
-
* @example 149.5
|
|
1704
|
-
*/
|
|
1705
|
-
retailPrice: number | undefined;
|
|
1706
|
-
/**
|
|
1707
|
-
* @description Estimated market value, in SEK
|
|
1708
|
-
* @example 149.5
|
|
1709
|
-
*/
|
|
1710
|
-
estimatedValue: number | undefined;
|
|
1711
|
-
/** @description Active shops currently tracking this item */
|
|
1712
|
-
shopCount: number;
|
|
1713
|
-
/** @description Observations the estimate rests on */
|
|
1714
|
-
pricingDataPoints: number;
|
|
1715
|
-
/**
|
|
1716
|
-
* Format: date-time
|
|
1717
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1718
|
-
*/
|
|
1719
|
-
pricingUpdatedAt: string | undefined;
|
|
1720
|
-
/**
|
|
1721
|
-
* Format: date-time
|
|
1722
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1723
|
-
*/
|
|
1724
|
-
createdAt: string;
|
|
1725
|
-
/**
|
|
1726
|
-
* Format: date-time
|
|
1727
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1728
|
-
*/
|
|
1729
|
-
updatedAt: string;
|
|
1730
|
-
/** @enum {string} */
|
|
1731
|
-
kind: "card";
|
|
1732
|
-
/** @example 4/102 */
|
|
1733
|
-
cardNumber: string;
|
|
1734
|
-
/** @example Rare Holo */
|
|
1735
|
-
rarity: string | undefined;
|
|
1736
|
-
artist: string | undefined;
|
|
1737
|
-
cardmarketId: string | undefined;
|
|
1738
|
-
tcgplayerId: string | undefined;
|
|
1739
|
-
variants: {
|
|
1740
|
-
normal: boolean;
|
|
1741
|
-
holo: boolean;
|
|
1742
|
-
reverse: boolean;
|
|
1743
|
-
firstEdition: boolean;
|
|
1744
|
-
wPromo: boolean;
|
|
1745
|
-
} | undefined;
|
|
1746
|
-
prisjaktId: string | undefined;
|
|
1747
|
-
} | {
|
|
1748
|
-
/**
|
|
1749
|
-
* @description Resource identifier
|
|
1750
|
-
* @example 6a577711abc1ce71383d3e10
|
|
1751
|
-
*/
|
|
1752
|
-
id: string;
|
|
1753
|
-
name: string;
|
|
1754
|
-
shortName: string | undefined;
|
|
1755
|
-
technicalName: string;
|
|
1756
|
-
brand: {
|
|
1757
|
-
/**
|
|
1758
|
-
* @description Resource identifier
|
|
1759
|
-
* @example 6a577711abc1ce71383d3e10
|
|
1760
|
-
*/
|
|
1761
|
-
id: string;
|
|
1762
|
-
/** @example Pokémon */
|
|
1763
|
-
name: string;
|
|
1764
|
-
/** @example pokemon */
|
|
1765
|
-
technicalName: string;
|
|
1766
|
-
/**
|
|
1767
|
-
* Format: date-time
|
|
1768
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1769
|
-
*/
|
|
1770
|
-
createdAt: string;
|
|
1771
|
-
/**
|
|
1772
|
-
* Format: date-time
|
|
1773
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1774
|
-
*/
|
|
1775
|
-
updatedAt: string;
|
|
1776
|
-
};
|
|
1777
|
-
manufacturer: string;
|
|
1778
|
-
modelNumber: string | undefined;
|
|
1779
|
-
category: {
|
|
1780
|
-
/**
|
|
1781
|
-
* @description Resource identifier
|
|
1782
|
-
* @example 6a577711abc1ce71383d3e10
|
|
1783
|
-
*/
|
|
1784
|
-
id: string;
|
|
1785
|
-
/** @example Booster Box */
|
|
1786
|
-
name: string;
|
|
1787
|
-
/** @example booster-box */
|
|
1788
|
-
technicalName: string;
|
|
1789
|
-
} | undefined;
|
|
1790
|
-
expansion: {
|
|
1791
|
-
/**
|
|
1792
|
-
* @description Resource identifier
|
|
1793
|
-
* @example 6a577711abc1ce71383d3e10
|
|
1794
|
-
*/
|
|
1795
|
-
id: string;
|
|
1796
|
-
/** @example Mega Evolution 30th Celebration */
|
|
1797
|
-
name: string;
|
|
1798
|
-
/** @example 30th Celebration */
|
|
1799
|
-
shortName: string;
|
|
1800
|
-
/** @example jpn-mega-evolution-30th-celebration */
|
|
1801
|
-
technicalName: string;
|
|
1802
|
-
/**
|
|
1803
|
-
* @description Printing language of the item
|
|
1804
|
-
* @example JPN
|
|
1805
|
-
* @enum {string}
|
|
1806
|
-
*/
|
|
1807
|
-
language: "ENG" | "JPN" | "CHI";
|
|
1808
|
-
/** @example m6a */
|
|
1809
|
-
code: string | undefined;
|
|
1810
|
-
/** @example m6a */
|
|
1811
|
-
cardCode: string | undefined;
|
|
1812
|
-
/** @example Mega Evolution */
|
|
1813
|
-
seriesName: string | undefined;
|
|
1814
|
-
/**
|
|
1815
|
-
* Format: date-time
|
|
1816
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1817
|
-
*/
|
|
1818
|
-
releaseDate: string | undefined;
|
|
1819
|
-
/**
|
|
1820
|
-
* @description Absolute asset URL, or null when absent
|
|
1821
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1822
|
-
*/
|
|
1823
|
-
logoUrl: string | undefined;
|
|
1824
|
-
/**
|
|
1825
|
-
* @description Absolute asset URL, or null when absent
|
|
1826
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1827
|
-
*/
|
|
1828
|
-
symbolUrl: string | undefined;
|
|
1829
|
-
/**
|
|
1830
|
-
* @description Absolute asset URL, or null when absent
|
|
1831
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1832
|
-
*/
|
|
1833
|
-
imageUrl: string | undefined;
|
|
1834
|
-
} | undefined;
|
|
1835
|
-
/**
|
|
1836
|
-
* @description Printing language of the item
|
|
1837
|
-
* @example JPN
|
|
1838
|
-
* @enum {string|null}
|
|
1839
|
-
*/
|
|
1840
|
-
language: "ENG" | "JPN" | "CHI" | undefined;
|
|
1841
|
-
alternativeNames: {
|
|
1842
|
-
name: string;
|
|
1843
|
-
shortName: string | undefined;
|
|
1844
|
-
}[];
|
|
1845
|
-
supportsMultipackPricing: boolean;
|
|
1846
|
-
/**
|
|
1847
|
-
* @description Absolute asset URL, or null when absent
|
|
1848
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1849
|
-
*/
|
|
1850
|
-
imageUrl: string | undefined;
|
|
1851
|
-
/**
|
|
1852
|
-
* @description Cheapest current shop price, in SEK
|
|
1853
|
-
* @example 149.5
|
|
1854
|
-
*/
|
|
1855
|
-
retailPrice: number | undefined;
|
|
1856
|
-
/**
|
|
1857
|
-
* @description Estimated market value, in SEK
|
|
1858
|
-
* @example 149.5
|
|
1859
|
-
*/
|
|
1860
|
-
estimatedValue: number | undefined;
|
|
1861
|
-
/** @description Active shops currently tracking this item */
|
|
1862
|
-
shopCount: number;
|
|
1863
|
-
/** @description Observations the estimate rests on */
|
|
1864
|
-
pricingDataPoints: number;
|
|
1865
|
-
/**
|
|
1866
|
-
* Format: date-time
|
|
1867
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1868
|
-
*/
|
|
1869
|
-
pricingUpdatedAt: string | undefined;
|
|
1870
|
-
/**
|
|
1871
|
-
* Format: date-time
|
|
1872
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1873
|
-
*/
|
|
1874
|
-
createdAt: string;
|
|
1875
|
-
/**
|
|
1876
|
-
* Format: date-time
|
|
1877
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1878
|
-
*/
|
|
1879
|
-
updatedAt: string;
|
|
1880
|
-
/** @enum {string} */
|
|
1881
|
-
kind: "sealed";
|
|
1882
|
-
upc: string | undefined;
|
|
1883
|
-
asin: string | undefined;
|
|
1884
|
-
epid: string | undefined;
|
|
1885
|
-
priceChartingId: string | undefined;
|
|
1886
|
-
prisjaktId: string | undefined;
|
|
1887
|
-
};
|
|
1888
|
-
dailyStats: {
|
|
1889
|
-
/**
|
|
1890
|
-
* Format: date-time
|
|
1891
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1892
|
-
*/
|
|
1893
|
-
statDate: string;
|
|
1894
|
-
/** @example 149.5 */
|
|
1895
|
-
averagePrice: number;
|
|
1896
|
-
}[];
|
|
1897
|
-
estimate: {
|
|
1898
|
-
/** @example 149.5 */
|
|
1899
|
-
estimatedValue: number | undefined;
|
|
1900
|
-
/**
|
|
1901
|
-
* Format: date-time
|
|
1902
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1903
|
-
*/
|
|
1904
|
-
estimateUpdatedAt: string | undefined;
|
|
1905
|
-
dataPointCount: number;
|
|
1906
|
-
};
|
|
1907
|
-
variantStats: {
|
|
1908
|
-
/** @description Distinct cardType/condition/company/grade combinations */
|
|
1909
|
-
variantCount: number;
|
|
1910
|
-
looseCount: number;
|
|
1911
|
-
gradedCount: number;
|
|
1912
|
-
};
|
|
480
|
+
item: components["schemas"]["CatalogItem"];
|
|
481
|
+
dailyStats: components["schemas"]["DailyPricePoint"][];
|
|
482
|
+
estimate: components["schemas"]["EstimatedValue"];
|
|
483
|
+
variantStats: components["schemas"]["VariantStatsSummary"];
|
|
1913
484
|
};
|
|
1914
485
|
ItemVariantDailyStats: {
|
|
1915
|
-
item:
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
486
|
+
item: components["schemas"]["CatalogItemRef"];
|
|
487
|
+
variant: components["schemas"]["VariantSelector"];
|
|
488
|
+
dailyStats: components["schemas"]["DailyPricePoint"][];
|
|
489
|
+
};
|
|
490
|
+
ItemVariantStats: {
|
|
491
|
+
item: components["schemas"]["CatalogItemRef"];
|
|
492
|
+
variants: components["schemas"]["VariantBreakdown"];
|
|
493
|
+
};
|
|
494
|
+
LivePricing: {
|
|
495
|
+
/** @example 149.5 */
|
|
496
|
+
retailPrice: number | undefined;
|
|
497
|
+
/** @example 149.5 */
|
|
498
|
+
estimatedValue: number | undefined;
|
|
499
|
+
shopCount: number;
|
|
500
|
+
pricingDataPoints: number;
|
|
501
|
+
/**
|
|
502
|
+
* Format: date-time
|
|
503
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
504
|
+
*/
|
|
505
|
+
calculatedAt: string;
|
|
506
|
+
};
|
|
507
|
+
LivePricingForItem: {
|
|
508
|
+
/**
|
|
509
|
+
* @description Resource identifier
|
|
510
|
+
* @example 6a577711abc1ce71383d3e10
|
|
511
|
+
*/
|
|
512
|
+
id: string;
|
|
513
|
+
name: string;
|
|
514
|
+
technicalName: string;
|
|
515
|
+
pricing: components["schemas"]["LivePricing"];
|
|
516
|
+
};
|
|
517
|
+
LowestShopOffer: {
|
|
518
|
+
shop: components["schemas"]["ShopRef"];
|
|
519
|
+
url: string;
|
|
520
|
+
/** @example 149.5 */
|
|
521
|
+
price: number;
|
|
522
|
+
/**
|
|
523
|
+
* @description ISO-4217 currency code
|
|
524
|
+
* @example SEK
|
|
525
|
+
*/
|
|
526
|
+
currency: string;
|
|
527
|
+
inStock: boolean;
|
|
528
|
+
inPreorder: boolean;
|
|
529
|
+
inMonitor: boolean;
|
|
530
|
+
isFullyBooked: boolean;
|
|
531
|
+
/**
|
|
532
|
+
* Format: date-time
|
|
533
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
534
|
+
*/
|
|
535
|
+
matchedAt: string;
|
|
536
|
+
/**
|
|
537
|
+
* Format: date-time
|
|
538
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
539
|
+
*/
|
|
540
|
+
updatedAt: string;
|
|
541
|
+
bargain: {
|
|
542
|
+
discountPercent: number;
|
|
543
|
+
/** @enum {string} */
|
|
544
|
+
referenceSource: "retail" | "tradera" | "cardmarket";
|
|
545
|
+
} | undefined;
|
|
1941
546
|
};
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
id: string;
|
|
1949
|
-
name: string;
|
|
1950
|
-
};
|
|
1951
|
-
variants: {
|
|
1952
|
-
loose: {
|
|
1953
|
-
[key: string]: {
|
|
1954
|
-
/** @example 149.5 */
|
|
1955
|
-
averagePrice: number;
|
|
1956
|
-
dataPointCount: number;
|
|
1957
|
-
/**
|
|
1958
|
-
* Format: date-time
|
|
1959
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1960
|
-
*/
|
|
1961
|
-
lastSaleDate: string;
|
|
1962
|
-
};
|
|
1963
|
-
};
|
|
1964
|
-
graded: {
|
|
1965
|
-
[key: string]: {
|
|
1966
|
-
[key: string]: {
|
|
1967
|
-
/** @example 149.5 */
|
|
1968
|
-
averagePrice: number;
|
|
1969
|
-
dataPointCount: number;
|
|
1970
|
-
/**
|
|
1971
|
-
* Format: date-time
|
|
1972
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1973
|
-
*/
|
|
1974
|
-
lastSaleDate: string;
|
|
1975
|
-
};
|
|
1976
|
-
};
|
|
1977
|
-
};
|
|
1978
|
-
};
|
|
547
|
+
MatchShop: {
|
|
548
|
+
/** @example cardlevels */
|
|
549
|
+
technicalName: string;
|
|
550
|
+
/** @example Cardlevels */
|
|
551
|
+
name: string;
|
|
552
|
+
delivery: components["schemas"]["ShopDeliveryTerms"];
|
|
1979
553
|
};
|
|
1980
|
-
|
|
554
|
+
MatchedItemRef: {
|
|
1981
555
|
/**
|
|
1982
556
|
* @description Resource identifier
|
|
1983
557
|
* @example 6a577711abc1ce71383d3e10
|
|
1984
558
|
*/
|
|
1985
559
|
id: string;
|
|
560
|
+
/** @enum {string} */
|
|
561
|
+
kind: "card" | "sealed";
|
|
1986
562
|
name: string;
|
|
563
|
+
shortName: string | undefined;
|
|
1987
564
|
technicalName: string;
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
estimatedValue: number | undefined;
|
|
1993
|
-
shopCount: number;
|
|
1994
|
-
pricingDataPoints: number;
|
|
1995
|
-
/**
|
|
1996
|
-
* Format: date-time
|
|
1997
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
1998
|
-
*/
|
|
1999
|
-
calculatedAt: string;
|
|
2000
|
-
};
|
|
565
|
+
cardNumber: string | undefined;
|
|
566
|
+
imageUrl: string | undefined;
|
|
567
|
+
language: string | undefined;
|
|
568
|
+
priceChartingId: string | undefined;
|
|
2001
569
|
};
|
|
2002
570
|
PackRate: {
|
|
2003
571
|
/**
|
|
@@ -2005,60 +573,8 @@ interface components {
|
|
|
2005
573
|
* @example 6a577711abc1ce71383d3e10
|
|
2006
574
|
*/
|
|
2007
575
|
id: string;
|
|
2008
|
-
expansion:
|
|
2009
|
-
|
|
2010
|
-
* @description Resource identifier
|
|
2011
|
-
* @example 6a577711abc1ce71383d3e10
|
|
2012
|
-
*/
|
|
2013
|
-
id: string;
|
|
2014
|
-
/** @example Mega Evolution 30th Celebration */
|
|
2015
|
-
name: string;
|
|
2016
|
-
/** @example 30th Celebration */
|
|
2017
|
-
shortName: string;
|
|
2018
|
-
/** @example jpn-mega-evolution-30th-celebration */
|
|
2019
|
-
technicalName: string;
|
|
2020
|
-
/**
|
|
2021
|
-
* @description Printing language of the item
|
|
2022
|
-
* @example JPN
|
|
2023
|
-
* @enum {string}
|
|
2024
|
-
*/
|
|
2025
|
-
language: "ENG" | "JPN" | "CHI";
|
|
2026
|
-
/** @example m6a */
|
|
2027
|
-
code: string | undefined;
|
|
2028
|
-
/** @example m6a */
|
|
2029
|
-
cardCode: string | undefined;
|
|
2030
|
-
/** @example Mega Evolution */
|
|
2031
|
-
seriesName: string | undefined;
|
|
2032
|
-
/**
|
|
2033
|
-
* Format: date-time
|
|
2034
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
2035
|
-
*/
|
|
2036
|
-
releaseDate: string | undefined;
|
|
2037
|
-
/**
|
|
2038
|
-
* @description Absolute asset URL, or null when absent
|
|
2039
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
2040
|
-
*/
|
|
2041
|
-
logoUrl: string | undefined;
|
|
2042
|
-
/**
|
|
2043
|
-
* @description Absolute asset URL, or null when absent
|
|
2044
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
2045
|
-
*/
|
|
2046
|
-
symbolUrl: string | undefined;
|
|
2047
|
-
/**
|
|
2048
|
-
* @description Absolute asset URL, or null when absent
|
|
2049
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
2050
|
-
*/
|
|
2051
|
-
imageUrl: string | undefined;
|
|
2052
|
-
};
|
|
2053
|
-
buckets: {
|
|
2054
|
-
/** @example Double rare */
|
|
2055
|
-
rarity: string;
|
|
2056
|
-
/**
|
|
2057
|
-
* @description Relative draw weight (normalised across buckets)
|
|
2058
|
-
* @example 24
|
|
2059
|
-
*/
|
|
2060
|
-
weight: number;
|
|
2061
|
-
}[];
|
|
576
|
+
expansion: components["schemas"]["ExpansionRef"];
|
|
577
|
+
buckets: components["schemas"]["PackRateBucket"][];
|
|
2062
578
|
/**
|
|
2063
579
|
* Format: date-time
|
|
2064
580
|
* @example 2026-07-15T12:03:29.322Z
|
|
@@ -2070,6 +586,15 @@ interface components {
|
|
|
2070
586
|
*/
|
|
2071
587
|
updatedAt: string;
|
|
2072
588
|
};
|
|
589
|
+
PackRateBucket: {
|
|
590
|
+
/** @example Double rare */
|
|
591
|
+
rarity: string;
|
|
592
|
+
/**
|
|
593
|
+
* @description Relative draw weight (normalised across buckets)
|
|
594
|
+
* @example 24
|
|
595
|
+
*/
|
|
596
|
+
weight: number;
|
|
597
|
+
};
|
|
2073
598
|
PageMeta: {
|
|
2074
599
|
/** @description Total matching records, ignoring pagination */
|
|
2075
600
|
total: number;
|
|
@@ -2084,6 +609,70 @@ interface components {
|
|
|
2084
609
|
productCount: number;
|
|
2085
610
|
priceCount: number;
|
|
2086
611
|
};
|
|
612
|
+
Product: {
|
|
613
|
+
/**
|
|
614
|
+
* @description Resource identifier
|
|
615
|
+
* @example 6a577711abc1ce71383d3e10
|
|
616
|
+
*/
|
|
617
|
+
id: string;
|
|
618
|
+
name: string;
|
|
619
|
+
shortName: string | undefined;
|
|
620
|
+
technicalName: string;
|
|
621
|
+
brand: components["schemas"]["Brand"];
|
|
622
|
+
manufacturer: string;
|
|
623
|
+
modelNumber: string | undefined;
|
|
624
|
+
category: components["schemas"]["CategoryRef"] | undefined;
|
|
625
|
+
expansion: components["schemas"]["ExpansionRef"] | undefined;
|
|
626
|
+
/**
|
|
627
|
+
* @description Printing language of the item
|
|
628
|
+
* @example JPN
|
|
629
|
+
* @enum {string|null}
|
|
630
|
+
*/
|
|
631
|
+
language: "ENG" | "JPN" | "CHI" | undefined;
|
|
632
|
+
alternativeNames: components["schemas"]["AlternativeName"][];
|
|
633
|
+
supportsMultipackPricing: boolean;
|
|
634
|
+
/**
|
|
635
|
+
* @description Absolute asset URL, or null when absent
|
|
636
|
+
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
637
|
+
*/
|
|
638
|
+
imageUrl: string | undefined;
|
|
639
|
+
/**
|
|
640
|
+
* @description Cheapest current shop price, in SEK
|
|
641
|
+
* @example 149.5
|
|
642
|
+
*/
|
|
643
|
+
retailPrice: number | undefined;
|
|
644
|
+
/**
|
|
645
|
+
* @description Estimated market value, in SEK
|
|
646
|
+
* @example 149.5
|
|
647
|
+
*/
|
|
648
|
+
estimatedValue: number | undefined;
|
|
649
|
+
/** @description Active shops currently tracking this item */
|
|
650
|
+
shopCount: number;
|
|
651
|
+
/** @description Observations the estimate rests on */
|
|
652
|
+
pricingDataPoints: number;
|
|
653
|
+
/**
|
|
654
|
+
* Format: date-time
|
|
655
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
656
|
+
*/
|
|
657
|
+
pricingUpdatedAt: string | undefined;
|
|
658
|
+
/**
|
|
659
|
+
* Format: date-time
|
|
660
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
661
|
+
*/
|
|
662
|
+
createdAt: string;
|
|
663
|
+
/**
|
|
664
|
+
* Format: date-time
|
|
665
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
666
|
+
*/
|
|
667
|
+
updatedAt: string;
|
|
668
|
+
/** @enum {string} */
|
|
669
|
+
kind: "sealed";
|
|
670
|
+
upc: string | undefined;
|
|
671
|
+
asin: string | undefined;
|
|
672
|
+
epid: string | undefined;
|
|
673
|
+
priceChartingId: string | undefined;
|
|
674
|
+
prisjaktId: string | undefined;
|
|
675
|
+
};
|
|
2087
676
|
ProductWithPricing: {
|
|
2088
677
|
/**
|
|
2089
678
|
* @description Resource identifier
|
|
@@ -2093,95 +682,18 @@ interface components {
|
|
|
2093
682
|
name: string;
|
|
2094
683
|
shortName: string | undefined;
|
|
2095
684
|
technicalName: string;
|
|
2096
|
-
brand:
|
|
2097
|
-
/**
|
|
2098
|
-
* @description Resource identifier
|
|
2099
|
-
* @example 6a577711abc1ce71383d3e10
|
|
2100
|
-
*/
|
|
2101
|
-
id: string;
|
|
2102
|
-
/** @example Pokémon */
|
|
2103
|
-
name: string;
|
|
2104
|
-
/** @example pokemon */
|
|
2105
|
-
technicalName: string;
|
|
2106
|
-
/**
|
|
2107
|
-
* Format: date-time
|
|
2108
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
2109
|
-
*/
|
|
2110
|
-
createdAt: string;
|
|
2111
|
-
/**
|
|
2112
|
-
* Format: date-time
|
|
2113
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
2114
|
-
*/
|
|
2115
|
-
updatedAt: string;
|
|
2116
|
-
};
|
|
685
|
+
brand: components["schemas"]["Brand"];
|
|
2117
686
|
manufacturer: string;
|
|
2118
687
|
modelNumber: string | undefined;
|
|
2119
|
-
category:
|
|
2120
|
-
|
|
2121
|
-
* @description Resource identifier
|
|
2122
|
-
* @example 6a577711abc1ce71383d3e10
|
|
2123
|
-
*/
|
|
2124
|
-
id: string;
|
|
2125
|
-
/** @example Booster Box */
|
|
2126
|
-
name: string;
|
|
2127
|
-
/** @example booster-box */
|
|
2128
|
-
technicalName: string;
|
|
2129
|
-
} | undefined;
|
|
2130
|
-
expansion: {
|
|
2131
|
-
/**
|
|
2132
|
-
* @description Resource identifier
|
|
2133
|
-
* @example 6a577711abc1ce71383d3e10
|
|
2134
|
-
*/
|
|
2135
|
-
id: string;
|
|
2136
|
-
/** @example Mega Evolution 30th Celebration */
|
|
2137
|
-
name: string;
|
|
2138
|
-
/** @example 30th Celebration */
|
|
2139
|
-
shortName: string;
|
|
2140
|
-
/** @example jpn-mega-evolution-30th-celebration */
|
|
2141
|
-
technicalName: string;
|
|
2142
|
-
/**
|
|
2143
|
-
* @description Printing language of the item
|
|
2144
|
-
* @example JPN
|
|
2145
|
-
* @enum {string}
|
|
2146
|
-
*/
|
|
2147
|
-
language: "ENG" | "JPN" | "CHI";
|
|
2148
|
-
/** @example m6a */
|
|
2149
|
-
code: string | undefined;
|
|
2150
|
-
/** @example m6a */
|
|
2151
|
-
cardCode: string | undefined;
|
|
2152
|
-
/** @example Mega Evolution */
|
|
2153
|
-
seriesName: string | undefined;
|
|
2154
|
-
/**
|
|
2155
|
-
* Format: date-time
|
|
2156
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
2157
|
-
*/
|
|
2158
|
-
releaseDate: string | undefined;
|
|
2159
|
-
/**
|
|
2160
|
-
* @description Absolute asset URL, or null when absent
|
|
2161
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
2162
|
-
*/
|
|
2163
|
-
logoUrl: string | undefined;
|
|
2164
|
-
/**
|
|
2165
|
-
* @description Absolute asset URL, or null when absent
|
|
2166
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
2167
|
-
*/
|
|
2168
|
-
symbolUrl: string | undefined;
|
|
2169
|
-
/**
|
|
2170
|
-
* @description Absolute asset URL, or null when absent
|
|
2171
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
2172
|
-
*/
|
|
2173
|
-
imageUrl: string | undefined;
|
|
2174
|
-
} | undefined;
|
|
688
|
+
category: components["schemas"]["CategoryRef"] | undefined;
|
|
689
|
+
expansion: components["schemas"]["ExpansionRef"] | undefined;
|
|
2175
690
|
/**
|
|
2176
691
|
* @description Printing language of the item
|
|
2177
692
|
* @example JPN
|
|
2178
693
|
* @enum {string|null}
|
|
2179
694
|
*/
|
|
2180
695
|
language: "ENG" | "JPN" | "CHI" | undefined;
|
|
2181
|
-
alternativeNames:
|
|
2182
|
-
name: string;
|
|
2183
|
-
shortName: string | undefined;
|
|
2184
|
-
}[];
|
|
696
|
+
alternativeNames: components["schemas"]["AlternativeName"][];
|
|
2185
697
|
supportsMultipackPricing: boolean;
|
|
2186
698
|
/**
|
|
2187
699
|
* @description Absolute asset URL, or null when absent
|
|
@@ -2224,65 +736,56 @@ interface components {
|
|
|
2224
736
|
epid: string | undefined;
|
|
2225
737
|
priceChartingId: string | undefined;
|
|
2226
738
|
prisjaktId: string | undefined;
|
|
2227
|
-
lowestShopOffer:
|
|
2228
|
-
shop: {
|
|
2229
|
-
/** @example cardlevels */
|
|
2230
|
-
technicalName: string;
|
|
2231
|
-
/** @example Cardlevels */
|
|
2232
|
-
name: string;
|
|
2233
|
-
};
|
|
2234
|
-
url: string;
|
|
2235
|
-
/** @example 149.5 */
|
|
2236
|
-
price: number;
|
|
2237
|
-
/**
|
|
2238
|
-
* @description ISO-4217 currency code
|
|
2239
|
-
* @example SEK
|
|
2240
|
-
*/
|
|
2241
|
-
currency: string;
|
|
2242
|
-
inStock: boolean;
|
|
2243
|
-
inPreorder: boolean;
|
|
2244
|
-
inMonitor: boolean;
|
|
2245
|
-
isFullyBooked: boolean;
|
|
2246
|
-
/**
|
|
2247
|
-
* Format: date-time
|
|
2248
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
2249
|
-
*/
|
|
2250
|
-
matchedAt: string;
|
|
2251
|
-
/**
|
|
2252
|
-
* Format: date-time
|
|
2253
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
2254
|
-
*/
|
|
2255
|
-
updatedAt: string;
|
|
2256
|
-
bargain: {
|
|
2257
|
-
discountPercent: number;
|
|
2258
|
-
/** @enum {string} */
|
|
2259
|
-
referenceSource: "retail" | "tradera" | "cardmarket";
|
|
2260
|
-
} | undefined;
|
|
2261
|
-
} | undefined;
|
|
739
|
+
lowestShopOffer: components["schemas"]["LowestShopOffer"] | undefined;
|
|
2262
740
|
referencePriceSnapshotsByProvider: {
|
|
2263
|
-
[key: string]:
|
|
2264
|
-
/** @enum {string} */
|
|
2265
|
-
provider: "cardmarket" | "tcgplayer" | "ebay" | "tradera";
|
|
2266
|
-
/** @example 149.5 */
|
|
2267
|
-
price: number;
|
|
2268
|
-
/**
|
|
2269
|
-
* @description ISO-4217 currency code
|
|
2270
|
-
* @example SEK
|
|
2271
|
-
*/
|
|
2272
|
-
currency: string;
|
|
2273
|
-
/**
|
|
2274
|
-
* @description price converted to SEK at the rate stored on the row
|
|
2275
|
-
* @example 149.5
|
|
2276
|
-
*/
|
|
2277
|
-
priceSek: number;
|
|
2278
|
-
/**
|
|
2279
|
-
* Format: date-time
|
|
2280
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
2281
|
-
*/
|
|
2282
|
-
snapshotDate: string;
|
|
2283
|
-
};
|
|
741
|
+
[key: string]: components["schemas"]["ReferencePriceSummary"];
|
|
2284
742
|
};
|
|
2285
743
|
};
|
|
744
|
+
ReferencePriceSeries: {
|
|
745
|
+
/** @enum {string} */
|
|
746
|
+
source: "tcgdex" | "cmapi" | "tradera";
|
|
747
|
+
/** @enum {string} */
|
|
748
|
+
provider: "cardmarket" | "tcgplayer" | "ebay" | "tradera";
|
|
749
|
+
/** @enum {string|null} */
|
|
750
|
+
variant: "normal" | "holo" | "reverse" | undefined;
|
|
751
|
+
/** @enum {string|null} */
|
|
752
|
+
cardType: "loose" | "graded" | undefined;
|
|
753
|
+
/** @enum {string|null} */
|
|
754
|
+
gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | undefined;
|
|
755
|
+
grade: number | undefined;
|
|
756
|
+
currency: string;
|
|
757
|
+
sampleSize: number | undefined;
|
|
758
|
+
points: components["schemas"]["ReferencePriceSeriesPoint"][];
|
|
759
|
+
};
|
|
760
|
+
ReferencePriceSeriesPoint: {
|
|
761
|
+
/**
|
|
762
|
+
* Format: date-time
|
|
763
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
764
|
+
*/
|
|
765
|
+
snapshotDate: string;
|
|
766
|
+
price: number;
|
|
767
|
+
};
|
|
768
|
+
ReferencePriceSummary: {
|
|
769
|
+
/** @enum {string} */
|
|
770
|
+
provider: "cardmarket" | "tcgplayer" | "ebay" | "tradera";
|
|
771
|
+
/** @example 149.5 */
|
|
772
|
+
price: number;
|
|
773
|
+
/**
|
|
774
|
+
* @description ISO-4217 currency code
|
|
775
|
+
* @example SEK
|
|
776
|
+
*/
|
|
777
|
+
currency: string;
|
|
778
|
+
/**
|
|
779
|
+
* @description price converted to SEK at the rate stored on the row
|
|
780
|
+
* @example 149.5
|
|
781
|
+
*/
|
|
782
|
+
priceSek: number;
|
|
783
|
+
/**
|
|
784
|
+
* Format: date-time
|
|
785
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
786
|
+
*/
|
|
787
|
+
snapshotDate: string;
|
|
788
|
+
};
|
|
2286
789
|
Shop: {
|
|
2287
790
|
/**
|
|
2288
791
|
* @description Resource identifier
|
|
@@ -2327,55 +830,173 @@ interface components {
|
|
|
2327
830
|
* Format: date-time
|
|
2328
831
|
* @example 2026-07-15T12:03:29.322Z
|
|
2329
832
|
*/
|
|
2330
|
-
lastMatchedAt: string | undefined;
|
|
833
|
+
lastMatchedAt: string | undefined;
|
|
834
|
+
/**
|
|
835
|
+
* Format: date-time
|
|
836
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
837
|
+
*/
|
|
838
|
+
createdAt: string;
|
|
839
|
+
/**
|
|
840
|
+
* Format: date-time
|
|
841
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
842
|
+
*/
|
|
843
|
+
updatedAt: string;
|
|
844
|
+
};
|
|
845
|
+
ShopDeliveryTerms: {
|
|
846
|
+
/** @example 149.5 */
|
|
847
|
+
cost: number | undefined;
|
|
848
|
+
currency: string | undefined;
|
|
849
|
+
daysMin: number | undefined;
|
|
850
|
+
daysMax: number | undefined;
|
|
851
|
+
/** @example 149.5 */
|
|
852
|
+
freeShippingThreshold: number | undefined;
|
|
853
|
+
supportsLocalPickup: boolean | undefined;
|
|
854
|
+
note: string | undefined;
|
|
855
|
+
};
|
|
856
|
+
ShopItemPriceHistory: {
|
|
857
|
+
item: components["schemas"]["CatalogItemRef"];
|
|
858
|
+
history: components["schemas"]["ShopPricePoint"][];
|
|
859
|
+
/** @example 149.5 */
|
|
860
|
+
latestPrice: number | undefined;
|
|
861
|
+
/**
|
|
862
|
+
* Format: date-time
|
|
863
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
864
|
+
*/
|
|
865
|
+
latestDate: string | undefined;
|
|
866
|
+
};
|
|
867
|
+
ShopMatchStats: {
|
|
868
|
+
shop: components["schemas"]["ShopSummary"];
|
|
869
|
+
matchCount: number;
|
|
870
|
+
/** @description Matches resolved to a catalog item */
|
|
871
|
+
linkedMatchCount: number;
|
|
872
|
+
inStockCount: number;
|
|
873
|
+
preorderCount: number;
|
|
874
|
+
monitorCount: number;
|
|
875
|
+
fullyBookedCount: number;
|
|
876
|
+
/**
|
|
877
|
+
* Format: date-time
|
|
878
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
879
|
+
*/
|
|
880
|
+
lastMatchedAt: string | undefined;
|
|
881
|
+
};
|
|
882
|
+
ShopMatchWithItem: {
|
|
883
|
+
/**
|
|
884
|
+
* @description Resource identifier
|
|
885
|
+
* @example 6a577711abc1ce71383d3e10
|
|
886
|
+
*/
|
|
887
|
+
id: string;
|
|
888
|
+
shop: components["schemas"]["ShopRef"];
|
|
889
|
+
url: string;
|
|
890
|
+
/**
|
|
891
|
+
* @description Resource identifier
|
|
892
|
+
* @example 6a577711abc1ce71383d3e10
|
|
893
|
+
*/
|
|
894
|
+
shopUrlId: string | undefined;
|
|
895
|
+
/** @example 149.5 */
|
|
896
|
+
price: number | undefined;
|
|
897
|
+
/**
|
|
898
|
+
* @description ISO-4217 currency code
|
|
899
|
+
* @example SEK
|
|
900
|
+
*/
|
|
901
|
+
currency: string | undefined;
|
|
902
|
+
inStock: boolean;
|
|
903
|
+
inPreorder: boolean;
|
|
904
|
+
inMonitor: boolean;
|
|
905
|
+
isFullyBooked: boolean;
|
|
906
|
+
scrapedName: string | undefined;
|
|
907
|
+
scrapedType: string | undefined;
|
|
908
|
+
matchScore: number | undefined;
|
|
909
|
+
hasCategoryMismatch: boolean;
|
|
910
|
+
/** @enum {string|null} */
|
|
911
|
+
cardType: "loose" | "graded" | undefined;
|
|
912
|
+
/** @enum {string|null} */
|
|
913
|
+
itemCondition: "NM" | "LP" | "MP" | "HP" | "DMG" | undefined;
|
|
914
|
+
/** @enum {string|null} */
|
|
915
|
+
gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | undefined;
|
|
916
|
+
grade: number | undefined;
|
|
917
|
+
item: components["schemas"]["MatchedItemRef"] | undefined;
|
|
918
|
+
expansion: components["schemas"]["ExpansionRef"] | undefined;
|
|
919
|
+
category: components["schemas"]["CategoryRef"] | undefined;
|
|
920
|
+
/**
|
|
921
|
+
* Format: date-time
|
|
922
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
923
|
+
*/
|
|
924
|
+
matchedAt: string;
|
|
2331
925
|
/**
|
|
2332
926
|
* Format: date-time
|
|
2333
927
|
* @example 2026-07-15T12:03:29.322Z
|
|
2334
928
|
*/
|
|
2335
|
-
|
|
929
|
+
updatedAt: string;
|
|
930
|
+
bargain: {
|
|
931
|
+
discountPercent: number;
|
|
932
|
+
/** @enum {string} */
|
|
933
|
+
referenceSource: "retail" | "tradera" | "cardmarket";
|
|
934
|
+
} | undefined;
|
|
935
|
+
};
|
|
936
|
+
ShopMatchesForShop: {
|
|
937
|
+
shop: components["schemas"]["ShopSummary"] | undefined;
|
|
938
|
+
data: components["schemas"]["ShopMatchWithItem"][];
|
|
939
|
+
pagination: components["schemas"]["PageMeta"];
|
|
940
|
+
};
|
|
941
|
+
ShopPriceComparisonRow: {
|
|
942
|
+
shop: string;
|
|
943
|
+
/** @example 149.5 */
|
|
944
|
+
price: number;
|
|
945
|
+
/**
|
|
946
|
+
* @description ISO-4217 currency code
|
|
947
|
+
* @example SEK
|
|
948
|
+
*/
|
|
949
|
+
currency: string;
|
|
950
|
+
inStock: boolean;
|
|
951
|
+
url: string;
|
|
2336
952
|
/**
|
|
2337
953
|
* Format: date-time
|
|
2338
954
|
* @example 2026-07-15T12:03:29.322Z
|
|
2339
955
|
*/
|
|
2340
|
-
|
|
956
|
+
snapshotDate: string;
|
|
2341
957
|
};
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
isActive: boolean;
|
|
2350
|
-
isTemporarilyClosed: boolean;
|
|
2351
|
-
isOptedOut: boolean;
|
|
2352
|
-
deliveryNote: string | undefined;
|
|
2353
|
-
};
|
|
2354
|
-
matchCount: number;
|
|
2355
|
-
/** @description Matches resolved to a catalog item */
|
|
2356
|
-
linkedMatchCount: number;
|
|
958
|
+
ShopPriceComparisonStats: {
|
|
959
|
+
/** @example 149.5 */
|
|
960
|
+
lowestPrice: number;
|
|
961
|
+
/** @example 149.5 */
|
|
962
|
+
highestPrice: number;
|
|
963
|
+
/** @example 149.5 */
|
|
964
|
+
averagePrice: number;
|
|
2357
965
|
inStockCount: number;
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
|
|
966
|
+
};
|
|
967
|
+
ShopPriceHistory: {
|
|
968
|
+
/** @description The shop's technicalName */
|
|
969
|
+
shop: string;
|
|
970
|
+
history: components["schemas"]["ShopPricePoint"][];
|
|
971
|
+
};
|
|
972
|
+
ShopPriceHistoryList: {
|
|
973
|
+
shop: string;
|
|
974
|
+
items: components["schemas"]["ShopItemPriceHistory"][];
|
|
975
|
+
itemCount: number;
|
|
976
|
+
};
|
|
977
|
+
ShopPricePoint: {
|
|
2361
978
|
/**
|
|
2362
979
|
* Format: date-time
|
|
2363
980
|
* @example 2026-07-15T12:03:29.322Z
|
|
2364
981
|
*/
|
|
2365
|
-
|
|
982
|
+
snapshotDate: string;
|
|
983
|
+
/** @example 149.5 */
|
|
984
|
+
price: number;
|
|
985
|
+
/**
|
|
986
|
+
* @description ISO-4217 currency code
|
|
987
|
+
* @example SEK
|
|
988
|
+
*/
|
|
989
|
+
currency: string;
|
|
990
|
+
inStock: boolean;
|
|
991
|
+
url: string;
|
|
2366
992
|
};
|
|
2367
|
-
|
|
993
|
+
ShopProductMatch: {
|
|
2368
994
|
/**
|
|
2369
995
|
* @description Resource identifier
|
|
2370
996
|
* @example 6a577711abc1ce71383d3e10
|
|
2371
997
|
*/
|
|
2372
998
|
id: string;
|
|
2373
|
-
shop:
|
|
2374
|
-
/** @example cardlevels */
|
|
2375
|
-
technicalName: string;
|
|
2376
|
-
/** @example Cardlevels */
|
|
2377
|
-
name: string;
|
|
2378
|
-
};
|
|
999
|
+
shop: components["schemas"]["MatchShop"];
|
|
2379
1000
|
url: string;
|
|
2380
1001
|
/**
|
|
2381
1002
|
* @description Resource identifier
|
|
@@ -2404,78 +1025,6 @@ interface components {
|
|
|
2404
1025
|
/** @enum {string|null} */
|
|
2405
1026
|
gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | undefined;
|
|
2406
1027
|
grade: number | undefined;
|
|
2407
|
-
item: {
|
|
2408
|
-
/**
|
|
2409
|
-
* @description Resource identifier
|
|
2410
|
-
* @example 6a577711abc1ce71383d3e10
|
|
2411
|
-
*/
|
|
2412
|
-
id: string;
|
|
2413
|
-
/** @enum {string} */
|
|
2414
|
-
kind: "card" | "sealed";
|
|
2415
|
-
name: string;
|
|
2416
|
-
shortName: string | undefined;
|
|
2417
|
-
technicalName: string;
|
|
2418
|
-
cardNumber: string | undefined;
|
|
2419
|
-
imageUrl: string | undefined;
|
|
2420
|
-
language: string | undefined;
|
|
2421
|
-
priceChartingId: string | undefined;
|
|
2422
|
-
} | undefined;
|
|
2423
|
-
expansion: {
|
|
2424
|
-
/**
|
|
2425
|
-
* @description Resource identifier
|
|
2426
|
-
* @example 6a577711abc1ce71383d3e10
|
|
2427
|
-
*/
|
|
2428
|
-
id: string;
|
|
2429
|
-
/** @example Mega Evolution 30th Celebration */
|
|
2430
|
-
name: string;
|
|
2431
|
-
/** @example 30th Celebration */
|
|
2432
|
-
shortName: string;
|
|
2433
|
-
/** @example jpn-mega-evolution-30th-celebration */
|
|
2434
|
-
technicalName: string;
|
|
2435
|
-
/**
|
|
2436
|
-
* @description Printing language of the item
|
|
2437
|
-
* @example JPN
|
|
2438
|
-
* @enum {string}
|
|
2439
|
-
*/
|
|
2440
|
-
language: "ENG" | "JPN" | "CHI";
|
|
2441
|
-
/** @example m6a */
|
|
2442
|
-
code: string | undefined;
|
|
2443
|
-
/** @example m6a */
|
|
2444
|
-
cardCode: string | undefined;
|
|
2445
|
-
/** @example Mega Evolution */
|
|
2446
|
-
seriesName: string | undefined;
|
|
2447
|
-
/**
|
|
2448
|
-
* Format: date-time
|
|
2449
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
2450
|
-
*/
|
|
2451
|
-
releaseDate: string | undefined;
|
|
2452
|
-
/**
|
|
2453
|
-
* @description Absolute asset URL, or null when absent
|
|
2454
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
2455
|
-
*/
|
|
2456
|
-
logoUrl: string | undefined;
|
|
2457
|
-
/**
|
|
2458
|
-
* @description Absolute asset URL, or null when absent
|
|
2459
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
2460
|
-
*/
|
|
2461
|
-
symbolUrl: string | undefined;
|
|
2462
|
-
/**
|
|
2463
|
-
* @description Absolute asset URL, or null when absent
|
|
2464
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
2465
|
-
*/
|
|
2466
|
-
imageUrl: string | undefined;
|
|
2467
|
-
} | undefined;
|
|
2468
|
-
category: {
|
|
2469
|
-
/**
|
|
2470
|
-
* @description Resource identifier
|
|
2471
|
-
* @example 6a577711abc1ce71383d3e10
|
|
2472
|
-
*/
|
|
2473
|
-
id: string;
|
|
2474
|
-
/** @example Booster Box */
|
|
2475
|
-
name: string;
|
|
2476
|
-
/** @example booster-box */
|
|
2477
|
-
technicalName: string;
|
|
2478
|
-
} | undefined;
|
|
2479
1028
|
/**
|
|
2480
1029
|
* Format: date-time
|
|
2481
1030
|
* @example 2026-07-15T12:03:29.322Z
|
|
@@ -2492,252 +1041,144 @@ interface components {
|
|
|
2492
1041
|
referenceSource: "retail" | "tradera" | "cardmarket";
|
|
2493
1042
|
} | undefined;
|
|
2494
1043
|
};
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
websiteUrl: string | undefined;
|
|
2501
|
-
description: string | undefined;
|
|
2502
|
-
isActive: boolean;
|
|
2503
|
-
isTemporarilyClosed: boolean;
|
|
2504
|
-
isOptedOut: boolean;
|
|
2505
|
-
deliveryNote: string | undefined;
|
|
2506
|
-
} | undefined;
|
|
2507
|
-
data: {
|
|
2508
|
-
/**
|
|
2509
|
-
* @description Resource identifier
|
|
2510
|
-
* @example 6a577711abc1ce71383d3e10
|
|
2511
|
-
*/
|
|
2512
|
-
id: string;
|
|
2513
|
-
shop: {
|
|
2514
|
-
/** @example cardlevels */
|
|
2515
|
-
technicalName: string;
|
|
2516
|
-
/** @example Cardlevels */
|
|
2517
|
-
name: string;
|
|
2518
|
-
};
|
|
2519
|
-
url: string;
|
|
2520
|
-
/**
|
|
2521
|
-
* @description Resource identifier
|
|
2522
|
-
* @example 6a577711abc1ce71383d3e10
|
|
2523
|
-
*/
|
|
2524
|
-
shopUrlId: string | undefined;
|
|
2525
|
-
/** @example 149.5 */
|
|
2526
|
-
price: number | undefined;
|
|
2527
|
-
/**
|
|
2528
|
-
* @description ISO-4217 currency code
|
|
2529
|
-
* @example SEK
|
|
2530
|
-
*/
|
|
2531
|
-
currency: string | undefined;
|
|
2532
|
-
inStock: boolean;
|
|
2533
|
-
inPreorder: boolean;
|
|
2534
|
-
inMonitor: boolean;
|
|
2535
|
-
isFullyBooked: boolean;
|
|
2536
|
-
scrapedName: string | undefined;
|
|
2537
|
-
scrapedType: string | undefined;
|
|
2538
|
-
matchScore: number | undefined;
|
|
2539
|
-
hasCategoryMismatch: boolean;
|
|
2540
|
-
/** @enum {string|null} */
|
|
2541
|
-
cardType: "loose" | "graded" | undefined;
|
|
2542
|
-
/** @enum {string|null} */
|
|
2543
|
-
itemCondition: "NM" | "LP" | "MP" | "HP" | "DMG" | undefined;
|
|
2544
|
-
/** @enum {string|null} */
|
|
2545
|
-
gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | undefined;
|
|
2546
|
-
grade: number | undefined;
|
|
2547
|
-
item: {
|
|
2548
|
-
/**
|
|
2549
|
-
* @description Resource identifier
|
|
2550
|
-
* @example 6a577711abc1ce71383d3e10
|
|
2551
|
-
*/
|
|
2552
|
-
id: string;
|
|
2553
|
-
/** @enum {string} */
|
|
2554
|
-
kind: "card" | "sealed";
|
|
2555
|
-
name: string;
|
|
2556
|
-
shortName: string | undefined;
|
|
2557
|
-
technicalName: string;
|
|
2558
|
-
cardNumber: string | undefined;
|
|
2559
|
-
imageUrl: string | undefined;
|
|
2560
|
-
language: string | undefined;
|
|
2561
|
-
priceChartingId: string | undefined;
|
|
2562
|
-
} | undefined;
|
|
2563
|
-
expansion: {
|
|
2564
|
-
/**
|
|
2565
|
-
* @description Resource identifier
|
|
2566
|
-
* @example 6a577711abc1ce71383d3e10
|
|
2567
|
-
*/
|
|
2568
|
-
id: string;
|
|
2569
|
-
/** @example Mega Evolution 30th Celebration */
|
|
2570
|
-
name: string;
|
|
2571
|
-
/** @example 30th Celebration */
|
|
2572
|
-
shortName: string;
|
|
2573
|
-
/** @example jpn-mega-evolution-30th-celebration */
|
|
2574
|
-
technicalName: string;
|
|
2575
|
-
/**
|
|
2576
|
-
* @description Printing language of the item
|
|
2577
|
-
* @example JPN
|
|
2578
|
-
* @enum {string}
|
|
2579
|
-
*/
|
|
2580
|
-
language: "ENG" | "JPN" | "CHI";
|
|
2581
|
-
/** @example m6a */
|
|
2582
|
-
code: string | undefined;
|
|
2583
|
-
/** @example m6a */
|
|
2584
|
-
cardCode: string | undefined;
|
|
2585
|
-
/** @example Mega Evolution */
|
|
2586
|
-
seriesName: string | undefined;
|
|
2587
|
-
/**
|
|
2588
|
-
* Format: date-time
|
|
2589
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
2590
|
-
*/
|
|
2591
|
-
releaseDate: string | undefined;
|
|
2592
|
-
/**
|
|
2593
|
-
* @description Absolute asset URL, or null when absent
|
|
2594
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
2595
|
-
*/
|
|
2596
|
-
logoUrl: string | undefined;
|
|
2597
|
-
/**
|
|
2598
|
-
* @description Absolute asset URL, or null when absent
|
|
2599
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
2600
|
-
*/
|
|
2601
|
-
symbolUrl: string | undefined;
|
|
2602
|
-
/**
|
|
2603
|
-
* @description Absolute asset URL, or null when absent
|
|
2604
|
-
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
2605
|
-
*/
|
|
2606
|
-
imageUrl: string | undefined;
|
|
2607
|
-
} | undefined;
|
|
2608
|
-
category: {
|
|
2609
|
-
/**
|
|
2610
|
-
* @description Resource identifier
|
|
2611
|
-
* @example 6a577711abc1ce71383d3e10
|
|
2612
|
-
*/
|
|
2613
|
-
id: string;
|
|
2614
|
-
/** @example Booster Box */
|
|
2615
|
-
name: string;
|
|
2616
|
-
/** @example booster-box */
|
|
2617
|
-
technicalName: string;
|
|
2618
|
-
} | undefined;
|
|
2619
|
-
/**
|
|
2620
|
-
* Format: date-time
|
|
2621
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
2622
|
-
*/
|
|
2623
|
-
matchedAt: string;
|
|
2624
|
-
/**
|
|
2625
|
-
* Format: date-time
|
|
2626
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
2627
|
-
*/
|
|
2628
|
-
updatedAt: string;
|
|
2629
|
-
bargain: {
|
|
2630
|
-
discountPercent: number;
|
|
2631
|
-
/** @enum {string} */
|
|
2632
|
-
referenceSource: "retail" | "tradera" | "cardmarket";
|
|
2633
|
-
} | undefined;
|
|
2634
|
-
}[];
|
|
2635
|
-
pagination: {
|
|
2636
|
-
/** @description Total matching records, ignoring pagination */
|
|
2637
|
-
total: number;
|
|
2638
|
-
limit: number;
|
|
2639
|
-
skip: number;
|
|
2640
|
-
hasMore: boolean;
|
|
2641
|
-
};
|
|
1044
|
+
ShopRef: {
|
|
1045
|
+
/** @example cardlevels */
|
|
1046
|
+
technicalName: string;
|
|
1047
|
+
/** @example Cardlevels */
|
|
1048
|
+
name: string;
|
|
2642
1049
|
};
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
1050
|
+
ShopSummary: {
|
|
1051
|
+
technicalName: string;
|
|
1052
|
+
name: string;
|
|
1053
|
+
logoUrl: string | undefined;
|
|
1054
|
+
websiteUrl: string | undefined;
|
|
1055
|
+
description: string | undefined;
|
|
1056
|
+
isActive: boolean;
|
|
1057
|
+
isTemporarilyClosed: boolean;
|
|
1058
|
+
isOptedOut: boolean;
|
|
1059
|
+
deliveryNote: string | undefined;
|
|
1060
|
+
};
|
|
1061
|
+
ShopUrl: {
|
|
1062
|
+
/**
|
|
1063
|
+
* @description Resource identifier
|
|
1064
|
+
* @example 6a577711abc1ce71383d3e10
|
|
1065
|
+
*/
|
|
1066
|
+
id: string;
|
|
1067
|
+
url: string;
|
|
1068
|
+
shop: string | undefined;
|
|
1069
|
+
status: components["schemas"]["ShopUrlStatus"];
|
|
1070
|
+
/** @enum {string} */
|
|
1071
|
+
discoveredBy: "scraper" | "user";
|
|
1072
|
+
/**
|
|
1073
|
+
* @description Resource identifier
|
|
1074
|
+
* @example 6a577711abc1ce71383d3e10
|
|
1075
|
+
*/
|
|
1076
|
+
itemId: string | undefined;
|
|
1077
|
+
/** @enum {string|null} */
|
|
1078
|
+
itemKind: "card" | "sealed" | undefined;
|
|
1079
|
+
lockedItem: boolean;
|
|
1080
|
+
priceChartingId: string | undefined;
|
|
1081
|
+
scrapedName: string | undefined;
|
|
1082
|
+
matchScore: number | undefined;
|
|
1083
|
+
/**
|
|
1084
|
+
* Format: date-time
|
|
1085
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1086
|
+
*/
|
|
1087
|
+
lastMatchedAt: string | undefined;
|
|
1088
|
+
/**
|
|
1089
|
+
* @description Resource identifier
|
|
1090
|
+
* @example 6a577711abc1ce71383d3e10
|
|
1091
|
+
*/
|
|
1092
|
+
expansionId: string | undefined;
|
|
1093
|
+
/**
|
|
1094
|
+
* @description Resource identifier
|
|
1095
|
+
* @example 6a577711abc1ce71383d3e10
|
|
1096
|
+
*/
|
|
1097
|
+
categoryId: string | undefined;
|
|
1098
|
+
submittedByUserId: string | undefined;
|
|
1099
|
+
/**
|
|
1100
|
+
* Format: date-time
|
|
1101
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1102
|
+
*/
|
|
1103
|
+
createdAt: string;
|
|
1104
|
+
/**
|
|
1105
|
+
* Format: date-time
|
|
1106
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1107
|
+
*/
|
|
1108
|
+
updatedAt: string;
|
|
2679
1109
|
};
|
|
2680
1110
|
ShopUrlMutationResult: {
|
|
2681
1111
|
message: string;
|
|
2682
|
-
shopUrl:
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
|
|
2705
|
-
|
|
2706
|
-
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
-
|
|
2714
|
-
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
/**
|
|
2727
|
-
* Format: date-time
|
|
2728
|
-
* @example 2026-07-15T12:03:29.322Z
|
|
2729
|
-
*/
|
|
2730
|
-
updatedAt: string;
|
|
1112
|
+
shopUrl: components["schemas"]["ShopUrl"];
|
|
1113
|
+
};
|
|
1114
|
+
/** @enum {string} */
|
|
1115
|
+
ShopUrlStatus: "pending" | "active" | "invalid" | "rejected" | "sanityRejected";
|
|
1116
|
+
SoldPrice: {
|
|
1117
|
+
/**
|
|
1118
|
+
* @description Resource identifier
|
|
1119
|
+
* @example 6a577711abc1ce71383d3e10
|
|
1120
|
+
*/
|
|
1121
|
+
id: string;
|
|
1122
|
+
url: string;
|
|
1123
|
+
/** @example 149.5 */
|
|
1124
|
+
price: number;
|
|
1125
|
+
/**
|
|
1126
|
+
* @description ISO-4217 currency code
|
|
1127
|
+
* @example SEK
|
|
1128
|
+
*/
|
|
1129
|
+
currency: string;
|
|
1130
|
+
/**
|
|
1131
|
+
* Format: date-time
|
|
1132
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1133
|
+
*/
|
|
1134
|
+
soldAt: string | undefined;
|
|
1135
|
+
itemId: string | undefined;
|
|
1136
|
+
/** @example tradera */
|
|
1137
|
+
source: string | undefined;
|
|
1138
|
+
};
|
|
1139
|
+
TopItem: {
|
|
1140
|
+
/**
|
|
1141
|
+
* @description Resource identifier
|
|
1142
|
+
* @example 6a577711abc1ce71383d3e10
|
|
1143
|
+
*/
|
|
1144
|
+
id: string;
|
|
1145
|
+
slug: string | undefined;
|
|
1146
|
+
shopMatchCount: number;
|
|
1147
|
+
};
|
|
1148
|
+
VariantBreakdown: {
|
|
1149
|
+
loose: {
|
|
1150
|
+
[key: string]: components["schemas"]["VariantPriceStats"];
|
|
1151
|
+
};
|
|
1152
|
+
graded: {
|
|
1153
|
+
[key: string]: {
|
|
1154
|
+
[key: string]: components["schemas"]["VariantPriceStats"];
|
|
1155
|
+
};
|
|
2731
1156
|
};
|
|
2732
1157
|
};
|
|
2733
|
-
|
|
2734
|
-
/**
|
|
2735
|
-
|
|
2736
|
-
|
|
2737
|
-
|
|
2738
|
-
|
|
2739
|
-
|
|
2740
|
-
|
|
1158
|
+
VariantPriceStats: {
|
|
1159
|
+
/** @example 149.5 */
|
|
1160
|
+
averagePrice: number;
|
|
1161
|
+
dataPointCount: number;
|
|
1162
|
+
/**
|
|
1163
|
+
* Format: date-time
|
|
1164
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1165
|
+
*/
|
|
1166
|
+
lastSaleDate: string;
|
|
1167
|
+
};
|
|
1168
|
+
VariantSelector: {
|
|
1169
|
+
/** @enum {string|null} */
|
|
1170
|
+
cardType: "loose" | "graded" | undefined;
|
|
1171
|
+
/** @enum {string|null} */
|
|
1172
|
+
condition: "NM" | "LP" | "MP" | "HP" | "DMG" | undefined;
|
|
1173
|
+
/** @enum {string|null} */
|
|
1174
|
+
gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | undefined;
|
|
1175
|
+
grade: number | undefined;
|
|
1176
|
+
};
|
|
1177
|
+
VariantStatsSummary: {
|
|
1178
|
+
/** @description Distinct cardType/condition/company/grade combinations */
|
|
1179
|
+
variantCount: number;
|
|
1180
|
+
looseCount: number;
|
|
1181
|
+
gradedCount: number;
|
|
2741
1182
|
};
|
|
2742
1183
|
};
|
|
2743
1184
|
responses: never;
|
|
@@ -2746,21 +1187,119 @@ interface components {
|
|
|
2746
1187
|
headers: never;
|
|
2747
1188
|
pathItems: never;
|
|
2748
1189
|
}
|
|
2749
|
-
|
|
2750
1190
|
/**
|
|
2751
1191
|
* Shared primitives reused across every resource. Pulled from `src/generated/openapi.d.ts` via
|
|
2752
1192
|
* indexed access instead of retyped by hand, so a field rename in the API is a compile error here,
|
|
2753
1193
|
* not silent drift.
|
|
2754
1194
|
*
|
|
2755
|
-
*
|
|
2756
|
-
*
|
|
2757
|
-
*
|
|
2758
|
-
*
|
|
2759
|
-
*
|
|
1195
|
+
* The API registers `Brand`, `CategoryRef`, `ExpansionRef`, `ShopRef` etc. as their own named
|
|
1196
|
+
* components and `$ref`s them wherever they're embedded (in `CardWithPricing`, `ProductWithPricing`,
|
|
1197
|
+
* `PackRate`, the shop-match schemas, ...), so those are pulled by name directly. `CardWithPricing`
|
|
1198
|
+
* is still the extraction source for the handful of shapes that aren't independently registered
|
|
1199
|
+
* (`lowestShopOffer`'s `bargain`, the reference-price snapshot map).
|
|
2760
1200
|
*/
|
|
2761
|
-
|
|
2762
|
-
|
|
2763
|
-
|
|
1201
|
+
type CardSchema = {
|
|
1202
|
+
/**
|
|
1203
|
+
* @description Resource identifier
|
|
1204
|
+
* @example 6a577711abc1ce71383d3e10
|
|
1205
|
+
*/
|
|
1206
|
+
id: string;
|
|
1207
|
+
name: string;
|
|
1208
|
+
shortName: string | undefined;
|
|
1209
|
+
technicalName: string;
|
|
1210
|
+
brand: components["schemas"]["Brand"];
|
|
1211
|
+
manufacturer: string;
|
|
1212
|
+
modelNumber: string | undefined;
|
|
1213
|
+
category: components["schemas"]["CategoryRef"] | undefined;
|
|
1214
|
+
expansion: components["schemas"]["ExpansionRef"] | undefined;
|
|
1215
|
+
/**
|
|
1216
|
+
* @description Printing language of the item
|
|
1217
|
+
* @example JPN
|
|
1218
|
+
* @enum {string|null}
|
|
1219
|
+
*/
|
|
1220
|
+
language: "ENG" | "JPN" | "CHI" | undefined;
|
|
1221
|
+
alternativeNames: components["schemas"]["AlternativeName"][];
|
|
1222
|
+
supportsMultipackPricing: boolean;
|
|
1223
|
+
/**
|
|
1224
|
+
* @description Absolute asset URL, or null when absent
|
|
1225
|
+
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1226
|
+
*/
|
|
1227
|
+
imageUrl: string | undefined;
|
|
1228
|
+
/**
|
|
1229
|
+
* @description Cheapest current shop price, in SEK
|
|
1230
|
+
* @example 149.5
|
|
1231
|
+
*/
|
|
1232
|
+
retailPrice: number | undefined;
|
|
1233
|
+
/**
|
|
1234
|
+
* @description Estimated market value, in SEK
|
|
1235
|
+
* @example 149.5
|
|
1236
|
+
*/
|
|
1237
|
+
estimatedValue: number | undefined;
|
|
1238
|
+
/** @description Active shops currently tracking this item */
|
|
1239
|
+
shopCount: number;
|
|
1240
|
+
/** @description Observations the estimate rests on */
|
|
1241
|
+
pricingDataPoints: number;
|
|
1242
|
+
/**
|
|
1243
|
+
* Format: date-time
|
|
1244
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1245
|
+
*/
|
|
1246
|
+
pricingUpdatedAt: string | undefined;
|
|
1247
|
+
/**
|
|
1248
|
+
* Format: date-time
|
|
1249
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1250
|
+
*/
|
|
1251
|
+
createdAt: string;
|
|
1252
|
+
/**
|
|
1253
|
+
* Format: date-time
|
|
1254
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1255
|
+
*/
|
|
1256
|
+
updatedAt: string;
|
|
1257
|
+
/** @enum {string} */
|
|
1258
|
+
kind: "card";
|
|
1259
|
+
/** @example 4/102 */
|
|
1260
|
+
cardNumber: string;
|
|
1261
|
+
/** @example Rare Holo */
|
|
1262
|
+
rarity: string | undefined;
|
|
1263
|
+
artist: string | undefined;
|
|
1264
|
+
cardmarketId: string | undefined;
|
|
1265
|
+
tcgplayerId: string | undefined;
|
|
1266
|
+
variants: components["schemas"]["CardVariants"] | undefined;
|
|
1267
|
+
prisjaktId: string | undefined;
|
|
1268
|
+
lowestShopOffer: components["schemas"]["LowestShopOffer"] | undefined;
|
|
1269
|
+
referencePriceSnapshotsByProvider: {
|
|
1270
|
+
[key: string]: components["schemas"]["ReferencePriceSummary"];
|
|
1271
|
+
};
|
|
1272
|
+
};
|
|
1273
|
+
type LowestShopOfferSchema = {
|
|
1274
|
+
shop: components["schemas"]["ShopRef"];
|
|
1275
|
+
url: string;
|
|
1276
|
+
/** @example 149.5 */
|
|
1277
|
+
price: number;
|
|
1278
|
+
/**
|
|
1279
|
+
* @description ISO-4217 currency code
|
|
1280
|
+
* @example SEK
|
|
1281
|
+
*/
|
|
1282
|
+
currency: string;
|
|
1283
|
+
inStock: boolean;
|
|
1284
|
+
inPreorder: boolean;
|
|
1285
|
+
inMonitor: boolean;
|
|
1286
|
+
isFullyBooked: boolean;
|
|
1287
|
+
/**
|
|
1288
|
+
* Format: date-time
|
|
1289
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1290
|
+
*/
|
|
1291
|
+
matchedAt: string;
|
|
1292
|
+
/**
|
|
1293
|
+
* Format: date-time
|
|
1294
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1295
|
+
*/
|
|
1296
|
+
updatedAt: string;
|
|
1297
|
+
bargain: {
|
|
1298
|
+
discountPercent: number;
|
|
1299
|
+
/** @enum {string} */
|
|
1300
|
+
referenceSource: "retail" | "tradera" | "cardmarket";
|
|
1301
|
+
} | undefined;
|
|
1302
|
+
};
|
|
2764
1303
|
/** A Mongo ObjectId, always a 24-char lowercase hex string. Just `string`, not a branded type;
|
|
2765
1304
|
* nothing here needs to tell it apart from any other id at compile time. */
|
|
2766
1305
|
type ResourceId = string;
|
|
@@ -2768,8 +1307,14 @@ type ResourceId = string;
|
|
|
2768
1307
|
type CurrencyCode = string;
|
|
2769
1308
|
/** ISO 8601 timestamp, as returned by the API (always UTC, `Z`-suffixed). */
|
|
2770
1309
|
type Timestamp = string;
|
|
2771
|
-
type PrintingLanguage =
|
|
2772
|
-
type PageMeta =
|
|
1310
|
+
type PrintingLanguage = "ENG" | "JPN" | "CHI";
|
|
1311
|
+
type PageMeta = {
|
|
1312
|
+
/** @description Total matching records, ignoring pagination */
|
|
1313
|
+
total: number;
|
|
1314
|
+
limit: number;
|
|
1315
|
+
skip: number;
|
|
1316
|
+
hasMore: boolean;
|
|
1317
|
+
};
|
|
2773
1318
|
/** The standard paginated list envelope every `list`/`search` method returns. Hand-declared, not
|
|
2774
1319
|
* generated: the API repeats a fresh anonymous `{ data, pagination }` object per endpoint rather
|
|
2775
1320
|
* than naming it once. */
|
|
@@ -2782,100 +1327,752 @@ interface PaginationParams {
|
|
|
2782
1327
|
limit?: number;
|
|
2783
1328
|
skip?: number;
|
|
2784
1329
|
}
|
|
2785
|
-
type AlternativeName =
|
|
2786
|
-
|
|
2787
|
-
|
|
1330
|
+
type AlternativeName = {
|
|
1331
|
+
name: string;
|
|
1332
|
+
shortName: string | undefined;
|
|
1333
|
+
};
|
|
1334
|
+
type BrandRef = {
|
|
1335
|
+
/**
|
|
1336
|
+
* @description Resource identifier
|
|
1337
|
+
* @example 6a577711abc1ce71383d3e10
|
|
1338
|
+
*/
|
|
1339
|
+
id: string;
|
|
1340
|
+
/** @example Pokémon */
|
|
1341
|
+
name: string;
|
|
1342
|
+
/** @example pokemon */
|
|
1343
|
+
technicalName: string;
|
|
1344
|
+
/**
|
|
1345
|
+
* Format: date-time
|
|
1346
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1347
|
+
*/
|
|
1348
|
+
createdAt: string;
|
|
1349
|
+
/**
|
|
1350
|
+
* Format: date-time
|
|
1351
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1352
|
+
*/
|
|
1353
|
+
updatedAt: string;
|
|
1354
|
+
};
|
|
1355
|
+
type CategoryRef = {
|
|
1356
|
+
/**
|
|
1357
|
+
* @description Resource identifier
|
|
1358
|
+
* @example 6a577711abc1ce71383d3e10
|
|
1359
|
+
*/
|
|
1360
|
+
id: string;
|
|
1361
|
+
/** @example Booster Box */
|
|
1362
|
+
name: string;
|
|
1363
|
+
/** @example booster-box */
|
|
1364
|
+
technicalName: string;
|
|
1365
|
+
};
|
|
2788
1366
|
/** The expansion shape embedded on cards, products and pack rates. Not the full `Expansion`
|
|
2789
1367
|
* returned by `client.expansions.list()`, which additionally carries counts and a `brand`. */
|
|
2790
|
-
type ExpansionRef =
|
|
1368
|
+
type ExpansionRef = {
|
|
1369
|
+
/**
|
|
1370
|
+
* @description Resource identifier
|
|
1371
|
+
* @example 6a577711abc1ce71383d3e10
|
|
1372
|
+
*/
|
|
1373
|
+
id: string;
|
|
1374
|
+
/** @example Mega Evolution 30th Celebration */
|
|
1375
|
+
name: string;
|
|
1376
|
+
/** @example 30th Celebration */
|
|
1377
|
+
shortName: string;
|
|
1378
|
+
/** @example jpn-mega-evolution-30th-celebration */
|
|
1379
|
+
technicalName: string;
|
|
1380
|
+
/**
|
|
1381
|
+
* @description Printing language of the item
|
|
1382
|
+
* @example JPN
|
|
1383
|
+
* @enum {string}
|
|
1384
|
+
*/
|
|
1385
|
+
language: "ENG" | "JPN" | "CHI";
|
|
1386
|
+
/** @example m6a */
|
|
1387
|
+
code: string | undefined;
|
|
1388
|
+
/** @example m6a */
|
|
1389
|
+
cardCode: string | undefined;
|
|
1390
|
+
/** @example Mega Evolution */
|
|
1391
|
+
seriesName: string | undefined;
|
|
1392
|
+
/**
|
|
1393
|
+
* Format: date-time
|
|
1394
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1395
|
+
*/
|
|
1396
|
+
releaseDate: string | undefined;
|
|
1397
|
+
/**
|
|
1398
|
+
* @description Absolute asset URL, or null when absent
|
|
1399
|
+
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1400
|
+
*/
|
|
1401
|
+
logoUrl: string | undefined;
|
|
1402
|
+
/**
|
|
1403
|
+
* @description Absolute asset URL, or null when absent
|
|
1404
|
+
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1405
|
+
*/
|
|
1406
|
+
symbolUrl: string | undefined;
|
|
1407
|
+
/**
|
|
1408
|
+
* @description Absolute asset URL, or null when absent
|
|
1409
|
+
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1410
|
+
*/
|
|
1411
|
+
imageUrl: string | undefined;
|
|
1412
|
+
};
|
|
2791
1413
|
/** The minimal shop identity embedded on offers and matches. */
|
|
2792
|
-
type ShopRef =
|
|
2793
|
-
|
|
1414
|
+
type ShopRef = {
|
|
1415
|
+
/** @example cardlevels */
|
|
1416
|
+
technicalName: string;
|
|
1417
|
+
/** @example Cardlevels */
|
|
1418
|
+
name: string;
|
|
1419
|
+
};
|
|
1420
|
+
type BargainReferenceSource = "retail" | "tradera" | "cardmarket";
|
|
2794
1421
|
/** Present on an offer/match when its price is a known-good discount off a reference price. */
|
|
2795
|
-
type BargainInfo =
|
|
1422
|
+
type BargainInfo = {
|
|
1423
|
+
discountPercent: number;
|
|
1424
|
+
/** @enum {string} */
|
|
1425
|
+
referenceSource: "retail" | "tradera" | "cardmarket";
|
|
1426
|
+
};
|
|
2796
1427
|
/** The cheapest current shop offer for a card or product. */
|
|
2797
1428
|
type LowestShopOffer = LowestShopOfferSchema;
|
|
2798
|
-
type ReferencePriceProvider =
|
|
2799
|
-
type ReferencePriceSnapshot =
|
|
1429
|
+
type ReferencePriceProvider = "tradera" | "cardmarket" | "tcgplayer" | "ebay";
|
|
1430
|
+
type ReferencePriceSnapshot = {
|
|
1431
|
+
/** @enum {string} */
|
|
1432
|
+
provider: "cardmarket" | "tcgplayer" | "ebay" | "tradera";
|
|
1433
|
+
/** @example 149.5 */
|
|
1434
|
+
price: number;
|
|
1435
|
+
/**
|
|
1436
|
+
* @description ISO-4217 currency code
|
|
1437
|
+
* @example SEK
|
|
1438
|
+
*/
|
|
1439
|
+
currency: string;
|
|
1440
|
+
/**
|
|
1441
|
+
* @description price converted to SEK at the rate stored on the row
|
|
1442
|
+
* @example 149.5
|
|
1443
|
+
*/
|
|
1444
|
+
priceSek: number;
|
|
1445
|
+
/**
|
|
1446
|
+
* Format: date-time
|
|
1447
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1448
|
+
*/
|
|
1449
|
+
snapshotDate: string;
|
|
1450
|
+
};
|
|
2800
1451
|
/** Keyed by provider, at most one snapshot per provider. */
|
|
2801
1452
|
type ReferencePriceSnapshotsByProvider = Partial<Record<ReferencePriceProvider, ReferencePriceSnapshot>>;
|
|
2802
|
-
|
|
2803
1453
|
/** A card, as returned by `client.cards.get()` / `client.cards.list()`, and as embedded in
|
|
2804
1454
|
* `client.expansions.products()`. `kind: 'card'` is a literal on the generated type, which is what
|
|
2805
1455
|
* makes `CatalogItem` (below) discriminate cleanly. */
|
|
2806
|
-
type Card =
|
|
1456
|
+
type Card = {
|
|
1457
|
+
/**
|
|
1458
|
+
* @description Resource identifier
|
|
1459
|
+
* @example 6a577711abc1ce71383d3e10
|
|
1460
|
+
*/
|
|
1461
|
+
id: string;
|
|
1462
|
+
name: string;
|
|
1463
|
+
shortName: string | undefined;
|
|
1464
|
+
technicalName: string;
|
|
1465
|
+
brand: components["schemas"]["Brand"];
|
|
1466
|
+
manufacturer: string;
|
|
1467
|
+
modelNumber: string | undefined;
|
|
1468
|
+
category: components["schemas"]["CategoryRef"] | undefined;
|
|
1469
|
+
expansion: components["schemas"]["ExpansionRef"] | undefined;
|
|
1470
|
+
/**
|
|
1471
|
+
* @description Printing language of the item
|
|
1472
|
+
* @example JPN
|
|
1473
|
+
* @enum {string|null}
|
|
1474
|
+
*/
|
|
1475
|
+
language: "ENG" | "JPN" | "CHI" | undefined;
|
|
1476
|
+
alternativeNames: components["schemas"]["AlternativeName"][];
|
|
1477
|
+
supportsMultipackPricing: boolean;
|
|
1478
|
+
/**
|
|
1479
|
+
* @description Absolute asset URL, or null when absent
|
|
1480
|
+
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1481
|
+
*/
|
|
1482
|
+
imageUrl: string | undefined;
|
|
1483
|
+
/**
|
|
1484
|
+
* @description Cheapest current shop price, in SEK
|
|
1485
|
+
* @example 149.5
|
|
1486
|
+
*/
|
|
1487
|
+
retailPrice: number | undefined;
|
|
1488
|
+
/**
|
|
1489
|
+
* @description Estimated market value, in SEK
|
|
1490
|
+
* @example 149.5
|
|
1491
|
+
*/
|
|
1492
|
+
estimatedValue: number | undefined;
|
|
1493
|
+
/** @description Active shops currently tracking this item */
|
|
1494
|
+
shopCount: number;
|
|
1495
|
+
/** @description Observations the estimate rests on */
|
|
1496
|
+
pricingDataPoints: number;
|
|
1497
|
+
/**
|
|
1498
|
+
* Format: date-time
|
|
1499
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1500
|
+
*/
|
|
1501
|
+
pricingUpdatedAt: string | undefined;
|
|
1502
|
+
/**
|
|
1503
|
+
* Format: date-time
|
|
1504
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1505
|
+
*/
|
|
1506
|
+
createdAt: string;
|
|
1507
|
+
/**
|
|
1508
|
+
* Format: date-time
|
|
1509
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1510
|
+
*/
|
|
1511
|
+
updatedAt: string;
|
|
1512
|
+
/** @enum {string} */
|
|
1513
|
+
kind: "card";
|
|
1514
|
+
/** @example 4/102 */
|
|
1515
|
+
cardNumber: string;
|
|
1516
|
+
/** @example Rare Holo */
|
|
1517
|
+
rarity: string | undefined;
|
|
1518
|
+
artist: string | undefined;
|
|
1519
|
+
cardmarketId: string | undefined;
|
|
1520
|
+
tcgplayerId: string | undefined;
|
|
1521
|
+
variants: components["schemas"]["CardVariants"] | undefined;
|
|
1522
|
+
prisjaktId: string | undefined;
|
|
1523
|
+
lowestShopOffer: components["schemas"]["LowestShopOffer"] | undefined;
|
|
1524
|
+
referencePriceSnapshotsByProvider: {
|
|
1525
|
+
[key: string]: components["schemas"]["ReferencePriceSummary"];
|
|
1526
|
+
};
|
|
1527
|
+
};
|
|
2807
1528
|
/** A sealed product (booster box, ETB, tin, ...), as returned by `client.products.get()` /
|
|
2808
1529
|
* `client.products.list()`. `kind: 'sealed'` is a literal on the generated type. */
|
|
2809
|
-
type SealedProduct =
|
|
1530
|
+
type SealedProduct = {
|
|
1531
|
+
/**
|
|
1532
|
+
* @description Resource identifier
|
|
1533
|
+
* @example 6a577711abc1ce71383d3e10
|
|
1534
|
+
*/
|
|
1535
|
+
id: string;
|
|
1536
|
+
name: string;
|
|
1537
|
+
shortName: string | undefined;
|
|
1538
|
+
technicalName: string;
|
|
1539
|
+
brand: components["schemas"]["Brand"];
|
|
1540
|
+
manufacturer: string;
|
|
1541
|
+
modelNumber: string | undefined;
|
|
1542
|
+
category: components["schemas"]["CategoryRef"] | undefined;
|
|
1543
|
+
expansion: components["schemas"]["ExpansionRef"] | undefined;
|
|
1544
|
+
/**
|
|
1545
|
+
* @description Printing language of the item
|
|
1546
|
+
* @example JPN
|
|
1547
|
+
* @enum {string|null}
|
|
1548
|
+
*/
|
|
1549
|
+
language: "ENG" | "JPN" | "CHI" | undefined;
|
|
1550
|
+
alternativeNames: components["schemas"]["AlternativeName"][];
|
|
1551
|
+
supportsMultipackPricing: boolean;
|
|
1552
|
+
/**
|
|
1553
|
+
* @description Absolute asset URL, or null when absent
|
|
1554
|
+
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1555
|
+
*/
|
|
1556
|
+
imageUrl: string | undefined;
|
|
1557
|
+
/**
|
|
1558
|
+
* @description Cheapest current shop price, in SEK
|
|
1559
|
+
* @example 149.5
|
|
1560
|
+
*/
|
|
1561
|
+
retailPrice: number | undefined;
|
|
1562
|
+
/**
|
|
1563
|
+
* @description Estimated market value, in SEK
|
|
1564
|
+
* @example 149.5
|
|
1565
|
+
*/
|
|
1566
|
+
estimatedValue: number | undefined;
|
|
1567
|
+
/** @description Active shops currently tracking this item */
|
|
1568
|
+
shopCount: number;
|
|
1569
|
+
/** @description Observations the estimate rests on */
|
|
1570
|
+
pricingDataPoints: number;
|
|
1571
|
+
/**
|
|
1572
|
+
* Format: date-time
|
|
1573
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1574
|
+
*/
|
|
1575
|
+
pricingUpdatedAt: string | undefined;
|
|
1576
|
+
/**
|
|
1577
|
+
* Format: date-time
|
|
1578
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1579
|
+
*/
|
|
1580
|
+
createdAt: string;
|
|
1581
|
+
/**
|
|
1582
|
+
* Format: date-time
|
|
1583
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1584
|
+
*/
|
|
1585
|
+
updatedAt: string;
|
|
1586
|
+
/** @enum {string} */
|
|
1587
|
+
kind: "sealed";
|
|
1588
|
+
upc: string | undefined;
|
|
1589
|
+
asin: string | undefined;
|
|
1590
|
+
epid: string | undefined;
|
|
1591
|
+
priceChartingId: string | undefined;
|
|
1592
|
+
prisjaktId: string | undefined;
|
|
1593
|
+
lowestShopOffer: components["schemas"]["LowestShopOffer"] | undefined;
|
|
1594
|
+
referencePriceSnapshotsByProvider: {
|
|
1595
|
+
[key: string]: components["schemas"]["ReferencePriceSummary"];
|
|
1596
|
+
};
|
|
1597
|
+
};
|
|
2810
1598
|
/** A card or sealed product, discriminated on `kind`. */
|
|
2811
1599
|
type CatalogItem = Card | SealedProduct;
|
|
2812
|
-
type CardVariants =
|
|
1600
|
+
type CardVariants = {
|
|
1601
|
+
normal: boolean;
|
|
1602
|
+
holo: boolean;
|
|
1603
|
+
reverse: boolean;
|
|
1604
|
+
firstEdition: boolean;
|
|
1605
|
+
wPromo: boolean;
|
|
1606
|
+
};
|
|
2813
1607
|
/** The compact item reference used inside flat shop-match rows (`client.shopMatches.list()` /
|
|
2814
1608
|
* `.forShop()`), enough to render a result list, not the full `CatalogItem`. */
|
|
2815
|
-
type MatchedItemRef =
|
|
1609
|
+
type MatchedItemRef = {
|
|
1610
|
+
/**
|
|
1611
|
+
* @description Resource identifier
|
|
1612
|
+
* @example 6a577711abc1ce71383d3e10
|
|
1613
|
+
*/
|
|
1614
|
+
id: string;
|
|
1615
|
+
/** @enum {string} */
|
|
1616
|
+
kind: "card" | "sealed";
|
|
1617
|
+
name: string;
|
|
1618
|
+
shortName: string | undefined;
|
|
1619
|
+
technicalName: string;
|
|
1620
|
+
cardNumber: string | undefined;
|
|
1621
|
+
imageUrl: string | undefined;
|
|
1622
|
+
language: string | undefined;
|
|
1623
|
+
priceChartingId: string | undefined;
|
|
1624
|
+
};
|
|
2816
1625
|
/** One shop listing currently discounted relative to a reference price (retail, Tradera, or
|
|
2817
1626
|
* Cardmarket). Returned by `client.bargains.list()` / `client.bargains.search()`. */
|
|
2818
|
-
type Bargain =
|
|
2819
|
-
|
|
2820
|
-
|
|
1627
|
+
type Bargain = {
|
|
1628
|
+
url: string;
|
|
1629
|
+
/** @example 149.5 */
|
|
1630
|
+
price: number | undefined;
|
|
1631
|
+
/**
|
|
1632
|
+
* @description ISO-4217 currency code
|
|
1633
|
+
* @example SEK
|
|
1634
|
+
*/
|
|
1635
|
+
currency: string | undefined;
|
|
1636
|
+
shop: components["schemas"]["ShopRef"];
|
|
1637
|
+
inStock: boolean;
|
|
1638
|
+
/**
|
|
1639
|
+
* Format: date-time
|
|
1640
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1641
|
+
*/
|
|
1642
|
+
matchedAt: string;
|
|
1643
|
+
product: {
|
|
1644
|
+
/**
|
|
1645
|
+
* @description Resource identifier
|
|
1646
|
+
* @example 6a577711abc1ce71383d3e10
|
|
1647
|
+
*/
|
|
1648
|
+
id: string;
|
|
1649
|
+
/** @enum {string} */
|
|
1650
|
+
kind: "sealed" | "card";
|
|
1651
|
+
name: string;
|
|
1652
|
+
technicalName: string;
|
|
1653
|
+
imageUrl: string | undefined;
|
|
1654
|
+
};
|
|
1655
|
+
bargain: {
|
|
1656
|
+
discountPercent: number;
|
|
1657
|
+
/** @enum {string} */
|
|
1658
|
+
referenceSource: "retail" | "tradera" | "cardmarket";
|
|
1659
|
+
};
|
|
1660
|
+
};
|
|
1661
|
+
type BargainProductRef = {
|
|
1662
|
+
/**
|
|
1663
|
+
* @description Resource identifier
|
|
1664
|
+
* @example 6a577711abc1ce71383d3e10
|
|
1665
|
+
*/
|
|
1666
|
+
id: string;
|
|
1667
|
+
/** @enum {string} */
|
|
1668
|
+
kind: "sealed" | "card";
|
|
1669
|
+
name: string;
|
|
1670
|
+
technicalName: string;
|
|
1671
|
+
imageUrl: string | undefined;
|
|
1672
|
+
};
|
|
2821
1673
|
/** A set/expansion, as returned by `client.expansions.list()`. This is the full record. The
|
|
2822
1674
|
* `expansion` field embedded on a card or product is the smaller `ExpansionRef` from
|
|
2823
1675
|
* `types/common.ts`. */
|
|
2824
|
-
type Expansion =
|
|
1676
|
+
type Expansion = {
|
|
1677
|
+
/**
|
|
1678
|
+
* @description Resource identifier
|
|
1679
|
+
* @example 6a577711abc1ce71383d3e10
|
|
1680
|
+
*/
|
|
1681
|
+
id: string;
|
|
1682
|
+
/** @example Mega Evolution 30th Celebration */
|
|
1683
|
+
name: string;
|
|
1684
|
+
/** @example 30th Celebration */
|
|
1685
|
+
shortName: string;
|
|
1686
|
+
/** @example jpn-mega-evolution-30th-celebration */
|
|
1687
|
+
technicalName: string;
|
|
1688
|
+
/**
|
|
1689
|
+
* @description Printing language of the item
|
|
1690
|
+
* @example JPN
|
|
1691
|
+
* @enum {string}
|
|
1692
|
+
*/
|
|
1693
|
+
language: "ENG" | "JPN" | "CHI";
|
|
1694
|
+
/** @example m6a */
|
|
1695
|
+
code: string | undefined;
|
|
1696
|
+
/** @example m6a */
|
|
1697
|
+
cardCode: string | undefined;
|
|
1698
|
+
/** @example Mega Evolution */
|
|
1699
|
+
seriesName: string | undefined;
|
|
1700
|
+
/**
|
|
1701
|
+
* Format: date-time
|
|
1702
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1703
|
+
*/
|
|
1704
|
+
releaseDate: string | undefined;
|
|
1705
|
+
/**
|
|
1706
|
+
* @description Absolute asset URL, or null when absent
|
|
1707
|
+
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1708
|
+
*/
|
|
1709
|
+
logoUrl: string | undefined;
|
|
1710
|
+
/**
|
|
1711
|
+
* @description Absolute asset URL, or null when absent
|
|
1712
|
+
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1713
|
+
*/
|
|
1714
|
+
symbolUrl: string | undefined;
|
|
1715
|
+
/**
|
|
1716
|
+
* @description Absolute asset URL, or null when absent
|
|
1717
|
+
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1718
|
+
*/
|
|
1719
|
+
imageUrl: string | undefined;
|
|
1720
|
+
year: number | undefined;
|
|
1721
|
+
brand: components["schemas"]["Brand"];
|
|
1722
|
+
alternativeNames: components["schemas"]["AlternativeName"][];
|
|
1723
|
+
/** @description Sealed products in this expansion */
|
|
1724
|
+
sealedCount: number;
|
|
1725
|
+
/** @description Cards in this expansion */
|
|
1726
|
+
cardCount: number;
|
|
1727
|
+
/** @description Sealed products plus cards */
|
|
1728
|
+
productCount: number;
|
|
1729
|
+
/**
|
|
1730
|
+
* Format: date-time
|
|
1731
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1732
|
+
*/
|
|
1733
|
+
createdAt: string;
|
|
1734
|
+
/**
|
|
1735
|
+
* Format: date-time
|
|
1736
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1737
|
+
*/
|
|
1738
|
+
updatedAt: string;
|
|
1739
|
+
};
|
|
2825
1740
|
/** Response of `client.expansions.products()`: everything in one expansion, cards and sealed
|
|
2826
1741
|
* products kept as separate `cards`/`sealed` groups rather than merged into one mixed list. */
|
|
2827
|
-
type ExpansionContents =
|
|
2828
|
-
|
|
2829
|
-
|
|
2830
|
-
|
|
1742
|
+
type ExpansionContents = {
|
|
1743
|
+
expansion: components["schemas"]["ExpansionRef"];
|
|
1744
|
+
cards: {
|
|
1745
|
+
count: number;
|
|
1746
|
+
items: components["schemas"]["CardWithPricing"][];
|
|
1747
|
+
};
|
|
1748
|
+
sealed: {
|
|
1749
|
+
count: number;
|
|
1750
|
+
items: components["schemas"]["ProductWithPricing"][];
|
|
1751
|
+
};
|
|
1752
|
+
};
|
|
1753
|
+
/** One card as embedded in `client.expansions.products()`'s `cards` group. `$ref`s `CardWithPricing`
|
|
1754
|
+
* on the wire, so this is literally `Card` — kept as its own name since a card found through an
|
|
1755
|
+
* expansion's contents reads more naturally as `ExpansionCard` at the call site. */
|
|
1756
|
+
type ExpansionCard = Card;
|
|
1757
|
+
/** One sealed product as embedded in `client.expansions.products()`'s `sealed` group. Literally
|
|
1758
|
+
* `SealedProduct`, same reasoning as `ExpansionCard`. */
|
|
1759
|
+
type ExpansionSealedProduct = SealedProduct;
|
|
1760
|
+
type ShopMatchWithItemSchema = {
|
|
1761
|
+
/**
|
|
1762
|
+
* @description Resource identifier
|
|
1763
|
+
* @example 6a577711abc1ce71383d3e10
|
|
1764
|
+
*/
|
|
1765
|
+
id: string;
|
|
1766
|
+
shop: components["schemas"]["ShopRef"];
|
|
1767
|
+
url: string;
|
|
1768
|
+
/**
|
|
1769
|
+
* @description Resource identifier
|
|
1770
|
+
* @example 6a577711abc1ce71383d3e10
|
|
1771
|
+
*/
|
|
1772
|
+
shopUrlId: string | undefined;
|
|
1773
|
+
/** @example 149.5 */
|
|
1774
|
+
price: number | undefined;
|
|
1775
|
+
/**
|
|
1776
|
+
* @description ISO-4217 currency code
|
|
1777
|
+
* @example SEK
|
|
1778
|
+
*/
|
|
1779
|
+
currency: string | undefined;
|
|
1780
|
+
inStock: boolean;
|
|
1781
|
+
inPreorder: boolean;
|
|
1782
|
+
inMonitor: boolean;
|
|
1783
|
+
isFullyBooked: boolean;
|
|
1784
|
+
scrapedName: string | undefined;
|
|
1785
|
+
scrapedType: string | undefined;
|
|
1786
|
+
matchScore: number | undefined;
|
|
1787
|
+
hasCategoryMismatch: boolean;
|
|
1788
|
+
/** @enum {string|null} */
|
|
1789
|
+
cardType: "loose" | "graded" | undefined;
|
|
1790
|
+
/** @enum {string|null} */
|
|
1791
|
+
itemCondition: "NM" | "LP" | "MP" | "HP" | "DMG" | undefined;
|
|
1792
|
+
/** @enum {string|null} */
|
|
1793
|
+
gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | undefined;
|
|
1794
|
+
grade: number | undefined;
|
|
1795
|
+
item: components["schemas"]["MatchedItemRef"] | undefined;
|
|
1796
|
+
expansion: components["schemas"]["ExpansionRef"] | undefined;
|
|
1797
|
+
category: components["schemas"]["CategoryRef"] | undefined;
|
|
1798
|
+
/**
|
|
1799
|
+
* Format: date-time
|
|
1800
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1801
|
+
*/
|
|
1802
|
+
matchedAt: string;
|
|
1803
|
+
/**
|
|
1804
|
+
* Format: date-time
|
|
1805
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1806
|
+
*/
|
|
1807
|
+
updatedAt: string;
|
|
1808
|
+
bargain: {
|
|
1809
|
+
discountPercent: number;
|
|
1810
|
+
/** @enum {string} */
|
|
1811
|
+
referenceSource: "retail" | "tradera" | "cardmarket";
|
|
1812
|
+
} | undefined;
|
|
1813
|
+
};
|
|
1814
|
+
type ItemShopMatchSchema = {
|
|
1815
|
+
/**
|
|
1816
|
+
* @description Resource identifier
|
|
1817
|
+
* @example 6a577711abc1ce71383d3e10
|
|
1818
|
+
*/
|
|
1819
|
+
id: string;
|
|
1820
|
+
shop: components["schemas"]["MatchShop"];
|
|
1821
|
+
url: string;
|
|
1822
|
+
/**
|
|
1823
|
+
* @description Resource identifier
|
|
1824
|
+
* @example 6a577711abc1ce71383d3e10
|
|
1825
|
+
*/
|
|
1826
|
+
shopUrlId: string | undefined;
|
|
1827
|
+
/** @example 149.5 */
|
|
1828
|
+
price: number | undefined;
|
|
1829
|
+
/**
|
|
1830
|
+
* @description ISO-4217 currency code
|
|
1831
|
+
* @example SEK
|
|
1832
|
+
*/
|
|
1833
|
+
currency: string | undefined;
|
|
1834
|
+
inStock: boolean;
|
|
1835
|
+
inPreorder: boolean;
|
|
1836
|
+
inMonitor: boolean;
|
|
1837
|
+
isFullyBooked: boolean;
|
|
1838
|
+
scrapedName: string | undefined;
|
|
1839
|
+
scrapedType: string | undefined;
|
|
1840
|
+
matchScore: number | undefined;
|
|
1841
|
+
hasCategoryMismatch: boolean;
|
|
1842
|
+
/** @enum {string|null} */
|
|
1843
|
+
cardType: "loose" | "graded" | undefined;
|
|
1844
|
+
/** @enum {string|null} */
|
|
1845
|
+
itemCondition: "NM" | "LP" | "MP" | "HP" | "DMG" | undefined;
|
|
1846
|
+
/** @enum {string|null} */
|
|
1847
|
+
gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | undefined;
|
|
1848
|
+
grade: number | undefined;
|
|
1849
|
+
/**
|
|
1850
|
+
* Format: date-time
|
|
1851
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1852
|
+
*/
|
|
1853
|
+
matchedAt: string;
|
|
1854
|
+
/**
|
|
1855
|
+
* Format: date-time
|
|
1856
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1857
|
+
*/
|
|
1858
|
+
updatedAt: string;
|
|
1859
|
+
bargain: {
|
|
1860
|
+
discountPercent: number;
|
|
1861
|
+
/** @enum {string} */
|
|
1862
|
+
referenceSource: "retail" | "tradera" | "cardmarket";
|
|
1863
|
+
} | undefined;
|
|
1864
|
+
};
|
|
2831
1865
|
/** A shop tracked by tcgpriser, as returned by `client.shops.list()` / `client.shops.get()`. The
|
|
2832
1866
|
* `*Count` fields are `undefined` when the shop has never had a match computed (rather than `0`, which
|
|
2833
1867
|
* would mean "matched, currently empty"). */
|
|
2834
|
-
type Shop =
|
|
1868
|
+
type Shop = {
|
|
1869
|
+
/**
|
|
1870
|
+
* @description Resource identifier
|
|
1871
|
+
* @example 6a577711abc1ce71383d3e10
|
|
1872
|
+
*/
|
|
1873
|
+
id: string;
|
|
1874
|
+
/** @example Cardlevels */
|
|
1875
|
+
name: string;
|
|
1876
|
+
/** @example cardlevels */
|
|
1877
|
+
technicalName: string;
|
|
1878
|
+
websiteUrl: string | undefined;
|
|
1879
|
+
/**
|
|
1880
|
+
* @description Absolute asset URL, or null when absent
|
|
1881
|
+
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
1882
|
+
*/
|
|
1883
|
+
logoUrl: string | undefined;
|
|
1884
|
+
description: string | undefined;
|
|
1885
|
+
/** @example 149.5 */
|
|
1886
|
+
defaultDeliveryCost: number | undefined;
|
|
1887
|
+
/**
|
|
1888
|
+
* @description ISO-4217, or null
|
|
1889
|
+
* @example SEK
|
|
1890
|
+
*/
|
|
1891
|
+
deliveryCurrency: string | undefined;
|
|
1892
|
+
deliveryDaysMin: number | undefined;
|
|
1893
|
+
deliveryDaysMax: number | undefined;
|
|
1894
|
+
/** @example 149.5 */
|
|
1895
|
+
freeShippingThreshold: number | undefined;
|
|
1896
|
+
supportsLocalPickup: boolean;
|
|
1897
|
+
deliveryNote: string | undefined;
|
|
1898
|
+
isActive: boolean;
|
|
1899
|
+
isTemporarilyClosed: boolean;
|
|
1900
|
+
isOptedOut: boolean;
|
|
1901
|
+
matchCount: number | undefined;
|
|
1902
|
+
/** @description Matches resolved to a catalog item */
|
|
1903
|
+
linkedMatchCount: number | undefined;
|
|
1904
|
+
inStockCount: number | undefined;
|
|
1905
|
+
preorderCount: number | undefined;
|
|
1906
|
+
monitorCount: number | undefined;
|
|
1907
|
+
fullyBookedCount: number | undefined;
|
|
1908
|
+
/**
|
|
1909
|
+
* Format: date-time
|
|
1910
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1911
|
+
*/
|
|
1912
|
+
lastMatchedAt: string | undefined;
|
|
1913
|
+
/**
|
|
1914
|
+
* Format: date-time
|
|
1915
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1916
|
+
*/
|
|
1917
|
+
createdAt: string;
|
|
1918
|
+
/**
|
|
1919
|
+
* Format: date-time
|
|
1920
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1921
|
+
*/
|
|
1922
|
+
updatedAt: string;
|
|
1923
|
+
};
|
|
2835
1924
|
/** The lighter shop shape embedded in shop-match responses: a subset of `Shop`, no id or delivery
|
|
2836
1925
|
* cost breakdown. */
|
|
2837
|
-
type ShopSummary =
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
1926
|
+
type ShopSummary = {
|
|
1927
|
+
technicalName: string;
|
|
1928
|
+
name: string;
|
|
1929
|
+
logoUrl: string | undefined;
|
|
1930
|
+
websiteUrl: string | undefined;
|
|
1931
|
+
description: string | undefined;
|
|
1932
|
+
isActive: boolean;
|
|
1933
|
+
isTemporarilyClosed: boolean;
|
|
1934
|
+
isOptedOut: boolean;
|
|
1935
|
+
deliveryNote: string | undefined;
|
|
1936
|
+
};
|
|
1937
|
+
type CardType = "loose" | "graded";
|
|
1938
|
+
type ItemCondition = "NM" | "LP" | "MP" | "HP" | "DMG";
|
|
1939
|
+
type GradingCompany = "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA";
|
|
2841
1940
|
/** A shop's listing matched (or not yet matched) to a catalog item. Returned by
|
|
2842
1941
|
* `client.shopMatches.list()` and as the rows inside `client.shopMatches.forShop()`. */
|
|
2843
1942
|
type ShopMatch = ShopMatchWithItemSchema;
|
|
2844
|
-
type ShopMatchDelivery =
|
|
1943
|
+
type ShopMatchDelivery = {
|
|
1944
|
+
/** @example 149.5 */
|
|
1945
|
+
cost: number | undefined;
|
|
1946
|
+
currency: string | undefined;
|
|
1947
|
+
daysMin: number | undefined;
|
|
1948
|
+
daysMax: number | undefined;
|
|
1949
|
+
/** @example 149.5 */
|
|
1950
|
+
freeShippingThreshold: number | undefined;
|
|
1951
|
+
supportsLocalPickup: boolean | undefined;
|
|
1952
|
+
note: string | undefined;
|
|
1953
|
+
};
|
|
2845
1954
|
/** A shop-match row scoped to one already-known item. `client.cards.matches()` and
|
|
2846
1955
|
* `client.products.matches()` drop `item`/`expansion`/`category` since the caller already has
|
|
2847
1956
|
* them, but add delivery terms since you're looking at one listing's total cost here. */
|
|
2848
1957
|
type ItemShopMatch = ItemShopMatchSchema;
|
|
2849
1958
|
/** Response of `client.cards.matches()` / `client.products.matches()`. */
|
|
2850
|
-
type ItemShopMatches =
|
|
1959
|
+
type ItemShopMatches = {
|
|
1960
|
+
item: components["schemas"]["CatalogItemRef"];
|
|
1961
|
+
data: components["schemas"]["ShopProductMatch"][];
|
|
1962
|
+
pagination: components["schemas"]["PageMeta"];
|
|
1963
|
+
};
|
|
2851
1964
|
/** Response of `client.shopMatches.forShop()`: every match, of any item, currently live at one shop. */
|
|
2852
|
-
type ShopMatchesForShop =
|
|
1965
|
+
type ShopMatchesForShop = {
|
|
1966
|
+
shop: components["schemas"]["ShopSummary"] | undefined;
|
|
1967
|
+
data: components["schemas"]["ShopMatchWithItem"][];
|
|
1968
|
+
pagination: components["schemas"]["PageMeta"];
|
|
1969
|
+
};
|
|
2853
1970
|
/** One row of `client.shopMatches.shopStats()`: match counts per shop, not the matches themselves. */
|
|
2854
|
-
type ShopMatchStats =
|
|
2855
|
-
|
|
1971
|
+
type ShopMatchStats = {
|
|
1972
|
+
shop: components["schemas"]["ShopSummary"];
|
|
1973
|
+
matchCount: number;
|
|
1974
|
+
/** @description Matches resolved to a catalog item */
|
|
1975
|
+
linkedMatchCount: number;
|
|
1976
|
+
inStockCount: number;
|
|
1977
|
+
preorderCount: number;
|
|
1978
|
+
monitorCount: number;
|
|
1979
|
+
fullyBookedCount: number;
|
|
1980
|
+
/**
|
|
1981
|
+
* Format: date-time
|
|
1982
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
1983
|
+
*/
|
|
1984
|
+
lastMatchedAt: string | undefined;
|
|
1985
|
+
};
|
|
2856
1986
|
/** A named `{ id, name }` reference to a card or product: the compact identity used by every
|
|
2857
1987
|
* `price-stats` response, which is keyed by item rather than embedding the full catalog record. */
|
|
2858
|
-
type ItemRef =
|
|
1988
|
+
type ItemRef = {
|
|
1989
|
+
/**
|
|
1990
|
+
* @description Resource identifier
|
|
1991
|
+
* @example 6a577711abc1ce71383d3e10
|
|
1992
|
+
*/
|
|
1993
|
+
id: string;
|
|
1994
|
+
name: string;
|
|
1995
|
+
};
|
|
2859
1996
|
/** One day's average price for one item. */
|
|
2860
|
-
type DailyPricePoint =
|
|
1997
|
+
type DailyPricePoint = {
|
|
1998
|
+
/**
|
|
1999
|
+
* Format: date-time
|
|
2000
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
2001
|
+
*/
|
|
2002
|
+
statDate: string;
|
|
2003
|
+
/** @example 149.5 */
|
|
2004
|
+
averagePrice: number;
|
|
2005
|
+
};
|
|
2861
2006
|
/** Response row of `client.priceStats.daily()`. */
|
|
2862
|
-
type ItemDailyStats =
|
|
2863
|
-
|
|
2007
|
+
type ItemDailyStats = {
|
|
2008
|
+
item: components["schemas"]["CatalogItemRef"];
|
|
2009
|
+
dailyStats: components["schemas"]["DailyPricePoint"][];
|
|
2010
|
+
};
|
|
2011
|
+
type EstimatedValue = {
|
|
2012
|
+
/** @example 149.5 */
|
|
2013
|
+
estimatedValue: number | undefined;
|
|
2014
|
+
/**
|
|
2015
|
+
* Format: date-time
|
|
2016
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
2017
|
+
*/
|
|
2018
|
+
estimateUpdatedAt: string | undefined;
|
|
2019
|
+
dataPointCount: number;
|
|
2020
|
+
};
|
|
2864
2021
|
/** Response row of `client.priceStats.estimatedValues()`. */
|
|
2865
|
-
type ItemEstimatedValue =
|
|
2022
|
+
type ItemEstimatedValue = {
|
|
2023
|
+
item: components["schemas"]["CatalogItemRef"];
|
|
2024
|
+
estimate: components["schemas"]["EstimatedValue"];
|
|
2025
|
+
};
|
|
2866
2026
|
/** Response row of `client.priceStats.topProducts()`: items ranked by shop availability, not price. */
|
|
2867
|
-
type TopItem =
|
|
2868
|
-
|
|
2027
|
+
type TopItem = {
|
|
2028
|
+
/**
|
|
2029
|
+
* @description Resource identifier
|
|
2030
|
+
* @example 6a577711abc1ce71383d3e10
|
|
2031
|
+
*/
|
|
2032
|
+
id: string;
|
|
2033
|
+
slug: string | undefined;
|
|
2034
|
+
shopMatchCount: number;
|
|
2035
|
+
};
|
|
2869
2036
|
/** One rarity's share of a booster pack's pulls. `weight` is relative to the other buckets in the
|
|
2870
2037
|
* same pack rate, not a percentage. Normalise across `buckets` yourself if you need one. */
|
|
2871
|
-
type PackRateBucket =
|
|
2038
|
+
type PackRateBucket = {
|
|
2039
|
+
/** @example Double rare */
|
|
2040
|
+
rarity: string;
|
|
2041
|
+
/**
|
|
2042
|
+
* @description Relative draw weight (normalised across buckets)
|
|
2043
|
+
* @example 24
|
|
2044
|
+
*/
|
|
2045
|
+
weight: number;
|
|
2046
|
+
};
|
|
2872
2047
|
/** Pull-rate odds for one expansion's booster packs, as returned by `client.packRates.list()` /
|
|
2873
2048
|
* `client.packRates.get()`. */
|
|
2874
|
-
type PackRate =
|
|
2875
|
-
|
|
2049
|
+
type PackRate = {
|
|
2050
|
+
/**
|
|
2051
|
+
* @description Resource identifier
|
|
2052
|
+
* @example 6a577711abc1ce71383d3e10
|
|
2053
|
+
*/
|
|
2054
|
+
id: string;
|
|
2055
|
+
expansion: components["schemas"]["ExpansionRef"];
|
|
2056
|
+
buckets: components["schemas"]["PackRateBucket"][];
|
|
2057
|
+
/**
|
|
2058
|
+
* Format: date-time
|
|
2059
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
2060
|
+
*/
|
|
2061
|
+
createdAt: string;
|
|
2062
|
+
/**
|
|
2063
|
+
* Format: date-time
|
|
2064
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
2065
|
+
*/
|
|
2066
|
+
updatedAt: string;
|
|
2067
|
+
};
|
|
2876
2068
|
/** Platform-wide overview counts, returned by `client.stats.platform()`. */
|
|
2877
|
-
type PlatformStats =
|
|
2878
|
-
|
|
2069
|
+
type PlatformStats = {
|
|
2070
|
+
shopCount: number;
|
|
2071
|
+
categoryCount: number;
|
|
2072
|
+
expansionCount: number;
|
|
2073
|
+
productCount: number;
|
|
2074
|
+
priceCount: number;
|
|
2075
|
+
};
|
|
2879
2076
|
/**
|
|
2880
2077
|
* Types for the premium tier: endpoints that need a signed-in subscriber's JWT (see
|
|
2881
2078
|
* `TcgPriserOptions.authToken`, or the `authToken` field on each premium method's params). Split
|
|
@@ -2884,13 +2081,34 @@ type PlatformStats = components['schemas']['PlatformStats'];
|
|
|
2884
2081
|
*
|
|
2885
2082
|
* Derived from `src/generated/openapi.d.ts`, same as everything else in this directory.
|
|
2886
2083
|
*/
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
|
|
2893
|
-
|
|
2084
|
+
type ReferencePriceSeries = {
|
|
2085
|
+
/** @enum {string} */
|
|
2086
|
+
source: "tcgdex" | "cmapi" | "tradera";
|
|
2087
|
+
/** @enum {string} */
|
|
2088
|
+
provider: "cardmarket" | "tcgplayer" | "ebay" | "tradera";
|
|
2089
|
+
/** @enum {string|null} */
|
|
2090
|
+
variant: "normal" | "holo" | "reverse" | undefined;
|
|
2091
|
+
/** @enum {string|null} */
|
|
2092
|
+
cardType: "loose" | "graded" | undefined;
|
|
2093
|
+
/** @enum {string|null} */
|
|
2094
|
+
gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | undefined;
|
|
2095
|
+
grade: number | undefined;
|
|
2096
|
+
currency: string;
|
|
2097
|
+
sampleSize: number | undefined;
|
|
2098
|
+
points: components["schemas"]["ReferencePriceSeriesPoint"][];
|
|
2099
|
+
};
|
|
2100
|
+
type ReferencePriceSeriesPoint = {
|
|
2101
|
+
/**
|
|
2102
|
+
* Format: date-time
|
|
2103
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
2104
|
+
*/
|
|
2105
|
+
snapshotDate: string;
|
|
2106
|
+
price: number;
|
|
2107
|
+
};
|
|
2108
|
+
type ReferencePriceSource = "tradera" | "tcgdex" | "cmapi";
|
|
2109
|
+
type ReferencePriceCardVariant = "normal" | "holo" | "reverse";
|
|
2110
|
+
type ReferencePriceMetric = "price" | "low" | "mid" | "high" | "avg" | "avg1" | "avg7" | "avg30" | "directLow";
|
|
2111
|
+
type ReferencePriceCurrencyMode = "native" | "sek";
|
|
2894
2112
|
/** Response of `client.cards.referencePrices()` / `client.products.referencePrices()`.
|
|
2895
2113
|
*
|
|
2896
2114
|
* Non-graded card prices come from TCGdex and are variant-aware (normal / holo / reverse). Graded
|
|
@@ -2898,61 +2116,413 @@ type ReferencePriceCurrencyMode = components['schemas']['ItemReferencePrices']['
|
|
|
2898
2116
|
* auction sales rather than asking prices, always SEK, no variant. In native mode each series
|
|
2899
2117
|
* keeps its own `currency`; in `sek` mode everything is `SEK`, converted at the rate stored on
|
|
2900
2118
|
* each point. */
|
|
2901
|
-
type ItemReferencePrices =
|
|
2902
|
-
|
|
2119
|
+
type ItemReferencePrices = {
|
|
2120
|
+
item: components["schemas"]["CatalogItemRef"];
|
|
2121
|
+
/**
|
|
2122
|
+
* Format: date-time
|
|
2123
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
2124
|
+
*/
|
|
2125
|
+
fromDate: string;
|
|
2126
|
+
/**
|
|
2127
|
+
* Format: date-time
|
|
2128
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
2129
|
+
*/
|
|
2130
|
+
toDate: string;
|
|
2131
|
+
/** @enum {string} */
|
|
2132
|
+
metric: "price" | "low" | "mid" | "high" | "avg" | "avg1" | "avg7" | "avg30" | "directLow";
|
|
2133
|
+
/** @enum {string} */
|
|
2134
|
+
currencyMode: "native" | "sek";
|
|
2135
|
+
series: components["schemas"]["ReferencePriceSeries"][];
|
|
2136
|
+
};
|
|
2137
|
+
type SoldPrice = {
|
|
2138
|
+
/**
|
|
2139
|
+
* @description Resource identifier
|
|
2140
|
+
* @example 6a577711abc1ce71383d3e10
|
|
2141
|
+
*/
|
|
2142
|
+
id: string;
|
|
2143
|
+
url: string;
|
|
2144
|
+
/** @example 149.5 */
|
|
2145
|
+
price: number;
|
|
2146
|
+
/**
|
|
2147
|
+
* @description ISO-4217 currency code
|
|
2148
|
+
* @example SEK
|
|
2149
|
+
*/
|
|
2150
|
+
currency: string;
|
|
2151
|
+
/**
|
|
2152
|
+
* Format: date-time
|
|
2153
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
2154
|
+
*/
|
|
2155
|
+
soldAt: string | undefined;
|
|
2156
|
+
itemId: string | undefined;
|
|
2157
|
+
/** @example tradera */
|
|
2158
|
+
source: string | undefined;
|
|
2159
|
+
};
|
|
2903
2160
|
/** Response of `client.cards.prices()` / `client.products.prices()`. `premiumRequired` is always
|
|
2904
2161
|
* `true` here. That field only exists because this envelope shape is shared with a free preview
|
|
2905
2162
|
* elsewhere in the API; this response is never the preview. */
|
|
2906
|
-
type ItemSoldPrices =
|
|
2907
|
-
|
|
2163
|
+
type ItemSoldPrices = {
|
|
2164
|
+
item: components["schemas"]["CatalogItemRef"];
|
|
2165
|
+
data: components["schemas"]["SoldPrice"][];
|
|
2166
|
+
pagination: components["schemas"]["PageMeta"];
|
|
2167
|
+
/** @enum {boolean} */
|
|
2168
|
+
premiumRequired: true;
|
|
2169
|
+
};
|
|
2170
|
+
type LivePricingDetail = {
|
|
2171
|
+
/** @example 149.5 */
|
|
2172
|
+
retailPrice: number | undefined;
|
|
2173
|
+
/** @example 149.5 */
|
|
2174
|
+
estimatedValue: number | undefined;
|
|
2175
|
+
shopCount: number;
|
|
2176
|
+
pricingDataPoints: number;
|
|
2177
|
+
/**
|
|
2178
|
+
* Format: date-time
|
|
2179
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
2180
|
+
*/
|
|
2181
|
+
calculatedAt: string;
|
|
2182
|
+
};
|
|
2908
2183
|
/** Response of `client.cards.livePricing()` / `client.products.livePricing()`. */
|
|
2909
|
-
type LivePricingForItem =
|
|
2184
|
+
type LivePricingForItem = {
|
|
2185
|
+
/**
|
|
2186
|
+
* @description Resource identifier
|
|
2187
|
+
* @example 6a577711abc1ce71383d3e10
|
|
2188
|
+
*/
|
|
2189
|
+
id: string;
|
|
2190
|
+
name: string;
|
|
2191
|
+
technicalName: string;
|
|
2192
|
+
pricing: components["schemas"]["LivePricing"];
|
|
2193
|
+
};
|
|
2910
2194
|
/** Response of `client.expansions.livePricing()`: live pricing for every item in one expansion. */
|
|
2911
|
-
type ExpansionLivePricing =
|
|
2195
|
+
type ExpansionLivePricing = {
|
|
2196
|
+
expansion: {
|
|
2197
|
+
technicalName: string;
|
|
2198
|
+
};
|
|
2199
|
+
items: components["schemas"]["LivePricingForItem"][];
|
|
2200
|
+
};
|
|
2912
2201
|
/** The catalog item as embedded in stats responses: a `Card`/`SealedProduct` minus
|
|
2913
2202
|
* `lowestShopOffer` and `referencePriceSnapshotsByProvider`, which these endpoints already answer
|
|
2914
2203
|
* more precisely on their own. */
|
|
2915
|
-
type StatsItemRef =
|
|
2916
|
-
|
|
2204
|
+
type StatsItemRef = {
|
|
2205
|
+
/**
|
|
2206
|
+
* @description Resource identifier
|
|
2207
|
+
* @example 6a577711abc1ce71383d3e10
|
|
2208
|
+
*/
|
|
2209
|
+
id: string;
|
|
2210
|
+
name: string;
|
|
2211
|
+
shortName: string | undefined;
|
|
2212
|
+
technicalName: string;
|
|
2213
|
+
brand: components["schemas"]["Brand"];
|
|
2214
|
+
manufacturer: string;
|
|
2215
|
+
modelNumber: string | undefined;
|
|
2216
|
+
category: components["schemas"]["CategoryRef"] | undefined;
|
|
2217
|
+
expansion: components["schemas"]["ExpansionRef"] | undefined;
|
|
2218
|
+
/**
|
|
2219
|
+
* @description Printing language of the item
|
|
2220
|
+
* @example JPN
|
|
2221
|
+
* @enum {string|null}
|
|
2222
|
+
*/
|
|
2223
|
+
language: "ENG" | "JPN" | "CHI" | undefined;
|
|
2224
|
+
alternativeNames: components["schemas"]["AlternativeName"][];
|
|
2225
|
+
supportsMultipackPricing: boolean;
|
|
2226
|
+
/**
|
|
2227
|
+
* @description Absolute asset URL, or null when absent
|
|
2228
|
+
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
2229
|
+
*/
|
|
2230
|
+
imageUrl: string | undefined;
|
|
2231
|
+
/**
|
|
2232
|
+
* @description Cheapest current shop price, in SEK
|
|
2233
|
+
* @example 149.5
|
|
2234
|
+
*/
|
|
2235
|
+
retailPrice: number | undefined;
|
|
2236
|
+
/**
|
|
2237
|
+
* @description Estimated market value, in SEK
|
|
2238
|
+
* @example 149.5
|
|
2239
|
+
*/
|
|
2240
|
+
estimatedValue: number | undefined;
|
|
2241
|
+
/** @description Active shops currently tracking this item */
|
|
2242
|
+
shopCount: number;
|
|
2243
|
+
/** @description Observations the estimate rests on */
|
|
2244
|
+
pricingDataPoints: number;
|
|
2245
|
+
/**
|
|
2246
|
+
* Format: date-time
|
|
2247
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
2248
|
+
*/
|
|
2249
|
+
pricingUpdatedAt: string | undefined;
|
|
2250
|
+
/**
|
|
2251
|
+
* Format: date-time
|
|
2252
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
2253
|
+
*/
|
|
2254
|
+
createdAt: string;
|
|
2255
|
+
/**
|
|
2256
|
+
* Format: date-time
|
|
2257
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
2258
|
+
*/
|
|
2259
|
+
updatedAt: string;
|
|
2260
|
+
/** @enum {string} */
|
|
2261
|
+
kind: "card";
|
|
2262
|
+
/** @example 4/102 */
|
|
2263
|
+
cardNumber: string;
|
|
2264
|
+
/** @example Rare Holo */
|
|
2265
|
+
rarity: string | undefined;
|
|
2266
|
+
artist: string | undefined;
|
|
2267
|
+
cardmarketId: string | undefined;
|
|
2268
|
+
tcgplayerId: string | undefined;
|
|
2269
|
+
variants: components["schemas"]["CardVariants"] | undefined;
|
|
2270
|
+
prisjaktId: string | undefined;
|
|
2271
|
+
} | {
|
|
2272
|
+
/**
|
|
2273
|
+
* @description Resource identifier
|
|
2274
|
+
* @example 6a577711abc1ce71383d3e10
|
|
2275
|
+
*/
|
|
2276
|
+
id: string;
|
|
2277
|
+
name: string;
|
|
2278
|
+
shortName: string | undefined;
|
|
2279
|
+
technicalName: string;
|
|
2280
|
+
brand: components["schemas"]["Brand"];
|
|
2281
|
+
manufacturer: string;
|
|
2282
|
+
modelNumber: string | undefined;
|
|
2283
|
+
category: components["schemas"]["CategoryRef"] | undefined;
|
|
2284
|
+
expansion: components["schemas"]["ExpansionRef"] | undefined;
|
|
2285
|
+
/**
|
|
2286
|
+
* @description Printing language of the item
|
|
2287
|
+
* @example JPN
|
|
2288
|
+
* @enum {string|null}
|
|
2289
|
+
*/
|
|
2290
|
+
language: "ENG" | "JPN" | "CHI" | undefined;
|
|
2291
|
+
alternativeNames: components["schemas"]["AlternativeName"][];
|
|
2292
|
+
supportsMultipackPricing: boolean;
|
|
2293
|
+
/**
|
|
2294
|
+
* @description Absolute asset URL, or null when absent
|
|
2295
|
+
* @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
|
|
2296
|
+
*/
|
|
2297
|
+
imageUrl: string | undefined;
|
|
2298
|
+
/**
|
|
2299
|
+
* @description Cheapest current shop price, in SEK
|
|
2300
|
+
* @example 149.5
|
|
2301
|
+
*/
|
|
2302
|
+
retailPrice: number | undefined;
|
|
2303
|
+
/**
|
|
2304
|
+
* @description Estimated market value, in SEK
|
|
2305
|
+
* @example 149.5
|
|
2306
|
+
*/
|
|
2307
|
+
estimatedValue: number | undefined;
|
|
2308
|
+
/** @description Active shops currently tracking this item */
|
|
2309
|
+
shopCount: number;
|
|
2310
|
+
/** @description Observations the estimate rests on */
|
|
2311
|
+
pricingDataPoints: number;
|
|
2312
|
+
/**
|
|
2313
|
+
* Format: date-time
|
|
2314
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
2315
|
+
*/
|
|
2316
|
+
pricingUpdatedAt: string | undefined;
|
|
2317
|
+
/**
|
|
2318
|
+
* Format: date-time
|
|
2319
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
2320
|
+
*/
|
|
2321
|
+
createdAt: string;
|
|
2322
|
+
/**
|
|
2323
|
+
* Format: date-time
|
|
2324
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
2325
|
+
*/
|
|
2326
|
+
updatedAt: string;
|
|
2327
|
+
/** @enum {string} */
|
|
2328
|
+
kind: "sealed";
|
|
2329
|
+
upc: string | undefined;
|
|
2330
|
+
asin: string | undefined;
|
|
2331
|
+
epid: string | undefined;
|
|
2332
|
+
priceChartingId: string | undefined;
|
|
2333
|
+
prisjaktId: string | undefined;
|
|
2334
|
+
};
|
|
2335
|
+
type VariantStatsSummary = {
|
|
2336
|
+
/** @description Distinct cardType/condition/company/grade combinations */
|
|
2337
|
+
variantCount: number;
|
|
2338
|
+
looseCount: number;
|
|
2339
|
+
gradedCount: number;
|
|
2340
|
+
};
|
|
2917
2341
|
/** Response of `client.priceStats.product()`. */
|
|
2918
|
-
type ItemStats =
|
|
2342
|
+
type ItemStats = {
|
|
2343
|
+
item: components["schemas"]["CatalogItem"];
|
|
2344
|
+
dailyStats: components["schemas"]["DailyPricePoint"][];
|
|
2345
|
+
estimate: components["schemas"]["EstimatedValue"];
|
|
2346
|
+
variantStats: components["schemas"]["VariantStatsSummary"];
|
|
2347
|
+
};
|
|
2919
2348
|
/** Response of `client.priceStats.productFull()`: everything `product()` has, plus the item's
|
|
2920
2349
|
* current shop matches. */
|
|
2921
|
-
type ItemFullStats =
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
2350
|
+
type ItemFullStats = {
|
|
2351
|
+
item: components["schemas"]["CatalogItem"];
|
|
2352
|
+
stats: {
|
|
2353
|
+
dailyStats: components["schemas"]["DailyPricePoint"][];
|
|
2354
|
+
variantStats: components["schemas"]["VariantStatsSummary"];
|
|
2355
|
+
};
|
|
2356
|
+
estimate: components["schemas"]["EstimatedValue"];
|
|
2357
|
+
shopMatches: {
|
|
2358
|
+
data: components["schemas"]["ShopProductMatch"][];
|
|
2359
|
+
pagination: components["schemas"]["PageMeta"];
|
|
2360
|
+
};
|
|
2361
|
+
};
|
|
2362
|
+
type VariantPriceStat = {
|
|
2363
|
+
/** @example 149.5 */
|
|
2364
|
+
averagePrice: number;
|
|
2365
|
+
dataPointCount: number;
|
|
2366
|
+
/**
|
|
2367
|
+
* Format: date-time
|
|
2368
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
2369
|
+
*/
|
|
2370
|
+
lastSaleDate: string;
|
|
2371
|
+
};
|
|
2372
|
+
/** Response of `client.priceStats.productByVariant()`. The generated shape (`VariantBreakdown`)
|
|
2373
|
+
* keys `loose`/`graded` by a bare `string` (JSON Schema `additionalProperties` doesn't carry an
|
|
2374
|
+
* enum), re-keyed here by `ItemCondition`/`GradingCompany` for real autocomplete. Only hand-written
|
|
2375
|
+
* wrapper in this file. `graded` has a second string-keyed level for grade (`10`, `9.5` etc,
|
|
2376
|
+
* straight from a JSON key). */
|
|
2927
2377
|
interface ItemVariantStats {
|
|
2928
|
-
item:
|
|
2378
|
+
item: {
|
|
2379
|
+
/**
|
|
2380
|
+
* @description Resource identifier
|
|
2381
|
+
* @example 6a577711abc1ce71383d3e10
|
|
2382
|
+
*/
|
|
2383
|
+
id: string;
|
|
2384
|
+
name: string;
|
|
2385
|
+
};
|
|
2929
2386
|
variants: {
|
|
2930
2387
|
loose: Partial<Record<ItemCondition, VariantPriceStat>>;
|
|
2931
2388
|
graded: Partial<Record<GradingCompany, Record<string, VariantPriceStat>>>;
|
|
2932
2389
|
};
|
|
2933
2390
|
}
|
|
2934
|
-
type VariantSelector =
|
|
2391
|
+
type VariantSelector = {
|
|
2392
|
+
/** @enum {string|null} */
|
|
2393
|
+
cardType: "loose" | "graded" | undefined;
|
|
2394
|
+
/** @enum {string|null} */
|
|
2395
|
+
condition: "NM" | "LP" | "MP" | "HP" | "DMG" | undefined;
|
|
2396
|
+
/** @enum {string|null} */
|
|
2397
|
+
gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | undefined;
|
|
2398
|
+
grade: number | undefined;
|
|
2399
|
+
};
|
|
2935
2400
|
/** Response of `client.priceStats.productDailyByVariant()`. */
|
|
2936
|
-
type ItemVariantDailyStats =
|
|
2937
|
-
|
|
2401
|
+
type ItemVariantDailyStats = {
|
|
2402
|
+
item: components["schemas"]["CatalogItemRef"];
|
|
2403
|
+
variant: components["schemas"]["VariantSelector"];
|
|
2404
|
+
dailyStats: components["schemas"]["DailyPricePoint"][];
|
|
2405
|
+
};
|
|
2406
|
+
type ShopPricePoint = {
|
|
2407
|
+
/**
|
|
2408
|
+
* Format: date-time
|
|
2409
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
2410
|
+
*/
|
|
2411
|
+
snapshotDate: string;
|
|
2412
|
+
/** @example 149.5 */
|
|
2413
|
+
price: number;
|
|
2414
|
+
/**
|
|
2415
|
+
* @description ISO-4217 currency code
|
|
2416
|
+
* @example SEK
|
|
2417
|
+
*/
|
|
2418
|
+
currency: string;
|
|
2419
|
+
inStock: boolean;
|
|
2420
|
+
url: string;
|
|
2421
|
+
};
|
|
2938
2422
|
/** Response of `client.shopMatchStats.forProduct()`: one product's price history, broken out per
|
|
2939
2423
|
* shop. */
|
|
2940
|
-
type ItemShopPriceHistory =
|
|
2424
|
+
type ItemShopPriceHistory = {
|
|
2425
|
+
item: components["schemas"]["CatalogItemRef"];
|
|
2426
|
+
shops: components["schemas"]["ShopPriceHistory"][];
|
|
2427
|
+
recordCount: number;
|
|
2428
|
+
};
|
|
2941
2429
|
/** Response of `client.shopMatchStats.forShop()`: one shop's price history, broken out per
|
|
2942
2430
|
* product. */
|
|
2943
|
-
type ShopPriceHistoryList =
|
|
2944
|
-
|
|
2945
|
-
|
|
2431
|
+
type ShopPriceHistoryList = {
|
|
2432
|
+
shop: string;
|
|
2433
|
+
items: components["schemas"]["ShopItemPriceHistory"][];
|
|
2434
|
+
itemCount: number;
|
|
2435
|
+
};
|
|
2436
|
+
type ShopPriceComparisonRow = {
|
|
2437
|
+
shop: string;
|
|
2438
|
+
/** @example 149.5 */
|
|
2439
|
+
price: number;
|
|
2440
|
+
/**
|
|
2441
|
+
* @description ISO-4217 currency code
|
|
2442
|
+
* @example SEK
|
|
2443
|
+
*/
|
|
2444
|
+
currency: string;
|
|
2445
|
+
inStock: boolean;
|
|
2446
|
+
url: string;
|
|
2447
|
+
/**
|
|
2448
|
+
* Format: date-time
|
|
2449
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
2450
|
+
*/
|
|
2451
|
+
snapshotDate: string;
|
|
2452
|
+
};
|
|
2453
|
+
type ShopPriceComparisonStats = {
|
|
2454
|
+
/** @example 149.5 */
|
|
2455
|
+
lowestPrice: number;
|
|
2456
|
+
/** @example 149.5 */
|
|
2457
|
+
highestPrice: number;
|
|
2458
|
+
/** @example 149.5 */
|
|
2459
|
+
averagePrice: number;
|
|
2460
|
+
inStockCount: number;
|
|
2461
|
+
};
|
|
2946
2462
|
/** Response of `client.shopMatchStats.compare()`: one product's price at every shop that carries
|
|
2947
2463
|
* it, as of one date. `stats` is `undefined` when no shop had a price on that date. */
|
|
2948
|
-
type ItemPriceComparison =
|
|
2949
|
-
|
|
2950
|
-
|
|
2464
|
+
type ItemPriceComparison = {
|
|
2465
|
+
item: components["schemas"]["CatalogItemRef"];
|
|
2466
|
+
items: components["schemas"]["ShopPriceComparisonRow"][];
|
|
2467
|
+
stats: components["schemas"]["ShopPriceComparisonStats"] | undefined;
|
|
2468
|
+
};
|
|
2469
|
+
type ShopUrlStatus = "pending" | "active" | "invalid" | "rejected" | "sanityRejected";
|
|
2470
|
+
type ShopUrlDiscoveredBy = "scraper" | "user";
|
|
2951
2471
|
/** A URL at a shop that tcgpriser scrapes, and what it has been matched to. */
|
|
2952
|
-
type ShopUrl =
|
|
2472
|
+
type ShopUrl = {
|
|
2473
|
+
/**
|
|
2474
|
+
* @description Resource identifier
|
|
2475
|
+
* @example 6a577711abc1ce71383d3e10
|
|
2476
|
+
*/
|
|
2477
|
+
id: string;
|
|
2478
|
+
url: string;
|
|
2479
|
+
shop: string | undefined;
|
|
2480
|
+
status: components["schemas"]["ShopUrlStatus"];
|
|
2481
|
+
/** @enum {string} */
|
|
2482
|
+
discoveredBy: "scraper" | "user";
|
|
2483
|
+
/**
|
|
2484
|
+
* @description Resource identifier
|
|
2485
|
+
* @example 6a577711abc1ce71383d3e10
|
|
2486
|
+
*/
|
|
2487
|
+
itemId: string | undefined;
|
|
2488
|
+
/** @enum {string|null} */
|
|
2489
|
+
itemKind: "card" | "sealed" | undefined;
|
|
2490
|
+
lockedItem: boolean;
|
|
2491
|
+
priceChartingId: string | undefined;
|
|
2492
|
+
scrapedName: string | undefined;
|
|
2493
|
+
matchScore: number | undefined;
|
|
2494
|
+
/**
|
|
2495
|
+
* Format: date-time
|
|
2496
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
2497
|
+
*/
|
|
2498
|
+
lastMatchedAt: string | undefined;
|
|
2499
|
+
/**
|
|
2500
|
+
* @description Resource identifier
|
|
2501
|
+
* @example 6a577711abc1ce71383d3e10
|
|
2502
|
+
*/
|
|
2503
|
+
expansionId: string | undefined;
|
|
2504
|
+
/**
|
|
2505
|
+
* @description Resource identifier
|
|
2506
|
+
* @example 6a577711abc1ce71383d3e10
|
|
2507
|
+
*/
|
|
2508
|
+
categoryId: string | undefined;
|
|
2509
|
+
submittedByUserId: string | undefined;
|
|
2510
|
+
/**
|
|
2511
|
+
* Format: date-time
|
|
2512
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
2513
|
+
*/
|
|
2514
|
+
createdAt: string;
|
|
2515
|
+
/**
|
|
2516
|
+
* Format: date-time
|
|
2517
|
+
* @example 2026-07-15T12:03:29.322Z
|
|
2518
|
+
*/
|
|
2519
|
+
updatedAt: string;
|
|
2520
|
+
};
|
|
2953
2521
|
/** Response of `client.shopUrls.submit()` / `client.shopUrls.assignProduct()`. */
|
|
2954
|
-
type ShopUrlMutationResult =
|
|
2955
|
-
|
|
2522
|
+
type ShopUrlMutationResult = {
|
|
2523
|
+
message: string;
|
|
2524
|
+
shopUrl: components["schemas"]["ShopUrl"];
|
|
2525
|
+
};
|
|
2956
2526
|
interface ListBargainsParams {
|
|
2957
2527
|
type?: 'sealed' | 'card' | 'all';
|
|
2958
2528
|
}
|
|
@@ -2985,7 +2555,6 @@ declare class BargainsResource {
|
|
|
2985
2555
|
* threshold, card condition/grade, free-text search). Premium. */
|
|
2986
2556
|
search(params?: SearchBargainsParams): Promise<ListResponse<Bargain>>;
|
|
2987
2557
|
}
|
|
2988
|
-
|
|
2989
2558
|
interface ListCardsParams extends PaginationParams {
|
|
2990
2559
|
/** Free-text search over card and set names. */
|
|
2991
2560
|
search?: string;
|
|
@@ -3027,7 +2596,6 @@ declare class CardsResource {
|
|
|
3027
2596
|
* stats job. Premium. */
|
|
3028
2597
|
livePricing(idOrTechnicalName: string, options?: PremiumOptions): Promise<LivePricingForItem>;
|
|
3029
2598
|
}
|
|
3030
|
-
|
|
3031
2599
|
declare class ExpansionsResource {
|
|
3032
2600
|
private readonly http;
|
|
3033
2601
|
constructor(http: HttpClient);
|
|
@@ -3040,7 +2608,6 @@ declare class ExpansionsResource {
|
|
|
3040
2608
|
* this expansion, not read from the last stats job. Premium. */
|
|
3041
2609
|
livePricing(technicalName: string, options?: PremiumOptions): Promise<ExpansionLivePricing>;
|
|
3042
2610
|
}
|
|
3043
|
-
|
|
3044
2611
|
declare class PackRatesResource {
|
|
3045
2612
|
private readonly http;
|
|
3046
2613
|
constructor(http: HttpClient);
|
|
@@ -3050,7 +2617,6 @@ declare class PackRatesResource {
|
|
|
3050
2617
|
/** `GET /pack-rates/{expansionId}`: pull-rate odds for one expansion. */
|
|
3051
2618
|
get(expansionId: string): Promise<PackRate>;
|
|
3052
2619
|
}
|
|
3053
|
-
|
|
3054
2620
|
/** Filters shared by `daily()` and `estimatedValues()`: all narrow which product(s) the stats
|
|
3055
2621
|
* cover; combine as many as you like. */
|
|
3056
2622
|
interface ProductFilterParams {
|
|
@@ -3135,7 +2701,6 @@ declare class PriceStatsResource {
|
|
|
3135
2701
|
* are required for `cardType: 'graded'`. Premium. */
|
|
3136
2702
|
productDailyByVariant(idOrTechnicalName: string, params: ProductDailyByVariantParams): Promise<ItemVariantDailyStats>;
|
|
3137
2703
|
}
|
|
3138
|
-
|
|
3139
2704
|
interface ListProductsParams extends PaginationParams {
|
|
3140
2705
|
/** Whitespace-separated tokens, each matched against the start of a word. */
|
|
3141
2706
|
search?: string;
|
|
@@ -3180,7 +2745,6 @@ declare class ProductsResource {
|
|
|
3180
2745
|
* stats job. Premium. */
|
|
3181
2746
|
livePricing(idOrTechnicalName: string, options?: PremiumOptions): Promise<LivePricingForItem>;
|
|
3182
2747
|
}
|
|
3183
|
-
|
|
3184
2748
|
interface ShopMatchStatsForProductParams {
|
|
3185
2749
|
authToken?: string;
|
|
3186
2750
|
/** `YYYY-MM-DD` */
|
|
@@ -3219,7 +2783,6 @@ declare class ShopMatchStatsResource {
|
|
|
3219
2783
|
* one date (defaults to the latest). */
|
|
3220
2784
|
compare(params: CompareShopPricesParams): Promise<ItemPriceComparison>;
|
|
3221
2785
|
}
|
|
3222
|
-
|
|
3223
2786
|
interface ListShopMatchesParams extends PaginationParams {
|
|
3224
2787
|
/** Filter to one shop's technicalName. */
|
|
3225
2788
|
shop?: string;
|
|
@@ -3244,7 +2807,6 @@ declare class ShopMatchesResource {
|
|
|
3244
2807
|
/** `GET /shop-matches/shops`: match counts per shop (based on latest records only). */
|
|
3245
2808
|
shopStats(params?: PaginationParams): Promise<ListResponse<ShopMatchStats>>;
|
|
3246
2809
|
}
|
|
3247
|
-
|
|
3248
2810
|
interface SubmitShopUrlParams extends PremiumOptions {
|
|
3249
2811
|
url: string;
|
|
3250
2812
|
/** Shop technicalName. Auto-created if it doesn't exist yet. */
|
|
@@ -3264,7 +2826,6 @@ declare class ShopUrlsResource {
|
|
|
3264
2826
|
/** `PATCH /shop-urls/{id}/product`: manually assign (or clear) the product a shop URL resolves to. */
|
|
3265
2827
|
assignProduct(shopUrlId: string, params: AssignShopUrlProductParams): Promise<ShopUrlMutationResult>;
|
|
3266
2828
|
}
|
|
3267
|
-
|
|
3268
2829
|
interface ListShopsParams {
|
|
3269
2830
|
active?: boolean;
|
|
3270
2831
|
}
|
|
@@ -3276,14 +2837,12 @@ declare class ShopsResource {
|
|
|
3276
2837
|
/** `GET /shops/{id}`: fetch one shop by its id or technicalName. */
|
|
3277
2838
|
get(idOrTechnicalName: string): Promise<Shop>;
|
|
3278
2839
|
}
|
|
3279
|
-
|
|
3280
2840
|
declare class StatsResource {
|
|
3281
2841
|
private readonly http;
|
|
3282
2842
|
constructor(http: HttpClient);
|
|
3283
2843
|
/** `GET /stats`: platform-wide overview counts (shops, expansions, products, prices tracked). */
|
|
3284
2844
|
platform(): Promise<PlatformStats>;
|
|
3285
2845
|
}
|
|
3286
|
-
|
|
3287
2846
|
declare const DEFAULT_BASE_URL = "https://api.tcgpriser.se";
|
|
3288
2847
|
/** Local dev, self-hosting and testing overrides. Most integrations never touch these. */
|
|
3289
2848
|
interface TcgPriserAdvancedOptions {
|
|
@@ -3346,12 +2905,11 @@ declare class TcgPriser {
|
|
|
3346
2905
|
*/
|
|
3347
2906
|
constructor(optionsOrAuthToken?: string | TcgPriserOptions);
|
|
3348
2907
|
}
|
|
3349
|
-
|
|
3350
2908
|
/** The stable error codes the API's `error.code` field can hold. */
|
|
3351
2909
|
type TcgPriserErrorCode = 'validationFailed' | 'unauthorized' | 'forbidden' | 'notFound' | 'conflict' | 'readOnlyField' | 'rateLimited' | 'premiumRequired' | 'internalError'
|
|
3352
|
-
/** Response body wasn't the `{ error: { code, message } }` shape. Probably a proxy or gateway
|
|
3353
|
-
|
|
3354
|
-
|
|
2910
|
+
/** Response body wasn't the `{ error: { code, message } }` shape. Probably a proxy or gateway
|
|
2911
|
+
* error in front of the API. */
|
|
2912
|
+
| 'unknown';
|
|
3355
2913
|
/** Thrown for any non-2xx response. Carries the parsed `{ code, message }` when the body matched
|
|
3356
2914
|
* the API's error envelope, plus the raw status/body regardless so nothing gets lost. */
|
|
3357
2915
|
declare class TcgPriserError extends Error {
|
|
@@ -3372,5 +2930,4 @@ declare class TcgPriserError extends Error {
|
|
|
3372
2930
|
body: string;
|
|
3373
2931
|
});
|
|
3374
2932
|
}
|
|
3375
|
-
|
|
3376
|
-
export { type AlternativeName, type AssignShopUrlProductParams, type Bargain, type BargainInfo, type BargainProductRef, type BargainReferenceSource, type BrandRef, type Card, type CardMatchesParams, type CardPricesParams, type CardReferencePricesParams, type CardType, type CardVariants, type CatalogItem, type CategoryRef, type CompareShopPricesParams, type CurrencyCode, DEFAULT_BASE_URL, type DailyPricePoint, type DailyPriceStatsParams, type EstimatedValue, type EstimatedValuesParams, type Expansion, type ExpansionContents, type ExpansionLivePricing, type ExpansionRef, type GradingCompany, type ItemCondition, type ItemDailyStats, type ItemEstimatedValue, type ItemFullStats, type ItemPriceComparison, type ItemRef, type ItemReferencePrices, type ItemShopMatch, type ItemShopMatches, type ItemShopPriceHistory, type ItemSoldPrices, type ItemStats, type ItemVariantDailyStats, type ItemVariantStats, type ListBargainsParams, type ListCardsParams, type ListProductsParams, type ListResponse, type ListShopMatchesParams, type ListShopsParams, type LivePricingDetail, type LivePricingForItem, type LowestShopOffer, type MatchedItemRef, type PackRate, type PackRateBucket, type PageMeta, type PaginationParams, type PlatformStats, type PremiumOptions, type PrintingLanguage, type ProductByVariantParams, type ProductDailyByVariantParams, type ProductDailyStatsParams, type ProductFilterParams, type ProductMatchesParams, type ProductPricesParams, type ProductReferencePricesParams, type ReferencePriceCardVariant, type ReferencePriceCurrencyMode, type ReferencePriceMetric, type ReferencePriceProvider, type ReferencePriceSeries, type ReferencePriceSeriesPoint, type ReferencePriceSnapshot, type ReferencePriceSnapshotsByProvider, type ReferencePriceSource, type ResourceId, type SealedProduct, type SearchBargainsParams, type Shop, type ShopMatch, type ShopMatchDelivery, type ShopMatchStats, type ShopMatchStatsForProductParams, type ShopMatchStatsForShopParams, type ShopMatchesForShop, type ShopMatchesForShopParams, type ShopPriceComparisonRow, type ShopPriceComparisonStats, type ShopPriceHistoryList, type ShopPricePoint, type ShopRef, type ShopSummary, type ShopUrl, type ShopUrlDiscoveredBy, type ShopUrlMutationResult, type ShopUrlStatus, type SoldPrice, type StatsItemRef, type SubmitShopUrlParams, TcgPriser, TcgPriserError, type TcgPriserErrorCode, type TcgPriserOptions, type Timestamp, type TopItem, type TopProductsParams, type VariantPriceStat, type VariantSelector, type VariantStatsSummary, type components };
|
|
2933
|
+
export { type AlternativeName, type AssignShopUrlProductParams, type Bargain, type BargainInfo, type BargainProductRef, type BargainReferenceSource, type BrandRef, type Card, type CardMatchesParams, type CardPricesParams, type CardReferencePricesParams, type CardType, type CardVariants, type CatalogItem, type CategoryRef, type CompareShopPricesParams, type CurrencyCode, DEFAULT_BASE_URL, type DailyPricePoint, type DailyPriceStatsParams, type EstimatedValue, type EstimatedValuesParams, type Expansion, type ExpansionCard, type ExpansionContents, type ExpansionLivePricing, type ExpansionRef, type ExpansionSealedProduct, type GradingCompany, type ItemCondition, type ItemDailyStats, type ItemEstimatedValue, type ItemFullStats, type ItemPriceComparison, type ItemRef, type ItemReferencePrices, type ItemShopMatch, type ItemShopMatches, type ItemShopPriceHistory, type ItemSoldPrices, type ItemStats, type ItemVariantDailyStats, type ItemVariantStats, type ListBargainsParams, type ListCardsParams, type ListProductsParams, type ListResponse, type ListShopMatchesParams, type ListShopsParams, type LivePricingDetail, type LivePricingForItem, type LowestShopOffer, type MatchedItemRef, type PackRate, type PackRateBucket, type PageMeta, type PaginationParams, type PlatformStats, type PremiumOptions, type PrintingLanguage, type ProductByVariantParams, type ProductDailyByVariantParams, type ProductDailyStatsParams, type ProductFilterParams, type ProductMatchesParams, type ProductPricesParams, type ProductReferencePricesParams, type ReferencePriceCardVariant, type ReferencePriceCurrencyMode, type ReferencePriceMetric, type ReferencePriceProvider, type ReferencePriceSeries, type ReferencePriceSeriesPoint, type ReferencePriceSnapshot, type ReferencePriceSnapshotsByProvider, type ReferencePriceSource, type ResourceId, type SealedProduct, type SearchBargainsParams, type Shop, type ShopMatch, type ShopMatchDelivery, type ShopMatchStats, type ShopMatchStatsForProductParams, type ShopMatchStatsForShopParams, type ShopMatchesForShop, type ShopMatchesForShopParams, type ShopPriceComparisonRow, type ShopPriceComparisonStats, type ShopPriceHistoryList, type ShopPricePoint, type ShopRef, type ShopSummary, type ShopUrl, type ShopUrlDiscoveredBy, type ShopUrlMutationResult, type ShopUrlStatus, type SoldPrice, type StatsItemRef, type SubmitShopUrlParams, TcgPriser, TcgPriserError, type TcgPriserErrorCode, type TcgPriserOptions, type Timestamp, type TopItem, type TopProductsParams, type VariantPriceStat, type VariantSelector, type VariantStatsSummary, type components };
|