@teemill/product-catalog 1.92.0 → 1.92.1

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.
Files changed (70) hide show
  1. package/.openapi-generator/FILES +0 -1
  2. package/README.md +2 -3
  3. package/api.ts +274 -47
  4. package/base.ts +1 -1
  5. package/common.ts +1 -1
  6. package/configuration.ts +1 -1
  7. package/dist/api.d.ts +248 -41
  8. package/dist/api.js +35 -15
  9. package/dist/base.d.ts +1 -1
  10. package/dist/base.js +1 -1
  11. package/dist/common.d.ts +1 -1
  12. package/dist/common.js +1 -1
  13. package/dist/configuration.d.ts +1 -1
  14. package/dist/configuration.js +1 -1
  15. package/dist/esm/api.d.ts +248 -41
  16. package/dist/esm/api.js +35 -15
  17. package/dist/esm/base.d.ts +1 -1
  18. package/dist/esm/base.js +1 -1
  19. package/dist/esm/common.d.ts +1 -1
  20. package/dist/esm/common.js +1 -1
  21. package/dist/esm/configuration.d.ts +1 -1
  22. package/dist/esm/configuration.js +1 -1
  23. package/dist/esm/index.d.ts +1 -1
  24. package/dist/esm/index.js +1 -1
  25. package/dist/index.d.ts +1 -1
  26. package/dist/index.js +1 -1
  27. package/docs/Action.md +2 -1
  28. package/docs/AdditionalFile.md +1 -0
  29. package/docs/AnalyticsItem.md +1 -0
  30. package/docs/AnalyticsSummary.md +1 -0
  31. package/docs/ApiError.md +3 -2
  32. package/docs/Application.md +2 -1
  33. package/docs/ApplicationGroup.md +3 -2
  34. package/docs/ApplicationProperties.md +1 -0
  35. package/docs/ApplicationPropertiesPersonalization.md +1 -0
  36. package/docs/ApplicationSet.md +3 -2
  37. package/docs/ApplicationSetRecord.md +2 -1
  38. package/docs/ApplicationTechnologiesApi.md +7 -1
  39. package/docs/ApplicationTechnology.md +2 -1
  40. package/docs/BundleProduct.md +9 -8
  41. package/docs/CreateApplication.md +1 -0
  42. package/docs/CreateBundleProduct.md +2 -1
  43. package/docs/CreateProduct.md +1 -0
  44. package/docs/CreateProductRequest.md +1 -1
  45. package/docs/CreateProductVariant.md +1 -0
  46. package/docs/Image.md +2 -2
  47. package/docs/ImageFile.md +1 -0
  48. package/docs/Location.md +1 -0
  49. package/docs/NamedPrice.md +2 -1
  50. package/docs/OptimisationHistoryItem.md +3 -2
  51. package/docs/Product.md +9 -8
  52. package/docs/ProductAnalyticsApi.md +2 -2
  53. package/docs/ProductBundleItemsInner.md +8 -8
  54. package/docs/ProductCreatorsApi.md +7 -1
  55. package/docs/ProductType.md +2 -1
  56. package/docs/ProductsApi.md +6 -6
  57. package/docs/Recommendation.md +2 -1
  58. package/docs/Stock.md +3 -2
  59. package/docs/TargetSearchPhraseData.md +1 -0
  60. package/docs/TextApplicationProperties.md +1 -0
  61. package/docs/TextApplicationPropertiesPersonalization.md +1 -0
  62. package/docs/UpdateProductRequest.md +2 -2
  63. package/docs/UpdateProductRequestBundleItemsInner.md +1 -1
  64. package/docs/UserList.md +2 -1
  65. package/docs/Variant.md +5 -4
  66. package/docs/VariantWholesaleCost.md +2 -2
  67. package/docs/Video.md +2 -2
  68. package/docs/VideoFile.md +1 -0
  69. package/index.ts +1 -1
  70. package/package.json +2 -2
package/api.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * Product Catalog
5
5
  * Manage your Product Catalog. A catalog product is an object that represents a product listing that can be purchased from the given project. It contains a combination of design applications and a product from the GFN Catalog, plus listing information such as title, description and tags.
6
6
  *
7
- * The version of the OpenAPI document: 1.92.0
7
+ * The version of the OpenAPI document: 1.92.1
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -23,9 +23,12 @@ import type { RequestArgs } from './base';
23
23
  // @ts-ignore
24
24
  import { BASE_PATH, COLLECTION_FORMATS, BaseAPI, RequiredError, operationServerMap } from './base';
25
25
 
