@asstio-dev/storefront 0.7.0 → 0.11.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/src/schema.d.ts CHANGED
@@ -4,6 +4,40 @@
4
4
  */
5
5
 
6
6
  export interface paths {
7
+ "/v1/brands": {
8
+ parameters: {
9
+ query?: never;
10
+ header?: never;
11
+ path?: never;
12
+ cookie?: never;
13
+ };
14
+ /** Brands with a page on this market (some product of the brand is sold here), by name. Empty when the site has no brand facet or the market no brand URL pattern. productCount counts product families with a variant of the brand sold here. */
15
+ get: operations["ListBrands"];
16
+ put?: never;
17
+ post?: never;
18
+ delete?: never;
19
+ options?: never;
20
+ head?: never;
21
+ patch?: never;
22
+ trace?: never;
23
+ };
24
+ "/v1/brands/{slugOrId}": {
25
+ parameters: {
26
+ query?: never;
27
+ header?: never;
28
+ path?: never;
29
+ cookie?: never;
30
+ };
31
+ /** A brand page's data by current slug, historical slug or id: name, description, logo, website, the brand's default responsible parties and the facet link for its listing. redirectTo is set for a historical slug. */
32
+ get: operations["GetBrand"];
33
+ put?: never;
34
+ post?: never;
35
+ delete?: never;
36
+ options?: never;
37
+ head?: never;
38
+ patch?: never;
39
+ trace?: never;
40
+ };
7
41
  "/v1/cart": {
8
42
  parameters: {
9
43
  query?: never;
@@ -85,6 +119,54 @@ export interface paths {
85
119
  patch?: never;
86
120
  trace?: never;
87
121
  };
122
+ "/v1/checkout": {
123
+ parameters: {
124
+ query?: never;
125
+ header?: never;
126
+ path?: never;
127
+ cookie?: never;
128
+ };
129
+ get?: never;
130
+ put?: never;
131
+ post: operations["StartCheckout"];
132
+ delete?: never;
133
+ options?: never;
134
+ head?: never;
135
+ patch?: never;
136
+ trace?: never;
137
+ };
138
+ "/v1/checkout/{attemptId}": {
139
+ parameters: {
140
+ query?: never;
141
+ header?: never;
142
+ path?: never;
143
+ cookie?: never;
144
+ };
145
+ get: operations["GetCheckout"];
146
+ put?: never;
147
+ post?: never;
148
+ delete?: never;
149
+ options?: never;
150
+ head?: never;
151
+ patch?: never;
152
+ trace?: never;
153
+ };
154
+ "/v1/checkout/{attemptId}/complete": {
155
+ parameters: {
156
+ query?: never;
157
+ header?: never;
158
+ path?: never;
159
+ cookie?: never;
160
+ };
161
+ get?: never;
162
+ put?: never;
163
+ post: operations["CompleteCheckout"];
164
+ delete?: never;
165
+ options?: never;
166
+ head?: never;
167
+ patch?: never;
168
+ trace?: never;
169
+ };
88
170
  "/v1/collections": {
89
171
  parameters: {
90
172
  query?: never;
@@ -119,6 +201,38 @@ export interface paths {
119
201
  patch?: never;
120
202
  trace?: never;
121
203
  };
204
+ "/v1/consumers/erasure": {
205
+ parameters: {
206
+ query?: never;
207
+ header?: never;
208
+ path?: never;
209
+ cookie?: never;
210
+ };
211
+ get?: never;
212
+ put?: never;
213
+ post: operations["RequestErasure"];
214
+ delete?: never;
215
+ options?: never;
216
+ head?: never;
217
+ patch?: never;
218
+ trace?: never;
219
+ };
220
+ "/v1/orders/{orderId}": {
221
+ parameters: {
222
+ query?: never;
223
+ header?: never;
224
+ path?: never;
225
+ cookie?: never;
226
+ };
227
+ get: operations["GetOrder"];
228
+ put?: never;
229
+ post?: never;
230
+ delete?: never;
231
+ options?: never;
232
+ head?: never;
233
+ patch?: never;
234
+ trace?: never;
235
+ };
122
236
  "/v1/products": {
123
237
  parameters: {
124
238
  query?: never;
@@ -245,7 +359,7 @@ export interface paths {
245
359
  path?: never;
246
360
  cookie?: never;
247
361
  };
248
- /** Ids, slugs, URLs and lastmod for sitemap.xml and selective revalidation. type=product|collection, ?since= is inclusive. */
362
+ /** Ids, slugs, URLs and lastmod for sitemap.xml and selective revalidation. type=product|collection|brand, ?since= is inclusive. */
249
363
  get: operations["GetSitemap"];
250
364
  put?: never;
251
365
  post?: never;
@@ -264,6 +378,15 @@ export interface components {
264
378
  quantity: number | string;
265
379
  sku: string;
266
380
  };
381
+ AddressDto: {
382
+ city: null | string;
383
+ co: null | string;
384
+ country: string;
385
+ name: null | string;
386
+ postalCode: null | string;
387
+ street: null | string;
388
+ street2: null | string;
389
+ };
267
390
  AppliedFilterDto: {
268
391
  facet: string;
269
392
  label: string;
@@ -279,9 +402,50 @@ export interface components {
279
402
  valueKeys: string[] | null;
280
403
  values: string[] | null;
281
404
  };
405
+ BrandDetailDto: {
406
+ alternateUrls: {
407
+ [key: string]: string;
408
+ };
409
+ description: null | components["schemas"]["DescriptionDto"];
410
+ facet: null | components["schemas"]["FacetLinkDto"];
411
+ id: string;
412
+ logo: null | components["schemas"]["MediaDescriptorDto"];
413
+ name: string;
414
+ /** Format: int64 */
415
+ productCount: number | string;
416
+ redirectTo: null | string;
417
+ responsible: components["schemas"]["ResponsibleDto"];
418
+ slug: string;
419
+ /** Format: date-time */
420
+ updatedAt: string;
421
+ url: string;
422
+ websiteUrl: null | string;
423
+ };
282
424
  BrandDto: {
283
425
  facet: null | components["schemas"]["FacetLinkDto"];
426
+ id?: null | string;
284
427
  label: string;
428
+ logo?: null | components["schemas"]["MediaDescriptorDto"];
429
+ slug?: null | string;
430
+ url?: null | string;
431
+ };
432
+ BrandListItemDto: {
433
+ id: string;
434
+ logo: null | components["schemas"]["MediaDescriptorDto"];
435
+ name: string;
436
+ /** Format: int64 */
437
+ productCount: number | string;
438
+ slug: string;
439
+ url: string;
440
+ };
441
+ BrandPageDto: {
442
+ items: components["schemas"]["BrandListItemDto"][];
443
+ /** Format: int32 */
444
+ page: number | string;
445
+ /** Format: int32 */
446
+ pageSize: number | string;
447
+ /** Format: int64 */
448
+ total: number | string;
285
449
  };
286
450
  BundleComponentDto: {
287
451
  product: components["schemas"]["ProductCardDto"];
@@ -335,6 +499,88 @@ export interface components {
335
499
  name: string;
336
500
  pathNames: string[];
337
501
  };
502
+ CheckoutCartDto: {
503
+ currency: string;
504
+ grandTotalInc: string;
505
+ lines: components["schemas"]["CheckoutCartLineDto"][];
506
+ subtotalInc: string;
507
+ /** Format: int32 */
508
+ version: number | string;
509
+ };
510
+ CheckoutCartLineDto: {
511
+ image: null | components["schemas"]["MediaDescriptorDto"];
512
+ lineTotalInc: string;
513
+ name: string;
514
+ options: {
515
+ [key: string]: string;
516
+ };
517
+ productId: string;
518
+ /** Format: int32 */
519
+ quantity: number | string;
520
+ sku: string;
521
+ unitPriceInc: string;
522
+ variantId: string;
523
+ vatRate: string;
524
+ };
525
+ CheckoutDto: {
526
+ attemptId: string;
527
+ cart: components["schemas"]["CheckoutCartDto"];
528
+ /** Format: int32 */
529
+ cartVersion: number | string;
530
+ changed: boolean;
531
+ /** Format: date-time */
532
+ expiresAt: string;
533
+ /** Format: int32 */
534
+ expiresInSeconds: number | string;
535
+ family: string;
536
+ option: string;
537
+ order: null | components["schemas"]["CheckoutOrderRefDto"];
538
+ payment: null | components["schemas"]["CheckoutPaymentDto"];
539
+ provider: string;
540
+ status: string;
541
+ test: boolean;
542
+ warnings: components["schemas"]["WarningDto"][];
543
+ widget: null | components["schemas"]["CheckoutWidgetDto"];
544
+ };
545
+ CheckoutOptionDto: {
546
+ family: string;
547
+ key: string;
548
+ label: {
549
+ [key: string]: string;
550
+ };
551
+ provider: string;
552
+ test: boolean;
553
+ };
554
+ CheckoutOrderRefDto: {
555
+ accessToken: null | string;
556
+ id: string;
557
+ orderNumber: null | string;
558
+ /** Format: date-time */
559
+ placedAt: string;
560
+ reference: string;
561
+ };
562
+ CheckoutPaymentDto: {
563
+ clientSecret: null | string;
564
+ kind: string;
565
+ url: null | string;
566
+ };
567
+ CheckoutStatusDto: {
568
+ attemptId: string;
569
+ order: null | components["schemas"]["CheckoutOrderRefDto"];
570
+ paymentStatus: null | string;
571
+ status: string;
572
+ widget: null | components["schemas"]["CheckoutWidgetDto"];
573
+ };
574
+ CheckoutWidgetDto: {
575
+ attributes: null | {
576
+ [key: string]: string;
577
+ };
578
+ controller: string;
579
+ html: null | string;
580
+ kind: string;
581
+ scriptUrl: null | string;
582
+ token: null | string;
583
+ };
338
584
  CollectionCrumbDto: {
339
585
  id: string;
340
586
  name: string;
@@ -369,6 +615,9 @@ export interface components {
369
615
  html: string;
370
616
  text: string;
371
617
  };
618
+ ErasureRequest: {
619
+ email: string;
620
+ };
372
621
  FacetDto: {
373
622
  collapsed: boolean;
374
623
  help: null | string;
@@ -415,7 +664,13 @@ export interface components {
415
664
  total: number | string;
416
665
  warnings: components["schemas"]["WarningDto"][];
417
666
  };
667
+ MarketCheckoutDto: {
668
+ available: boolean;
669
+ defaultOption: null | string;
670
+ options: components["schemas"]["CheckoutOptionDto"][];
671
+ };
418
672
  MarketDto: {
673
+ checkout: components["schemas"]["MarketCheckoutDto"];
419
674
  code: string;
420
675
  country: string;
421
676
  currency: string;
@@ -508,6 +763,61 @@ export interface components {
508
763
  name: string;
509
764
  values: string[];
510
765
  };
766
+ OrderDto: {
767
+ billingAddress: components["schemas"]["AddressDto"];
768
+ currency: string;
769
+ deliveryAddress: components["schemas"]["AddressDto"];
770
+ email: string;
771
+ id: string;
772
+ lines: components["schemas"]["OrderLineDto"][];
773
+ market: string;
774
+ orderNumber: null | string;
775
+ /** Format: date-time */
776
+ placedAt: string;
777
+ reference: string;
778
+ status: components["schemas"]["OrderStatusDto"];
779
+ test: boolean;
780
+ totals: components["schemas"]["OrderTotalsDto"];
781
+ tracking: components["schemas"]["TrackingDto"][];
782
+ };
783
+ OrderLineDto: {
784
+ id: string;
785
+ lineTotalInc: string;
786
+ name: string;
787
+ options: {
788
+ [key: string]: string;
789
+ };
790
+ productId: null | string;
791
+ /** Format: int32 */
792
+ quantity: number | string;
793
+ sku: string;
794
+ type: string;
795
+ unitPriceInc: string;
796
+ variantId: null | string;
797
+ vatRate: string;
798
+ };
799
+ OrderStatusDto: {
800
+ fulfilment: string;
801
+ order: string;
802
+ payment: string;
803
+ };
804
+ OrderTotalsDto: {
805
+ customerPayable: null | string;
806
+ gross: string;
807
+ vat: components["schemas"]["VatAmountDto"][];
808
+ };
809
+ PartyDto: {
810
+ city: null | string;
811
+ countryCode: string;
812
+ email: null | string;
813
+ legalName: string;
814
+ name: string;
815
+ phone: null | string;
816
+ postalCode: null | string;
817
+ region: null | string;
818
+ street: null | string;
819
+ url: null | string;
820
+ };
511
821
  PriceDto: {
512
822
  amount: string;
513
823
  compareAt: null | string;
@@ -550,6 +860,7 @@ export interface components {
550
860
  options: components["schemas"]["OptionDto"][];
551
861
  redirectTo: null | string;
552
862
  related: components["schemas"]["RelatedGroupDto"][];
863
+ responsible: components["schemas"]["ResponsibleDto"];
553
864
  seo: components["schemas"]["SeoDto"];
554
865
  shortDescription: null | string;
555
866
  sku: string;
@@ -579,6 +890,11 @@ export interface components {
579
890
  label: string;
580
891
  products: components["schemas"]["ProductCardDto"][];
581
892
  };
893
+ ResponsibleDto: {
894
+ euResponsiblePerson: null | components["schemas"]["PartyDto"];
895
+ importer: null | components["schemas"]["PartyDto"];
896
+ manufacturer: null | components["schemas"]["PartyDto"];
897
+ };
582
898
  SeoDto: {
583
899
  description: null | string;
584
900
  title: string;
@@ -624,6 +940,10 @@ export interface components {
624
940
  key: string;
625
941
  label: string;
626
942
  };
943
+ StartCheckoutRequest: {
944
+ option: null | string;
945
+ returnOrigin: null | string;
946
+ };
627
947
  /**
628
948
  * Problem
629
949
  * @description RFC 9457 problem document. Branch on `code`: it is stable, unlike `title` and `detail`.
@@ -668,6 +988,11 @@ export interface components {
668
988
  color: null | string;
669
989
  image: null | components["schemas"]["MediaDescriptorDto"];
670
990
  };
991
+ TrackingDto: {
992
+ carrier: string;
993
+ number: string;
994
+ url: null | string;
995
+ };
671
996
  UpdateCartLineRequest: {
672
997
  /** Format: int32 */
673
998
  quantity: number | string;
@@ -677,12 +1002,14 @@ export interface components {
677
1002
  product: string;
678
1003
  };
679
1004
  VariantDto: {
1005
+ brand: null | components["schemas"]["BrandDto"];
680
1006
  hasOwnImages: boolean;
681
1007
  id: string;
682
1008
  image: null | components["schemas"]["MediaDescriptorDto"];
683
1009
  images: components["schemas"]["MediaDescriptorDto"][];
684
1010
  inStock: boolean;
685
1011
  price: null | components["schemas"]["PriceDto"];
1012
+ responsible: components["schemas"]["ResponsibleDto"];
686
1013
  selectedOptions: {
687
1014
  [key: string]: string;
688
1015
  };
@@ -707,6 +1034,10 @@ export interface components {
707
1034
  /** Format: int64 */
708
1035
  total: number | string;
709
1036
  };
1037
+ VatAmountDto: {
1038
+ amount: string;
1039
+ rate: string;
1040
+ };
710
1041
  WarningDto: {
711
1042
  code: string;
712
1043
  lineId?: null | string;
@@ -722,9 +1053,14 @@ export interface components {
722
1053
  }
723
1054
  export type $defs = Record<string, never>;
724
1055
  export interface operations {
725
- GetCart: {
1056
+ ListBrands: {
726
1057
  parameters: {
727
- query?: never;
1058
+ query?: {
1059
+ /** @description 1-based page. page × pageSize must not exceed 10000 (default pageSize 100, max 1000). */
1060
+ page?: number;
1061
+ /** @description Items per page, 1–1000. Out of range is a 400 with code INVALID_PAGE. */
1062
+ pageSize?: number;
1063
+ };
728
1064
  header: {
729
1065
  /** @description Publishable, preview or secret site key. Required on every request; secret keys are server-side only. */
730
1066
  "X-Site-Key": string;
@@ -732,8 +1068,6 @@ export interface operations {
732
1068
  "X-Market"?: string;
733
1069
  /** @description BCP-47 language tag. Omit to use the market's language. */
734
1070
  "Accept-Language"?: string;
735
- /** @description The bearer token returned by POST /v1/cart. Identifies which cart this request reads or mutates. */
736
- "X-Cart-Token": string;
737
1071
  };
738
1072
  path?: never;
739
1073
  cookie?: never;
@@ -746,10 +1080,10 @@ export interface operations {
746
1080
  [name: string]: unknown;
747
1081
  };
748
1082
  content: {
749
- "application/json": components["schemas"]["CartDto"];
1083
+ "application/json": components["schemas"]["BrandPageDto"];
750
1084
  };
751
1085
  };
752
- /** @description problem+json. NOT_FOUND (X-Cart-Token missing). */
1086
+ /** @description problem+json. MARKET_UNKNOWN (no such market on this site) or INVALID_PAGE. */
753
1087
  400: {
754
1088
  headers: {
755
1089
  [name: string]: unknown;
@@ -785,15 +1119,6 @@ export interface operations {
785
1119
  "application/problem+json": components["schemas"]["StorefrontProblem"];
786
1120
  };
787
1121
  };
788
- /** @description problem+json. CART_EXPIRED: this cart token belongs to an expired cart. */
789
- 410: {
790
- headers: {
791
- [name: string]: unknown;
792
- };
793
- content: {
794
- "application/problem+json": components["schemas"]["StorefrontProblem"];
795
- };
796
- };
797
1122
  /** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
798
1123
  429: {
799
1124
  headers: {
@@ -814,7 +1139,7 @@ export interface operations {
814
1139
  };
815
1140
  };
816
1141
  };
817
- CreateCart: {
1142
+ GetBrand: {
818
1143
  parameters: {
819
1144
  query?: never;
820
1145
  header: {
@@ -825,7 +1150,9 @@ export interface operations {
825
1150
  /** @description BCP-47 language tag. Omit to use the market's language. */
826
1151
  "Accept-Language"?: string;
827
1152
  };
828
- path?: never;
1153
+ path: {
1154
+ slugOrId: string;
1155
+ };
829
1156
  cookie?: never;
830
1157
  };
831
1158
  requestBody?: never;
@@ -836,7 +1163,7 @@ export interface operations {
836
1163
  [name: string]: unknown;
837
1164
  };
838
1165
  content: {
839
- "application/json": components["schemas"]["CartDto"];
1166
+ "application/json": components["schemas"]["BrandDetailDto"];
840
1167
  };
841
1168
  };
842
1169
  /** @description problem+json. MARKET_UNKNOWN (no such market on this site) or INVALID_PAGE. */
@@ -866,7 +1193,7 @@ export interface operations {
866
1193
  "application/problem+json": components["schemas"]["StorefrontProblem"];
867
1194
  };
868
1195
  };
869
- /** @description problem+json. SITE_INACTIVE, or NOT_FOUND for an unrouted path. */
1196
+ /** @description problem+json. BRAND_NOT_FOUND, or SITE_INACTIVE when the site itself is not live. */
870
1197
  404: {
871
1198
  headers: {
872
1199
  [name: string]: unknown;
@@ -895,7 +1222,7 @@ export interface operations {
895
1222
  };
896
1223
  };
897
1224
  };
898
- AddCartLine: {
1225
+ GetCart: {
899
1226
  parameters: {
900
1227
  query?: never;
901
1228
  header: {
@@ -907,19 +1234,11 @@ export interface operations {
907
1234
  "Accept-Language"?: string;
908
1235
  /** @description The bearer token returned by POST /v1/cart. Identifies which cart this request reads or mutates. */
909
1236
  "X-Cart-Token": string;
910
- /** @description An opaque client-chosen key. Replaying the exact same add with the same key is a no-op (the line's quantity is not added twice); a different key, or none, tops the existing line up like any other add. */
911
- "Idempotency-Key"?: string;
912
- /** @description The cart's current version, as returned in the ETag header. When present and stale, the mutation is rejected with 409 CART_CONFLICT instead of being applied last-write-wins. */
913
- "If-Match"?: string;
914
1237
  };
915
1238
  path?: never;
916
1239
  cookie?: never;
917
1240
  };
918
- requestBody: {
919
- content: {
920
- "application/json": components["schemas"]["AddCartLineRequest"];
921
- };
922
- };
1241
+ requestBody?: never;
923
1242
  responses: {
924
1243
  /** @description OK */
925
1244
  200: {
@@ -930,7 +1249,7 @@ export interface operations {
930
1249
  "application/json": components["schemas"]["CartDto"];
931
1250
  };
932
1251
  };
933
- /** @description problem+json. NOT_FOUND (X-Cart-Token missing), INVALID_QUANTITY, or CART_FULL. */
1252
+ /** @description problem+json. NOT_FOUND (X-Cart-Token missing). */
934
1253
  400: {
935
1254
  headers: {
936
1255
  [name: string]: unknown;
@@ -966,15 +1285,6 @@ export interface operations {
966
1285
  "application/problem+json": components["schemas"]["StorefrontProblem"];
967
1286
  };
968
1287
  };
969
- /** @description problem+json. CART_CONFLICT (stale If-Match), STOCK_INSUFFICIENT, or PRODUCT_GONE. */
970
- 409: {
971
- headers: {
972
- [name: string]: unknown;
973
- };
974
- content: {
975
- "application/problem+json": components["schemas"]["StorefrontProblem"];
976
- };
977
- };
978
1288
  /** @description problem+json. CART_EXPIRED: this cart token belongs to an expired cart. */
979
1289
  410: {
980
1290
  headers: {
@@ -1004,7 +1314,7 @@ export interface operations {
1004
1314
  };
1005
1315
  };
1006
1316
  };
1007
- RemoveCartLine: {
1317
+ CreateCart: {
1008
1318
  parameters: {
1009
1319
  query?: never;
1010
1320
  header: {
@@ -1014,14 +1324,8 @@ export interface operations {
1014
1324
  "X-Market"?: string;
1015
1325
  /** @description BCP-47 language tag. Omit to use the market's language. */
1016
1326
  "Accept-Language"?: string;
1017
- /** @description The bearer token returned by POST /v1/cart. Identifies which cart this request reads or mutates. */
1018
- "X-Cart-Token": string;
1019
- /** @description The cart's current version, as returned in the ETag header. When present and stale, the mutation is rejected with 409 CART_CONFLICT instead of being applied last-write-wins. */
1020
- "If-Match"?: string;
1021
- };
1022
- path: {
1023
- id: string;
1024
1327
  };
1328
+ path?: never;
1025
1329
  cookie?: never;
1026
1330
  };
1027
1331
  requestBody?: never;
@@ -1035,7 +1339,7 @@ export interface operations {
1035
1339
  "application/json": components["schemas"]["CartDto"];
1036
1340
  };
1037
1341
  };
1038
- /** @description problem+json. NOT_FOUND (X-Cart-Token missing). */
1342
+ /** @description problem+json. MARKET_UNKNOWN (no such market on this site) or INVALID_PAGE. */
1039
1343
  400: {
1040
1344
  headers: {
1041
1345
  [name: string]: unknown;
@@ -1071,7 +1375,203 @@ export interface operations {
1071
1375
  "application/problem+json": components["schemas"]["StorefrontProblem"];
1072
1376
  };
1073
1377
  };
1074
- /** @description problem+json. CART_CONFLICT (stale If-Match). */
1378
+ /** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
1379
+ 429: {
1380
+ headers: {
1381
+ [name: string]: unknown;
1382
+ };
1383
+ content: {
1384
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
1385
+ };
1386
+ };
1387
+ /** @description problem+json. SITE_REGISTRY_WARMING or INDEX_UNAVAILABLE — retry, the request was not wrong. */
1388
+ 503: {
1389
+ headers: {
1390
+ [name: string]: unknown;
1391
+ };
1392
+ content: {
1393
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
1394
+ };
1395
+ };
1396
+ };
1397
+ };
1398
+ AddCartLine: {
1399
+ parameters: {
1400
+ query?: never;
1401
+ header: {
1402
+ /** @description Publishable, preview or secret site key. Required on every request; secret keys are server-side only. */
1403
+ "X-Site-Key": string;
1404
+ /** @description Market code (e.g. "se"). Omit for the site's default market. */
1405
+ "X-Market"?: string;
1406
+ /** @description BCP-47 language tag. Omit to use the market's language. */
1407
+ "Accept-Language"?: string;
1408
+ /** @description The bearer token returned by POST /v1/cart. Identifies which cart this request reads or mutates. */
1409
+ "X-Cart-Token": string;
1410
+ /** @description An opaque client-chosen key. Replaying the exact same add with the same key is a no-op (the line's quantity is not added twice); a different key, or none, tops the existing line up like any other add. */
1411
+ "Idempotency-Key"?: string;
1412
+ /** @description The cart's current version, as returned in the ETag header. When present and stale, the mutation is rejected with 409 CART_CONFLICT instead of being applied last-write-wins. */
1413
+ "If-Match"?: string;
1414
+ };
1415
+ path?: never;
1416
+ cookie?: never;
1417
+ };
1418
+ requestBody: {
1419
+ content: {
1420
+ "application/json": components["schemas"]["AddCartLineRequest"];
1421
+ };
1422
+ };
1423
+ responses: {
1424
+ /** @description OK */
1425
+ 200: {
1426
+ headers: {
1427
+ [name: string]: unknown;
1428
+ };
1429
+ content: {
1430
+ "application/json": components["schemas"]["CartDto"];
1431
+ };
1432
+ };
1433
+ /** @description problem+json. NOT_FOUND (X-Cart-Token missing), INVALID_QUANTITY, or CART_FULL. */
1434
+ 400: {
1435
+ headers: {
1436
+ [name: string]: unknown;
1437
+ };
1438
+ content: {
1439
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
1440
+ };
1441
+ };
1442
+ /** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
1443
+ 401: {
1444
+ headers: {
1445
+ [name: string]: unknown;
1446
+ };
1447
+ content: {
1448
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
1449
+ };
1450
+ };
1451
+ /** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret key was sent from a browser. */
1452
+ 403: {
1453
+ headers: {
1454
+ [name: string]: unknown;
1455
+ };
1456
+ content: {
1457
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
1458
+ };
1459
+ };
1460
+ /** @description problem+json. SITE_INACTIVE, or NOT_FOUND for an unrouted path. */
1461
+ 404: {
1462
+ headers: {
1463
+ [name: string]: unknown;
1464
+ };
1465
+ content: {
1466
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
1467
+ };
1468
+ };
1469
+ /** @description problem+json. CART_CONFLICT (stale If-Match), STOCK_INSUFFICIENT, or PRODUCT_GONE. */
1470
+ 409: {
1471
+ headers: {
1472
+ [name: string]: unknown;
1473
+ };
1474
+ content: {
1475
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
1476
+ };
1477
+ };
1478
+ /** @description problem+json. CART_EXPIRED: this cart token belongs to an expired cart. */
1479
+ 410: {
1480
+ headers: {
1481
+ [name: string]: unknown;
1482
+ };
1483
+ content: {
1484
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
1485
+ };
1486
+ };
1487
+ /** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
1488
+ 429: {
1489
+ headers: {
1490
+ [name: string]: unknown;
1491
+ };
1492
+ content: {
1493
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
1494
+ };
1495
+ };
1496
+ /** @description problem+json. SITE_REGISTRY_WARMING or INDEX_UNAVAILABLE — retry, the request was not wrong. */
1497
+ 503: {
1498
+ headers: {
1499
+ [name: string]: unknown;
1500
+ };
1501
+ content: {
1502
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
1503
+ };
1504
+ };
1505
+ };
1506
+ };
1507
+ RemoveCartLine: {
1508
+ parameters: {
1509
+ query?: never;
1510
+ header: {
1511
+ /** @description Publishable, preview or secret site key. Required on every request; secret keys are server-side only. */
1512
+ "X-Site-Key": string;
1513
+ /** @description Market code (e.g. "se"). Omit for the site's default market. */
1514
+ "X-Market"?: string;
1515
+ /** @description BCP-47 language tag. Omit to use the market's language. */
1516
+ "Accept-Language"?: string;
1517
+ /** @description The bearer token returned by POST /v1/cart. Identifies which cart this request reads or mutates. */
1518
+ "X-Cart-Token": string;
1519
+ /** @description The cart's current version, as returned in the ETag header. When present and stale, the mutation is rejected with 409 CART_CONFLICT instead of being applied last-write-wins. */
1520
+ "If-Match"?: string;
1521
+ };
1522
+ path: {
1523
+ id: string;
1524
+ };
1525
+ cookie?: never;
1526
+ };
1527
+ requestBody?: never;
1528
+ responses: {
1529
+ /** @description OK */
1530
+ 200: {
1531
+ headers: {
1532
+ [name: string]: unknown;
1533
+ };
1534
+ content: {
1535
+ "application/json": components["schemas"]["CartDto"];
1536
+ };
1537
+ };
1538
+ /** @description problem+json. NOT_FOUND (X-Cart-Token missing). */
1539
+ 400: {
1540
+ headers: {
1541
+ [name: string]: unknown;
1542
+ };
1543
+ content: {
1544
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
1545
+ };
1546
+ };
1547
+ /** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
1548
+ 401: {
1549
+ headers: {
1550
+ [name: string]: unknown;
1551
+ };
1552
+ content: {
1553
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
1554
+ };
1555
+ };
1556
+ /** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret key was sent from a browser. */
1557
+ 403: {
1558
+ headers: {
1559
+ [name: string]: unknown;
1560
+ };
1561
+ content: {
1562
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
1563
+ };
1564
+ };
1565
+ /** @description problem+json. SITE_INACTIVE, or NOT_FOUND for an unrouted path. */
1566
+ 404: {
1567
+ headers: {
1568
+ [name: string]: unknown;
1569
+ };
1570
+ content: {
1571
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
1572
+ };
1573
+ };
1574
+ /** @description problem+json. CART_CONFLICT (stale If-Match). */
1075
1575
  409: {
1076
1576
  headers: {
1077
1577
  [name: string]: unknown;
@@ -1406,7 +1906,7 @@ export interface operations {
1406
1906
  };
1407
1907
  };
1408
1908
  };
1409
- GetCollections: {
1909
+ StartCheckout: {
1410
1910
  parameters: {
1411
1911
  query?: never;
1412
1912
  header: {
@@ -1416,11 +1916,17 @@ export interface operations {
1416
1916
  "X-Market"?: string;
1417
1917
  /** @description BCP-47 language tag. Omit to use the market's language. */
1418
1918
  "Accept-Language"?: string;
1919
+ /** @description The cart's bearer token. The checkout works on this cart. */
1920
+ "X-Cart-Token": string;
1419
1921
  };
1420
1922
  path?: never;
1421
1923
  cookie?: never;
1422
1924
  };
1423
- requestBody?: never;
1925
+ requestBody?: {
1926
+ content: {
1927
+ "application/json": null | components["schemas"]["StartCheckoutRequest"];
1928
+ };
1929
+ };
1424
1930
  responses: {
1425
1931
  /** @description OK */
1426
1932
  200: {
@@ -1428,10 +1934,10 @@ export interface operations {
1428
1934
  [name: string]: unknown;
1429
1935
  };
1430
1936
  content: {
1431
- "application/json": components["schemas"]["CollectionDto"][];
1937
+ "application/json": components["schemas"]["CheckoutDto"];
1432
1938
  };
1433
1939
  };
1434
- /** @description problem+json. MARKET_UNKNOWN (no such market on this site) or INVALID_PAGE. */
1940
+ /** @description problem+json. NOT_FOUND (X-Cart-Token missing), OPTION_NOT_AVAILABLE, or ORIGIN_NOT_ALLOWED. */
1435
1941
  400: {
1436
1942
  headers: {
1437
1943
  [name: string]: unknown;
@@ -1449,7 +1955,7 @@ export interface operations {
1449
1955
  "application/problem+json": components["schemas"]["StorefrontProblem"];
1450
1956
  };
1451
1957
  };
1452
- /** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret key was sent from a browser. */
1958
+ /** @description problem+json. CHECKOUT_PREVIEW_KEY: a preview key cannot check out; or SECRET_KEY_FROM_BROWSER. */
1453
1959
  403: {
1454
1960
  headers: {
1455
1961
  [name: string]: unknown;
@@ -1467,6 +1973,24 @@ export interface operations {
1467
1973
  "application/problem+json": components["schemas"]["StorefrontProblem"];
1468
1974
  };
1469
1975
  };
1976
+ /** @description problem+json. CART_EMPTY; CHECKOUT_CART_CHANGED (the corrected cart is in `cart`); CHECKOUT_IN_PROGRESS (Retry-After); CHECKOUT_MARKET_MISMATCH. */
1977
+ 409: {
1978
+ headers: {
1979
+ [name: string]: unknown;
1980
+ };
1981
+ content: {
1982
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
1983
+ };
1984
+ };
1985
+ /** @description problem+json. CART_EXPIRED. */
1986
+ 410: {
1987
+ headers: {
1988
+ [name: string]: unknown;
1989
+ };
1990
+ content: {
1991
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
1992
+ };
1993
+ };
1470
1994
  /** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
1471
1995
  429: {
1472
1996
  headers: {
@@ -1476,7 +2000,16 @@ export interface operations {
1476
2000
  "application/problem+json": components["schemas"]["StorefrontProblem"];
1477
2001
  };
1478
2002
  };
1479
- /** @description problem+json. SITE_REGISTRY_WARMING or INDEX_UNAVAILABLE — retry, the request was not wrong. */
2003
+ /** @description problem+json. CHECKOUT_PROVIDER_REJECTED. */
2004
+ 502: {
2005
+ headers: {
2006
+ [name: string]: unknown;
2007
+ };
2008
+ content: {
2009
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2010
+ };
2011
+ };
2012
+ /** @description problem+json. CHECKOUT_UNAVAILABLE or CHECKOUT_PROVIDER_UNAVAILABLE (Retry-After); SITE_REGISTRY_WARMING. */
1480
2013
  503: {
1481
2014
  headers: {
1482
2015
  [name: string]: unknown;
@@ -1487,22 +2020,9 @@ export interface operations {
1487
2020
  };
1488
2021
  };
1489
2022
  };
1490
- GetCollection: {
2023
+ GetCheckout: {
1491
2024
  parameters: {
1492
- query?: {
1493
- /** @description Free-text search. Omit to browse rather than search. */
1494
- q?: string;
1495
- /** @description 1-based page. page × pageSize must not exceed 10000 (default pageSize 24, max 100). */
1496
- page?: number;
1497
- /** @description Items per page, 1–100. Out of range is a 400 with code INVALID_PAGE. */
1498
- pageSize?: number;
1499
- /** @description Sort key. An unknown one is not refused: it falls back to relevance with a SORT_UNKNOWN warning, because it usually comes from a stale bookmark. */
1500
- sort?: "name_asc" | "newest" | "price_asc" | "price_desc" | "relevance";
1501
- /** @description Facet selection, sent as filter[key]=value. Several values for one facet are comma-separated; price is "min-max" and a boolean facet is "true". An unknown key is dropped with a FILTER_IGNORED warning. */
1502
- filter?: {
1503
- [key: string]: string;
1504
- };
1505
- };
2025
+ query?: never;
1506
2026
  header: {
1507
2027
  /** @description Publishable, preview or secret site key. Required on every request; secret keys are server-side only. */
1508
2028
  "X-Site-Key": string;
@@ -1510,9 +2030,11 @@ export interface operations {
1510
2030
  "X-Market"?: string;
1511
2031
  /** @description BCP-47 language tag. Omit to use the market's language. */
1512
2032
  "Accept-Language"?: string;
2033
+ /** @description The cart's bearer token. The checkout works on this cart. */
2034
+ "X-Cart-Token": string;
1513
2035
  };
1514
2036
  path: {
1515
- slugOrId: string;
2037
+ attemptId: string;
1516
2038
  };
1517
2039
  cookie?: never;
1518
2040
  };
@@ -1524,10 +2046,10 @@ export interface operations {
1524
2046
  [name: string]: unknown;
1525
2047
  };
1526
2048
  content: {
1527
- "application/json": components["schemas"]["CollectionListingResponse"];
2049
+ "application/json": components["schemas"]["CheckoutStatusDto"];
1528
2050
  };
1529
2051
  };
1530
- /** @description problem+json. MARKET_UNKNOWN (no such market on this site) or INVALID_PAGE. */
2052
+ /** @description problem+json. NOT_FOUND (X-Cart-Token missing). */
1531
2053
  400: {
1532
2054
  headers: {
1533
2055
  [name: string]: unknown;
@@ -1554,7 +2076,7 @@ export interface operations {
1554
2076
  "application/problem+json": components["schemas"]["StorefrontProblem"];
1555
2077
  };
1556
2078
  };
1557
- /** @description problem+json. COLLECTION_NOT_FOUND, or SITE_INACTIVE when the site itself is not live. */
2079
+ /** @description problem+json. CHECKOUT_NOT_FOUND: no such attempt for this site and cart; or SITE_INACTIVE. */
1558
2080
  404: {
1559
2081
  headers: {
1560
2082
  [name: string]: unknown;
@@ -1583,6 +2105,438 @@ export interface operations {
1583
2105
  };
1584
2106
  };
1585
2107
  };
2108
+ CompleteCheckout: {
2109
+ parameters: {
2110
+ query?: never;
2111
+ header: {
2112
+ /** @description Publishable, preview or secret site key. Required on every request; secret keys are server-side only. */
2113
+ "X-Site-Key": string;
2114
+ /** @description Market code (e.g. "se"). Omit for the site's default market. */
2115
+ "X-Market"?: string;
2116
+ /** @description BCP-47 language tag. Omit to use the market's language. */
2117
+ "Accept-Language"?: string;
2118
+ /** @description Optional. When it names the attempt's cart, the answer carries the order's access token (complete) or opens the order (orders). */
2119
+ "X-Cart-Token"?: string;
2120
+ };
2121
+ path: {
2122
+ attemptId: string;
2123
+ };
2124
+ cookie?: never;
2125
+ };
2126
+ requestBody?: never;
2127
+ responses: {
2128
+ /** @description OK */
2129
+ 200: {
2130
+ headers: {
2131
+ [name: string]: unknown;
2132
+ };
2133
+ content: {
2134
+ "application/json": components["schemas"]["CheckoutStatusDto"];
2135
+ };
2136
+ };
2137
+ /** @description problem+json. MARKET_UNKNOWN (no such market on this site) or INVALID_PAGE. */
2138
+ 400: {
2139
+ headers: {
2140
+ [name: string]: unknown;
2141
+ };
2142
+ content: {
2143
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2144
+ };
2145
+ };
2146
+ /** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
2147
+ 401: {
2148
+ headers: {
2149
+ [name: string]: unknown;
2150
+ };
2151
+ content: {
2152
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2153
+ };
2154
+ };
2155
+ /** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret key was sent from a browser. */
2156
+ 403: {
2157
+ headers: {
2158
+ [name: string]: unknown;
2159
+ };
2160
+ content: {
2161
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2162
+ };
2163
+ };
2164
+ /** @description problem+json. CHECKOUT_NOT_FOUND. */
2165
+ 404: {
2166
+ headers: {
2167
+ [name: string]: unknown;
2168
+ };
2169
+ content: {
2170
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2171
+ };
2172
+ };
2173
+ /** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
2174
+ 429: {
2175
+ headers: {
2176
+ [name: string]: unknown;
2177
+ };
2178
+ content: {
2179
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2180
+ };
2181
+ };
2182
+ /** @description problem+json. SITE_REGISTRY_WARMING or INDEX_UNAVAILABLE — retry, the request was not wrong. */
2183
+ 503: {
2184
+ headers: {
2185
+ [name: string]: unknown;
2186
+ };
2187
+ content: {
2188
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2189
+ };
2190
+ };
2191
+ };
2192
+ };
2193
+ GetCollections: {
2194
+ parameters: {
2195
+ query?: never;
2196
+ header: {
2197
+ /** @description Publishable, preview or secret site key. Required on every request; secret keys are server-side only. */
2198
+ "X-Site-Key": string;
2199
+ /** @description Market code (e.g. "se"). Omit for the site's default market. */
2200
+ "X-Market"?: string;
2201
+ /** @description BCP-47 language tag. Omit to use the market's language. */
2202
+ "Accept-Language"?: string;
2203
+ };
2204
+ path?: never;
2205
+ cookie?: never;
2206
+ };
2207
+ requestBody?: never;
2208
+ responses: {
2209
+ /** @description OK */
2210
+ 200: {
2211
+ headers: {
2212
+ [name: string]: unknown;
2213
+ };
2214
+ content: {
2215
+ "application/json": components["schemas"]["CollectionDto"][];
2216
+ };
2217
+ };
2218
+ /** @description problem+json. MARKET_UNKNOWN (no such market on this site) or INVALID_PAGE. */
2219
+ 400: {
2220
+ headers: {
2221
+ [name: string]: unknown;
2222
+ };
2223
+ content: {
2224
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2225
+ };
2226
+ };
2227
+ /** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
2228
+ 401: {
2229
+ headers: {
2230
+ [name: string]: unknown;
2231
+ };
2232
+ content: {
2233
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2234
+ };
2235
+ };
2236
+ /** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret key was sent from a browser. */
2237
+ 403: {
2238
+ headers: {
2239
+ [name: string]: unknown;
2240
+ };
2241
+ content: {
2242
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2243
+ };
2244
+ };
2245
+ /** @description problem+json. SITE_INACTIVE, or NOT_FOUND for an unrouted path. */
2246
+ 404: {
2247
+ headers: {
2248
+ [name: string]: unknown;
2249
+ };
2250
+ content: {
2251
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2252
+ };
2253
+ };
2254
+ /** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
2255
+ 429: {
2256
+ headers: {
2257
+ [name: string]: unknown;
2258
+ };
2259
+ content: {
2260
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2261
+ };
2262
+ };
2263
+ /** @description problem+json. SITE_REGISTRY_WARMING or INDEX_UNAVAILABLE — retry, the request was not wrong. */
2264
+ 503: {
2265
+ headers: {
2266
+ [name: string]: unknown;
2267
+ };
2268
+ content: {
2269
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2270
+ };
2271
+ };
2272
+ };
2273
+ };
2274
+ GetCollection: {
2275
+ parameters: {
2276
+ query?: {
2277
+ /** @description Free-text search. Omit to browse rather than search. */
2278
+ q?: string;
2279
+ /** @description 1-based page. page × pageSize must not exceed 10000 (default pageSize 24, max 100). */
2280
+ page?: number;
2281
+ /** @description Items per page, 1–100. Out of range is a 400 with code INVALID_PAGE. */
2282
+ pageSize?: number;
2283
+ /** @description Sort key. An unknown one is not refused: it falls back to relevance with a SORT_UNKNOWN warning, because it usually comes from a stale bookmark. */
2284
+ sort?: "name_asc" | "newest" | "price_asc" | "price_desc" | "relevance";
2285
+ /** @description Facet selection, sent as filter[key]=value. Several values for one facet are comma-separated; price is "min-max" and a boolean facet is "true". An unknown key is dropped with a FILTER_IGNORED warning. */
2286
+ filter?: {
2287
+ [key: string]: string;
2288
+ };
2289
+ };
2290
+ header: {
2291
+ /** @description Publishable, preview or secret site key. Required on every request; secret keys are server-side only. */
2292
+ "X-Site-Key": string;
2293
+ /** @description Market code (e.g. "se"). Omit for the site's default market. */
2294
+ "X-Market"?: string;
2295
+ /** @description BCP-47 language tag. Omit to use the market's language. */
2296
+ "Accept-Language"?: string;
2297
+ };
2298
+ path: {
2299
+ slugOrId: string;
2300
+ };
2301
+ cookie?: never;
2302
+ };
2303
+ requestBody?: never;
2304
+ responses: {
2305
+ /** @description OK */
2306
+ 200: {
2307
+ headers: {
2308
+ [name: string]: unknown;
2309
+ };
2310
+ content: {
2311
+ "application/json": components["schemas"]["CollectionListingResponse"];
2312
+ };
2313
+ };
2314
+ /** @description problem+json. MARKET_UNKNOWN (no such market on this site) or INVALID_PAGE. */
2315
+ 400: {
2316
+ headers: {
2317
+ [name: string]: unknown;
2318
+ };
2319
+ content: {
2320
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2321
+ };
2322
+ };
2323
+ /** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
2324
+ 401: {
2325
+ headers: {
2326
+ [name: string]: unknown;
2327
+ };
2328
+ content: {
2329
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2330
+ };
2331
+ };
2332
+ /** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret key was sent from a browser. */
2333
+ 403: {
2334
+ headers: {
2335
+ [name: string]: unknown;
2336
+ };
2337
+ content: {
2338
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2339
+ };
2340
+ };
2341
+ /** @description problem+json. COLLECTION_NOT_FOUND, or SITE_INACTIVE when the site itself is not live. */
2342
+ 404: {
2343
+ headers: {
2344
+ [name: string]: unknown;
2345
+ };
2346
+ content: {
2347
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2348
+ };
2349
+ };
2350
+ /** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
2351
+ 429: {
2352
+ headers: {
2353
+ [name: string]: unknown;
2354
+ };
2355
+ content: {
2356
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2357
+ };
2358
+ };
2359
+ /** @description problem+json. SITE_REGISTRY_WARMING or INDEX_UNAVAILABLE — retry, the request was not wrong. */
2360
+ 503: {
2361
+ headers: {
2362
+ [name: string]: unknown;
2363
+ };
2364
+ content: {
2365
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2366
+ };
2367
+ };
2368
+ };
2369
+ };
2370
+ RequestErasure: {
2371
+ parameters: {
2372
+ query?: never;
2373
+ header: {
2374
+ /** @description Publishable, preview or secret site key. Required on every request; secret keys are server-side only. */
2375
+ "X-Site-Key": string;
2376
+ /** @description Market code (e.g. "se"). Omit for the site's default market. */
2377
+ "X-Market"?: string;
2378
+ /** @description BCP-47 language tag. Omit to use the market's language. */
2379
+ "Accept-Language"?: string;
2380
+ };
2381
+ path?: never;
2382
+ cookie?: never;
2383
+ };
2384
+ requestBody?: {
2385
+ content: {
2386
+ "application/json": null | components["schemas"]["ErasureRequest"];
2387
+ };
2388
+ };
2389
+ responses: {
2390
+ /** @description Accepted */
2391
+ 202: {
2392
+ headers: {
2393
+ [name: string]: unknown;
2394
+ };
2395
+ content?: never;
2396
+ };
2397
+ /** @description problem+json. INVALID_EMAIL. */
2398
+ 400: {
2399
+ headers: {
2400
+ [name: string]: unknown;
2401
+ };
2402
+ content: {
2403
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2404
+ };
2405
+ };
2406
+ /** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
2407
+ 401: {
2408
+ headers: {
2409
+ [name: string]: unknown;
2410
+ };
2411
+ content: {
2412
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2413
+ };
2414
+ };
2415
+ /** @description problem+json. SECRET_KEY_REQUIRED, or SECRET_KEY_FROM_BROWSER. */
2416
+ 403: {
2417
+ headers: {
2418
+ [name: string]: unknown;
2419
+ };
2420
+ content: {
2421
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2422
+ };
2423
+ };
2424
+ /** @description problem+json. SITE_INACTIVE, or NOT_FOUND for an unrouted path. */
2425
+ 404: {
2426
+ headers: {
2427
+ [name: string]: unknown;
2428
+ };
2429
+ content: {
2430
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2431
+ };
2432
+ };
2433
+ /** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
2434
+ 429: {
2435
+ headers: {
2436
+ [name: string]: unknown;
2437
+ };
2438
+ content: {
2439
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2440
+ };
2441
+ };
2442
+ /** @description problem+json. SITE_KEYS_SYNCING (Retry-After) or SITE_REGISTRY_WARMING. */
2443
+ 503: {
2444
+ headers: {
2445
+ [name: string]: unknown;
2446
+ };
2447
+ content: {
2448
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2449
+ };
2450
+ };
2451
+ };
2452
+ };
2453
+ GetOrder: {
2454
+ parameters: {
2455
+ query?: never;
2456
+ header: {
2457
+ /** @description Publishable, preview or secret site key. Required on every request; secret keys are server-side only. */
2458
+ "X-Site-Key": string;
2459
+ /** @description Market code (e.g. "se"). Omit for the site's default market. */
2460
+ "X-Market"?: string;
2461
+ /** @description BCP-47 language tag. Omit to use the market's language. */
2462
+ "Accept-Language"?: string;
2463
+ /** @description Optional. When it names the attempt's cart, the answer carries the order's access token (complete) or opens the order (orders). */
2464
+ "X-Cart-Token"?: string;
2465
+ /** @description The order's access token, from the completion answer. A header only — never a query parameter. */
2466
+ "X-Order-Token"?: string;
2467
+ };
2468
+ path: {
2469
+ orderId: string;
2470
+ };
2471
+ cookie?: never;
2472
+ };
2473
+ requestBody?: never;
2474
+ responses: {
2475
+ /** @description OK */
2476
+ 200: {
2477
+ headers: {
2478
+ [name: string]: unknown;
2479
+ };
2480
+ content: {
2481
+ "application/json": components["schemas"]["OrderDto"];
2482
+ };
2483
+ };
2484
+ /** @description problem+json. MARKET_UNKNOWN (no such market on this site) or INVALID_PAGE. */
2485
+ 400: {
2486
+ headers: {
2487
+ [name: string]: unknown;
2488
+ };
2489
+ content: {
2490
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2491
+ };
2492
+ };
2493
+ /** @description problem+json. SITE_KEY_MISSING or SITE_KEY_INVALID. */
2494
+ 401: {
2495
+ headers: {
2496
+ [name: string]: unknown;
2497
+ };
2498
+ content: {
2499
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2500
+ };
2501
+ };
2502
+ /** @description problem+json. SECRET_KEY_FROM_BROWSER: a secret key was sent from a browser. */
2503
+ 403: {
2504
+ headers: {
2505
+ [name: string]: unknown;
2506
+ };
2507
+ content: {
2508
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2509
+ };
2510
+ };
2511
+ /** @description problem+json. ORDER_NOT_FOUND: no such order, or the credential does not open it — the same answer for both. */
2512
+ 404: {
2513
+ headers: {
2514
+ [name: string]: unknown;
2515
+ };
2516
+ content: {
2517
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2518
+ };
2519
+ };
2520
+ /** @description problem+json. RATE_LIMITED; retryAfterSeconds and the Retry-After header say how long to wait. */
2521
+ 429: {
2522
+ headers: {
2523
+ [name: string]: unknown;
2524
+ };
2525
+ content: {
2526
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2527
+ };
2528
+ };
2529
+ /** @description problem+json. SITE_KEYS_SYNCING (a secret key before the site's first key sync; Retry-After) or SITE_REGISTRY_WARMING. */
2530
+ 503: {
2531
+ headers: {
2532
+ [name: string]: unknown;
2533
+ };
2534
+ content: {
2535
+ "application/problem+json": components["schemas"]["StorefrontProblem"];
2536
+ };
2537
+ };
2538
+ };
2539
+ };
1586
2540
  ListProducts: {
1587
2541
  parameters: {
1588
2542
  query?: {