@teemill/product-catalog 1.92.0 → 1.93.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.
Files changed (70) hide show
  1. package/.openapi-generator/FILES +0 -1
  2. package/README.md +2 -3
  3. package/api.ts +284 -49
  4. package/base.ts +1 -1
  5. package/common.ts +1 -1
  6. package/configuration.ts +1 -1
  7. package/dist/api.d.ts +258 -43
  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 +258 -43
  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 +5 -2
  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 +4 -1
  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.93.0
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
  /**
@@ -116,9 +140,13 @@ export interface Application {
116
140
  */
117
141
  'additionalInstructions'?: string | null;
118
142
  /**
119
- * Publicly available design file URL. This will fill the design area of the GFN Catalog product. It will be centered horizontally and aligned to the top of the design area.
143
+ * Publicly available production print file URL for this application. For raster-only applications, this can also be used directly as the display image.
120
144
  */
121
145
  'src'?: string;
146
+ /**
147
+ * Optional display preview file URL. When provided alongside `src`, `src` is treated as the production print file and `displaySrc` is treated as the rasterized preview. Useful for technologies where the print file is non-rasterizable, e.g. Embroidery.
148
+ */
149
+ 'displaySrc'?: string | null;
122
150
  /**
123
151
  * A reference to the application group. The src across all applications in the same group will be considered the same src. The is useful for DTF when using the same transfer across multiple products.
124
152
  */
