tcgpriser 0.1.0 → 0.2.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 CHANGED
@@ -42,12 +42,12 @@ interface components {
42
42
  data: {
43
43
  url: string;
44
44
  /** @example 149.5 */
45
- price: number | null;
45
+ price: number | undefined;
46
46
  /**
47
47
  * @description ISO-4217 currency code
48
48
  * @example SEK
49
49
  */
50
- currency: string | null;
50
+ currency: string | undefined;
51
51
  shop: {
52
52
  /** @example cardlevels */
53
53
  technicalName: string;
@@ -70,7 +70,7 @@ interface components {
70
70
  kind: "sealed" | "card";
71
71
  name: string;
72
72
  technicalName: string;
73
- imageUrl: string | null;
73
+ imageUrl: string | undefined;
74
74
  };
75
75
  bargain: {
76
76
  discountPercent: number;
@@ -90,12 +90,12 @@ interface components {
90
90
  data: {
91
91
  url: string;
92
92
  /** @example 149.5 */
93
- price: number | null;
93
+ price: number | undefined;
94
94
  /**
95
95
  * @description ISO-4217 currency code
96
96
  * @example SEK
97
97
  */
98
- currency: string | null;
98
+ currency: string | undefined;
99
99
  shop: {
100
100
  /** @example cardlevels */
101
101
  technicalName: string;
@@ -118,7 +118,7 @@ interface components {
118
118
  kind: "sealed" | "card";
119
119
  name: string;
120
120
  technicalName: string;
121
- imageUrl: string | null;
121
+ imageUrl: string | undefined;
122
122
  };
123
123
  bargain: {
124
124
  discountPercent: number;
@@ -141,7 +141,7 @@ interface components {
141
141
  */
142
142
  id: string;
143
143
  name: string;
144
- shortName: string | null;
144
+ shortName: string | undefined;
145
145
  technicalName: string;
146
146
  brand: {
147
147
  /**
@@ -165,7 +165,7 @@ interface components {
165
165
  updatedAt: string;
166
166
  };
167
167
  manufacturer: string;
168
- modelNumber: string | null;
168
+ modelNumber: string | undefined;
169
169
  category: {
170
170
  /**
171
171
  * @description Resource identifier
@@ -176,7 +176,7 @@ interface components {
176
176
  name: string;
177
177
  /** @example booster-box */
178
178
  technicalName: string;
179
- } | null;
179
+ } | undefined;
180
180
  expansion: {
181
181
  /**
182
182
  * @description Resource identifier
@@ -196,58 +196,58 @@ interface components {
196
196
  */
197
197
  language: "ENG" | "JPN" | "CHI";
198
198
  /** @example m6a */
199
- code: string | null;
199
+ code: string | undefined;
200
200
  /** @example m6a */
201
- cardCode: string | null;
201
+ cardCode: string | undefined;
202
202
  /** @example Mega Evolution */
203
- seriesName: string | null;
203
+ seriesName: string | undefined;
204
204
  /**
205
205
  * Format: date-time
206
206
  * @example 2026-07-15T12:03:29.322Z
207
207
  */
208
- releaseDate: string | null;
208
+ releaseDate: string | undefined;
209
209
  /**
210
210
  * @description Absolute asset URL, or null when absent
211
211
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
212
212
  */
213
- logoUrl: string | null;
213
+ logoUrl: string | undefined;
214
214
  /**
215
215
  * @description Absolute asset URL, or null when absent
216
216
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
217
217
  */
218
- symbolUrl: string | null;
218
+ symbolUrl: string | undefined;
219
219
  /**
220
220
  * @description Absolute asset URL, or null when absent
221
221
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
222
222
  */
223
- imageUrl: string | null;
224
- } | null;
223
+ imageUrl: string | undefined;
224
+ } | undefined;
225
225
  /**
226
226
  * @description Printing language of the item
227
227
  * @example JPN
228
228
  * @enum {string|null}
229
229
  */
230
- language: "ENG" | "JPN" | "CHI" | null;
230
+ language: "ENG" | "JPN" | "CHI" | undefined;
231
231
  alternativeNames: {
232
232
  name: string;
233
- shortName: string | null;
233
+ shortName: string | undefined;
234
234
  }[];
235
235
  supportsMultipackPricing: boolean;
236
236
  /**
237
237
  * @description Absolute asset URL, or null when absent
238
238
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
239
239
  */
240
- imageUrl: string | null;
240
+ imageUrl: string | undefined;
241
241
  /**
242
242
  * @description Cheapest current shop price, in SEK
243
243
  * @example 149.5
244
244
  */
245
- retailPrice: number | null;
245
+ retailPrice: number | undefined;
246
246
  /**
247
247
  * @description Estimated market value, in SEK
248
248
  * @example 149.5
249
249
  */
250
- estimatedValue: number | null;
250
+ estimatedValue: number | undefined;
251
251
  /** @description Active shops currently tracking this item */
252
252
  shopCount: number;
253
253
  /** @description Observations the estimate rests on */
@@ -256,7 +256,7 @@ interface components {
256
256
  * Format: date-time
257
257
  * @example 2026-07-15T12:03:29.322Z
258
258
  */
259
- pricingUpdatedAt: string | null;
259
+ pricingUpdatedAt: string | undefined;
260
260
  /**
261
261
  * Format: date-time
262
262
  * @example 2026-07-15T12:03:29.322Z
@@ -272,18 +272,18 @@ interface components {
272
272
  /** @example 4/102 */
273
273
  cardNumber: string;
274
274
  /** @example Rare Holo */
275
- rarity: string | null;
276
- artist: string | null;
277
- cardmarketId: string | null;
278
- tcgplayerId: string | null;
275
+ rarity: string | undefined;
276
+ artist: string | undefined;
277
+ cardmarketId: string | undefined;
278
+ tcgplayerId: string | undefined;
279
279
  variants: {
280
280
  normal: boolean;
281
281
  holo: boolean;
282
282
  reverse: boolean;
283
283
  firstEdition: boolean;
284
284
  wPromo: boolean;
285
- } | null;
286
- prisjaktId: string | null;
285
+ } | undefined;
286
+ prisjaktId: string | undefined;
287
287
  lowestShopOffer: {
288
288
  shop: {
289
289
  /** @example cardlevels */
@@ -317,8 +317,8 @@ interface components {
317
317
  discountPercent: number;
318
318
  /** @enum {string} */
319
319
  referenceSource: "retail" | "tradera" | "cardmarket";
320
- } | null;
321
- } | null;
320
+ } | undefined;
321
+ } | undefined;
322
322
  referencePriceSnapshotsByProvider: {
323
323
  [key: string]: {
324
324
  /** @enum {string} */
@@ -362,32 +362,32 @@ interface components {
362
362
  */
363
363
  language: "ENG" | "JPN" | "CHI";
364
364
  /** @example m6a */
365
- code: string | null;
365
+ code: string | undefined;
366
366
  /** @example m6a */
367
- cardCode: string | null;
367
+ cardCode: string | undefined;
368
368
  /** @example Mega Evolution */
369
- seriesName: string | null;
369
+ seriesName: string | undefined;
370
370
  /**
371
371
  * Format: date-time
372
372
  * @example 2026-07-15T12:03:29.322Z
373
373
  */
374
- releaseDate: string | null;
374
+ releaseDate: string | undefined;
375
375
  /**
376
376
  * @description Absolute asset URL, or null when absent
377
377
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
378
378
  */
379
- logoUrl: string | null;
379
+ logoUrl: string | undefined;
380
380
  /**
381
381
  * @description Absolute asset URL, or null when absent
382
382
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
383
383
  */
384
- symbolUrl: string | null;
384
+ symbolUrl: string | undefined;
385
385
  /**
386
386
  * @description Absolute asset URL, or null when absent
387
387
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
388
388
  */
389
- imageUrl: string | null;
390
- year: number | null;
389
+ imageUrl: string | undefined;
390
+ year: number | undefined;
391
391
  brand: {
392
392
  /**
393
393
  * @description Resource identifier
@@ -411,7 +411,7 @@ interface components {
411
411
  };
412
412
  alternativeNames: {
413
413
  name: string;
414
- shortName: string | null;
414
+ shortName: string | undefined;
415
415
  }[];
416
416
  /** @description Sealed products in this expansion */
417
417
  sealedCount: number;
@@ -450,31 +450,31 @@ interface components {
450
450
  */
451
451
  language: "ENG" | "JPN" | "CHI";
452
452
  /** @example m6a */
453
- code: string | null;
453
+ code: string | undefined;
454
454
  /** @example m6a */
455
- cardCode: string | null;
455
+ cardCode: string | undefined;
456
456
  /** @example Mega Evolution */
457
- seriesName: string | null;
457
+ seriesName: string | undefined;
458
458
  /**
459
459
  * Format: date-time
460
460
  * @example 2026-07-15T12:03:29.322Z
461
461
  */
462
- releaseDate: string | null;
462
+ releaseDate: string | undefined;
463
463
  /**
464
464
  * @description Absolute asset URL, or null when absent
465
465
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
466
466
  */
467
- logoUrl: string | null;
467
+ logoUrl: string | undefined;
468
468
  /**
469
469
  * @description Absolute asset URL, or null when absent
470
470
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
471
471
  */
472
- symbolUrl: string | null;
472
+ symbolUrl: string | undefined;
473
473
  /**
474
474
  * @description Absolute asset URL, or null when absent
475
475
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
476
476
  */
477
- imageUrl: string | null;
477
+ imageUrl: string | undefined;
478
478
  };
479
479
  cards: {
480
480
  count: number;
@@ -485,7 +485,7 @@ interface components {
485
485
  */
486
486
  id: string;
487
487
  name: string;
488
- shortName: string | null;
488
+ shortName: string | undefined;
489
489
  technicalName: string;
490
490
  brand: {
491
491
  /**
@@ -509,7 +509,7 @@ interface components {
509
509
  updatedAt: string;
510
510
  };
511
511
  manufacturer: string;
512
- modelNumber: string | null;
512
+ modelNumber: string | undefined;
513
513
  category: {
514
514
  /**
515
515
  * @description Resource identifier
@@ -520,7 +520,7 @@ interface components {
520
520
  name: string;
521
521
  /** @example booster-box */
522
522
  technicalName: string;
523
- } | null;
523
+ } | undefined;
524
524
  expansion: {
525
525
  /**
526
526
  * @description Resource identifier
@@ -540,58 +540,58 @@ interface components {
540
540
  */
541
541
  language: "ENG" | "JPN" | "CHI";
542
542
  /** @example m6a */
543
- code: string | null;
543
+ code: string | undefined;
544
544
  /** @example m6a */
545
- cardCode: string | null;
545
+ cardCode: string | undefined;
546
546
  /** @example Mega Evolution */
547
- seriesName: string | null;
547
+ seriesName: string | undefined;
548
548
  /**
549
549
  * Format: date-time
550
550
  * @example 2026-07-15T12:03:29.322Z
551
551
  */
552
- releaseDate: string | null;
552
+ releaseDate: string | undefined;
553
553
  /**
554
554
  * @description Absolute asset URL, or null when absent
555
555
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
556
556
  */
557
- logoUrl: string | null;
557
+ logoUrl: string | undefined;
558
558
  /**
559
559
  * @description Absolute asset URL, or null when absent
560
560
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
561
561
  */
562
- symbolUrl: string | null;
562
+ symbolUrl: string | undefined;
563
563
  /**
564
564
  * @description Absolute asset URL, or null when absent
565
565
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
566
566
  */
567
- imageUrl: string | null;
568
- } | null;
567
+ imageUrl: string | undefined;
568
+ } | undefined;
569
569
  /**
570
570
  * @description Printing language of the item
571
571
  * @example JPN
572
572
  * @enum {string|null}
573
573
  */
574
- language: "ENG" | "JPN" | "CHI" | null;
574
+ language: "ENG" | "JPN" | "CHI" | undefined;
575
575
  alternativeNames: {
576
576
  name: string;
577
- shortName: string | null;
577
+ shortName: string | undefined;
578
578
  }[];
579
579
  supportsMultipackPricing: boolean;
580
580
  /**
581
581
  * @description Absolute asset URL, or null when absent
582
582
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
583
583
  */
584
- imageUrl: string | null;
584
+ imageUrl: string | undefined;
585
585
  /**
586
586
  * @description Cheapest current shop price, in SEK
587
587
  * @example 149.5
588
588
  */
589
- retailPrice: number | null;
589
+ retailPrice: number | undefined;
590
590
  /**
591
591
  * @description Estimated market value, in SEK
592
592
  * @example 149.5
593
593
  */
594
- estimatedValue: number | null;
594
+ estimatedValue: number | undefined;
595
595
  /** @description Active shops currently tracking this item */
596
596
  shopCount: number;
597
597
  /** @description Observations the estimate rests on */
@@ -600,7 +600,7 @@ interface components {
600
600
  * Format: date-time
601
601
  * @example 2026-07-15T12:03:29.322Z
602
602
  */
603
- pricingUpdatedAt: string | null;
603
+ pricingUpdatedAt: string | undefined;
604
604
  /**
605
605
  * Format: date-time
606
606
  * @example 2026-07-15T12:03:29.322Z
@@ -616,18 +616,18 @@ interface components {
616
616
  /** @example 4/102 */
617
617
  cardNumber: string;
618
618
  /** @example Rare Holo */
619
- rarity: string | null;
620
- artist: string | null;
621
- cardmarketId: string | null;
622
- tcgplayerId: string | null;
619
+ rarity: string | undefined;
620
+ artist: string | undefined;
621
+ cardmarketId: string | undefined;
622
+ tcgplayerId: string | undefined;
623
623
  variants: {
624
624
  normal: boolean;
625
625
  holo: boolean;
626
626
  reverse: boolean;
627
627
  firstEdition: boolean;
628
628
  wPromo: boolean;
629
- } | null;
630
- prisjaktId: string | null;
629
+ } | undefined;
630
+ prisjaktId: string | undefined;
631
631
  lowestShopOffer: {
632
632
  shop: {
633
633
  /** @example cardlevels */
@@ -661,8 +661,8 @@ interface components {
661
661
  discountPercent: number;
662
662
  /** @enum {string} */
663
663
  referenceSource: "retail" | "tradera" | "cardmarket";
664
- } | null;
665
- } | null;
664
+ } | undefined;
665
+ } | undefined;
666
666
  referencePriceSnapshotsByProvider: {
667
667
  [key: string]: {
668
668
  /** @enum {string} */
@@ -697,7 +697,7 @@ interface components {
697
697
  */
698
698
  id: string;
699
699
  name: string;
700
- shortName: string | null;
700
+ shortName: string | undefined;
701
701
  technicalName: string;
702
702
  brand: {
703
703
  /**
@@ -721,7 +721,7 @@ interface components {
721
721
  updatedAt: string;
722
722
  };
723
723
  manufacturer: string;
724
- modelNumber: string | null;
724
+ modelNumber: string | undefined;
725
725
  category: {
726
726
  /**
727
727
  * @description Resource identifier
@@ -732,7 +732,7 @@ interface components {
732
732
  name: string;
733
733
  /** @example booster-box */
734
734
  technicalName: string;
735
- } | null;
735
+ } | undefined;
736
736
  expansion: {
737
737
  /**
738
738
  * @description Resource identifier
@@ -752,58 +752,58 @@ interface components {
752
752
  */
753
753
  language: "ENG" | "JPN" | "CHI";
754
754
  /** @example m6a */
755
- code: string | null;
755
+ code: string | undefined;
756
756
  /** @example m6a */
757
- cardCode: string | null;
757
+ cardCode: string | undefined;
758
758
  /** @example Mega Evolution */
759
- seriesName: string | null;
759
+ seriesName: string | undefined;
760
760
  /**
761
761
  * Format: date-time
762
762
  * @example 2026-07-15T12:03:29.322Z
763
763
  */
764
- releaseDate: string | null;
764
+ releaseDate: string | undefined;
765
765
  /**
766
766
  * @description Absolute asset URL, or null when absent
767
767
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
768
768
  */
769
- logoUrl: string | null;
769
+ logoUrl: string | undefined;
770
770
  /**
771
771
  * @description Absolute asset URL, or null when absent
772
772
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
773
773
  */
774
- symbolUrl: string | null;
774
+ symbolUrl: string | undefined;
775
775
  /**
776
776
  * @description Absolute asset URL, or null when absent
777
777
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
778
778
  */
779
- imageUrl: string | null;
780
- } | null;
779
+ imageUrl: string | undefined;
780
+ } | undefined;
781
781
  /**
782
782
  * @description Printing language of the item
783
783
  * @example JPN
784
784
  * @enum {string|null}
785
785
  */
786
- language: "ENG" | "JPN" | "CHI" | null;
786
+ language: "ENG" | "JPN" | "CHI" | undefined;
787
787
  alternativeNames: {
788
788
  name: string;
789
- shortName: string | null;
789
+ shortName: string | undefined;
790
790
  }[];
791
791
  supportsMultipackPricing: boolean;
792
792
  /**
793
793
  * @description Absolute asset URL, or null when absent
794
794
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
795
795
  */
796
- imageUrl: string | null;
796
+ imageUrl: string | undefined;
797
797
  /**
798
798
  * @description Cheapest current shop price, in SEK
799
799
  * @example 149.5
800
800
  */
801
- retailPrice: number | null;
801
+ retailPrice: number | undefined;
802
802
  /**
803
803
  * @description Estimated market value, in SEK
804
804
  * @example 149.5
805
805
  */
806
- estimatedValue: number | null;
806
+ estimatedValue: number | undefined;
807
807
  /** @description Active shops currently tracking this item */
808
808
  shopCount: number;
809
809
  /** @description Observations the estimate rests on */
@@ -812,7 +812,7 @@ interface components {
812
812
  * Format: date-time
813
813
  * @example 2026-07-15T12:03:29.322Z
814
814
  */
815
- pricingUpdatedAt: string | null;
815
+ pricingUpdatedAt: string | undefined;
816
816
  /**
817
817
  * Format: date-time
818
818
  * @example 2026-07-15T12:03:29.322Z
@@ -825,11 +825,11 @@ interface components {
825
825
  updatedAt: string;
826
826
  /** @enum {string} */
827
827
  kind: "sealed";
828
- upc: string | null;
829
- asin: string | null;
830
- epid: string | null;
831
- priceChartingId: string | null;
832
- prisjaktId: string | null;
828
+ upc: string | undefined;
829
+ asin: string | undefined;
830
+ epid: string | undefined;
831
+ priceChartingId: string | undefined;
832
+ prisjaktId: string | undefined;
833
833
  lowestShopOffer: {
834
834
  shop: {
835
835
  /** @example cardlevels */
@@ -863,8 +863,8 @@ interface components {
863
863
  discountPercent: number;
864
864
  /** @enum {string} */
865
865
  referenceSource: "retail" | "tradera" | "cardmarket";
866
- } | null;
867
- } | null;
866
+ } | undefined;
867
+ } | undefined;
868
868
  referencePriceSnapshotsByProvider: {
869
869
  [key: string]: {
870
870
  /** @enum {string} */
@@ -905,9 +905,9 @@ interface components {
905
905
  technicalName: string;
906
906
  pricing: {
907
907
  /** @example 149.5 */
908
- retailPrice: number | null;
908
+ retailPrice: number | undefined;
909
909
  /** @example 149.5 */
910
- estimatedValue: number | null;
910
+ estimatedValue: number | undefined;
911
911
  shopCount: number;
912
912
  pricingDataPoints: number;
913
913
  /**
@@ -948,12 +948,12 @@ interface components {
948
948
  };
949
949
  estimate: {
950
950
  /** @example 149.5 */
951
- estimatedValue: number | null;
951
+ estimatedValue: number | undefined;
952
952
  /**
953
953
  * Format: date-time
954
954
  * @example 2026-07-15T12:03:29.322Z
955
955
  */
956
- estimateUpdatedAt: string | null;
956
+ estimateUpdatedAt: string | undefined;
957
957
  dataPointCount: number;
958
958
  };
959
959
  };
@@ -965,7 +965,7 @@ interface components {
965
965
  */
966
966
  id: string;
967
967
  name: string;
968
- shortName: string | null;
968
+ shortName: string | undefined;
969
969
  technicalName: string;
970
970
  brand: {
971
971
  /**
@@ -989,7 +989,7 @@ interface components {
989
989
  updatedAt: string;
990
990
  };
991
991
  manufacturer: string;
992
- modelNumber: string | null;
992
+ modelNumber: string | undefined;
993
993
  category: {
994
994
  /**
995
995
  * @description Resource identifier
@@ -1000,7 +1000,7 @@ interface components {
1000
1000
  name: string;
1001
1001
  /** @example booster-box */
1002
1002
  technicalName: string;
1003
- } | null;
1003
+ } | undefined;
1004
1004
  expansion: {
1005
1005
  /**
1006
1006
  * @description Resource identifier
@@ -1020,58 +1020,58 @@ interface components {
1020
1020
  */
1021
1021
  language: "ENG" | "JPN" | "CHI";
1022
1022
  /** @example m6a */
1023
- code: string | null;
1023
+ code: string | undefined;
1024
1024
  /** @example m6a */
1025
- cardCode: string | null;
1025
+ cardCode: string | undefined;
1026
1026
  /** @example Mega Evolution */
1027
- seriesName: string | null;
1027
+ seriesName: string | undefined;
1028
1028
  /**
1029
1029
  * Format: date-time
1030
1030
  * @example 2026-07-15T12:03:29.322Z
1031
1031
  */
1032
- releaseDate: string | null;
1032
+ releaseDate: string | undefined;
1033
1033
  /**
1034
1034
  * @description Absolute asset URL, or null when absent
1035
1035
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
1036
1036
  */
1037
- logoUrl: string | null;
1037
+ logoUrl: string | undefined;
1038
1038
  /**
1039
1039
  * @description Absolute asset URL, or null when absent
1040
1040
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
1041
1041
  */
1042
- symbolUrl: string | null;
1042
+ symbolUrl: string | undefined;
1043
1043
  /**
1044
1044
  * @description Absolute asset URL, or null when absent
1045
1045
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
1046
1046
  */
1047
- imageUrl: string | null;
1048
- } | null;
1047
+ imageUrl: string | undefined;
1048
+ } | undefined;
1049
1049
  /**
1050
1050
  * @description Printing language of the item
1051
1051
  * @example JPN
1052
1052
  * @enum {string|null}
1053
1053
  */
1054
- language: "ENG" | "JPN" | "CHI" | null;
1054
+ language: "ENG" | "JPN" | "CHI" | undefined;
1055
1055
  alternativeNames: {
1056
1056
  name: string;
1057
- shortName: string | null;
1057
+ shortName: string | undefined;
1058
1058
  }[];
1059
1059
  supportsMultipackPricing: boolean;
1060
1060
  /**
1061
1061
  * @description Absolute asset URL, or null when absent
1062
1062
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
1063
1063
  */
1064
- imageUrl: string | null;
1064
+ imageUrl: string | undefined;
1065
1065
  /**
1066
1066
  * @description Cheapest current shop price, in SEK
1067
1067
  * @example 149.5
1068
1068
  */
1069
- retailPrice: number | null;
1069
+ retailPrice: number | undefined;
1070
1070
  /**
1071
1071
  * @description Estimated market value, in SEK
1072
1072
  * @example 149.5
1073
1073
  */
1074
- estimatedValue: number | null;
1074
+ estimatedValue: number | undefined;
1075
1075
  /** @description Active shops currently tracking this item */
1076
1076
  shopCount: number;
1077
1077
  /** @description Observations the estimate rests on */
@@ -1080,7 +1080,7 @@ interface components {
1080
1080
  * Format: date-time
1081
1081
  * @example 2026-07-15T12:03:29.322Z
1082
1082
  */
1083
- pricingUpdatedAt: string | null;
1083
+ pricingUpdatedAt: string | undefined;
1084
1084
  /**
1085
1085
  * Format: date-time
1086
1086
  * @example 2026-07-15T12:03:29.322Z
@@ -1096,18 +1096,18 @@ interface components {
1096
1096
  /** @example 4/102 */
1097
1097
  cardNumber: string;
1098
1098
  /** @example Rare Holo */
1099
- rarity: string | null;
1100
- artist: string | null;
1101
- cardmarketId: string | null;
1102
- tcgplayerId: string | null;
1099
+ rarity: string | undefined;
1100
+ artist: string | undefined;
1101
+ cardmarketId: string | undefined;
1102
+ tcgplayerId: string | undefined;
1103
1103
  variants: {
1104
1104
  normal: boolean;
1105
1105
  holo: boolean;
1106
1106
  reverse: boolean;
1107
1107
  firstEdition: boolean;
1108
1108
  wPromo: boolean;
1109
- } | null;
1110
- prisjaktId: string | null;
1109
+ } | undefined;
1110
+ prisjaktId: string | undefined;
1111
1111
  } | {
1112
1112
  /**
1113
1113
  * @description Resource identifier
@@ -1115,7 +1115,7 @@ interface components {
1115
1115
  */
1116
1116
  id: string;
1117
1117
  name: string;
1118
- shortName: string | null;
1118
+ shortName: string | undefined;
1119
1119
  technicalName: string;
1120
1120
  brand: {
1121
1121
  /**
@@ -1139,7 +1139,7 @@ interface components {
1139
1139
  updatedAt: string;
1140
1140
  };
1141
1141
  manufacturer: string;
1142
- modelNumber: string | null;
1142
+ modelNumber: string | undefined;
1143
1143
  category: {
1144
1144
  /**
1145
1145
  * @description Resource identifier
@@ -1150,7 +1150,7 @@ interface components {
1150
1150
  name: string;
1151
1151
  /** @example booster-box */
1152
1152
  technicalName: string;
1153
- } | null;
1153
+ } | undefined;
1154
1154
  expansion: {
1155
1155
  /**
1156
1156
  * @description Resource identifier
@@ -1170,58 +1170,58 @@ interface components {
1170
1170
  */
1171
1171
  language: "ENG" | "JPN" | "CHI";
1172
1172
  /** @example m6a */
1173
- code: string | null;
1173
+ code: string | undefined;
1174
1174
  /** @example m6a */
1175
- cardCode: string | null;
1175
+ cardCode: string | undefined;
1176
1176
  /** @example Mega Evolution */
1177
- seriesName: string | null;
1177
+ seriesName: string | undefined;
1178
1178
  /**
1179
1179
  * Format: date-time
1180
1180
  * @example 2026-07-15T12:03:29.322Z
1181
1181
  */
1182
- releaseDate: string | null;
1182
+ releaseDate: string | undefined;
1183
1183
  /**
1184
1184
  * @description Absolute asset URL, or null when absent
1185
1185
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
1186
1186
  */
1187
- logoUrl: string | null;
1187
+ logoUrl: string | undefined;
1188
1188
  /**
1189
1189
  * @description Absolute asset URL, or null when absent
1190
1190
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
1191
1191
  */
1192
- symbolUrl: string | null;
1192
+ symbolUrl: string | undefined;
1193
1193
  /**
1194
1194
  * @description Absolute asset URL, or null when absent
1195
1195
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
1196
1196
  */
1197
- imageUrl: string | null;
1198
- } | null;
1197
+ imageUrl: string | undefined;
1198
+ } | undefined;
1199
1199
  /**
1200
1200
  * @description Printing language of the item
1201
1201
  * @example JPN
1202
1202
  * @enum {string|null}
1203
1203
  */
1204
- language: "ENG" | "JPN" | "CHI" | null;
1204
+ language: "ENG" | "JPN" | "CHI" | undefined;
1205
1205
  alternativeNames: {
1206
1206
  name: string;
1207
- shortName: string | null;
1207
+ shortName: string | undefined;
1208
1208
  }[];
1209
1209
  supportsMultipackPricing: boolean;
1210
1210
  /**
1211
1211
  * @description Absolute asset URL, or null when absent
1212
1212
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
1213
1213
  */
1214
- imageUrl: string | null;
1214
+ imageUrl: string | undefined;
1215
1215
  /**
1216
1216
  * @description Cheapest current shop price, in SEK
1217
1217
  * @example 149.5
1218
1218
  */
1219
- retailPrice: number | null;
1219
+ retailPrice: number | undefined;
1220
1220
  /**
1221
1221
  * @description Estimated market value, in SEK
1222
1222
  * @example 149.5
1223
1223
  */
1224
- estimatedValue: number | null;
1224
+ estimatedValue: number | undefined;
1225
1225
  /** @description Active shops currently tracking this item */
1226
1226
  shopCount: number;
1227
1227
  /** @description Observations the estimate rests on */
@@ -1230,7 +1230,7 @@ interface components {
1230
1230
  * Format: date-time
1231
1231
  * @example 2026-07-15T12:03:29.322Z
1232
1232
  */
1233
- pricingUpdatedAt: string | null;
1233
+ pricingUpdatedAt: string | undefined;
1234
1234
  /**
1235
1235
  * Format: date-time
1236
1236
  * @example 2026-07-15T12:03:29.322Z
@@ -1243,11 +1243,11 @@ interface components {
1243
1243
  updatedAt: string;
1244
1244
  /** @enum {string} */
1245
1245
  kind: "sealed";
1246
- upc: string | null;
1247
- asin: string | null;
1248
- epid: string | null;
1249
- priceChartingId: string | null;
1250
- prisjaktId: string | null;
1246
+ upc: string | undefined;
1247
+ asin: string | undefined;
1248
+ epid: string | undefined;
1249
+ priceChartingId: string | undefined;
1250
+ prisjaktId: string | undefined;
1251
1251
  };
1252
1252
  stats: {
1253
1253
  dailyStats: {
@@ -1268,12 +1268,12 @@ interface components {
1268
1268
  };
1269
1269
  estimate: {
1270
1270
  /** @example 149.5 */
1271
- estimatedValue: number | null;
1271
+ estimatedValue: number | undefined;
1272
1272
  /**
1273
1273
  * Format: date-time
1274
1274
  * @example 2026-07-15T12:03:29.322Z
1275
1275
  */
1276
- estimateUpdatedAt: string | null;
1276
+ estimateUpdatedAt: string | undefined;
1277
1277
  dataPointCount: number;
1278
1278
  };
1279
1279
  shopMatches: {
@@ -1290,14 +1290,14 @@ interface components {
1290
1290
  name: string;
1291
1291
  delivery: {
1292
1292
  /** @example 149.5 */
1293
- cost: number | null;
1294
- currency: string | null;
1295
- daysMin: number | null;
1296
- daysMax: number | null;
1293
+ cost: number | undefined;
1294
+ currency: string | undefined;
1295
+ daysMin: number | undefined;
1296
+ daysMax: number | undefined;
1297
1297
  /** @example 149.5 */
1298
- freeShippingThreshold: number | null;
1299
- supportsLocalPickup: boolean | null;
1300
- note: string | null;
1298
+ freeShippingThreshold: number | undefined;
1299
+ supportsLocalPickup: boolean | undefined;
1300
+ note: string | undefined;
1301
1301
  };
1302
1302
  };
1303
1303
  url: string;
@@ -1305,29 +1305,29 @@ interface components {
1305
1305
  * @description Resource identifier
1306
1306
  * @example 6a577711abc1ce71383d3e10
1307
1307
  */
1308
- shopUrlId: string | null;
1308
+ shopUrlId: string | undefined;
1309
1309
  /** @example 149.5 */
1310
- price: number | null;
1310
+ price: number | undefined;
1311
1311
  /**
1312
1312
  * @description ISO-4217 currency code
1313
1313
  * @example SEK
1314
1314
  */
1315
- currency: string | null;
1315
+ currency: string | undefined;
1316
1316
  inStock: boolean;
1317
1317
  inPreorder: boolean;
1318
1318
  inMonitor: boolean;
1319
1319
  isFullyBooked: boolean;
1320
- scrapedName: string | null;
1321
- scrapedType: string | null;
1322
- matchScore: number | null;
1320
+ scrapedName: string | undefined;
1321
+ scrapedType: string | undefined;
1322
+ matchScore: number | undefined;
1323
1323
  hasCategoryMismatch: boolean;
1324
1324
  /** @enum {string|null} */
1325
- cardType: "loose" | "graded" | null;
1325
+ cardType: "loose" | "graded" | undefined;
1326
1326
  /** @enum {string|null} */
1327
- itemCondition: "NM" | "LP" | "MP" | "HP" | "DMG" | null;
1327
+ itemCondition: "NM" | "LP" | "MP" | "HP" | "DMG" | undefined;
1328
1328
  /** @enum {string|null} */
1329
- gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | null;
1330
- grade: number | null;
1329
+ gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | undefined;
1330
+ grade: number | undefined;
1331
1331
  /**
1332
1332
  * Format: date-time
1333
1333
  * @example 2026-07-15T12:03:29.322Z
@@ -1342,7 +1342,7 @@ interface components {
1342
1342
  discountPercent: number;
1343
1343
  /** @enum {string} */
1344
1344
  referenceSource: "retail" | "tradera" | "cardmarket";
1345
- } | null;
1345
+ } | undefined;
1346
1346
  }[];
1347
1347
  pagination: {
1348
1348
  /** @description Total matching records, ignoring pagination */
@@ -1387,7 +1387,7 @@ interface components {
1387
1387
  /** @example 149.5 */
1388
1388
  averagePrice: number;
1389
1389
  inStockCount: number;
1390
- } | null;
1390
+ } | undefined;
1391
1391
  };
1392
1392
  ItemReferencePrices: {
1393
1393
  item: {
@@ -1418,14 +1418,14 @@ interface components {
1418
1418
  /** @enum {string} */
1419
1419
  provider: "cardmarket" | "tcgplayer" | "ebay" | "tradera";
1420
1420
  /** @enum {string|null} */
1421
- variant: "normal" | "holo" | "reverse" | null;
1421
+ variant: "normal" | "holo" | "reverse" | undefined;
1422
1422
  /** @enum {string|null} */
1423
- cardType: "loose" | "graded" | null;
1423
+ cardType: "loose" | "graded" | undefined;
1424
1424
  /** @enum {string|null} */
1425
- gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | null;
1426
- grade: number | null;
1425
+ gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | undefined;
1426
+ grade: number | undefined;
1427
1427
  currency: string;
1428
- sampleSize: number | null;
1428
+ sampleSize: number | undefined;
1429
1429
  points: {
1430
1430
  /**
1431
1431
  * Format: date-time
@@ -1458,14 +1458,14 @@ interface components {
1458
1458
  name: string;
1459
1459
  delivery: {
1460
1460
  /** @example 149.5 */
1461
- cost: number | null;
1462
- currency: string | null;
1463
- daysMin: number | null;
1464
- daysMax: number | null;
1461
+ cost: number | undefined;
1462
+ currency: string | undefined;
1463
+ daysMin: number | undefined;
1464
+ daysMax: number | undefined;
1465
1465
  /** @example 149.5 */
1466
- freeShippingThreshold: number | null;
1467
- supportsLocalPickup: boolean | null;
1468
- note: string | null;
1466
+ freeShippingThreshold: number | undefined;
1467
+ supportsLocalPickup: boolean | undefined;
1468
+ note: string | undefined;
1469
1469
  };
1470
1470
  };
1471
1471
  url: string;
@@ -1473,29 +1473,29 @@ interface components {
1473
1473
  * @description Resource identifier
1474
1474
  * @example 6a577711abc1ce71383d3e10
1475
1475
  */
1476
- shopUrlId: string | null;
1476
+ shopUrlId: string | undefined;
1477
1477
  /** @example 149.5 */
1478
- price: number | null;
1478
+ price: number | undefined;
1479
1479
  /**
1480
1480
  * @description ISO-4217 currency code
1481
1481
  * @example SEK
1482
1482
  */
1483
- currency: string | null;
1483
+ currency: string | undefined;
1484
1484
  inStock: boolean;
1485
1485
  inPreorder: boolean;
1486
1486
  inMonitor: boolean;
1487
1487
  isFullyBooked: boolean;
1488
- scrapedName: string | null;
1489
- scrapedType: string | null;
1490
- matchScore: number | null;
1488
+ scrapedName: string | undefined;
1489
+ scrapedType: string | undefined;
1490
+ matchScore: number | undefined;
1491
1491
  hasCategoryMismatch: boolean;
1492
1492
  /** @enum {string|null} */
1493
- cardType: "loose" | "graded" | null;
1493
+ cardType: "loose" | "graded" | undefined;
1494
1494
  /** @enum {string|null} */
1495
- itemCondition: "NM" | "LP" | "MP" | "HP" | "DMG" | null;
1495
+ itemCondition: "NM" | "LP" | "MP" | "HP" | "DMG" | undefined;
1496
1496
  /** @enum {string|null} */
1497
- gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | null;
1498
- grade: number | null;
1497
+ gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | undefined;
1498
+ grade: number | undefined;
1499
1499
  /**
1500
1500
  * Format: date-time
1501
1501
  * @example 2026-07-15T12:03:29.322Z
@@ -1510,7 +1510,7 @@ interface components {
1510
1510
  discountPercent: number;
1511
1511
  /** @enum {string} */
1512
1512
  referenceSource: "retail" | "tradera" | "cardmarket";
1513
- } | null;
1513
+ } | undefined;
1514
1514
  }[];
1515
1515
  pagination: {
1516
1516
  /** @description Total matching records, ignoring pagination */
@@ -1578,10 +1578,10 @@ interface components {
1578
1578
  * Format: date-time
1579
1579
  * @example 2026-07-15T12:03:29.322Z
1580
1580
  */
1581
- soldAt: string | null;
1582
- itemId: string | null;
1581
+ soldAt: string | undefined;
1582
+ itemId: string | undefined;
1583
1583
  /** @example tradera */
1584
- source: string | null;
1584
+ source: string | undefined;
1585
1585
  }[];
1586
1586
  pagination: {
1587
1587
  /** @description Total matching records, ignoring pagination */
@@ -1601,7 +1601,7 @@ interface components {
1601
1601
  */
1602
1602
  id: string;
1603
1603
  name: string;
1604
- shortName: string | null;
1604
+ shortName: string | undefined;
1605
1605
  technicalName: string;
1606
1606
  brand: {
1607
1607
  /**
@@ -1625,7 +1625,7 @@ interface components {
1625
1625
  updatedAt: string;
1626
1626
  };
1627
1627
  manufacturer: string;
1628
- modelNumber: string | null;
1628
+ modelNumber: string | undefined;
1629
1629
  category: {
1630
1630
  /**
1631
1631
  * @description Resource identifier
@@ -1636,7 +1636,7 @@ interface components {
1636
1636
  name: string;
1637
1637
  /** @example booster-box */
1638
1638
  technicalName: string;
1639
- } | null;
1639
+ } | undefined;
1640
1640
  expansion: {
1641
1641
  /**
1642
1642
  * @description Resource identifier
@@ -1656,58 +1656,58 @@ interface components {
1656
1656
  */
1657
1657
  language: "ENG" | "JPN" | "CHI";
1658
1658
  /** @example m6a */
1659
- code: string | null;
1659
+ code: string | undefined;
1660
1660
  /** @example m6a */
1661
- cardCode: string | null;
1661
+ cardCode: string | undefined;
1662
1662
  /** @example Mega Evolution */
1663
- seriesName: string | null;
1663
+ seriesName: string | undefined;
1664
1664
  /**
1665
1665
  * Format: date-time
1666
1666
  * @example 2026-07-15T12:03:29.322Z
1667
1667
  */
1668
- releaseDate: string | null;
1668
+ releaseDate: string | undefined;
1669
1669
  /**
1670
1670
  * @description Absolute asset URL, or null when absent
1671
1671
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
1672
1672
  */
1673
- logoUrl: string | null;
1673
+ logoUrl: string | undefined;
1674
1674
  /**
1675
1675
  * @description Absolute asset URL, or null when absent
1676
1676
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
1677
1677
  */
1678
- symbolUrl: string | null;
1678
+ symbolUrl: string | undefined;
1679
1679
  /**
1680
1680
  * @description Absolute asset URL, or null when absent
1681
1681
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
1682
1682
  */
1683
- imageUrl: string | null;
1684
- } | null;
1683
+ imageUrl: string | undefined;
1684
+ } | undefined;
1685
1685
  /**
1686
1686
  * @description Printing language of the item
1687
1687
  * @example JPN
1688
1688
  * @enum {string|null}
1689
1689
  */
1690
- language: "ENG" | "JPN" | "CHI" | null;
1690
+ language: "ENG" | "JPN" | "CHI" | undefined;
1691
1691
  alternativeNames: {
1692
1692
  name: string;
1693
- shortName: string | null;
1693
+ shortName: string | undefined;
1694
1694
  }[];
1695
1695
  supportsMultipackPricing: boolean;
1696
1696
  /**
1697
1697
  * @description Absolute asset URL, or null when absent
1698
1698
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
1699
1699
  */
1700
- imageUrl: string | null;
1700
+ imageUrl: string | undefined;
1701
1701
  /**
1702
1702
  * @description Cheapest current shop price, in SEK
1703
1703
  * @example 149.5
1704
1704
  */
1705
- retailPrice: number | null;
1705
+ retailPrice: number | undefined;
1706
1706
  /**
1707
1707
  * @description Estimated market value, in SEK
1708
1708
  * @example 149.5
1709
1709
  */
1710
- estimatedValue: number | null;
1710
+ estimatedValue: number | undefined;
1711
1711
  /** @description Active shops currently tracking this item */
1712
1712
  shopCount: number;
1713
1713
  /** @description Observations the estimate rests on */
@@ -1716,7 +1716,7 @@ interface components {
1716
1716
  * Format: date-time
1717
1717
  * @example 2026-07-15T12:03:29.322Z
1718
1718
  */
1719
- pricingUpdatedAt: string | null;
1719
+ pricingUpdatedAt: string | undefined;
1720
1720
  /**
1721
1721
  * Format: date-time
1722
1722
  * @example 2026-07-15T12:03:29.322Z
@@ -1732,18 +1732,18 @@ interface components {
1732
1732
  /** @example 4/102 */
1733
1733
  cardNumber: string;
1734
1734
  /** @example Rare Holo */
1735
- rarity: string | null;
1736
- artist: string | null;
1737
- cardmarketId: string | null;
1738
- tcgplayerId: string | null;
1735
+ rarity: string | undefined;
1736
+ artist: string | undefined;
1737
+ cardmarketId: string | undefined;
1738
+ tcgplayerId: string | undefined;
1739
1739
  variants: {
1740
1740
  normal: boolean;
1741
1741
  holo: boolean;
1742
1742
  reverse: boolean;
1743
1743
  firstEdition: boolean;
1744
1744
  wPromo: boolean;
1745
- } | null;
1746
- prisjaktId: string | null;
1745
+ } | undefined;
1746
+ prisjaktId: string | undefined;
1747
1747
  } | {
1748
1748
  /**
1749
1749
  * @description Resource identifier
@@ -1751,7 +1751,7 @@ interface components {
1751
1751
  */
1752
1752
  id: string;
1753
1753
  name: string;
1754
- shortName: string | null;
1754
+ shortName: string | undefined;
1755
1755
  technicalName: string;
1756
1756
  brand: {
1757
1757
  /**
@@ -1775,7 +1775,7 @@ interface components {
1775
1775
  updatedAt: string;
1776
1776
  };
1777
1777
  manufacturer: string;
1778
- modelNumber: string | null;
1778
+ modelNumber: string | undefined;
1779
1779
  category: {
1780
1780
  /**
1781
1781
  * @description Resource identifier
@@ -1786,7 +1786,7 @@ interface components {
1786
1786
  name: string;
1787
1787
  /** @example booster-box */
1788
1788
  technicalName: string;
1789
- } | null;
1789
+ } | undefined;
1790
1790
  expansion: {
1791
1791
  /**
1792
1792
  * @description Resource identifier
@@ -1806,58 +1806,58 @@ interface components {
1806
1806
  */
1807
1807
  language: "ENG" | "JPN" | "CHI";
1808
1808
  /** @example m6a */
1809
- code: string | null;
1809
+ code: string | undefined;
1810
1810
  /** @example m6a */
1811
- cardCode: string | null;
1811
+ cardCode: string | undefined;
1812
1812
  /** @example Mega Evolution */
1813
- seriesName: string | null;
1813
+ seriesName: string | undefined;
1814
1814
  /**
1815
1815
  * Format: date-time
1816
1816
  * @example 2026-07-15T12:03:29.322Z
1817
1817
  */
1818
- releaseDate: string | null;
1818
+ releaseDate: string | undefined;
1819
1819
  /**
1820
1820
  * @description Absolute asset URL, or null when absent
1821
1821
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
1822
1822
  */
1823
- logoUrl: string | null;
1823
+ logoUrl: string | undefined;
1824
1824
  /**
1825
1825
  * @description Absolute asset URL, or null when absent
1826
1826
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
1827
1827
  */
1828
- symbolUrl: string | null;
1828
+ symbolUrl: string | undefined;
1829
1829
  /**
1830
1830
  * @description Absolute asset URL, or null when absent
1831
1831
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
1832
1832
  */
1833
- imageUrl: string | null;
1834
- } | null;
1833
+ imageUrl: string | undefined;
1834
+ } | undefined;
1835
1835
  /**
1836
1836
  * @description Printing language of the item
1837
1837
  * @example JPN
1838
1838
  * @enum {string|null}
1839
1839
  */
1840
- language: "ENG" | "JPN" | "CHI" | null;
1840
+ language: "ENG" | "JPN" | "CHI" | undefined;
1841
1841
  alternativeNames: {
1842
1842
  name: string;
1843
- shortName: string | null;
1843
+ shortName: string | undefined;
1844
1844
  }[];
1845
1845
  supportsMultipackPricing: boolean;
1846
1846
  /**
1847
1847
  * @description Absolute asset URL, or null when absent
1848
1848
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
1849
1849
  */
1850
- imageUrl: string | null;
1850
+ imageUrl: string | undefined;
1851
1851
  /**
1852
1852
  * @description Cheapest current shop price, in SEK
1853
1853
  * @example 149.5
1854
1854
  */
1855
- retailPrice: number | null;
1855
+ retailPrice: number | undefined;
1856
1856
  /**
1857
1857
  * @description Estimated market value, in SEK
1858
1858
  * @example 149.5
1859
1859
  */
1860
- estimatedValue: number | null;
1860
+ estimatedValue: number | undefined;
1861
1861
  /** @description Active shops currently tracking this item */
1862
1862
  shopCount: number;
1863
1863
  /** @description Observations the estimate rests on */
@@ -1866,7 +1866,7 @@ interface components {
1866
1866
  * Format: date-time
1867
1867
  * @example 2026-07-15T12:03:29.322Z
1868
1868
  */
1869
- pricingUpdatedAt: string | null;
1869
+ pricingUpdatedAt: string | undefined;
1870
1870
  /**
1871
1871
  * Format: date-time
1872
1872
  * @example 2026-07-15T12:03:29.322Z
@@ -1879,11 +1879,11 @@ interface components {
1879
1879
  updatedAt: string;
1880
1880
  /** @enum {string} */
1881
1881
  kind: "sealed";
1882
- upc: string | null;
1883
- asin: string | null;
1884
- epid: string | null;
1885
- priceChartingId: string | null;
1886
- prisjaktId: string | null;
1882
+ upc: string | undefined;
1883
+ asin: string | undefined;
1884
+ epid: string | undefined;
1885
+ priceChartingId: string | undefined;
1886
+ prisjaktId: string | undefined;
1887
1887
  };
1888
1888
  dailyStats: {
1889
1889
  /**
@@ -1896,12 +1896,12 @@ interface components {
1896
1896
  }[];
1897
1897
  estimate: {
1898
1898
  /** @example 149.5 */
1899
- estimatedValue: number | null;
1899
+ estimatedValue: number | undefined;
1900
1900
  /**
1901
1901
  * Format: date-time
1902
1902
  * @example 2026-07-15T12:03:29.322Z
1903
1903
  */
1904
- estimateUpdatedAt: string | null;
1904
+ estimateUpdatedAt: string | undefined;
1905
1905
  dataPointCount: number;
1906
1906
  };
1907
1907
  variantStats: {
@@ -1922,12 +1922,12 @@ interface components {
1922
1922
  };
1923
1923
  variant: {
1924
1924
  /** @enum {string|null} */
1925
- cardType: "loose" | "graded" | null;
1925
+ cardType: "loose" | "graded" | undefined;
1926
1926
  /** @enum {string|null} */
1927
- condition: "NM" | "LP" | "MP" | "HP" | "DMG" | null;
1927
+ condition: "NM" | "LP" | "MP" | "HP" | "DMG" | undefined;
1928
1928
  /** @enum {string|null} */
1929
- gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | null;
1930
- grade: number | null;
1929
+ gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | undefined;
1930
+ grade: number | undefined;
1931
1931
  };
1932
1932
  dailyStats: {
1933
1933
  /**
@@ -1987,9 +1987,9 @@ interface components {
1987
1987
  technicalName: string;
1988
1988
  pricing: {
1989
1989
  /** @example 149.5 */
1990
- retailPrice: number | null;
1990
+ retailPrice: number | undefined;
1991
1991
  /** @example 149.5 */
1992
- estimatedValue: number | null;
1992
+ estimatedValue: number | undefined;
1993
1993
  shopCount: number;
1994
1994
  pricingDataPoints: number;
1995
1995
  /**
@@ -2024,31 +2024,31 @@ interface components {
2024
2024
  */
2025
2025
  language: "ENG" | "JPN" | "CHI";
2026
2026
  /** @example m6a */
2027
- code: string | null;
2027
+ code: string | undefined;
2028
2028
  /** @example m6a */
2029
- cardCode: string | null;
2029
+ cardCode: string | undefined;
2030
2030
  /** @example Mega Evolution */
2031
- seriesName: string | null;
2031
+ seriesName: string | undefined;
2032
2032
  /**
2033
2033
  * Format: date-time
2034
2034
  * @example 2026-07-15T12:03:29.322Z
2035
2035
  */
2036
- releaseDate: string | null;
2036
+ releaseDate: string | undefined;
2037
2037
  /**
2038
2038
  * @description Absolute asset URL, or null when absent
2039
2039
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
2040
2040
  */
2041
- logoUrl: string | null;
2041
+ logoUrl: string | undefined;
2042
2042
  /**
2043
2043
  * @description Absolute asset URL, or null when absent
2044
2044
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
2045
2045
  */
2046
- symbolUrl: string | null;
2046
+ symbolUrl: string | undefined;
2047
2047
  /**
2048
2048
  * @description Absolute asset URL, or null when absent
2049
2049
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
2050
2050
  */
2051
- imageUrl: string | null;
2051
+ imageUrl: string | undefined;
2052
2052
  };
2053
2053
  buckets: {
2054
2054
  /** @example Double rare */
@@ -2091,7 +2091,7 @@ interface components {
2091
2091
  */
2092
2092
  id: string;
2093
2093
  name: string;
2094
- shortName: string | null;
2094
+ shortName: string | undefined;
2095
2095
  technicalName: string;
2096
2096
  brand: {
2097
2097
  /**
@@ -2115,7 +2115,7 @@ interface components {
2115
2115
  updatedAt: string;
2116
2116
  };
2117
2117
  manufacturer: string;
2118
- modelNumber: string | null;
2118
+ modelNumber: string | undefined;
2119
2119
  category: {
2120
2120
  /**
2121
2121
  * @description Resource identifier
@@ -2126,7 +2126,7 @@ interface components {
2126
2126
  name: string;
2127
2127
  /** @example booster-box */
2128
2128
  technicalName: string;
2129
- } | null;
2129
+ } | undefined;
2130
2130
  expansion: {
2131
2131
  /**
2132
2132
  * @description Resource identifier
@@ -2146,58 +2146,58 @@ interface components {
2146
2146
  */
2147
2147
  language: "ENG" | "JPN" | "CHI";
2148
2148
  /** @example m6a */
2149
- code: string | null;
2149
+ code: string | undefined;
2150
2150
  /** @example m6a */
2151
- cardCode: string | null;
2151
+ cardCode: string | undefined;
2152
2152
  /** @example Mega Evolution */
2153
- seriesName: string | null;
2153
+ seriesName: string | undefined;
2154
2154
  /**
2155
2155
  * Format: date-time
2156
2156
  * @example 2026-07-15T12:03:29.322Z
2157
2157
  */
2158
- releaseDate: string | null;
2158
+ releaseDate: string | undefined;
2159
2159
  /**
2160
2160
  * @description Absolute asset URL, or null when absent
2161
2161
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
2162
2162
  */
2163
- logoUrl: string | null;
2163
+ logoUrl: string | undefined;
2164
2164
  /**
2165
2165
  * @description Absolute asset URL, or null when absent
2166
2166
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
2167
2167
  */
2168
- symbolUrl: string | null;
2168
+ symbolUrl: string | undefined;
2169
2169
  /**
2170
2170
  * @description Absolute asset URL, or null when absent
2171
2171
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
2172
2172
  */
2173
- imageUrl: string | null;
2174
- } | null;
2173
+ imageUrl: string | undefined;
2174
+ } | undefined;
2175
2175
  /**
2176
2176
  * @description Printing language of the item
2177
2177
  * @example JPN
2178
2178
  * @enum {string|null}
2179
2179
  */
2180
- language: "ENG" | "JPN" | "CHI" | null;
2180
+ language: "ENG" | "JPN" | "CHI" | undefined;
2181
2181
  alternativeNames: {
2182
2182
  name: string;
2183
- shortName: string | null;
2183
+ shortName: string | undefined;
2184
2184
  }[];
2185
2185
  supportsMultipackPricing: boolean;
2186
2186
  /**
2187
2187
  * @description Absolute asset URL, or null when absent
2188
2188
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
2189
2189
  */
2190
- imageUrl: string | null;
2190
+ imageUrl: string | undefined;
2191
2191
  /**
2192
2192
  * @description Cheapest current shop price, in SEK
2193
2193
  * @example 149.5
2194
2194
  */
2195
- retailPrice: number | null;
2195
+ retailPrice: number | undefined;
2196
2196
  /**
2197
2197
  * @description Estimated market value, in SEK
2198
2198
  * @example 149.5
2199
2199
  */
2200
- estimatedValue: number | null;
2200
+ estimatedValue: number | undefined;
2201
2201
  /** @description Active shops currently tracking this item */
2202
2202
  shopCount: number;
2203
2203
  /** @description Observations the estimate rests on */
@@ -2206,7 +2206,7 @@ interface components {
2206
2206
  * Format: date-time
2207
2207
  * @example 2026-07-15T12:03:29.322Z
2208
2208
  */
2209
- pricingUpdatedAt: string | null;
2209
+ pricingUpdatedAt: string | undefined;
2210
2210
  /**
2211
2211
  * Format: date-time
2212
2212
  * @example 2026-07-15T12:03:29.322Z
@@ -2219,11 +2219,11 @@ interface components {
2219
2219
  updatedAt: string;
2220
2220
  /** @enum {string} */
2221
2221
  kind: "sealed";
2222
- upc: string | null;
2223
- asin: string | null;
2224
- epid: string | null;
2225
- priceChartingId: string | null;
2226
- prisjaktId: string | null;
2222
+ upc: string | undefined;
2223
+ asin: string | undefined;
2224
+ epid: string | undefined;
2225
+ priceChartingId: string | undefined;
2226
+ prisjaktId: string | undefined;
2227
2227
  lowestShopOffer: {
2228
2228
  shop: {
2229
2229
  /** @example cardlevels */
@@ -2257,8 +2257,8 @@ interface components {
2257
2257
  discountPercent: number;
2258
2258
  /** @enum {string} */
2259
2259
  referenceSource: "retail" | "tradera" | "cardmarket";
2260
- } | null;
2261
- } | null;
2260
+ } | undefined;
2261
+ } | undefined;
2262
2262
  referencePriceSnapshotsByProvider: {
2263
2263
  [key: string]: {
2264
2264
  /** @enum {string} */
@@ -2293,41 +2293,41 @@ interface components {
2293
2293
  name: string;
2294
2294
  /** @example cardlevels */
2295
2295
  technicalName: string;
2296
- websiteUrl: string | null;
2296
+ websiteUrl: string | undefined;
2297
2297
  /**
2298
2298
  * @description Absolute asset URL, or null when absent
2299
2299
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
2300
2300
  */
2301
- logoUrl: string | null;
2302
- description: string | null;
2301
+ logoUrl: string | undefined;
2302
+ description: string | undefined;
2303
2303
  /** @example 149.5 */
2304
- defaultDeliveryCost: number | null;
2304
+ defaultDeliveryCost: number | undefined;
2305
2305
  /**
2306
2306
  * @description ISO-4217, or null
2307
2307
  * @example SEK
2308
2308
  */
2309
- deliveryCurrency: string | null;
2310
- deliveryDaysMin: number | null;
2311
- deliveryDaysMax: number | null;
2309
+ deliveryCurrency: string | undefined;
2310
+ deliveryDaysMin: number | undefined;
2311
+ deliveryDaysMax: number | undefined;
2312
2312
  /** @example 149.5 */
2313
- freeShippingThreshold: number | null;
2313
+ freeShippingThreshold: number | undefined;
2314
2314
  supportsLocalPickup: boolean;
2315
- deliveryNote: string | null;
2315
+ deliveryNote: string | undefined;
2316
2316
  isActive: boolean;
2317
2317
  isTemporarilyClosed: boolean;
2318
2318
  isOptedOut: boolean;
2319
- matchCount: number | null;
2319
+ matchCount: number | undefined;
2320
2320
  /** @description Matches resolved to a catalog item */
2321
- linkedMatchCount: number | null;
2322
- inStockCount: number | null;
2323
- preorderCount: number | null;
2324
- monitorCount: number | null;
2325
- fullyBookedCount: number | null;
2321
+ linkedMatchCount: number | undefined;
2322
+ inStockCount: number | undefined;
2323
+ preorderCount: number | undefined;
2324
+ monitorCount: number | undefined;
2325
+ fullyBookedCount: number | undefined;
2326
2326
  /**
2327
2327
  * Format: date-time
2328
2328
  * @example 2026-07-15T12:03:29.322Z
2329
2329
  */
2330
- lastMatchedAt: string | null;
2330
+ lastMatchedAt: string | undefined;
2331
2331
  /**
2332
2332
  * Format: date-time
2333
2333
  * @example 2026-07-15T12:03:29.322Z
@@ -2343,13 +2343,13 @@ interface components {
2343
2343
  shop: {
2344
2344
  technicalName: string;
2345
2345
  name: string;
2346
- logoUrl: string | null;
2347
- websiteUrl: string | null;
2348
- description: string | null;
2346
+ logoUrl: string | undefined;
2347
+ websiteUrl: string | undefined;
2348
+ description: string | undefined;
2349
2349
  isActive: boolean;
2350
2350
  isTemporarilyClosed: boolean;
2351
2351
  isOptedOut: boolean;
2352
- deliveryNote: string | null;
2352
+ deliveryNote: string | undefined;
2353
2353
  };
2354
2354
  matchCount: number;
2355
2355
  /** @description Matches resolved to a catalog item */
@@ -2362,7 +2362,7 @@ interface components {
2362
2362
  * Format: date-time
2363
2363
  * @example 2026-07-15T12:03:29.322Z
2364
2364
  */
2365
- lastMatchedAt: string | null;
2365
+ lastMatchedAt: string | undefined;
2366
2366
  };
2367
2367
  ShopMatchWithItem: {
2368
2368
  /**
@@ -2381,29 +2381,29 @@ interface components {
2381
2381
  * @description Resource identifier
2382
2382
  * @example 6a577711abc1ce71383d3e10
2383
2383
  */
2384
- shopUrlId: string | null;
2384
+ shopUrlId: string | undefined;
2385
2385
  /** @example 149.5 */
2386
- price: number | null;
2386
+ price: number | undefined;
2387
2387
  /**
2388
2388
  * @description ISO-4217 currency code
2389
2389
  * @example SEK
2390
2390
  */
2391
- currency: string | null;
2391
+ currency: string | undefined;
2392
2392
  inStock: boolean;
2393
2393
  inPreorder: boolean;
2394
2394
  inMonitor: boolean;
2395
2395
  isFullyBooked: boolean;
2396
- scrapedName: string | null;
2397
- scrapedType: string | null;
2398
- matchScore: number | null;
2396
+ scrapedName: string | undefined;
2397
+ scrapedType: string | undefined;
2398
+ matchScore: number | undefined;
2399
2399
  hasCategoryMismatch: boolean;
2400
2400
  /** @enum {string|null} */
2401
- cardType: "loose" | "graded" | null;
2401
+ cardType: "loose" | "graded" | undefined;
2402
2402
  /** @enum {string|null} */
2403
- itemCondition: "NM" | "LP" | "MP" | "HP" | "DMG" | null;
2403
+ itemCondition: "NM" | "LP" | "MP" | "HP" | "DMG" | undefined;
2404
2404
  /** @enum {string|null} */
2405
- gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | null;
2406
- grade: number | null;
2405
+ gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | undefined;
2406
+ grade: number | undefined;
2407
2407
  item: {
2408
2408
  /**
2409
2409
  * @description Resource identifier
@@ -2413,13 +2413,13 @@ interface components {
2413
2413
  /** @enum {string} */
2414
2414
  kind: "card" | "sealed";
2415
2415
  name: string;
2416
- shortName: string | null;
2416
+ shortName: string | undefined;
2417
2417
  technicalName: string;
2418
- cardNumber: string | null;
2419
- imageUrl: string | null;
2420
- language: string | null;
2421
- priceChartingId: string | null;
2422
- } | null;
2418
+ cardNumber: string | undefined;
2419
+ imageUrl: string | undefined;
2420
+ language: string | undefined;
2421
+ priceChartingId: string | undefined;
2422
+ } | undefined;
2423
2423
  expansion: {
2424
2424
  /**
2425
2425
  * @description Resource identifier
@@ -2439,32 +2439,32 @@ interface components {
2439
2439
  */
2440
2440
  language: "ENG" | "JPN" | "CHI";
2441
2441
  /** @example m6a */
2442
- code: string | null;
2442
+ code: string | undefined;
2443
2443
  /** @example m6a */
2444
- cardCode: string | null;
2444
+ cardCode: string | undefined;
2445
2445
  /** @example Mega Evolution */
2446
- seriesName: string | null;
2446
+ seriesName: string | undefined;
2447
2447
  /**
2448
2448
  * Format: date-time
2449
2449
  * @example 2026-07-15T12:03:29.322Z
2450
2450
  */
2451
- releaseDate: string | null;
2451
+ releaseDate: string | undefined;
2452
2452
  /**
2453
2453
  * @description Absolute asset URL, or null when absent
2454
2454
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
2455
2455
  */
2456
- logoUrl: string | null;
2456
+ logoUrl: string | undefined;
2457
2457
  /**
2458
2458
  * @description Absolute asset URL, or null when absent
2459
2459
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
2460
2460
  */
2461
- symbolUrl: string | null;
2461
+ symbolUrl: string | undefined;
2462
2462
  /**
2463
2463
  * @description Absolute asset URL, or null when absent
2464
2464
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
2465
2465
  */
2466
- imageUrl: string | null;
2467
- } | null;
2466
+ imageUrl: string | undefined;
2467
+ } | undefined;
2468
2468
  category: {
2469
2469
  /**
2470
2470
  * @description Resource identifier
@@ -2475,7 +2475,7 @@ interface components {
2475
2475
  name: string;
2476
2476
  /** @example booster-box */
2477
2477
  technicalName: string;
2478
- } | null;
2478
+ } | undefined;
2479
2479
  /**
2480
2480
  * Format: date-time
2481
2481
  * @example 2026-07-15T12:03:29.322Z
@@ -2490,20 +2490,20 @@ interface components {
2490
2490
  discountPercent: number;
2491
2491
  /** @enum {string} */
2492
2492
  referenceSource: "retail" | "tradera" | "cardmarket";
2493
- } | null;
2493
+ } | undefined;
2494
2494
  };
2495
2495
  ShopMatchesForShop: {
2496
2496
  shop: {
2497
2497
  technicalName: string;
2498
2498
  name: string;
2499
- logoUrl: string | null;
2500
- websiteUrl: string | null;
2501
- description: string | null;
2499
+ logoUrl: string | undefined;
2500
+ websiteUrl: string | undefined;
2501
+ description: string | undefined;
2502
2502
  isActive: boolean;
2503
2503
  isTemporarilyClosed: boolean;
2504
2504
  isOptedOut: boolean;
2505
- deliveryNote: string | null;
2506
- } | null;
2505
+ deliveryNote: string | undefined;
2506
+ } | undefined;
2507
2507
  data: {
2508
2508
  /**
2509
2509
  * @description Resource identifier
@@ -2521,29 +2521,29 @@ interface components {
2521
2521
  * @description Resource identifier
2522
2522
  * @example 6a577711abc1ce71383d3e10
2523
2523
  */
2524
- shopUrlId: string | null;
2524
+ shopUrlId: string | undefined;
2525
2525
  /** @example 149.5 */
2526
- price: number | null;
2526
+ price: number | undefined;
2527
2527
  /**
2528
2528
  * @description ISO-4217 currency code
2529
2529
  * @example SEK
2530
2530
  */
2531
- currency: string | null;
2531
+ currency: string | undefined;
2532
2532
  inStock: boolean;
2533
2533
  inPreorder: boolean;
2534
2534
  inMonitor: boolean;
2535
2535
  isFullyBooked: boolean;
2536
- scrapedName: string | null;
2537
- scrapedType: string | null;
2538
- matchScore: number | null;
2536
+ scrapedName: string | undefined;
2537
+ scrapedType: string | undefined;
2538
+ matchScore: number | undefined;
2539
2539
  hasCategoryMismatch: boolean;
2540
2540
  /** @enum {string|null} */
2541
- cardType: "loose" | "graded" | null;
2541
+ cardType: "loose" | "graded" | undefined;
2542
2542
  /** @enum {string|null} */
2543
- itemCondition: "NM" | "LP" | "MP" | "HP" | "DMG" | null;
2543
+ itemCondition: "NM" | "LP" | "MP" | "HP" | "DMG" | undefined;
2544
2544
  /** @enum {string|null} */
2545
- gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | null;
2546
- grade: number | null;
2545
+ gradingCompany: "PSA" | "BGS" | "CGC" | "SGC" | "ACE" | "RAUKCARD" | "TAG" | "GMA" | undefined;
2546
+ grade: number | undefined;
2547
2547
  item: {
2548
2548
  /**
2549
2549
  * @description Resource identifier
@@ -2553,13 +2553,13 @@ interface components {
2553
2553
  /** @enum {string} */
2554
2554
  kind: "card" | "sealed";
2555
2555
  name: string;
2556
- shortName: string | null;
2556
+ shortName: string | undefined;
2557
2557
  technicalName: string;
2558
- cardNumber: string | null;
2559
- imageUrl: string | null;
2560
- language: string | null;
2561
- priceChartingId: string | null;
2562
- } | null;
2558
+ cardNumber: string | undefined;
2559
+ imageUrl: string | undefined;
2560
+ language: string | undefined;
2561
+ priceChartingId: string | undefined;
2562
+ } | undefined;
2563
2563
  expansion: {
2564
2564
  /**
2565
2565
  * @description Resource identifier
@@ -2579,32 +2579,32 @@ interface components {
2579
2579
  */
2580
2580
  language: "ENG" | "JPN" | "CHI";
2581
2581
  /** @example m6a */
2582
- code: string | null;
2582
+ code: string | undefined;
2583
2583
  /** @example m6a */
2584
- cardCode: string | null;
2584
+ cardCode: string | undefined;
2585
2585
  /** @example Mega Evolution */
2586
- seriesName: string | null;
2586
+ seriesName: string | undefined;
2587
2587
  /**
2588
2588
  * Format: date-time
2589
2589
  * @example 2026-07-15T12:03:29.322Z
2590
2590
  */
2591
- releaseDate: string | null;
2591
+ releaseDate: string | undefined;
2592
2592
  /**
2593
2593
  * @description Absolute asset URL, or null when absent
2594
2594
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
2595
2595
  */
2596
- logoUrl: string | null;
2596
+ logoUrl: string | undefined;
2597
2597
  /**
2598
2598
  * @description Absolute asset URL, or null when absent
2599
2599
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
2600
2600
  */
2601
- symbolUrl: string | null;
2601
+ symbolUrl: string | undefined;
2602
2602
  /**
2603
2603
  * @description Absolute asset URL, or null when absent
2604
2604
  * @example https://ik.imagekit.io/xgtytqdnv/expansions/example-image.webp
2605
2605
  */
2606
- imageUrl: string | null;
2607
- } | null;
2606
+ imageUrl: string | undefined;
2607
+ } | undefined;
2608
2608
  category: {
2609
2609
  /**
2610
2610
  * @description Resource identifier
@@ -2615,7 +2615,7 @@ interface components {
2615
2615
  name: string;
2616
2616
  /** @example booster-box */
2617
2617
  technicalName: string;
2618
- } | null;
2618
+ } | undefined;
2619
2619
  /**
2620
2620
  * Format: date-time
2621
2621
  * @example 2026-07-15T12:03:29.322Z
@@ -2630,7 +2630,7 @@ interface components {
2630
2630
  discountPercent: number;
2631
2631
  /** @enum {string} */
2632
2632
  referenceSource: "retail" | "tradera" | "cardmarket";
2633
- } | null;
2633
+ } | undefined;
2634
2634
  }[];
2635
2635
  pagination: {
2636
2636
  /** @description Total matching records, ignoring pagination */
@@ -2668,12 +2668,12 @@ interface components {
2668
2668
  url: string;
2669
2669
  }[];
2670
2670
  /** @example 149.5 */
2671
- latestPrice: number | null;
2671
+ latestPrice: number | undefined;
2672
2672
  /**
2673
2673
  * Format: date-time
2674
2674
  * @example 2026-07-15T12:03:29.322Z
2675
2675
  */
2676
- latestDate: string | null;
2676
+ latestDate: string | undefined;
2677
2677
  }[];
2678
2678
  itemCount: number;
2679
2679
  };
@@ -2686,7 +2686,7 @@ interface components {
2686
2686
  */
2687
2687
  id: string;
2688
2688
  url: string;
2689
- shop: string | null;
2689
+ shop: string | undefined;
2690
2690
  /** @enum {string} */
2691
2691
  status: "pending" | "active" | "invalid" | "rejected" | "sanityRejected";
2692
2692
  /** @enum {string} */
@@ -2695,29 +2695,29 @@ interface components {
2695
2695
  * @description Resource identifier
2696
2696
  * @example 6a577711abc1ce71383d3e10
2697
2697
  */
2698
- itemId: string | null;
2698
+ itemId: string | undefined;
2699
2699
  /** @enum {string|null} */
2700
- itemKind: "card" | "sealed" | null;
2700
+ itemKind: "card" | "sealed" | undefined;
2701
2701
  lockedItem: boolean;
2702
- priceChartingId: string | null;
2703
- scrapedName: string | null;
2704
- matchScore: number | null;
2702
+ priceChartingId: string | undefined;
2703
+ scrapedName: string | undefined;
2704
+ matchScore: number | undefined;
2705
2705
  /**
2706
2706
  * Format: date-time
2707
2707
  * @example 2026-07-15T12:03:29.322Z
2708
2708
  */
2709
- lastMatchedAt: string | null;
2709
+ lastMatchedAt: string | undefined;
2710
2710
  /**
2711
2711
  * @description Resource identifier
2712
2712
  * @example 6a577711abc1ce71383d3e10
2713
2713
  */
2714
- expansionId: string | null;
2714
+ expansionId: string | undefined;
2715
2715
  /**
2716
2716
  * @description Resource identifier
2717
2717
  * @example 6a577711abc1ce71383d3e10
2718
2718
  */
2719
- categoryId: string | null;
2720
- submittedByUserId: string | null;
2719
+ categoryId: string | undefined;
2720
+ submittedByUserId: string | undefined;
2721
2721
  /**
2722
2722
  * Format: date-time
2723
2723
  * @example 2026-07-15T12:03:29.322Z
@@ -2736,7 +2736,7 @@ interface components {
2736
2736
  * @example 6a577711abc1ce71383d3e10
2737
2737
  */
2738
2738
  id: string;
2739
- slug: string | null;
2739
+ slug: string | undefined;
2740
2740
  shopMatchCount: number;
2741
2741
  };
2742
2742
  };
@@ -2829,7 +2829,7 @@ type ExpansionContents = components['schemas']['ExpansionContents'];
2829
2829
  type ShopMatchWithItemSchema = components['schemas']['ShopMatchWithItem'];
2830
2830
  type ItemShopMatchSchema = components['schemas']['ItemShopMatches']['data'][number];
2831
2831
  /** A shop tracked by tcgpriser, as returned by `client.shops.list()` / `client.shops.get()`. The
2832
- * `*Count` fields are `null` when the shop has never had a match computed (rather than `0`, which
2832
+ * `*Count` fields are `undefined` when the shop has never had a match computed (rather than `0`, which
2833
2833
  * would mean "matched, currently empty"). */
2834
2834
  type Shop = components['schemas']['Shop'];
2835
2835
  /** The lighter shop shape embedded in shop-match responses: a subset of `Shop`, no id or delivery
@@ -2944,7 +2944,7 @@ type ShopPriceHistoryList = components['schemas']['ShopPriceHistoryList'];
2944
2944
  type ShopPriceComparisonRow = components['schemas']['ItemPriceComparison']['items'][number];
2945
2945
  type ShopPriceComparisonStats = NonNullable<components['schemas']['ItemPriceComparison']['stats']>;
2946
2946
  /** Response of `client.shopMatchStats.compare()`: one product's price at every shop that carries
2947
- * it, as of one date. `stats` is `null` when no shop had a price on that date. */
2947
+ * it, as of one date. `stats` is `undefined` when no shop had a price on that date. */
2948
2948
  type ItemPriceComparison = components['schemas']['ItemPriceComparison'];
2949
2949
  type ShopUrlStatus = components['schemas']['ShopUrlMutationResult']['shopUrl']['status'];
2950
2950
  type ShopUrlDiscoveredBy = components['schemas']['ShopUrlMutationResult']['shopUrl']['discoveredBy'];