@teemill/product-catalog 1.91.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 (73) hide show
  1. package/.openapi-generator/FILES +2 -1
  2. package/README.md +4 -3
  3. package/api.ts +297 -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 +271 -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 +271 -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 +3 -0
  44. package/docs/CreateProductRequest.md +3 -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 +11 -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/ProductStaticCollectionsInner.md +22 -0
  56. package/docs/ProductType.md +2 -1
  57. package/docs/ProductsApi.md +6 -6
  58. package/docs/Recommendation.md +2 -1
  59. package/docs/Stock.md +3 -2
  60. package/docs/TargetSearchPhraseData.md +1 -0
  61. package/docs/TextApplicationProperties.md +1 -0
  62. package/docs/TextApplicationPropertiesPersonalization.md +1 -0
  63. package/docs/UpdateProductRequest.md +4 -2
  64. package/docs/UpdateProductRequestBundleItemsInner.md +1 -1
  65. package/docs/UpdateProductsRequestProductsInner.md +2 -0
  66. package/docs/UpdateProductsRequestProductsInnerCollectionsInner.md +20 -0
  67. package/docs/UserList.md +2 -1
  68. package/docs/Variant.md +5 -4
  69. package/docs/VariantWholesaleCost.md +2 -2
  70. package/docs/Video.md +2 -2
  71. package/docs/VideoFile.md +1 -0
  72. package/index.ts +1 -1
  73. 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.91.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.