26
+ /**
27
+ * A specific action that can be taken to implement a recommendation.
28
+ */
26
29
  export interface Action {
27
30
  /**
28
- * Unique object identifier
31
+ * The unique identifier of this action.
29
32
  */
30
33
  'id': string;
31
34
  /**
@@ -53,12 +56,18 @@ export const ActionImpactEnum = {
53
56
 
54
57
  export type ActionImpactEnum = typeof ActionImpactEnum[keyof typeof ActionImpactEnum];
55
58
 
59
+ /**
60
+ * An additional file to attach to a product (e.g. size guide, care instructions).
61
+ */
56
62
  export interface AdditionalFile {
57
63
  /**
58
64
  * Publicly available file URL.
59
65
  */
60
66
  'src'?: string;
61
67
  }
68
+ /**
69
+ * Analytics data for a product including revenue, sales, traffic, and conversion metrics.
70
+ */
62
71
  export interface AnalyticsItem {
63
72
  /**
64
73
  * Unique object identifier
@@ -85,6 +94,9 @@ export interface AnalyticsItem {
85
94
  */
86
95
  'revenue': number;
87
96
  }
97
+ /**
98
+ * An AI-generated summary of product analytics with actionable recommendations.
99
+ */
88
100
  export interface AnalyticsSummary {
89
101
  /**
90
102
  * A summary of the recommendations
@@ -94,13 +106,25 @@ export interface AnalyticsSummary {
94
106
  'createdAt': string;
95
107
  'updatedAt': string;
96
108
  }
109
+ /**
110
+ * Represents an error returned by the API.
111
+ */
97
112
  export interface ApiError {
113
+ /**
114
+ * A machine-readable error code identifying the type of error.
115
+ */
98
116
  'code'?: string;
117
+ /**
118
+ * A human-readable message providing more details about the error.
119
+ */
99
120
  'message': string;
100
121
  }
122
+ /**
123
+ * A design application on a product variant, specifying the technology, placement, design file, and optional personalisation.
124
+ */
101
125
  export interface Application {
102
126
  /**
103
- * Unique object identifier
127
+ * The unique identifier of this application.
104
128
  */
105
129
  'id'?: string;
106
130
  /**
@@ -156,13 +180,16 @@ export const ApplicationPlacementEnum = {
156
180
 
157
181
  export type ApplicationPlacementEnum = typeof ApplicationPlacementEnum[keyof typeof ApplicationPlacementEnum];
158
182
 
183
+ /**
184
+ * A named group of design applications that can be reused across multiple products.
185
+ */
159
186
  export interface ApplicationGroup {
160
187
  /**
161
- * Unique object identifier
188
+ * The unique identifier of the application group.
162
189
  */
163
190
  'id': string;
164
191
  /**
165
- * A reference to the application group resource location
192
+ * A URI reference to this application group resource.
166
193
  */
167
194
  'ref': string;
168
195
  /**
@@ -189,6 +216,9 @@ export interface ApplicationMockup {
189
216
  */
190
217
  'preview'?: string;
191
218
  }
219
+ /**
220
+ * Properties of a design application including dimensions, position, and optional personalisation rules. Null when the application has no configurable properties.
221
+ */
192
222
  export interface ApplicationProperties {
193
223
  /**
194
224
  * Width of the application in pixels
@@ -210,6 +240,9 @@ export interface ApplicationPropertiesMetadata {
210
240
  */
211
241
  export type ApplicationPropertiesMetadataPersonalization = ApplicationPropertiesPersonalization | TextApplicationPropertiesPersonalization;
212
242
 
243
+ /**
244
+ * Personalisation configuration for a design application, allowing end-users to customise the design.
245
+ */
213
246
  export interface ApplicationPropertiesPersonalization {
214
247
  /**
215
248
  * The label to be displayed on the personalization field.
@@ -321,13 +354,16 @@ export const ApplicationPropertiesPropertiesFontStyleEnum = {
321
354
 
322
355
  export type ApplicationPropertiesPropertiesFontStyleEnum = typeof ApplicationPropertiesPropertiesFontStyleEnum[keyof typeof ApplicationPropertiesPropertiesFontStyleEnum];
323
356
 
357
+ /**
358
+ * A set of application records that defines which design applications are applied to which variants.
359
+ */
324
360
  export interface ApplicationSet {
325
361
  /**
326
- * Unique object identifier
362
+ * The unique identifier of the application set.
327
363
  */
328
364
  'id': string;
329
365
  /**
330
- * A reference to the application set resource location
366
+ * A URI reference to this application set resource.
331
367
  */
332
368
  'ref': string;
333
369
  /**
@@ -367,9 +403,12 @@ export interface ApplicationSet1 {
367
403
  */
368
404
  'ref'?: string;
369
405
  }
406
+ /**
407
+ * A record within an application set, linking a specific application to a set.
408
+ */
370
409
  export interface ApplicationSetRecord {
371
410
  /**
372
- * Unique object identifier
411
+ * The unique identifier of this record.
373
412
  */
374
413
  'id'?: string;
375
414
  'set'?: ApplicationSet1;
@@ -392,9 +431,12 @@ export interface ApplicationSetsResponse {
392
431
  export interface ApplicationTechnologiesResponse {
393
432
  'applicationTechnologies'?: Array<ApplicationTechnology>;
394
433
  }
434
+ /**
435
+ * A print or application technology available for use on catalog products.
436
+ */
395
437
  export interface ApplicationTechnology {
396
438
  /**
397
- * Unique object identifier
439
+ * The unique identifier of the technology.
398
440
  */
399
441
  'id'?: string;
400
442
  /**
@@ -452,15 +494,21 @@ export interface Attributes1Inner {
452
494
  'name'?: string;
453
495
  'value'?: string;
454
496
  }
497
+ /**
498
+ * A bundle product that groups multiple items together at a combined price.
499
+ */
455
500
  export interface BundleProduct {
456
501
  /**
457
- * Unique object identifier
502
+ * The unique identifier of the bundle product.
458
503
  */
459
504
  'id'?: string;
460
505
  /**
461
- * A reference to the resource location
506
+ * A URI reference to this bundle product resource.
462
507
  */
463
508
  'ref'?: string;
509
+ /**
510
+ * The display title of the bundle product.
511
+ */
464
512
  'title': string;
465
513
  'description': string;
466
514
  'slug'?: string;
@@ -485,7 +533,13 @@ export interface BundleProduct {
485
533
  * Variants
486
534
  */
487
535
  'variants'?: Array<Variant>;
536
+ /**
537
+ * The retail price of the product, including tax. Only provided if the product is a bundle.
538
+ */
488
539
  'retailPrice'?: Price;
540
+ /**
541
+ * The sale price of the product, including tax. Only provided if the product is a bundle.
542
+ */
489
543
  'salePrice'?: SalePrice | null;
490
544
  /**
491
545
  * Additional files attached to the product.
@@ -503,12 +557,21 @@ export interface BundleProduct {
503
557
  * A count of reviews. This field is only present if included in the fields query parameter
504
558
  */
505
559
  'reviewCount'?: number;
560
+ /**
561
+ * A unique identifier for a specific variant (product + colour + size).
562
+ */
506
563
  'sku'?: string;
507
564
  /**
508
565
  * A count of sales. This field is only present if included in the fields query parameter
509
566
  */
510
567
  'sales'?: number;
568
+ /**
569
+ * The start of the window in which sales are counted
570
+ */
511
571
  'salesStart'?: string;
572
+ /**
573
+ * The end of the window in which sales are counted
574
+ */
512
575
  'salesEnd'?: string;
513
576
  'includeInDataFeeds'?: boolean;
514
577
  /**
@@ -539,6 +602,9 @@ export interface BundleProduct {
539
602
  'showSaleBadge'?: boolean;
540
603
  'license'?: License;
541
604
  }
605
+ /**
606
+ * The payload for creating a new design application on a product variant.
607
+ */
542
608
  export interface CreateApplication {
543
609
  /**
544
610
  * The application technology used for this design application. `mug_sublimation` is deprecated. Use `sublimation_small` instead.
@@ -702,6 +768,9 @@ export interface CreateApplicationSetRequestRecordsInnerAttributesInner {
702
768
  */
703
769
  'value': string;
704
770
  }
771
+ /**
772
+ * The payload for creating a new bundle product that groups multiple items together.
773
+ */
705
774
  export interface CreateBundleProduct {
706
775
  /**
707
776
  * Product title
@@ -759,17 +828,11 @@ export interface CreateBundleProduct {
759
828
  /**
760
829
  * A list of product uuids to include in this bundle
761
830
  */
762
- 'bundleItems': Array<CreateBundleProductBundleItemsInner>;
831
+ 'bundleItems': Array<UpdateProductRequestBundleItemsInner>;
763
832
  'retailPrice'?: Price;
764
833
  'salePrice'?: SalePrice | null;
765
834
  'price'?: Price;
766
835
  }
767
- export interface CreateBundleProductBundleItemsInner {
768
- /**
769
- * Unique object identifier
770
- */
771
- 'id'?: string;
772
- }
773
836
  export interface CreateBundleProductSeoMetadata {
774
837
  /**
775
838
  * Meta title for the product. This appears in search engine results and social shares. If not provided, the product title will be used.
@@ -824,6 +887,9 @@ export interface CreateDigitalProductVariantsInnerImagesInner {
824
887
  */
825
888
  'src': string;
826
889
  }
890
+ /**
891
+ * The payload for creating a new catalog product from a GFN base product.
892
+ */
827
893
  export interface CreateProduct {
828
894
  /**
829
895
  * Reference to the product in the GFN catalog that will be used as a base for this product. A list of available products for the given project can be obtained from the GFN Catalog API.
@@ -929,6 +995,9 @@ export interface CreateProductImagesInner {
929
995
  */
930
996
  export type CreateProductRequest = CreateBundleProduct | CreateDigitalProduct | CreateProduct;
931
997
 
998
+ /**
999
+ * The payload for creating a new variant on a catalog product.
1000
+ */
932
1001
  export interface CreateProductVariant {
933
1002
  /**
934
1003
  * One entry per attribute (e.g. Size, Colour). The name and value of each attribute must match the GFN Catalog API exactly — use the GFN Catalog API to list the product and its variants to get the exact strings (casing and spelling must match).
@@ -1018,11 +1087,11 @@ export interface ExportProducts202Response {
1018
1087
  'message'?: string;
1019
1088
  }
1020
1089
  /**
1021
- * Image description
1090
+ * An image associated with a product or variant.
1022
1091
  */
1023
1092
  export interface Image {
1024
1093
  /**
1025
- * Unique object identifier
1094
+ * The unique identifier of the image.
1026
1095
  */
1027
1096
  'id'?: string;
1028
1097
  'src': string;
@@ -1036,6 +1105,9 @@ export interface Image {
1036
1105
  'createdAt'?: string;
1037
1106
  'updatedAt'?: string;
1038
1107
  }
1108
+ /**
1109
+ * An image file to attach to a product, specified by a publicly available URL.
1110
+ */
1039
1111
  export interface ImageFile {
1040
1112
  /**
1041
1113
  * Publicly available file URL.
@@ -1091,6 +1163,9 @@ export interface License {
1091
1163
  */
1092
1164
  'expiresAt'?: string;
1093
1165
  }
1166
+ /**
1167
+ * A stock location showing the number of units available at a specific warehouse location.
1168
+ */
1094
1169
  export interface Location {
1095
1170
  /**
1096
1171
  * The total number of units available at the location
@@ -1114,18 +1189,30 @@ export interface MetaField {
1114
1189
  */
1115
1190
  'value': string;
1116
1191
  }
1192
+ /**
1193
+ * A named price component (e.g. Fulfillment, Application) with its amount and currency.
1194
+ */
1117
1195
  export interface NamedPrice {
1118
1196
  /**
1119
1197
  * The name of the price
1120
1198
  */
1121
1199
  'name': string;
1200
+ /**
1201
+ * The price amount and currency.
1202
+ */
1122
1203
  'price': RequiredPrice;
1123
1204
  }
1205
+ /**
1206
+ * A record of an AI SEO optimisation performed on a product.
1207
+ */
1124
1208
  export interface OptimisationHistoryItem {
1125
1209
  /**
1126
- * Unique object identifier
1210
+ * The unique identifier of this optimisation.
1127
1211
  */
1128
1212
  'id'?: string;
1213
+ /**
1214
+ * The timestamp when this optimisation was performed.
1215
+ */
1129
1216
  'createdAt'?: string;
1130
1217
  }
1131
1218
  /**
@@ -1148,15 +1235,21 @@ export const PriceCurrencyCodeEnum = {
1148
1235
 
1149
1236
  export type PriceCurrencyCodeEnum = typeof PriceCurrencyCodeEnum[keyof typeof PriceCurrencyCodeEnum];
1150
1237
 
1238
+ /**
1239
+ * A catalog product listing that can be purchased, containing design applications, pricing, variants, and SEO metadata.
1240
+ */
1151
1241
  export interface Product {
1152
1242
  /**
1153
- * Unique object identifier
1243
+ * The unique identifier of the product.
1154
1244
  */
1155
1245
  'id'?: string;
1156
1246
  /**
1157
- * A reference to the resource location
1247
+ * A URI reference to this product resource.
1158
1248
  */
1159
1249
  'ref'?: string;
1250
+ /**
1251
+ * The display title of the product.
1252
+ */
1160
1253
  'title': string;
1161
1254
  'description': string;
1162
1255
  'slug'?: string;
@@ -1185,7 +1278,13 @@ export interface Product {
1185
1278
  * Products in the bundle.
1186
1279
  */
1187
1280
  'bundleItems'?: Array<ProductBundleItemsInner>;
1281
+ /**
1282
+ * The retail price of the product, including tax. Only provided if the product is a bundle.
1283
+ */
1188
1284
  'retailPrice'?: Price;
1285
+ /**
1286
+ * The sale price of the product, including tax. Only provided if the product is a bundle.
1287
+ */
1189
1288
  'salePrice'?: SalePrice | null;
1190
1289
  /**
1191
1290
  * Additional files attached to the product.
@@ -1203,12 +1302,21 @@ export interface Product {
1203
1302
  * A count of reviews. This field is only present if included in the fields query parameter
1204
1303
  */
1205
1304
  'reviewCount'?: number;
1305
+ /**
1306
+ * A unique identifier for a specific variant (product + colour + size).
1307
+ */
1206
1308
  'sku'?: string;
1207
1309
  /**
1208
1310
  * A count of sales. This field is only present if included in the fields query parameter
1209
1311
  */
1210
1312
  'sales'?: number;
1313
+ /**
1314
+ * The start of the window in which sales are counted
1315
+ */
1211
1316
  'salesStart'?: string;
1317
+ /**
1318
+ * The end of the window in which sales are counted
1319
+ */
1212
1320
  'salesEnd'?: string;
1213
1321
  'includeInDataFeeds'?: boolean;
1214
1322
  /**
@@ -1306,13 +1414,16 @@ export interface ProductApplicationSetsInner {
1306
1414
  }
1307
1415
  export interface ProductBundleItemsInner {
1308
1416
  /**
1309
- * Unique object identifier
1417
+ * The unique identifier of the bundle product.
1310
1418
  */
1311
1419
  'id'?: string;
1312
1420
  /**
1313
- * A reference to the resource location
1421
+ * A URI reference to this bundle product resource.
1314
1422
  */
1315
1423
  'ref'?: string;
1424
+ /**
1425
+ * The display title of the bundle product.
1426
+ */
1316
1427
  'title': string;
1317
1428
  'description': string;
1318
1429
  'slug'?: string;
@@ -1337,7 +1448,13 @@ export interface ProductBundleItemsInner {
1337
1448
  * Variants
1338
1449
  */
1339
1450
  'variants'?: Array<Variant>;
1451
+ /**
1452
+ * The retail price of the product, including tax. Only provided if the product is a bundle.
1453
+ */
1340
1454
  'retailPrice'?: Price;
1455
+ /**
1456
+ * The sale price of the product, including tax. Only provided if the product is a bundle.
1457
+ */
1341
1458
  'salePrice'?: SalePrice | null;
1342
1459
  /**
1343
1460
  * Additional files attached to the product.
@@ -1355,12 +1472,21 @@ export interface ProductBundleItemsInner {
1355
1472
  * A count of reviews. This field is only present if included in the fields query parameter
1356
1473
  */
1357
1474
  'reviewCount'?: number;
1475
+ /**
1476
+ * A unique identifier for a specific variant (product + colour + size).
1477
+ */
1358
1478
  'sku'?: string;
1359
1479
  /**
1360
1480
  * A count of sales. This field is only present if included in the fields query parameter
1361
1481
  */
1362
1482
  'sales'?: number;
1483
+ /**
1484
+ * The start of the window in which sales are counted
1485
+ */
1363
1486
  'salesStart'?: string;
1487
+ /**
1488
+ * The end of the window in which sales are counted
1489
+ */
1364
1490
  'salesEnd'?: string;
1365
1491
  'includeInDataFeeds'?: boolean;
1366
1492
  /**
@@ -1413,9 +1539,12 @@ export interface ProductStaticCollectionsInner {
1413
1539
  'id'?: string;
1414
1540
  'title'?: string;
1415
1541
  }
1542
+ /**
1543
+ * A type of product available in the catalog (e.g. Printed T-Shirt, Embroidered Hoodie).
1544
+ */
1416
1545
  export interface ProductType {
1417
1546
  /**
1418
- * Unique object identifier
1547
+ * The unique identifier of the product type.
1419
1548
  */
1420
1549
  'id': string;
1421
1550
  /**
@@ -1454,9 +1583,12 @@ export interface ProductsResponse {
1454
1583
  */
1455
1584
  'nextPageToken'?: number | null;
1456
1585
  }
1586
+ /**
1587
+ * An AI-generated recommendation for improving product performance.
1588
+ */
1457
1589
  export interface Recommendation {
1458
1590
  /**
1459
- * Unique object identifier
1591
+ * The unique identifier of this recommendation.
1460
1592
  */
1461
1593
  'id': string;
1462
1594
  /**
@@ -1571,10 +1703,22 @@ export interface SeoOptimiseProductsRequest {
1571
1703
  */
1572
1704
  'fields'?: Array<string>;
1573
1705
  }
1706
+ /**
1707
+ * Stock availability information including total level and per-location breakdown.
1708
+ */
1574
1709
  export interface Stock {
1710
+ /**
1711
+ * The current total stock level available for purchase.
1712
+ */
1575
1713
  'level'?: number;
1714
+ /**
1715
+ * Stock levels broken down by warehouse location.
1716
+ */
1576
1717
  'locations'?: Array<Location>;
1577
1718
  }
1719
+ /**
1720
+ * Target search phrase configuration for SEO optimisation of a product.
1721
+ */
1578
1722
  export interface TargetSearchPhraseData {
1579
1723
  /**
1580
1724
  * The primary target search phrase for the product that you wish to rank for in search engine results.
@@ -1585,6 +1729,9 @@ export interface TargetSearchPhraseData {
1585
1729
  */
1586
1730
  'targetSearchPhraseSynonyms'?: Array<string>;
1587
1731
  }
1732
+ /**
1733
+ * Properties for a text-based application including font, colour, position, and optional personalisation. Null when the application has no configurable properties.
1734
+ */
1588
1735
  export interface TextApplicationProperties {
1589
1736
  'position'?: TextApplicationPropertiesPosition;
1590
1737
  'positionInference'?: ApplicationPropertiesPositionInference | null;
@@ -1634,6 +1781,9 @@ export const TextApplicationPropertiesFontStyleEnum = {
1634
1781
 
1635
1782
  export type TextApplicationPropertiesFontStyleEnum = typeof TextApplicationPropertiesFontStyleEnum[keyof typeof TextApplicationPropertiesFontStyleEnum];
1636
1783
 
1784
+ /**
1785
+ * Personalisation configuration for a text application, allowing end-users to customise the text content.
1786
+ */
1637
1787
  export interface TextApplicationPropertiesPersonalization {
1638
1788
  /**
1639
1789
  * The label to be displayed on the personalization field.
@@ -1795,7 +1945,13 @@ export interface UpdateProductRequest {
1795
1945
  * A list of products to be in this bundle. Only valid if the product is already a bundle.
1796
1946
  */
1797
1947
  'bundleItems'?: Array<UpdateProductRequestBundleItemsInner>;
1948
+ /**
1949
+ * The retail price of the product, including tax. Only provided if the product is a bundle.
1950
+ */
1798
1951
  'retailPrice'?: Price;
1952
+ /**
1953
+ * The sale price of the product, including tax. Only provided if the product is a bundle.
1954
+ */
1799
1955
  'salePrice'?: SalePrice | null;
1800
1956
  /**
1801
1957
  * Images to attach to the product. For example, photos of models using/wearing the product.
@@ -1845,7 +2001,7 @@ export interface UpdateProductRequest {
1845
2001
  }
1846
2002
  export interface UpdateProductRequestBundleItemsInner {
1847
2003
  /**
1848
- * Unique object identifier
2004
+ * The product UUID to include in the bundle
1849
2005
  */
1850
2006
  'id'?: string;
1851
2007
  'config'?: UpdateProductRequestBundleItemsInnerConfig;
@@ -2049,7 +2205,13 @@ export const UpdateProductsRequestProductsInnerVariantsInnerSalePriceCurrencyCod
2049
2205
 
2050
2206
  export type UpdateProductsRequestProductsInnerVariantsInnerSalePriceCurrencyCodeEnum = typeof UpdateProductsRequestProductsInnerVariantsInnerSalePriceCurrencyCodeEnum[keyof typeof UpdateProductsRequestProductsInnerVariantsInnerSalePriceCurrencyCodeEnum];
2051
2207
 
2208
+ /**
2209
+ * A list of users who have created products for the project.
2210
+ */
2052
2211
  export interface UserList {
2212
+ /**
2213
+ * The list of product creators.
2214
+ */
2053
2215
  'creators': Array<UserListCreatorsInner>;
2054
2216
  }
2055
2217
  export interface UserListCreatorsInner {
@@ -2073,18 +2235,24 @@ export interface UserListCreatorsInnerAvatar {
2073
2235
  */
2074
2236
  'original': string | null;
2075
2237
  }
2238
+ /**
2239
+ * A specific colour/size combination of a catalog product with its own SKU, pricing, stock, and design applications.
2240
+ */
2076
2241
  export interface Variant {
2077
2242
  /**
2078
- * Unique object identifier
2243
+ * The unique identifier of the variant.
2079
2244
  */
2080
2245
  'id'?: string;
2081
2246
  /**
2082
- * Attributes associated to a variant such as Colour and Size. An attribute can have thumbnail type of `text`, `color`, or `image`. Attribute tags are intended for grouping and filtering, e.g. by a group of colours.
2247
+ * The attributes (e.g. Colour, Size) that define this variant.
2083
2248
  */
2084
2249
  'attributes': Array<Attribute>;
2250
+ /**
2251
+ * The stock keeping unit code for this variant.
2252
+ */
2085
2253
  'sku': string;
2086
2254
  /**
2087
- * A reference to the variant resource location
2255
+ * A URI reference to this variant resource.
2088
2256
  */
2089
2257
  'ref'?: string;
2090
2258
  'product'?: VariantProduct;
@@ -2181,6 +2349,9 @@ export interface VariantWarehouseVariant {
2181
2349
  'metafields'?: Array<MetaField>;
2182
2350
  }
2183
2351
  export interface VariantWholesaleCost {
2352
+ /**
2353
+ * The cost of the variant alone
2354
+ */
2184
2355
  'item': RequiredPrice;
2185
2356
  /**
2186
2357
  * A breakdown of the cost per application
@@ -2190,6 +2361,9 @@ export interface VariantWholesaleCost {
2190
2361
  * a breakdown of the cost per handling fee
2191
2362
  */
2192
2363
  'handling': Array<NamedPrice>;
2364
+ /**
2365
+ * The total cost of fulfillment for the variant. This includes the cost of the variant, the cost of the applications, and the cost of the handling fees.
2366
+ */
2193
2367
  'fulfillment': RequiredPrice;
2194
2368
  }
2195
2369
  export interface VariantsResponse {
@@ -2200,11 +2374,11 @@ export interface VariantsResponse {
2200
2374
  'nextPageToken'?: number | null;
2201
2375
  }
2202
2376
  /**
2203
- * Video object
2377
+ * A video associated with a product.
2204
2378
  */
2205
2379
  export interface Video {
2206
2380
  /**
2207
- * Unique object identifier
2381
+ * The unique identifier of the video.
2208
2382
  */
2209
2383
  'id'?: string;
2210
2384
  'src'?: string;
@@ -2213,6 +2387,9 @@ export interface Video {
2213
2387
  'createdAt'?: string;
2214
2388
  'updatedAt'?: string;
2215
2389
  }
2390
+ /**
2391
+ * A video file to attach to a product, specified by a publicly available URL.
2392
+ */
2216
2393
  export interface VideoFile {
2217
2394
  /**
2218
2395
  * Publicly available file URL.
@@ -3337,10 +3514,12 @@ export const ApplicationTechnologiesApiAxiosParamCreator = function (configurati
3337
3514
  * Lists all technologies available to this project.
3338
3515
  * @summary List technologies available to this project
3339
3516
  * @param {string} project What project it is
3517
+ * @param {number} [pageToken] Page reference token
3518
+ * @param {number} [pageSize] Max page size. This is the maximum page size that will be returned, but it might be smaller.
3340
3519
  * @param {*} [options] Override http request option.
3341
3520
  * @throws {RequiredError}
3342
3521
  */
3343
- listTechnologies: async (project: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
3522
+ listTechnologies: async (project: string, pageToken?: number, pageSize?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
3344
3523
  // verify required parameter 'project' is not null or undefined
3345
3524
  assertParamExists('listTechnologies', 'project', project)
3346
3525
  const localVarPath = `/v1/catalog/applications/technologies`;
@@ -3366,6 +3545,14 @@ export const ApplicationTechnologiesApiAxiosParamCreator = function (configurati
3366
3545
  localVarQueryParameter['project'] = project;
3367
3546
  }
3368
3547
 
3548
+ if (pageToken !== undefined) {
3549
+ localVarQueryParameter['pageToken'] = pageToken;
3550
+ }
3551
+
3552
+ if (pageSize !== undefined) {
3553
+ localVarQueryParameter['pageSize'] = pageSize;
3554
+ }
3555
+
3369
3556
  localVarHeaderParameter['Accept'] = 'application/json';
3370
3557
 
3371
3558
  setSearchParams(localVarUrlObj, localVarQueryParameter);
@@ -3390,11 +3577,13 @@ export const ApplicationTechnologiesApiFp = function(configuration?: Configurati
3390
3577
  * Lists all technologies available to this project.
3391
3578
  * @summary List technologies available to this project
3392
3579
  * @param {string} project What project it is
3580
+ * @param {number} [pageToken] Page reference token
3581
+ * @param {number} [pageSize] Max page size. This is the maximum page size that will be returned, but it might be smaller.
3393
3582
  * @param {*} [options] Override http request option.
3394
3583
  * @throws {RequiredError}
3395
3584
  */
3396
- async listTechnologies(project: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplicationTechnologiesResponse>> {
3397
- const localVarAxiosArgs = await localVarAxiosParamCreator.listTechnologies(project, options);
3585
+ async listTechnologies(project: string, pageToken?: number, pageSize?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplicationTechnologiesResponse>> {
3586
+ const localVarAxiosArgs = await localVarAxiosParamCreator.listTechnologies(project, pageToken, pageSize, options);
3398
3587
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
3399
3588
  const localVarOperationServerBasePath = operationServerMap['ApplicationTechnologiesApi.listTechnologies']?.[localVarOperationServerIndex]?.url;
3400
3589
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -3416,7 +3605,7 @@ export const ApplicationTechnologiesApiFactory = function (configuration?: Confi
3416
3605
  * @throws {RequiredError}
3417
3606
  */
3418
3607
  listTechnologies(requestParameters: ApplicationTechnologiesApiListTechnologiesRequest, options?: RawAxiosRequestConfig): AxiosPromise<ApplicationTechnologiesResponse> {
3419
- return localVarFp.listTechnologies(requestParameters.project, options).then((request) => request(axios, basePath));
3608
+ return localVarFp.listTechnologies(requestParameters.project, requestParameters.pageToken, requestParameters.pageSize, options).then((request) => request(axios, basePath));
3420
3609
  },
3421
3610
  };
3422
3611
  };
@@ -3429,6 +3618,16 @@ export interface ApplicationTechnologiesApiListTechnologiesRequest {
3429
3618
  * What project it is
3430
3619
  */
3431
3620
  readonly project: string
3621
+
3622
+ /**
3623
+ * Page reference token
3624
+ */
3625
+ readonly pageToken?: number
3626
+
3627
+ /**
3628
+ * Max page size. This is the maximum page size that will be returned, but it might be smaller.
3629
+ */
3630
+ readonly pageSize?: number
3432
3631
  }
3433
3632
 
3434
3633
  /**
@@ -3443,7 +3642,7 @@ export class ApplicationTechnologiesApi extends BaseAPI {
3443
3642
  * @throws {RequiredError}
3444
3643
  */
3445
3644
  public listTechnologies(requestParameters: ApplicationTechnologiesApiListTechnologiesRequest, options?: RawAxiosRequestConfig) {
3446
- return ApplicationTechnologiesApiFp(this.configuration).listTechnologies(requestParameters.project, options).then((request) => request(this.axios, this.basePath));
3645
+ return ApplicationTechnologiesApiFp(this.configuration).listTechnologies(requestParameters.project, requestParameters.pageToken, requestParameters.pageSize, options).then((request) => request(this.axios, this.basePath));
3447
3646
  }
3448
3647
  }
3449
3648
 
@@ -4153,10 +4352,12 @@ export const ProductCreatorsApiAxiosParamCreator = function (configuration?: Con
4153
4352
  * Lists all the unique users that have created products for the given project.
4154
4353
  * @summary List product creators
4155
4354
  * @param {string} project What project it is
4355
+ * @param {number} [pageToken] Page reference token
4356
+ * @param {number} [pageSize] Max page size. This is the maximum page size that will be returned, but it might be smaller.
4156
4357
  * @param {*} [options] Override http request option.
4157
4358
  * @throws {RequiredError}
4158
4359
  */
4159
- listProductCreators: async (project: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
4360
+ listProductCreators: async (project: string, pageToken?: number, pageSize?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
4160
4361
  // verify required parameter 'project' is not null or undefined
4161
4362
  assertParamExists('listProductCreators', 'project', project)
4162
4363
  const localVarPath = `/v1/catalog/creators`;
@@ -4182,6 +4383,14 @@ export const ProductCreatorsApiAxiosParamCreator = function (configuration?: Con
4182
4383
  localVarQueryParameter['project'] = project;
4183
4384
  }
4184
4385
 
4386
+ if (pageToken !== undefined) {
4387
+ localVarQueryParameter['pageToken'] = pageToken;
4388
+ }
4389
+
4390
+ if (pageSize !== undefined) {
4391
+ localVarQueryParameter['pageSize'] = pageSize;
4392
+ }
4393
+
4185
4394
  localVarHeaderParameter['Accept'] = 'application/json';
4186
4395
 
4187
4396
  setSearchParams(localVarUrlObj, localVarQueryParameter);
@@ -4206,11 +4415,13 @@ export const ProductCreatorsApiFp = function(configuration?: Configuration) {
4206
4415
  * Lists all the unique users that have created products for the given project.
4207
4416
  * @summary List product creators
4208
4417
  * @param {string} project What project it is
4418
+ * @param {number} [pageToken] Page reference token
4419
+ * @param {number} [pageSize] Max page size. This is the maximum page size that will be returned, but it might be smaller.
4209
4420
  * @param {*} [options] Override http request option.
4210
4421
  * @throws {RequiredError}
4211
4422
  */
4212
- async listProductCreators(project: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserList>> {
4213
- const localVarAxiosArgs = await localVarAxiosParamCreator.listProductCreators(project, options);
4423
+ async listProductCreators(project: string, pageToken?: number, pageSize?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserList>> {
4424
+ const localVarAxiosArgs = await localVarAxiosParamCreator.listProductCreators(project, pageToken, pageSize, options);
4214
4425
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
4215
4426
  const localVarOperationServerBasePath = operationServerMap['ProductCreatorsApi.listProductCreators']?.[localVarOperationServerIndex]?.url;
4216
4427
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -4232,7 +4443,7 @@ export const ProductCreatorsApiFactory = function (configuration?: Configuration
4232
4443
  * @throws {RequiredError}
4233
4444
  */
4234
4445
  listProductCreators(requestParameters: ProductCreatorsApiListProductCreatorsRequest, options?: RawAxiosRequestConfig): AxiosPromise<UserList> {
4235
- return localVarFp.listProductCreators(requestParameters.project, options).then((request) => request(axios, basePath));
4446
+ return localVarFp.listProductCreators(requestParameters.project, requestParameters.pageToken, requestParameters.pageSize, options).then((request) => request(axios, basePath));
4236
4447
  },
4237
4448
  };
4238
4449
  };
@@ -4245,6 +4456,16 @@ export interface ProductCreatorsApiListProductCreatorsRequest {
4245
4456
  * What project it is
4246
4457
  */
4247
4458
  readonly project: string
4459
+
4460
+ /**
4461
+ * Page reference token
4462
+ */
4463
+ readonly pageToken?: number
4464
+
4465
+ /**
4466
+ * Max page size. This is the maximum page size that will be returned, but it might be smaller.
4467
+ */
4468
+ readonly pageSize?: number
4248
4469
  }
4249
4470
 
4250
4471
  /**
@@ -4259,7 +4480,7 @@ export class ProductCreatorsApi extends BaseAPI {
4259
4480
  * @throws {RequiredError}
4260
4481
  */
4261
4482
  public listProductCreators(requestParameters: ProductCreatorsApiListProductCreatorsRequest, options?: RawAxiosRequestConfig) {
4262
- return ProductCreatorsApiFp(this.configuration).listProductCreators(requestParameters.project, options).then((request) => request(this.axios, this.basePath));
4483
+ return ProductCreatorsApiFp(this.configuration).listProductCreators(requestParameters.project, requestParameters.pageToken, requestParameters.pageSize, options).then((request) => request(this.axios, this.basePath));
4263
4484
  }
4264
4485
  }
4265
4486
 
@@ -4417,7 +4638,7 @@ export const ProductsApiAxiosParamCreator = function (configuration?: Configurat
4417
4638
  * Creates a new catalog product based on a product from the GFN Catalog, with the variants and design applications you provide. Use the [GFN Catalog API](/developer/api/gfn-catalog) to list available products and their variants (including exact attribute names and values) for the project.
4418
4639
  * @summary Create product
4419
4640
  * @param {string} project What project it is
4420
- * @param {CreateProductRequest} [createProductRequest]
4641
+ * @param {CreateProductRequest} [createProductRequest] The product to create, including title, variants, design applications, and pricing.
4421
4642
  * @param {*} [options] Override http request option.
4422
4643
  * @throws {RequiredError}
4423
4644
  */
@@ -5014,7 +5235,7 @@ export const ProductsApiAxiosParamCreator = function (configuration?: Configurat
5014
5235
  * @summary Update product
5015
5236
  * @param {string} project What project it is
5016
5237
  * @param {string} productId Product\&#39;s unique identifier
5017
- * @param {UpdateProductRequest} [updateProductRequest]
5238
+ * @param {UpdateProductRequest} [updateProductRequest] The product fields to update. Only the fields provided will be modified.
5018
5239
  * @param {*} [options] Override http request option.
5019
5240
  * @throws {RequiredError}
5020
5241
  */
@@ -5122,7 +5343,7 @@ export const ProductsApiFp = function(configuration?: Configuration) {
5122
5343
  * Creates a new catalog product based on a product from the GFN Catalog, with the variants and design applications you provide. Use the [GFN Catalog API](/developer/api/gfn-catalog) to list available products and their variants (including exact attribute names and values) for the project.
5123
5344
  * @summary Create product
5124
5345
  * @param {string} project What project it is
5125
- * @param {CreateProductRequest} [createProductRequest]
5346
+ * @param {CreateProductRequest} [createProductRequest] The product to create, including title, variants, design applications, and pricing.
5126
5347
  * @param {*} [options] Override http request option.
5127
5348
  * @throws {RequiredError}
5128
5349
  */
@@ -5278,7 +5499,7 @@ export const ProductsApiFp = function(configuration?: Configuration) {
5278
5499
  * @summary Update product
5279
5500
  * @param {string} project What project it is
5280
5501
  * @param {string} productId Product\&#39;s unique identifier
5281
- * @param {UpdateProductRequest} [updateProductRequest]
5502
+ * @param {UpdateProductRequest} [updateProductRequest] The product fields to update. Only the fields provided will be modified.
5282
5503
  * @param {*} [options] Override http request option.
5283
5504
  * @throws {RequiredError}
5284
5505
  */
@@ -5433,6 +5654,9 @@ export interface ProductsApiCreateProductRequest {
5433
5654
  */
5434
5655
  readonly project: string
5435
5656
 
5657
+ /**
5658
+ * The product to create, including title, variants, design applications, and pricing.
5659
+ */
5436
5660
  readonly createProductRequest?: CreateProductRequest
5437
5661
  }
5438
5662
 
@@ -5715,6 +5939,9 @@ export interface ProductsApiUpdateProductRequest {
5715
5939
  */
5716
5940
  readonly productId: string
5717
5941
 
5942
+ /**
5943
+ * The product fields to update. Only the fields provided will be modified.
5944
+ */
5718
5945
  readonly updateProductRequest?: UpdateProductRequest
5719
5946
  }
5720
5947