@@ -156,13 +184,16 @@ export const ApplicationPlacementEnum = {
156
184
 
157
185
  export type ApplicationPlacementEnum = typeof ApplicationPlacementEnum[keyof typeof ApplicationPlacementEnum];
158
186
 
187
+ /**
188
+ * A named group of design applications that can be reused across multiple products.
189
+ */
159
190
  export interface ApplicationGroup {
160
191
  /**
161
- * Unique object identifier
192
+ * The unique identifier of the application group.
162
193
  */
163
194
  'id': string;
164
195
  /**
165
- * A reference to the application group resource location
196
+ * A URI reference to this application group resource.
166
197
  */
167
198
  'ref': string;
168
199
  /**
@@ -189,6 +220,9 @@ export interface ApplicationMockup {
189
220
  */
190
221
  'preview'?: string;
191
222
  }
223
+ /**
224
+ * Properties of a design application including dimensions, position, and optional personalisation rules. Null when the application has no configurable properties.
225
+ */
192
226
  export interface ApplicationProperties {
193
227
  /**
194
228
  * Width of the application in pixels
@@ -210,6 +244,9 @@ export interface ApplicationPropertiesMetadata {
210
244
  */
211
245
  export type ApplicationPropertiesMetadataPersonalization = ApplicationPropertiesPersonalization | TextApplicationPropertiesPersonalization;
212
246
 
247
+ /**
248
+ * Personalisation configuration for a design application, allowing end-users to customise the design.
249
+ */
213
250
  export interface ApplicationPropertiesPersonalization {
214
251
  /**
215
252
  * The label to be displayed on the personalization field.
@@ -321,13 +358,16 @@ export const ApplicationPropertiesPropertiesFontStyleEnum = {
321
358
 
322
359
  export type ApplicationPropertiesPropertiesFontStyleEnum = typeof ApplicationPropertiesPropertiesFontStyleEnum[keyof typeof ApplicationPropertiesPropertiesFontStyleEnum];
323
360
 
361
+ /**
362
+ * A set of application records that defines which design applications are applied to which variants.
363
+ */
324
364
  export interface ApplicationSet {
325
365
  /**
326
- * Unique object identifier
366
+ * The unique identifier of the application set.
327
367
  */
328
368
  'id': string;
329
369
  /**
330
- * A reference to the application set resource location
370
+ * A URI reference to this application set resource.
331
371
  */
332
372
  'ref': string;
333
373
  /**
@@ -367,9 +407,12 @@ export interface ApplicationSet1 {
367
407
  */
368
408
  'ref'?: string;
369
409
  }
410
+ /**
411
+ * A record within an application set, linking a specific application to a set.
412
+ */
370
413
  export interface ApplicationSetRecord {
371
414
  /**
372
- * Unique object identifier
415
+ * The unique identifier of this record.
373
416
  */
374
417
  'id'?: string;
375
418
  'set'?: ApplicationSet1;
@@ -392,9 +435,12 @@ export interface ApplicationSetsResponse {
392
435
  export interface ApplicationTechnologiesResponse {
393
436
  'applicationTechnologies'?: Array<ApplicationTechnology>;
394
437
  }
438
+ /**
439
+ * A print or application technology available for use on catalog products.
440
+ */
395
441
  export interface ApplicationTechnology {
396
442
  /**
397
- * Unique object identifier
443
+ * The unique identifier of the technology.
398
444
  */
399
445
  'id'?: string;
400
446
  /**
@@ -452,15 +498,21 @@ export interface Attributes1Inner {
452
498
  'name'?: string;
453
499
  'value'?: string;
454
500
  }
501
+ /**
502
+ * A bundle product that groups multiple items together at a combined price.
503
+ */
455
504
  export interface BundleProduct {
456
505
  /**
457
- * Unique object identifier
506
+ * The unique identifier of the bundle product.
458
507
  */
459
508
  'id'?: string;
460
509
  /**
461
- * A reference to the resource location
510
+ * A URI reference to this bundle product resource.
462
511
  */
463
512
  'ref'?: string;
513
+ /**
514
+ * The display title of the bundle product.
515
+ */
464
516
  'title': string;
465
517
  'description': string;
466
518
  'slug'?: string;
@@ -485,7 +537,13 @@ export interface BundleProduct {
485
537
  * Variants
486
538
  */
487
539
  'variants'?: Array<Variant>;
540
+ /**
541
+ * The retail price of the product, including tax. Only provided if the product is a bundle.
542
+ */
488
543
  'retailPrice'?: Price;
544
+ /**
545
+ * The sale price of the product, including tax. Only provided if the product is a bundle.
546
+ */
489
547
  'salePrice'?: SalePrice | null;
490
548
  /**
491
549
  * Additional files attached to the product.
@@ -503,12 +561,21 @@ export interface BundleProduct {
503
561
  * A count of reviews. This field is only present if included in the fields query parameter
504
562
  */
505
563
  'reviewCount'?: number;
564
+ /**
565
+ * A unique identifier for a specific variant (product + colour + size).
566
+ */
506
567
  'sku'?: string;
507
568
  /**
508
569
  * A count of sales. This field is only present if included in the fields query parameter
509
570
  */
510
571
  'sales'?: number;
572
+ /**
573
+ * The start of the window in which sales are counted
574
+ */
511
575
  'salesStart'?: string;
576
+ /**
577
+ * The end of the window in which sales are counted
578
+ */
512
579
  'salesEnd'?: string;
513
580
  'includeInDataFeeds'?: boolean;
514
581
  /**
@@ -539,6 +606,9 @@ export interface BundleProduct {
539
606
  'showSaleBadge'?: boolean;
540
607
  'license'?: License;
541
608
  }
609
+ /**
610
+ * The payload for creating a new design application on a product variant.
611
+ */
542
612
  export interface CreateApplication {
543
613
  /**
544
614
  * The application technology used for this design application. `mug_sublimation` is deprecated. Use `sublimation_small` instead.
@@ -553,9 +623,13 @@ export interface CreateApplication {
553
623
  */
554
624
  'additionalInstructions'?: string | null;
555
625
  /**
556
- * Publicly available design file URL. This will fill the design area of the GFN Catalog product. It will be centered horizontally and aligned to the top of the design area.
626
+ * Publicly available production print file URL for this application. For raster-only applications, this can also be used directly as the display image.
557
627
  */
558
628
  'src': string;
629
+ /**
630
+ * Optional display preview file URL. When provided alongside `src`, `src` is treated as the production print file and `displaySrc` is treated as the rasterized preview. Useful for technologies where the print file is non-rasterizable, e.g. Embroidery.
631
+ */
632
+ 'displaySrc'?: string | null;
559
633
  /**
560
634
  * A reference to the application group. The src across all applications in the same group will be considered the same src. The is useful for DTF when using the same transfer across multiple products.
561
635
  */
@@ -702,6 +776,9 @@ export interface CreateApplicationSetRequestRecordsInnerAttributesInner {
702
776
  */
703
777
  'value': string;
704
778
  }
779
+ /**
780
+ * The payload for creating a new bundle product that groups multiple items together.
781
+ */
705
782
  export interface CreateBundleProduct {
706
783
  /**
707
784
  * Product title
@@ -759,17 +836,11 @@ export interface CreateBundleProduct {
759
836
  /**
760
837
  * A list of product uuids to include in this bundle
761
838
  */
762
- 'bundleItems': Array<CreateBundleProductBundleItemsInner>;
839
+ 'bundleItems': Array<UpdateProductRequestBundleItemsInner>;
763
840
  'retailPrice'?: Price;
764
841
  'salePrice'?: SalePrice | null;
765
842
  'price'?: Price;
766
843
  }
767
- export interface CreateBundleProductBundleItemsInner {
768
- /**
769
- * Unique object identifier
770
- */
771
- 'id'?: string;
772
- }
773
844
  export interface CreateBundleProductSeoMetadata {
774
845
  /**
775
846
  * 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 +895,9 @@ export interface CreateDigitalProductVariantsInnerImagesInner {
824
895
  */
825
896
  'src': string;
826
897
  }
898
+ /**
899
+ * The payload for creating a new catalog product from a GFN base product.
900
+ */
827
901
  export interface CreateProduct {
828
902
  /**
829
903
  * 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 +1003,9 @@ export interface CreateProductImagesInner {
929
1003
  */
930
1004
  export type CreateProductRequest = CreateBundleProduct | CreateDigitalProduct | CreateProduct;
931
1005
 
1006
+ /**
1007
+ * The payload for creating a new variant on a catalog product.
1008
+ */
932
1009
  export interface CreateProductVariant {
933
1010
  /**
934
1011
  * 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 +1095,11 @@ export interface ExportProducts202Response {
1018
1095
  'message'?: string;
1019
1096
  }
1020
1097
  /**
1021
- * Image description
1098
+ * An image associated with a product or variant.
1022
1099
  */
1023
1100
  export interface Image {
1024
1101
  /**
1025
- * Unique object identifier
1102
+ * The unique identifier of the image.
1026
1103
  */
1027
1104
  'id'?: string;
1028
1105
  'src': string;
@@ -1036,6 +1113,9 @@ export interface Image {
1036
1113
  'createdAt'?: string;
1037
1114
  'updatedAt'?: string;
1038
1115
  }
1116
+ /**
1117
+ * An image file to attach to a product, specified by a publicly available URL.
1118
+ */
1039
1119
  export interface ImageFile {
1040
1120
  /**
1041
1121
  * Publicly available file URL.
@@ -1091,6 +1171,9 @@ export interface License {
1091
1171
  */
1092
1172
  'expiresAt'?: string;
1093
1173
  }
1174
+ /**
1175
+ * A stock location showing the number of units available at a specific warehouse location.
1176
+ */
1094
1177
  export interface Location {
1095
1178
  /**
1096
1179
  * The total number of units available at the location
@@ -1114,18 +1197,30 @@ export interface MetaField {
1114
1197
  */
1115
1198
  'value': string;
1116
1199
  }
1200
+ /**
1201
+ * A named price component (e.g. Fulfillment, Application) with its amount and currency.
1202
+ */
1117
1203
  export interface NamedPrice {
1118
1204
  /**
1119
1205
  * The name of the price
1120
1206
  */
1121
1207
  'name': string;
1208
+ /**
1209
+ * The price amount and currency.
1210
+ */
1122
1211
  'price': RequiredPrice;
1123
1212
  }
1213
+ /**
1214
+ * A record of an AI SEO optimisation performed on a product.
1215
+ */
1124
1216
  export interface OptimisationHistoryItem {
1125
1217
  /**
1126
- * Unique object identifier
1218
+ * The unique identifier of this optimisation.
1127
1219
  */
1128
1220
  'id'?: string;
1221
+ /**
1222
+ * The timestamp when this optimisation was performed.
1223
+ */
1129
1224
  'createdAt'?: string;
1130
1225
  }
1131
1226
  /**
@@ -1148,15 +1243,21 @@ export const PriceCurrencyCodeEnum = {
1148
1243
 
1149
1244
  export type PriceCurrencyCodeEnum = typeof PriceCurrencyCodeEnum[keyof typeof PriceCurrencyCodeEnum];
1150
1245
 
1246
+ /**
1247
+ * A catalog product listing that can be purchased, containing design applications, pricing, variants, and SEO metadata.
1248
+ */
1151
1249
  export interface Product {
1152
1250
  /**
1153
- * Unique object identifier
1251
+ * The unique identifier of the product.
1154
1252
  */
1155
1253
  'id'?: string;
1156
1254
  /**
1157
- * A reference to the resource location
1255
+ * A URI reference to this product resource.
1158
1256
  */
1159
1257
  'ref'?: string;
1258
+ /**
1259
+ * The display title of the product.
1260
+ */
1160
1261
  'title': string;
1161
1262
  'description': string;
1162
1263
  'slug'?: string;
@@ -1185,7 +1286,13 @@ export interface Product {
1185
1286
  * Products in the bundle.
1186
1287
  */
1187
1288
  'bundleItems'?: Array<ProductBundleItemsInner>;
1289
+ /**
1290
+ * The retail price of the product, including tax. Only provided if the product is a bundle.
1291
+ */
1188
1292
  'retailPrice'?: Price;
1293
+ /**
1294
+ * The sale price of the product, including tax. Only provided if the product is a bundle.
1295
+ */
1189
1296
  'salePrice'?: SalePrice | null;
1190
1297
  /**
1191
1298
  * Additional files attached to the product.
@@ -1203,12 +1310,21 @@ export interface Product {
1203
1310
  * A count of reviews. This field is only present if included in the fields query parameter
1204
1311
  */
1205
1312
  'reviewCount'?: number;
1313
+ /**
1314
+ * A unique identifier for a specific variant (product + colour + size).
1315
+ */
1206
1316
  'sku'?: string;
1207
1317
  /**
1208
1318
  * A count of sales. This field is only present if included in the fields query parameter
1209
1319
  */
1210
1320
  'sales'?: number;
1321
+ /**
1322
+ * The start of the window in which sales are counted
1323
+ */
1211
1324
  'salesStart'?: string;
1325
+ /**
1326
+ * The end of the window in which sales are counted
1327
+ */
1212
1328
  'salesEnd'?: string;
1213
1329
  'includeInDataFeeds'?: boolean;
1214
1330
  /**
@@ -1306,13 +1422,16 @@ export interface ProductApplicationSetsInner {
1306
1422
  }
1307
1423
  export interface ProductBundleItemsInner {
1308
1424
  /**
1309
- * Unique object identifier
1425
+ * The unique identifier of the bundle product.
1310
1426
  */
1311
1427
  'id'?: string;
1312
1428
  /**
1313
- * A reference to the resource location
1429
+ * A URI reference to this bundle product resource.
1314
1430
  */
1315
1431
  'ref'?: string;
1432
+ /**
1433
+ * The display title of the bundle product.
1434
+ */
1316
1435
  'title': string;
1317
1436
  'description': string;
1318
1437
  'slug'?: string;
@@ -1337,7 +1456,13 @@ export interface ProductBundleItemsInner {
1337
1456
  * Variants
1338
1457
  */
1339
1458
  'variants'?: Array<Variant>;
1459
+ /**
1460
+ * The retail price of the product, including tax. Only provided if the product is a bundle.
1461
+ */
1340
1462
  'retailPrice'?: Price;
1463
+ /**
1464
+ * The sale price of the product, including tax. Only provided if the product is a bundle.
1465
+ */
1341
1466
  'salePrice'?: SalePrice | null;
1342
1467
  /**
1343
1468
  * Additional files attached to the product.
@@ -1355,12 +1480,21 @@ export interface ProductBundleItemsInner {
1355
1480
  * A count of reviews. This field is only present if included in the fields query parameter
1356
1481
  */
1357
1482
  'reviewCount'?: number;
1483
+ /**
1484
+ * A unique identifier for a specific variant (product + colour + size).
1485
+ */
1358
1486
  'sku'?: string;
1359
1487
  /**
1360
1488
  * A count of sales. This field is only present if included in the fields query parameter
1361
1489
  */
1362
1490
  'sales'?: number;
1491
+ /**
1492
+ * The start of the window in which sales are counted
1493
+ */
1363
1494
  'salesStart'?: string;
1495
+ /**
1496
+ * The end of the window in which sales are counted
1497
+ */
1364
1498
  'salesEnd'?: string;
1365
1499
  'includeInDataFeeds'?: boolean;
1366
1500
  /**
@@ -1413,9 +1547,12 @@ export interface ProductStaticCollectionsInner {
1413
1547
  'id'?: string;
1414
1548
  'title'?: string;
1415
1549
  }
1550
+ /**
1551
+ * A type of product available in the catalog (e.g. Printed T-Shirt, Embroidered Hoodie).
1552
+ */
1416
1553
  export interface ProductType {
1417
1554
  /**
1418
- * Unique object identifier
1555
+ * The unique identifier of the product type.
1419
1556
  */
1420
1557
  'id': string;
1421
1558
  /**
@@ -1454,9 +1591,12 @@ export interface ProductsResponse {
1454
1591
  */
1455
1592
  'nextPageToken'?: number | null;
1456
1593
  }
1594
+ /**
1595
+ * An AI-generated recommendation for improving product performance.
1596
+ */
1457
1597
  export interface Recommendation {
1458
1598
  /**
1459
- * Unique object identifier
1599
+ * The unique identifier of this recommendation.
1460
1600
  */
1461
1601
  'id': string;
1462
1602
  /**
@@ -1571,10 +1711,22 @@ export interface SeoOptimiseProductsRequest {
1571
1711
  */
1572
1712
  'fields'?: Array<string>;
1573
1713
  }
1714
+ /**
1715
+ * Stock availability information including total level and per-location breakdown.
1716
+ */
1574
1717
  export interface Stock {
1718
+ /**
1719
+ * The current total stock level available for purchase.
1720
+ */
1575
1721
  'level'?: number;
1722
+ /**
1723
+ * Stock levels broken down by warehouse location.
1724
+ */
1576
1725
  'locations'?: Array<Location>;
1577
1726
  }
1727
+ /**
1728
+ * Target search phrase configuration for SEO optimisation of a product.
1729
+ */
1578
1730
  export interface TargetSearchPhraseData {
1579
1731
  /**
1580
1732
  * The primary target search phrase for the product that you wish to rank for in search engine results.
@@ -1585,6 +1737,9 @@ export interface TargetSearchPhraseData {
1585
1737
  */
1586
1738
  'targetSearchPhraseSynonyms'?: Array<string>;
1587
1739
  }
1740
+ /**
1741
+ * Properties for a text-based application including font, colour, position, and optional personalisation. Null when the application has no configurable properties.
1742
+ */
1588
1743
  export interface TextApplicationProperties {
1589
1744
  'position'?: TextApplicationPropertiesPosition;
1590
1745
  'positionInference'?: ApplicationPropertiesPositionInference | null;
@@ -1634,6 +1789,9 @@ export const TextApplicationPropertiesFontStyleEnum = {
1634
1789
 
1635
1790
  export type TextApplicationPropertiesFontStyleEnum = typeof TextApplicationPropertiesFontStyleEnum[keyof typeof TextApplicationPropertiesFontStyleEnum];
1636
1791
 
1792
+ /**
1793
+ * Personalisation configuration for a text application, allowing end-users to customise the text content.
1794
+ */
1637
1795
  export interface TextApplicationPropertiesPersonalization {
1638
1796
  /**
1639
1797
  * The label to be displayed on the personalization field.
@@ -1795,7 +1953,13 @@ export interface UpdateProductRequest {
1795
1953
  * A list of products to be in this bundle. Only valid if the product is already a bundle.
1796
1954
  */
1797
1955
  'bundleItems'?: Array<UpdateProductRequestBundleItemsInner>;
1956
+ /**
1957
+ * The retail price of the product, including tax. Only provided if the product is a bundle.
1958
+ */
1798
1959
  'retailPrice'?: Price;
1960
+ /**
1961
+ * The sale price of the product, including tax. Only provided if the product is a bundle.
1962
+ */
1799
1963
  'salePrice'?: SalePrice | null;
1800
1964
  /**
1801
1965
  * Images to attach to the product. For example, photos of models using/wearing the product.
@@ -1845,7 +2009,7 @@ export interface UpdateProductRequest {
1845
2009
  }
1846
2010
  export interface UpdateProductRequestBundleItemsInner {
1847
2011
  /**
1848
- * Unique object identifier
2012
+ * The product UUID to include in the bundle
1849
2013
  */
1850
2014
  'id'?: string;
1851
2015
  'config'?: UpdateProductRequestBundleItemsInnerConfig;
@@ -2049,7 +2213,13 @@ export const UpdateProductsRequestProductsInnerVariantsInnerSalePriceCurrencyCod
2049
2213
 
2050
2214
  export type UpdateProductsRequestProductsInnerVariantsInnerSalePriceCurrencyCodeEnum = typeof UpdateProductsRequestProductsInnerVariantsInnerSalePriceCurrencyCodeEnum[keyof typeof UpdateProductsRequestProductsInnerVariantsInnerSalePriceCurrencyCodeEnum];
2051
2215
 
2216
+ /**
2217
+ * A list of users who have created products for the project.
2218
+ */
2052
2219
  export interface UserList {
2220
+ /**
2221
+ * The list of product creators.
2222
+ */
2053
2223
  'creators': Array<UserListCreatorsInner>;
2054
2224
  }
2055
2225
  export interface UserListCreatorsInner {
@@ -2073,18 +2243,24 @@ export interface UserListCreatorsInnerAvatar {
2073
2243
  */
2074
2244
  'original': string | null;
2075
2245
  }
2246
+ /**
2247
+ * A specific colour/size combination of a catalog product with its own SKU, pricing, stock, and design applications.
2248
+ */
2076
2249
  export interface Variant {
2077
2250
  /**
2078
- * Unique object identifier
2251
+ * The unique identifier of the variant.
2079
2252
  */
2080
2253
  'id'?: string;
2081
2254
  /**
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.
2255
+ * The attributes (e.g. Colour, Size) that define this variant.
2083
2256
  */
2084
2257
  'attributes': Array<Attribute>;
2258
+ /**
2259
+ * The stock keeping unit code for this variant.
2260
+ */
2085
2261
  'sku': string;
2086
2262
  /**
2087
- * A reference to the variant resource location
2263
+ * A URI reference to this variant resource.
2088
2264
  */
2089
2265
  'ref'?: string;
2090
2266
  'product'?: VariantProduct;
@@ -2181,6 +2357,9 @@ export interface VariantWarehouseVariant {
2181
2357
  'metafields'?: Array<MetaField>;
2182
2358
  }
2183
2359
  export interface VariantWholesaleCost {
2360
+ /**
2361
+ * The cost of the variant alone
2362
+ */
2184
2363
  'item': RequiredPrice;
2185
2364
  /**
2186
2365
  * A breakdown of the cost per application
@@ -2190,6 +2369,9 @@ export interface VariantWholesaleCost {
2190
2369
  * a breakdown of the cost per handling fee
2191
2370
  */
2192
2371
  'handling': Array<NamedPrice>;
2372
+ /**
2373
+ * 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.
2374
+ */
2193
2375
  'fulfillment': RequiredPrice;
2194
2376
  }
2195
2377
  export interface VariantsResponse {
@@ -2200,11 +2382,11 @@ export interface VariantsResponse {
2200
2382
  'nextPageToken'?: number | null;
2201
2383
  }
2202
2384
  /**
2203
- * Video object
2385
+ * A video associated with a product.
2204
2386
  */
2205
2387
  export interface Video {
2206
2388
  /**
2207
- * Unique object identifier
2389
+ * The unique identifier of the video.
2208
2390
  */
2209
2391
  'id'?: string;
2210
2392
  'src'?: string;
@@ -2213,6 +2395,9 @@ export interface Video {
2213
2395
  'createdAt'?: string;
2214
2396
  'updatedAt'?: string;
2215
2397
  }
2398
+ /**
2399
+ * A video file to attach to a product, specified by a publicly available URL.
2400
+ */
2216
2401
  export interface VideoFile {
2217
2402
  /**
2218
2403
  * Publicly available file URL.
@@ -3337,10 +3522,12 @@ export const ApplicationTechnologiesApiAxiosParamCreator = function (configurati
3337
3522
  * Lists all technologies available to this project.
3338
3523
  * @summary List technologies available to this project
3339
3524
  * @param {string} project What project it is
3525
+ * @param {number} [pageToken] Page reference token
3526
+ * @param {number} [pageSize] Max page size. This is the maximum page size that will be returned, but it might be smaller.
3340
3527
  * @param {*} [options] Override http request option.
3341
3528
  * @throws {RequiredError}
3342
3529
  */
3343
- listTechnologies: async (project: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
3530
+ listTechnologies: async (project: string, pageToken?: number, pageSize?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
3344
3531
  // verify required parameter 'project' is not null or undefined
3345
3532
  assertParamExists('listTechnologies', 'project', project)
3346
3533
  const localVarPath = `/v1/catalog/applications/technologies`;
@@ -3366,6 +3553,14 @@ export const ApplicationTechnologiesApiAxiosParamCreator = function (configurati
3366
3553
  localVarQueryParameter['project'] = project;
3367
3554
  }
3368
3555
 
3556
+ if (pageToken !== undefined) {
3557
+ localVarQueryParameter['pageToken'] = pageToken;
3558
+ }
3559
+
3560
+ if (pageSize !== undefined) {
3561
+ localVarQueryParameter['pageSize'] = pageSize;
3562
+ }
3563
+
3369
3564
  localVarHeaderParameter['Accept'] = 'application/json';
3370
3565
 
3371
3566
  setSearchParams(localVarUrlObj, localVarQueryParameter);
@@ -3390,11 +3585,13 @@ export const ApplicationTechnologiesApiFp = function(configuration?: Configurati
3390
3585
  * Lists all technologies available to this project.
3391
3586
  * @summary List technologies available to this project
3392
3587
  * @param {string} project What project it is
3588
+ * @param {number} [pageToken] Page reference token
3589
+ * @param {number} [pageSize] Max page size. This is the maximum page size that will be returned, but it might be smaller.
3393
3590
  * @param {*} [options] Override http request option.
3394
3591
  * @throws {RequiredError}
3395
3592
  */
3396
- async listTechnologies(project: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplicationTechnologiesResponse>> {
3397
- const localVarAxiosArgs = await localVarAxiosParamCreator.listTechnologies(project, options);
3593
+ async listTechnologies(project: string, pageToken?: number, pageSize?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplicationTechnologiesResponse>> {
3594
+ const localVarAxiosArgs = await localVarAxiosParamCreator.listTechnologies(project, pageToken, pageSize, options);
3398
3595
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
3399
3596
  const localVarOperationServerBasePath = operationServerMap['ApplicationTechnologiesApi.listTechnologies']?.[localVarOperationServerIndex]?.url;
3400
3597
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -3416,7 +3613,7 @@ export const ApplicationTechnologiesApiFactory = function (configuration?: Confi
3416
3613
  * @throws {RequiredError}
3417
3614
  */
3418
3615
  listTechnologies(requestParameters: ApplicationTechnologiesApiListTechnologiesRequest, options?: RawAxiosRequestConfig): AxiosPromise<ApplicationTechnologiesResponse> {
3419
- return localVarFp.listTechnologies(requestParameters.project, options).then((request) => request(axios, basePath));
3616
+ return localVarFp.listTechnologies(requestParameters.project, requestParameters.pageToken, requestParameters.pageSize, options).then((request) => request(axios, basePath));
3420
3617
  },
3421
3618
  };
3422
3619
  };
@@ -3429,6 +3626,16 @@ export interface ApplicationTechnologiesApiListTechnologiesRequest {
3429
3626
  * What project it is
3430
3627
  */
3431
3628
  readonly project: string
3629
+
3630
+ /**
3631
+ * Page reference token
3632
+ */
3633
+ readonly pageToken?: number
3634
+
3635
+ /**
3636
+ * Max page size. This is the maximum page size that will be returned, but it might be smaller.
3637
+ */
3638
+ readonly pageSize?: number
3432
3639
  }
3433
3640
 
3434
3641
  /**
@@ -3443,7 +3650,7 @@ export class ApplicationTechnologiesApi extends BaseAPI {
3443
3650
  * @throws {RequiredError}
3444
3651
  */
3445
3652
  public listTechnologies(requestParameters: ApplicationTechnologiesApiListTechnologiesRequest, options?: RawAxiosRequestConfig) {
3446
- return ApplicationTechnologiesApiFp(this.configuration).listTechnologies(requestParameters.project, options).then((request) => request(this.axios, this.basePath));
3653
+ return ApplicationTechnologiesApiFp(this.configuration).listTechnologies(requestParameters.project, requestParameters.pageToken, requestParameters.pageSize, options).then((request) => request(this.axios, this.basePath));
3447
3654
  }
3448
3655
  }
3449
3656
 
@@ -4153,10 +4360,12 @@ export const ProductCreatorsApiAxiosParamCreator = function (configuration?: Con
4153
4360
  * Lists all the unique users that have created products for the given project.
4154
4361
  * @summary List product creators
4155
4362
  * @param {string} project What project it is
4363
+ * @param {number} [pageToken] Page reference token
4364
+ * @param {number} [pageSize] Max page size. This is the maximum page size that will be returned, but it might be smaller.
4156
4365
  * @param {*} [options] Override http request option.
4157
4366
  * @throws {RequiredError}
4158
4367
  */
4159
- listProductCreators: async (project: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
4368
+ listProductCreators: async (project: string, pageToken?: number, pageSize?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
4160
4369
  // verify required parameter 'project' is not null or undefined
4161
4370
  assertParamExists('listProductCreators', 'project', project)
4162
4371
  const localVarPath = `/v1/catalog/creators`;
@@ -4182,6 +4391,14 @@ export const ProductCreatorsApiAxiosParamCreator = function (configuration?: Con
4182
4391
  localVarQueryParameter['project'] = project;
4183
4392
  }
4184
4393
 
4394
+ if (pageToken !== undefined) {
4395
+ localVarQueryParameter['pageToken'] = pageToken;
4396
+ }
4397
+
4398
+ if (pageSize !== undefined) {
4399
+ localVarQueryParameter['pageSize'] = pageSize;
4400
+ }
4401
+
4185
4402
  localVarHeaderParameter['Accept'] = 'application/json';
4186
4403
 
4187
4404
  setSearchParams(localVarUrlObj, localVarQueryParameter);
@@ -4206,11 +4423,13 @@ export const ProductCreatorsApiFp = function(configuration?: Configuration) {
4206
4423
  * Lists all the unique users that have created products for the given project.
4207
4424
  * @summary List product creators
4208
4425
  * @param {string} project What project it is
4426
+ * @param {number} [pageToken] Page reference token
4427
+ * @param {number} [pageSize] Max page size. This is the maximum page size that will be returned, but it might be smaller.
4209
4428
  * @param {*} [options] Override http request option.
4210
4429
  * @throws {RequiredError}
4211
4430
  */
4212
- async listProductCreators(project: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserList>> {
4213
- const localVarAxiosArgs = await localVarAxiosParamCreator.listProductCreators(project, options);
4431
+ async listProductCreators(project: string, pageToken?: number, pageSize?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserList>> {
4432
+ const localVarAxiosArgs = await localVarAxiosParamCreator.listProductCreators(project, pageToken, pageSize, options);
4214
4433
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
4215
4434
  const localVarOperationServerBasePath = operationServerMap['ProductCreatorsApi.listProductCreators']?.[localVarOperationServerIndex]?.url;
4216
4435
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -4232,7 +4451,7 @@ export const ProductCreatorsApiFactory = function (configuration?: Configuration
4232
4451
  * @throws {RequiredError}
4233
4452
  */
4234
4453
  listProductCreators(requestParameters: ProductCreatorsApiListProductCreatorsRequest, options?: RawAxiosRequestConfig): AxiosPromise<UserList> {
4235
- return localVarFp.listProductCreators(requestParameters.project, options).then((request) => request(axios, basePath));
4454
+ return localVarFp.listProductCreators(requestParameters.project, requestParameters.pageToken, requestParameters.pageSize, options).then((request) => request(axios, basePath));
4236
4455
  },
4237
4456
  };
4238
4457
  };
@@ -4245,6 +4464,16 @@ export interface ProductCreatorsApiListProductCreatorsRequest {
4245
4464
  * What project it is
4246
4465
  */
4247
4466
  readonly project: string
4467
+
4468
+ /**
4469
+ * Page reference token
4470
+ */
4471
+ readonly pageToken?: number
4472
+
4473
+ /**
4474
+ * Max page size. This is the maximum page size that will be returned, but it might be smaller.
4475
+ */
4476
+ readonly pageSize?: number
4248
4477
  }
4249
4478
 
4250
4479
  /**
@@ -4259,7 +4488,7 @@ export class ProductCreatorsApi extends BaseAPI {
4259
4488
  * @throws {RequiredError}
4260
4489
  */
4261
4490
  public listProductCreators(requestParameters: ProductCreatorsApiListProductCreatorsRequest, options?: RawAxiosRequestConfig) {
4262
- return ProductCreatorsApiFp(this.configuration).listProductCreators(requestParameters.project, options).then((request) => request(this.axios, this.basePath));
4491
+ return ProductCreatorsApiFp(this.configuration).listProductCreators(requestParameters.project, requestParameters.pageToken, requestParameters.pageSize, options).then((request) => request(this.axios, this.basePath));
4263
4492
  }
4264
4493
  }
4265
4494
 
@@ -4417,7 +4646,7 @@ export const ProductsApiAxiosParamCreator = function (configuration?: Configurat
4417
4646
  * 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
4647
  * @summary Create product
4419
4648
  * @param {string} project What project it is
4420
- * @param {CreateProductRequest} [createProductRequest]
4649
+ * @param {CreateProductRequest} [createProductRequest] The product to create, including title, variants, design applications, and pricing.
4421
4650
  * @param {*} [options] Override http request option.
4422
4651
  * @throws {RequiredError}
4423
4652
  */
@@ -5014,7 +5243,7 @@ export const ProductsApiAxiosParamCreator = function (configuration?: Configurat
5014
5243
  * @summary Update product
5015
5244
  * @param {string} project What project it is
5016
5245
  * @param {string} productId Product\&#39;s unique identifier
5017
- * @param {UpdateProductRequest} [updateProductRequest]
5246
+ * @param {UpdateProductRequest} [updateProductRequest] The product fields to update. Only the fields provided will be modified.
5018
5247
  * @param {*} [options] Override http request option.
5019
5248
  * @throws {RequiredError}
5020
5249
  */
@@ -5122,7 +5351,7 @@ export const ProductsApiFp = function(configuration?: Configuration) {
5122
5351
  * 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
5352
  * @summary Create product
5124
5353
  * @param {string} project What project it is
5125
- * @param {CreateProductRequest} [createProductRequest]
5354
+ * @param {CreateProductRequest} [createProductRequest] The product to create, including title, variants, design applications, and pricing.
5126
5355
  * @param {*} [options] Override http request option.
5127
5356
  * @throws {RequiredError}
5128
5357
  */
@@ -5278,7 +5507,7 @@ export const ProductsApiFp = function(configuration?: Configuration) {
5278
5507
  * @summary Update product
5279
5508
  * @param {string} project What project it is
5280
5509
  * @param {string} productId Product\&#39;s unique identifier
5281
- * @param {UpdateProductRequest} [updateProductRequest]
5510
+ * @param {UpdateProductRequest} [updateProductRequest] The product fields to update. Only the fields provided will be modified.
5282
5511
  * @param {*} [options] Override http request option.
5283
5512
  * @throws {RequiredError}
5284
5513
  */
@@ -5433,6 +5662,9 @@ export interface ProductsApiCreateProductRequest {
5433
5662
  */
5434
5663
  readonly project: string
5435
5664
 
5665
+ /**
5666
+ * The product to create, including title, variants, design applications, and pricing.
5667
+ */
5436
5668
  readonly createProductRequest?: CreateProductRequest
5437
5669
  }
5438
5670
 
@@ -5715,6 +5947,9 @@ export interface ProductsApiUpdateProductRequest {
5715
5947
  */
5716
5948
  readonly productId: string
5717
5949
 
5950
+ /**
5951
+ * The product fields to update. Only the fields provided will be modified.
5952
+ */
5718
5953
  readonly updateProductRequest?: UpdateProductRequest
5719
5954
  }
5720
5955