@@ -894,6 +960,10 @@ export interface CreateProduct {
894
960
  * For use with the Shopify integration. Use this to provide a Shopify product ID to link to an existing Shopify product rather than creating a new one.
895
961
  */
896
962
  'shopifyId'?: number | null;
963
+ /**
964
+ * An exclusive list of collection IDs to assign to the product. Replaces all existing static collection memberships. Requires the website integration.
965
+ */
966
+ 'collections'?: Array<UpdateProductsRequestProductsInnerCollectionsInner>;
897
967
  /**
898
968
  * Key/value pairs that can be used to store additional information about the product
899
969
  */
@@ -925,6 +995,9 @@ export interface CreateProductImagesInner {
925
995
  */
926
996
  export type CreateProductRequest = CreateBundleProduct | CreateDigitalProduct | CreateProduct;
927
997
 
998
+ /**
999
+ * The payload for creating a new variant on a catalog product.
1000
+ */
928
1001
  export interface CreateProductVariant {
929
1002
  /**
930
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).
@@ -1014,11 +1087,11 @@ export interface ExportProducts202Response {
1014
1087
  'message'?: string;
1015
1088
  }
1016
1089
  /**
1017
- * Image description
1090
+ * An image associated with a product or variant.
1018
1091
  */
1019
1092
  export interface Image {
1020
1093
  /**
1021
- * Unique object identifier
1094
+ * The unique identifier of the image.
1022
1095
  */
1023
1096
  'id'?: string;
1024
1097
  'src': string;
@@ -1032,6 +1105,9 @@ export interface Image {
1032
1105
  'createdAt'?: string;
1033
1106
  'updatedAt'?: string;
1034
1107
  }
1108
+ /**
1109
+ * An image file to attach to a product, specified by a publicly available URL.
1110
+ */
1035
1111
  export interface ImageFile {
1036
1112
  /**
1037
1113
  * Publicly available file URL.
@@ -1087,6 +1163,9 @@ export interface License {
1087
1163
  */
1088
1164
  'expiresAt'?: string;
1089
1165
  }
1166
+ /**
1167
+ * A stock location showing the number of units available at a specific warehouse location.
1168
+ */
1090
1169
  export interface Location {
1091
1170
  /**
1092
1171
  * The total number of units available at the location
@@ -1110,18 +1189,30 @@ export interface MetaField {
1110
1189
  */
1111
1190
  'value': string;
1112
1191
  }
1192
+ /**
1193
+ * A named price component (e.g. Fulfillment, Application) with its amount and currency.
1194
+ */
1113
1195
  export interface NamedPrice {
1114
1196
  /**
1115
1197
  * The name of the price
1116
1198
  */
1117
1199
  'name': string;
1200
+ /**
1201
+ * The price amount and currency.
1202
+ */
1118
1203
  'price': RequiredPrice;
1119
1204
  }
1205
+ /**
1206
+ * A record of an AI SEO optimisation performed on a product.
1207
+ */
1120
1208
  export interface OptimisationHistoryItem {
1121
1209
  /**
1122
- * Unique object identifier
1210
+ * The unique identifier of this optimisation.
1123
1211
  */
1124
1212
  'id'?: string;
1213
+ /**
1214
+ * The timestamp when this optimisation was performed.
1215
+ */
1125
1216
  'createdAt'?: string;
1126
1217
  }
1127
1218
  /**
@@ -1144,15 +1235,21 @@ export const PriceCurrencyCodeEnum = {
1144
1235
 
1145
1236
  export type PriceCurrencyCodeEnum = typeof PriceCurrencyCodeEnum[keyof typeof PriceCurrencyCodeEnum];
1146
1237
 
1238
+ /**
1239
+ * A catalog product listing that can be purchased, containing design applications, pricing, variants, and SEO metadata.
1240
+ */
1147
1241
  export interface Product {
1148
1242
  /**
1149
- * Unique object identifier
1243
+ * The unique identifier of the product.
1150
1244
  */
1151
1245
  'id'?: string;
1152
1246
  /**
1153
- * A reference to the resource location
1247
+ * A URI reference to this product resource.
1154
1248
  */
1155
1249
  'ref'?: string;
1250
+ /**
1251
+ * The display title of the product.
1252
+ */
1156
1253
  'title': string;
1157
1254
  'description': string;
1158
1255
  'slug'?: string;
@@ -1181,7 +1278,13 @@ export interface Product {
1181
1278
  * Products in the bundle.
1182
1279
  */
1183
1280
  'bundleItems'?: Array<ProductBundleItemsInner>;
1281
+ /**
1282
+ * The retail price of the product, including tax. Only provided if the product is a bundle.
1283
+ */
1184
1284
  'retailPrice'?: Price;
1285
+ /**
1286
+ * The sale price of the product, including tax. Only provided if the product is a bundle.
1287
+ */
1185
1288
  'salePrice'?: SalePrice | null;
1186
1289
  /**
1187
1290
  * Additional files attached to the product.
@@ -1199,12 +1302,21 @@ export interface Product {
1199
1302
  * A count of reviews. This field is only present if included in the fields query parameter
1200
1303
  */
1201
1304
  'reviewCount'?: number;
1305
+ /**
1306
+ * A unique identifier for a specific variant (product + colour + size).
1307
+ */
1202
1308
  'sku'?: string;
1203
1309
  /**
1204
1310
  * A count of sales. This field is only present if included in the fields query parameter
1205
1311
  */
1206
1312
  'sales'?: number;
1313
+ /**
1314
+ * The start of the window in which sales are counted
1315
+ */
1207
1316
  'salesStart'?: string;
1317
+ /**
1318
+ * The end of the window in which sales are counted
1319
+ */
1208
1320
  'salesEnd'?: string;
1209
1321
  'includeInDataFeeds'?: boolean;
1210
1322
  /**
@@ -1243,6 +1355,10 @@ export interface Product {
1243
1355
  */
1244
1356
  'isDigital'?: boolean;
1245
1357
  'analytics'?: ProductAnalytics;
1358
+ /**
1359
+ * The static (non-dynamic/filter-based) collections this product belongs to.
1360
+ */
1361
+ 'staticCollections'?: Array<ProductStaticCollectionsInner>;
1246
1362
  }
1247
1363
  export interface ProductAdditionalFilesInner {
1248
1364
  /**
@@ -1298,13 +1414,16 @@ export interface ProductApplicationSetsInner {
1298
1414
  }
1299
1415
  export interface ProductBundleItemsInner {
1300
1416
  /**
1301
- * Unique object identifier
1417
+ * The unique identifier of the bundle product.
1302
1418
  */
1303
1419
  'id'?: string;
1304
1420
  /**
1305
- * A reference to the resource location
1421
+ * A URI reference to this bundle product resource.
1306
1422
  */
1307
1423
  'ref'?: string;
1424
+ /**
1425
+ * The display title of the bundle product.
1426
+ */
1308
1427
  'title': string;
1309
1428
  'description': string;
1310
1429
  'slug'?: string;
@@ -1329,7 +1448,13 @@ export interface ProductBundleItemsInner {
1329
1448
  * Variants
1330
1449
  */
1331
1450
  'variants'?: Array<Variant>;
1451
+ /**
1452
+ * The retail price of the product, including tax. Only provided if the product is a bundle.
1453
+ */
1332
1454
  'retailPrice'?: Price;
1455
+ /**
1456
+ * The sale price of the product, including tax. Only provided if the product is a bundle.
1457
+ */
1333
1458
  'salePrice'?: SalePrice | null;
1334
1459
  /**
1335
1460
  * Additional files attached to the product.
@@ -1347,12 +1472,21 @@ export interface ProductBundleItemsInner {
1347
1472
  * A count of reviews. This field is only present if included in the fields query parameter
1348
1473
  */
1349
1474
  'reviewCount'?: number;
1475
+ /**
1476
+ * A unique identifier for a specific variant (product + colour + size).
1477
+ */
1350
1478
  'sku'?: string;
1351
1479
  /**
1352
1480
  * A count of sales. This field is only present if included in the fields query parameter
1353
1481
  */
1354
1482
  'sales'?: number;
1483
+ /**
1484
+ * The start of the window in which sales are counted
1485
+ */
1355
1486
  'salesStart'?: string;
1487
+ /**
1488
+ * The end of the window in which sales are counted
1489
+ */
1356
1490
  'salesEnd'?: string;
1357
1491
  'includeInDataFeeds'?: boolean;
1358
1492
  /**
@@ -1401,9 +1535,16 @@ export interface ProductGfnProduct {
1401
1535
  */
1402
1536
  'metafields'?: Array<MetaField>;
1403
1537
  }
1538
+ export interface ProductStaticCollectionsInner {
1539
+ 'id'?: string;
1540
+ 'title'?: string;
1541
+ }
1542
+ /**
1543
+ * A type of product available in the catalog (e.g. Printed T-Shirt, Embroidered Hoodie).
1544
+ */
1404
1545
  export interface ProductType {
1405
1546
  /**
1406
- * Unique object identifier
1547
+ * The unique identifier of the product type.
1407
1548
  */
1408
1549
  'id': string;
1409
1550
  /**
@@ -1442,9 +1583,12 @@ export interface ProductsResponse {
1442
1583
  */
1443
1584
  'nextPageToken'?: number | null;
1444
1585
  }
1586
+ /**
1587
+ * An AI-generated recommendation for improving product performance.
1588
+ */
1445
1589
  export interface Recommendation {
1446
1590
  /**
1447
- * Unique object identifier
1591
+ * The unique identifier of this recommendation.
1448
1592
  */
1449
1593
  'id': string;
1450
1594
  /**
@@ -1559,10 +1703,22 @@ export interface SeoOptimiseProductsRequest {
1559
1703
  */
1560
1704
  'fields'?: Array<string>;
1561
1705
  }
1706
+ /**
1707
+ * Stock availability information including total level and per-location breakdown.
1708
+ */
1562
1709
  export interface Stock {
1710
+ /**
1711
+ * The current total stock level available for purchase.
1712
+ */
1563
1713
  'level'?: number;
1714
+ /**
1715
+ * Stock levels broken down by warehouse location.
1716
+ */
1564
1717
  'locations'?: Array<Location>;
1565
1718
  }
1719
+ /**
1720
+ * Target search phrase configuration for SEO optimisation of a product.
1721
+ */
1566
1722
  export interface TargetSearchPhraseData {
1567
1723
  /**
1568
1724
  * The primary target search phrase for the product that you wish to rank for in search engine results.
@@ -1573,6 +1729,9 @@ export interface TargetSearchPhraseData {
1573
1729
  */
1574
1730
  'targetSearchPhraseSynonyms'?: Array<string>;
1575
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
+ */
1576
1735
  export interface TextApplicationProperties {
1577
1736
  'position'?: TextApplicationPropertiesPosition;
1578
1737
  'positionInference'?: ApplicationPropertiesPositionInference | null;
@@ -1622,6 +1781,9 @@ export const TextApplicationPropertiesFontStyleEnum = {
1622
1781
 
1623
1782
  export type TextApplicationPropertiesFontStyleEnum = typeof TextApplicationPropertiesFontStyleEnum[keyof typeof TextApplicationPropertiesFontStyleEnum];
1624
1783
 
1784
+ /**
1785
+ * Personalisation configuration for a text application, allowing end-users to customise the text content.
1786
+ */
1625
1787
  export interface TextApplicationPropertiesPersonalization {
1626
1788
  /**
1627
1789
  * The label to be displayed on the personalization field.
@@ -1783,7 +1945,13 @@ export interface UpdateProductRequest {
1783
1945
  * A list of products to be in this bundle. Only valid if the product is already a bundle.
1784
1946
  */
1785
1947
  'bundleItems'?: Array<UpdateProductRequestBundleItemsInner>;
1948
+ /**
1949
+ * The retail price of the product, including tax. Only provided if the product is a bundle.
1950
+ */
1786
1951
  'retailPrice'?: Price;
1952
+ /**
1953
+ * The sale price of the product, including tax. Only provided if the product is a bundle.
1954
+ */
1787
1955
  'salePrice'?: SalePrice | null;
1788
1956
  /**
1789
1957
  * Images to attach to the product. For example, photos of models using/wearing the product.
@@ -1826,10 +1994,14 @@ export interface UpdateProductRequest {
1826
1994
  * Whether to show a sale badge on the product
1827
1995
  */
1828
1996
  'showSaleBadge'?: boolean;
1997
+ /**
1998
+ * An exclusive list of collection IDs to assign to the product. Replaces all existing static collection memberships. Requires the website integration.
1999
+ */
2000
+ 'collections'?: Array<UpdateProductsRequestProductsInnerCollectionsInner>;
1829
2001
  }
1830
2002
  export interface UpdateProductRequestBundleItemsInner {
1831
2003
  /**
1832
- * Unique object identifier
2004
+ * The product UUID to include in the bundle
1833
2005
  */
1834
2006
  'id'?: string;
1835
2007
  'config'?: UpdateProductRequestBundleItemsInnerConfig;
@@ -1908,8 +2080,15 @@ export interface UpdateProductsRequestProductsInner {
1908
2080
  * Whether to show a sale badge on the product
1909
2081
  */
1910
2082
  'showSaleBadge'?: boolean;
2083
+ /**
2084
+ * An exclusive list of collection IDs to assign to the product. Replaces all existing static collection memberships. Requires the website integration.
2085
+ */
2086
+ 'collections'?: Array<UpdateProductsRequestProductsInnerCollectionsInner>;
1911
2087
  'license'?: UpdateProductsRequestProductsInnerLicense;
1912
2088
  }
2089
+ export interface UpdateProductsRequestProductsInnerCollectionsInner {
2090
+ 'id': string;
2091
+ }
1913
2092
  export interface UpdateProductsRequestProductsInnerIntegrationConnectionsInner {
1914
2093
  'integrationCode': string;
1915
2094
  /**
@@ -2026,7 +2205,13 @@ export const UpdateProductsRequestProductsInnerVariantsInnerSalePriceCurrencyCod
2026
2205
 
2027
2206
  export type UpdateProductsRequestProductsInnerVariantsInnerSalePriceCurrencyCodeEnum = typeof UpdateProductsRequestProductsInnerVariantsInnerSalePriceCurrencyCodeEnum[keyof typeof UpdateProductsRequestProductsInnerVariantsInnerSalePriceCurrencyCodeEnum];
2028
2207
 
2208
+ /**
2209
+ * A list of users who have created products for the project.
2210
+ */
2029
2211
  export interface UserList {
2212
+ /**
2213
+ * The list of product creators.
2214
+ */
2030
2215
  'creators': Array<UserListCreatorsInner>;
2031
2216
  }
2032
2217
  export interface UserListCreatorsInner {
@@ -2050,18 +2235,24 @@ export interface UserListCreatorsInnerAvatar {
2050
2235
  */
2051
2236
  'original': string | null;
2052
2237
  }
2238
+ /**
2239
+ * A specific colour/size combination of a catalog product with its own SKU, pricing, stock, and design applications.
2240
+ */
2053
2241
  export interface Variant {
2054
2242
  /**
2055
- * Unique object identifier
2243
+ * The unique identifier of the variant.
2056
2244
  */
2057
2245
  'id'?: string;
2058
2246
  /**
2059
- * 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.
2060
2248
  */
2061
2249
  'attributes': Array<Attribute>;
2250
+ /**
2251
+ * The stock keeping unit code for this variant.
2252
+ */
2062
2253
  'sku': string;
2063
2254
  /**
2064
- * A reference to the variant resource location
2255
+ * A URI reference to this variant resource.
2065
2256
  */
2066
2257
  'ref'?: string;
2067
2258
  'product'?: VariantProduct;
@@ -2158,6 +2349,9 @@ export interface VariantWarehouseVariant {
2158
2349
  'metafields'?: Array<MetaField>;
2159
2350
  }
2160
2351
  export interface VariantWholesaleCost {
2352
+ /**
2353
+ * The cost of the variant alone
2354
+ */
2161
2355
  'item': RequiredPrice;
2162
2356
  /**
2163
2357
  * A breakdown of the cost per application
@@ -2167,6 +2361,9 @@ export interface VariantWholesaleCost {
2167
2361
  * a breakdown of the cost per handling fee
2168
2362
  */
2169
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
+ */
2170
2367
  'fulfillment': RequiredPrice;
2171
2368
  }
2172
2369
  export interface VariantsResponse {
@@ -2177,11 +2374,11 @@ export interface VariantsResponse {
2177
2374
  'nextPageToken'?: number | null;
2178
2375
  }
2179
2376
  /**
2180
- * Video object
2377
+ * A video associated with a product.
2181
2378
  */
2182
2379
  export interface Video {
2183
2380
  /**
2184
- * Unique object identifier
2381
+ * The unique identifier of the video.
2185
2382
  */
2186
2383
  'id'?: string;
2187
2384
  'src'?: string;
@@ -2190,6 +2387,9 @@ export interface Video {
2190
2387
  'createdAt'?: string;
2191
2388
  'updatedAt'?: string;
2192
2389
  }
2390
+ /**
2391
+ * A video file to attach to a product, specified by a publicly available URL.
2392
+ */
2193
2393
  export interface VideoFile {
2194
2394
  /**
2195
2395
  * Publicly available file URL.
@@ -3314,10 +3514,12 @@ export const ApplicationTechnologiesApiAxiosParamCreator = function (configurati
3314
3514
  * Lists all technologies available to this project.
3315
3515
  * @summary List technologies available to this project
3316
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.
3317
3519
  * @param {*} [options] Override http request option.
3318
3520
  * @throws {RequiredError}
3319
3521
  */
3320
- listTechnologies: async (project: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
3522
+ listTechnologies: async (project: string, pageToken?: number, pageSize?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
3321
3523
  // verify required parameter 'project' is not null or undefined
3322
3524
  assertParamExists('listTechnologies', 'project', project)
3323
3525
  const localVarPath = `/v1/catalog/applications/technologies`;
@@ -3343,6 +3545,14 @@ export const ApplicationTechnologiesApiAxiosParamCreator = function (configurati
3343
3545
  localVarQueryParameter['project'] = project;
3344
3546
  }
3345
3547
 
3548
+ if (pageToken !== undefined) {
3549
+ localVarQueryParameter['pageToken'] = pageToken;
3550
+ }
3551
+
3552
+ if (pageSize !== undefined) {
3553
+ localVarQueryParameter['pageSize'] = pageSize;
3554
+ }
3555
+
3346
3556
  localVarHeaderParameter['Accept'] = 'application/json';
3347
3557
 
3348
3558
  setSearchParams(localVarUrlObj, localVarQueryParameter);
@@ -3367,11 +3577,13 @@ export const ApplicationTechnologiesApiFp = function(configuration?: Configurati
3367
3577
  * Lists all technologies available to this project.
3368
3578
  * @summary List technologies available to this project
3369
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.
3370
3582
  * @param {*} [options] Override http request option.
3371
3583
  * @throws {RequiredError}
3372
3584
  */
3373
- async listTechnologies(project: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplicationTechnologiesResponse>> {
3374
- 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);
3375
3587
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
3376
3588
  const localVarOperationServerBasePath = operationServerMap['ApplicationTechnologiesApi.listTechnologies']?.[localVarOperationServerIndex]?.url;
3377
3589
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -3393,7 +3605,7 @@ export const ApplicationTechnologiesApiFactory = function (configuration?: Confi
3393
3605
  * @throws {RequiredError}
3394
3606
  */
3395
3607
  listTechnologies(requestParameters: ApplicationTechnologiesApiListTechnologiesRequest, options?: RawAxiosRequestConfig): AxiosPromise<ApplicationTechnologiesResponse> {
3396
- 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));
3397
3609
  },
3398
3610
  };
3399
3611
  };
@@ -3406,6 +3618,16 @@ export interface ApplicationTechnologiesApiListTechnologiesRequest {
3406
3618
  * What project it is
3407
3619
  */
3408
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
3409
3631
  }
3410
3632
 
3411
3633
  /**
@@ -3420,7 +3642,7 @@ export class ApplicationTechnologiesApi extends BaseAPI {
3420
3642
  * @throws {RequiredError}
3421
3643
  */
3422
3644
  public listTechnologies(requestParameters: ApplicationTechnologiesApiListTechnologiesRequest, options?: RawAxiosRequestConfig) {
3423
- 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));
3424
3646
  }
3425
3647
  }
3426
3648
 
@@ -4130,10 +4352,12 @@ export const ProductCreatorsApiAxiosParamCreator = function (configuration?: Con
4130
4352
  * Lists all the unique users that have created products for the given project.
4131
4353
  * @summary List product creators
4132
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.
4133
4357
  * @param {*} [options] Override http request option.
4134
4358
  * @throws {RequiredError}
4135
4359
  */
4136
- listProductCreators: async (project: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
4360
+ listProductCreators: async (project: string, pageToken?: number, pageSize?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
4137
4361
  // verify required parameter 'project' is not null or undefined
4138
4362
  assertParamExists('listProductCreators', 'project', project)
4139
4363
  const localVarPath = `/v1/catalog/creators`;
@@ -4159,6 +4383,14 @@ export const ProductCreatorsApiAxiosParamCreator = function (configuration?: Con
4159
4383
  localVarQueryParameter['project'] = project;
4160
4384
  }
4161
4385
 
4386
+ if (pageToken !== undefined) {
4387
+ localVarQueryParameter['pageToken'] = pageToken;
4388
+ }
4389
+
4390
+ if (pageSize !== undefined) {
4391
+ localVarQueryParameter['pageSize'] = pageSize;
4392
+ }
4393
+
4162
4394
  localVarHeaderParameter['Accept'] = 'application/json';
4163
4395
 
4164
4396
  setSearchParams(localVarUrlObj, localVarQueryParameter);
@@ -4183,11 +4415,13 @@ export const ProductCreatorsApiFp = function(configuration?: Configuration) {
4183
4415
  * Lists all the unique users that have created products for the given project.
4184
4416
  * @summary List product creators
4185
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.
4186
4420
  * @param {*} [options] Override http request option.
4187
4421
  * @throws {RequiredError}
4188
4422
  */
4189
- async listProductCreators(project: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserList>> {
4190
- 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);
4191
4425
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
4192
4426
  const localVarOperationServerBasePath = operationServerMap['ProductCreatorsApi.listProductCreators']?.[localVarOperationServerIndex]?.url;
4193
4427
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -4209,7 +4443,7 @@ export const ProductCreatorsApiFactory = function (configuration?: Configuration
4209
4443
  * @throws {RequiredError}
4210
4444
  */
4211
4445
  listProductCreators(requestParameters: ProductCreatorsApiListProductCreatorsRequest, options?: RawAxiosRequestConfig): AxiosPromise<UserList> {
4212
- 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));
4213
4447
  },
4214
4448
  };
4215
4449
  };
@@ -4222,6 +4456,16 @@ export interface ProductCreatorsApiListProductCreatorsRequest {
4222
4456
  * What project it is
4223
4457
  */
4224
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
4225
4469
  }
4226
4470
 
4227
4471
  /**
@@ -4236,7 +4480,7 @@ export class ProductCreatorsApi extends BaseAPI {
4236
4480
  * @throws {RequiredError}
4237
4481
  */
4238
4482
  public listProductCreators(requestParameters: ProductCreatorsApiListProductCreatorsRequest, options?: RawAxiosRequestConfig) {
4239
- 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));
4240
4484
  }
4241
4485
  }
4242
4486
 
@@ -4394,7 +4638,7 @@ export const ProductsApiAxiosParamCreator = function (configuration?: Configurat
4394
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.
4395
4639
  * @summary Create product
4396
4640
  * @param {string} project What project it is
4397
- * @param {CreateProductRequest} [createProductRequest]
4641
+ * @param {CreateProductRequest} [createProductRequest] The product to create, including title, variants, design applications, and pricing.
4398
4642
  * @param {*} [options] Override http request option.
4399
4643
  * @throws {RequiredError}
4400
4644
  */
@@ -4991,7 +5235,7 @@ export const ProductsApiAxiosParamCreator = function (configuration?: Configurat
4991
5235
  * @summary Update product
4992
5236
  * @param {string} project What project it is
4993
5237
  * @param {string} productId Product\&#39;s unique identifier
4994
- * @param {UpdateProductRequest} [updateProductRequest]
5238
+ * @param {UpdateProductRequest} [updateProductRequest] The product fields to update. Only the fields provided will be modified.
4995
5239
  * @param {*} [options] Override http request option.
4996
5240
  * @throws {RequiredError}
4997
5241
  */
@@ -5099,7 +5343,7 @@ export const ProductsApiFp = function(configuration?: Configuration) {
5099
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.
5100
5344
  * @summary Create product
5101
5345
  * @param {string} project What project it is
5102
- * @param {CreateProductRequest} [createProductRequest]
5346
+ * @param {CreateProductRequest} [createProductRequest] The product to create, including title, variants, design applications, and pricing.
5103
5347
  * @param {*} [options] Override http request option.
5104
5348
  * @throws {RequiredError}
5105
5349
  */
@@ -5255,7 +5499,7 @@ export const ProductsApiFp = function(configuration?: Configuration) {
5255
5499
  * @summary Update product
5256
5500
  * @param {string} project What project it is
5257
5501
  * @param {string} productId Product\&#39;s unique identifier
5258
- * @param {UpdateProductRequest} [updateProductRequest]
5502
+ * @param {UpdateProductRequest} [updateProductRequest] The product fields to update. Only the fields provided will be modified.
5259
5503
  * @param {*} [options] Override http request option.
5260
5504
  * @throws {RequiredError}
5261
5505
  */
@@ -5410,6 +5654,9 @@ export interface ProductsApiCreateProductRequest {
5410
5654
  */
5411
5655
  readonly project: string
5412
5656
 
5657
+ /**
5658
+ * The product to create, including title, variants, design applications, and pricing.
5659
+ */
5413
5660
  readonly createProductRequest?: CreateProductRequest
5414
5661
  }
5415
5662
 
@@ -5692,6 +5939,9 @@ export interface ProductsApiUpdateProductRequest {
5692
5939
  */
5693
5940
  readonly productId: string
5694
5941
 
5942
+ /**
5943
+ * The product fields to update. Only the fields provided will be modified.
5944
+ */
5695
5945
  readonly updateProductRequest?: UpdateProductRequest
5696
5946
  }
5697
5947