ultracart_rest_api_v2_typescript 4.1.168 → 4.1.170

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 (42) hide show
  1. package/.openapi-generator/FILES +11 -0
  2. package/README.md +4 -2
  3. package/dist/apis/SfvbApi.d.ts +236 -1
  4. package/dist/apis/SfvbApi.js +490 -0
  5. package/dist/models/SfvbItemAttribute.d.ts +99 -0
  6. package/dist/models/SfvbItemAttribute.js +85 -0
  7. package/dist/models/SfvbItemAttributeUpdate.d.ts +61 -0
  8. package/dist/models/SfvbItemAttributeUpdate.js +71 -0
  9. package/dist/models/SfvbItemAttributeUpdateRequest.d.ts +32 -0
  10. package/dist/models/SfvbItemAttributeUpdateRequest.js +51 -0
  11. package/dist/models/SfvbItemContainer.d.ts +80 -0
  12. package/dist/models/SfvbItemContainer.js +70 -0
  13. package/dist/models/SfvbItemContainersResponse.d.ts +74 -0
  14. package/dist/models/SfvbItemContainersResponse.js +65 -0
  15. package/dist/models/SfvbItemContentRequest.d.ts +37 -0
  16. package/dist/models/SfvbItemContentRequest.js +52 -0
  17. package/dist/models/SfvbItemMultimedia.d.ts +90 -0
  18. package/dist/models/SfvbItemMultimedia.js +76 -0
  19. package/dist/models/SfvbItemMultimediaRequest.d.ts +49 -0
  20. package/dist/models/SfvbItemMultimediaRequest.js +56 -0
  21. package/dist/models/SfvbItemResponse.d.ts +76 -0
  22. package/dist/models/SfvbItemResponse.js +67 -0
  23. package/dist/models/SfvbItemSeo.d.ts +108 -0
  24. package/dist/models/SfvbItemSeo.js +92 -0
  25. package/dist/models/SfvbItemSeoRequest.d.ts +43 -0
  26. package/dist/models/SfvbItemSeoRequest.js +54 -0
  27. package/dist/models/index.d.ts +11 -0
  28. package/dist/models/index.js +11 -0
  29. package/package.json +1 -1
  30. package/src/apis/SfvbApi.ts +595 -0
  31. package/src/models/SfvbItemAttribute.ts +153 -0
  32. package/src/models/SfvbItemAttributeUpdate.ts +103 -0
  33. package/src/models/SfvbItemAttributeUpdateRequest.ts +74 -0
  34. package/src/models/SfvbItemContainer.ts +132 -0
  35. package/src/models/SfvbItemContainersResponse.ts +130 -0
  36. package/src/models/SfvbItemContentRequest.ts +75 -0
  37. package/src/models/SfvbItemMultimedia.ts +144 -0
  38. package/src/models/SfvbItemMultimediaRequest.ts +91 -0
  39. package/src/models/SfvbItemResponse.ts +142 -0
  40. package/src/models/SfvbItemSeo.ts +164 -0
  41. package/src/models/SfvbItemSeoRequest.ts +83 -0
  42. package/src/models/index.ts +11 -0
@@ -1026,6 +1026,17 @@ src/models/SfvbFileVersionsResponse.ts
1026
1026
  src/models/SfvbFileWriteRequest.ts
1027
1027
  src/models/SfvbFileWriteResponse.ts
1028
1028
  src/models/SfvbFilesResponse.ts
1029
+ src/models/SfvbItemAttribute.ts
1030
+ src/models/SfvbItemAttributeUpdate.ts
1031
+ src/models/SfvbItemAttributeUpdateRequest.ts
1032
+ src/models/SfvbItemContainer.ts
1033
+ src/models/SfvbItemContainersResponse.ts
1034
+ src/models/SfvbItemContentRequest.ts
1035
+ src/models/SfvbItemMultimedia.ts
1036
+ src/models/SfvbItemMultimediaRequest.ts
1037
+ src/models/SfvbItemResponse.ts
1038
+ src/models/SfvbItemSeo.ts
1039
+ src/models/SfvbItemSeoRequest.ts
1029
1040
  src/models/SfvbLibraryEntry.ts
1030
1041
  src/models/SfvbLibraryFacet.ts
1031
1042
  src/models/SfvbLibraryResponse.ts
package/README.md CHANGED
@@ -1,12 +1,12 @@
1
1
  # UltraCart Typescript SDK
2
- ## ultracart_rest_api_v2_typescript@4.1.168
2
+ ## ultracart_rest_api_v2_typescript@4.1.170
3
3
 
4
4
  Every API method call has a sample for every language SDK. See https://github.com/UltraCart/sdk_samples
5
5
 
6
6
  Installation
7
7
 
8
8
  ```
9
- npm install ultracart_rest_api_v2_typescript@4.1.168 --save
9
+ npm install ultracart_rest_api_v2_typescript@4.1.170 --save
10
10
  ```
11
11
 
12
12
  ```typescript
@@ -84,6 +84,8 @@ Not every change is committed to every SDK.
84
84
 
85
85
  | Version | Date | Comments |
86
86
  | --: | :-: | --- |
87
+ | 4.1.170 | 09/22/2026 | sfvb internal testing |
88
+ | 4.1.169 | 09/22/2026 | sfvb builder |
87
89
  | 4.1.168 | 09/21/2026 | further automation testing |
88
90
  | 4.1.167 | 09/21/2026 | automation test |
89
91
  | 4.1.165 | 09/21/2026 | automation testing |
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import * as runtime from '../runtime';
13
- import { SfvbBlogPostsResponse, SfvbCompileRequest, SfvbCompileResponse, SfvbContainerResponse, SfvbContainerRevertRequest, SfvbContainerVersion, SfvbContainerVersionsResponse, SfvbContainerWriteRequest, SfvbElementSchemaResponse, SfvbElementsResponse, SfvbExperiment, SfvbExperimentEndRequest, SfvbExperimentObjectivesResponse, SfvbExperimentStartRequest, SfvbExperimentVariationUpdateRequest, SfvbExperimentsResponse, SfvbFileContentResponse, SfvbFileRevertRequest, SfvbFileSearchRequest, SfvbFileSearchResponse, SfvbFileUploadRequest, SfvbFileUploadUrlResponse, SfvbFileVersionsResponse, SfvbFileWriteRequest, SfvbFileWriteResponse, SfvbFilesResponse, SfvbLibraryEntry, SfvbLibraryResponse, SfvbMenu, SfvbMenuWriteRequest, SfvbMenusResponse, SfvbPageAttributeUpdateRequest, SfvbPageBlogPostsRequest, SfvbPageBlogPostsResponse, SfvbPageCreateRequest, SfvbPageDuplicateRequest, SfvbPageItemsAddRequest, SfvbPageItemsRemoveRequest, SfvbPageItemsResponse, SfvbPageListResponse, SfvbPageMultimediaRequest, SfvbPageResponse, SfvbPageSelectors, SfvbPageSettingsRequest, SfvbPreviewAccessRequest, SfvbPreviewAccessResponse, SfvbPreviewSessionRequest, SfvbPreviewSessionResponse, SfvbPreviewUrlResponse, SfvbRenderRequest, SfvbRenderResponse, SfvbSiteAttributeUpdateRequest, SfvbSiteAttributesResponse, SfvbStorefrontsResponse, SfvbTemplatesResponse, SfvbTheme, SfvbThemeAttributeUpdateRequest, SfvbThemeAttributesResponse, SfvbThemeDuplicateRequest, SfvbThemeJobResponse, SfvbThemesResponse, SfvbUpsellOffersResponse, SfvbValidateRequest, SfvbValidationResponse, SfvbVelocityValidateRequest, SfvbVersionResponse, SfvbWhoamiResponse, SfvbWidgetIdsResponse } from '../models';
13
+ import { SfvbBlogPostsResponse, SfvbCompileRequest, SfvbCompileResponse, SfvbContainerResponse, SfvbContainerRevertRequest, SfvbContainerVersion, SfvbContainerVersionsResponse, SfvbContainerWriteRequest, SfvbElementSchemaResponse, SfvbElementsResponse, SfvbExperiment, SfvbExperimentEndRequest, SfvbExperimentObjectivesResponse, SfvbExperimentStartRequest, SfvbExperimentVariationUpdateRequest, SfvbExperimentsResponse, SfvbFileContentResponse, SfvbFileRevertRequest, SfvbFileSearchRequest, SfvbFileSearchResponse, SfvbFileUploadRequest, SfvbFileUploadUrlResponse, SfvbFileVersionsResponse, SfvbFileWriteRequest, SfvbFileWriteResponse, SfvbFilesResponse, SfvbItemAttributeUpdateRequest, SfvbItemContainersResponse, SfvbItemContentRequest, SfvbItemMultimediaRequest, SfvbItemResponse, SfvbItemSeoRequest, SfvbLibraryEntry, SfvbLibraryResponse, SfvbMenu, SfvbMenuWriteRequest, SfvbMenusResponse, SfvbPageAttributeUpdateRequest, SfvbPageBlogPostsRequest, SfvbPageBlogPostsResponse, SfvbPageCreateRequest, SfvbPageDuplicateRequest, SfvbPageItemsAddRequest, SfvbPageItemsRemoveRequest, SfvbPageItemsResponse, SfvbPageListResponse, SfvbPageMultimediaRequest, SfvbPageResponse, SfvbPageSelectors, SfvbPageSettingsRequest, SfvbPreviewAccessRequest, SfvbPreviewAccessResponse, SfvbPreviewSessionRequest, SfvbPreviewSessionResponse, SfvbPreviewUrlResponse, SfvbRenderRequest, SfvbRenderResponse, SfvbSiteAttributeUpdateRequest, SfvbSiteAttributesResponse, SfvbStorefrontsResponse, SfvbTemplatesResponse, SfvbTheme, SfvbThemeAttributeUpdateRequest, SfvbThemeAttributesResponse, SfvbThemeDuplicateRequest, SfvbThemeJobResponse, SfvbThemesResponse, SfvbUpsellOffersResponse, SfvbValidateRequest, SfvbValidationResponse, SfvbVelocityValidateRequest, SfvbVersionResponse, SfvbWhoamiResponse, SfvbWidgetIdsResponse } from '../models';
14
14
  export interface AddSfvbPageBlogPostsRequest {
15
15
  storefrontOid: number;
16
16
  path: string;
@@ -36,6 +36,13 @@ export interface DeleteSfvbFileRequest {
36
36
  ifMatch: string;
37
37
  path?: string;
38
38
  }
39
+ export interface DeleteSfvbItemMultimediaRequest {
40
+ storefrontOid: number;
41
+ merchantItemId?: string;
42
+ merchantItemOid?: number;
43
+ code?: string;
44
+ _default?: boolean;
45
+ }
39
46
  export interface DeleteSfvbPageMultimediaRequest {
40
47
  storefrontOid: number;
41
48
  path: string;
@@ -100,6 +107,11 @@ export interface GetSfvbFileUploadUrlRequest {
100
107
  storefrontOid: number;
101
108
  extension: string;
102
109
  }
110
+ export interface GetSfvbItemRequest {
111
+ storefrontOid: number;
112
+ merchantItemId?: string;
113
+ merchantItemOid?: number;
114
+ }
103
115
  export interface GetSfvbLibraryEntryRequest {
104
116
  storefrontOid: number;
105
117
  libraryOid: number;
@@ -184,6 +196,14 @@ export interface ListSfvbFilesRequest {
184
196
  themeOid?: number;
185
197
  maxEntries?: number;
186
198
  }
199
+ export interface ListSfvbItemContainersRequest {
200
+ storefrontOid: number;
201
+ merchantItemId?: string;
202
+ merchantItemOid?: number;
203
+ containerName?: string;
204
+ maxResults?: number;
205
+ offset?: number;
206
+ }
187
207
  export interface ListSfvbPagesRequest {
188
208
  storefrontOid: number;
189
209
  under?: string;
@@ -218,6 +238,30 @@ export interface PutSfvbFileContentRequest {
218
238
  fileWriteRequest: SfvbFileWriteRequest;
219
239
  path?: string;
220
240
  }
241
+ export interface PutSfvbItemAttributesRequest {
242
+ storefrontOid: number;
243
+ itemAttributeUpdateRequest: SfvbItemAttributeUpdateRequest;
244
+ merchantItemId?: string;
245
+ merchantItemOid?: number;
246
+ }
247
+ export interface PutSfvbItemContentRequest {
248
+ storefrontOid: number;
249
+ itemContentRequest: SfvbItemContentRequest;
250
+ merchantItemId?: string;
251
+ merchantItemOid?: number;
252
+ }
253
+ export interface PutSfvbItemMultimediaRequest {
254
+ storefrontOid: number;
255
+ itemMultimediaRequest: SfvbItemMultimediaRequest;
256
+ merchantItemId?: string;
257
+ merchantItemOid?: number;
258
+ }
259
+ export interface PutSfvbItemSeoRequest {
260
+ storefrontOid: number;
261
+ itemSeoRequest: SfvbItemSeoRequest;
262
+ merchantItemId?: string;
263
+ merchantItemOid?: number;
264
+ }
221
265
  export interface PutSfvbMenuRequest {
222
266
  storefrontOid: number;
223
267
  code: string;
@@ -417,6 +461,24 @@ export interface SfvbApiInterface {
417
461
  * Delete a storefront file
418
462
  */
419
463
  deleteSfvbFile(requestParameters: DeleteSfvbFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
464
+ /**
465
+ * Removes the item\'s copy of the image in one slot. The file you uploaded is left where it is, so the same source can be attached again or used elsewhere.
466
+ * @summary Detach an image from an item
467
+ * @param {number} storefrontOid
468
+ * @param {string} [merchantItemId]
469
+ * @param {number} [merchantItemOid]
470
+ * @param {string} [code] The image code to detach
471
+ * @param {boolean} [_default] Detach the default image instead of a coded one
472
+ * @param {*} [options] Override http request option.
473
+ * @throws {RequiredError}
474
+ * @memberof SfvbApiInterface
475
+ */
476
+ deleteSfvbItemMultimediaRaw(requestParameters: DeleteSfvbItemMultimediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbItemResponse>>;
477
+ /**
478
+ * Removes the item\'s copy of the image in one slot. The file you uploaded is left where it is, so the same source can be attached again or used elsewhere.
479
+ * Detach an image from an item
480
+ */
481
+ deleteSfvbItemMultimedia(requestParameters: DeleteSfvbItemMultimediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbItemResponse>;
420
482
  /**
421
483
  * Name exactly one of code or default. Removes the page\'s copy of the image; the source file in the page folder is left alone. Always needs sfvb_publish.
422
484
  * @summary Detach an image from a page
@@ -634,6 +696,22 @@ export interface SfvbApiInterface {
634
696
  * Get a URL to upload a binary asset to
635
697
  */
636
698
  getSfvbFileUploadUrl(requestParameters: GetSfvbFileUploadUrlRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbFileUploadUrlResponse>;
699
+ /**
700
+ * The attributes, images, title, description and search metadata a StoreFront element can render, reconciled against the templates behind the pages this item sits on. An attribute a template declares but nothing has set comes back present with an empty value, which is how you discover what the page is asking for. Pricing, shipping, inventory, tax, variants and kit structure are not here because no element reads them; use the item API for those. Address by merchant_item_id, the value data-context-item-id carries, or by merchant_item_oid.
701
+ * @summary Read an item\'s storefront facing content
702
+ * @param {number} storefrontOid
703
+ * @param {string} [merchantItemId] The merchant item id, as a storefront carries it
704
+ * @param {number} [merchantItemOid] The item oid. Send this or merchant_item_id, not both
705
+ * @param {*} [options] Override http request option.
706
+ * @throws {RequiredError}
707
+ * @memberof SfvbApiInterface
708
+ */
709
+ getSfvbItemRaw(requestParameters: GetSfvbItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbItemResponse>>;
710
+ /**
711
+ * The attributes, images, title, description and search metadata a StoreFront element can render, reconciled against the templates behind the pages this item sits on. An attribute a template declares but nothing has set comes back present with an empty value, which is how you discover what the page is asking for. Pricing, shipping, inventory, tax, variants and kit structure are not here because no element reads them; use the item API for those. Address by merchant_item_id, the value data-context-item-id carries, or by merchant_item_oid.
712
+ * Read an item\'s storefront facing content
713
+ */
714
+ getSfvbItem(requestParameters: GetSfvbItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbItemResponse>;
637
715
  /**
638
716
  * Returns the fragment as authored. If it references images or other storefront files those paths will not resolve on this storefront until the entry is installed, so use install rather than this when the intent is to place the fragment.
639
717
  * @summary Read one library entry including its CJSON
@@ -965,6 +1043,25 @@ export interface SfvbApiInterface {
965
1043
  * List a storefront directory
966
1044
  */
967
1045
  listSfvbFiles(requestParameters: ListSfvbFilesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbFilesResponse>;
1046
+ /**
1047
+ * An itemcontainer element renders nothing of its own. It names a slot, and a separate container is resolved per item for that slot, so a catalog of five hundred products with three slots is fifteen hundred containers. This says which of them exist. Filter by container_name to find every item carrying one slot, or by merchant_item_id to see what one item has. Which items are missing a slot is a set difference against pages/items, because a listing can only report containers that exist. Each row carries hash_sha256, so a listing is enough to start an If-Match write without reading the container first. Item containers are stored per account rather than per storefront, so storefront_oid identifies the caller\'s storefront but does not narrow the result.
1048
+ * @summary List the item containers on the account
1049
+ * @param {number} storefrontOid
1050
+ * @param {string} [merchantItemId] Restrict to one item, by the merchant item id a storefront carries
1051
+ * @param {number} [merchantItemOid] Restrict to one item, by oid. Send this or merchant_item_id, not both
1052
+ * @param {string} [containerName] Restrict to one slot name, matched without regard to case
1053
+ * @param {number} [maxResults]
1054
+ * @param {number} [offset]
1055
+ * @param {*} [options] Override http request option.
1056
+ * @throws {RequiredError}
1057
+ * @memberof SfvbApiInterface
1058
+ */
1059
+ listSfvbItemContainersRaw(requestParameters: ListSfvbItemContainersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbItemContainersResponse>>;
1060
+ /**
1061
+ * An itemcontainer element renders nothing of its own. It names a slot, and a separate container is resolved per item for that slot, so a catalog of five hundred products with three slots is fifteen hundred containers. This says which of them exist. Filter by container_name to find every item carrying one slot, or by merchant_item_id to see what one item has. Which items are missing a slot is a set difference against pages/items, because a listing can only report containers that exist. Each row carries hash_sha256, so a listing is enough to start an If-Match write without reading the container first. Item containers are stored per account rather than per storefront, so storefront_oid identifies the caller\'s storefront but does not narrow the result.
1062
+ * List the item containers on the account
1063
+ */
1064
+ listSfvbItemContainers(requestParameters: ListSfvbItemContainersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbItemContainersResponse>;
968
1065
  /**
969
1066
  * Every page with its settings, sorted by path with the root first. Hidden pages are included. Pass under to list one page and everything below it. Read from the same cached catalog the admin page tree uses, so a page created a moment ago can take a moment to appear here - read it directly with the single-page read to confirm a write.
970
1067
  * @summary List the storefront\'s pages
@@ -1088,6 +1185,74 @@ export interface SfvbApiInterface {
1088
1185
  * Write a storefront file
1089
1186
  */
1090
1187
  putSfvbFileContent(requestParameters: PutSfvbFileContentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbFileWriteResponse>;
1188
+ /**
1189
+ * Partial - only the attributes named change, and an empty value clears one. Every entry is validated before any is written, so a refusal leaves the item untouched. The list types are checked against the shape their renderer actually parses, which matters more than it sounds: a definition list is a bare array with one letter keys, a video list is a wrapper object with keys spelled out, and an item set is comma separated text rather than JSON. A shape the renderer cannot read is not reported at render time - it renders exactly like an attribute nobody ever set.
1190
+ * @summary Change some of an item\'s attributes
1191
+ * @param {number} storefrontOid
1192
+ * @param {SfvbItemAttributeUpdateRequest} itemAttributeUpdateRequest Attributes to change
1193
+ * @param {string} [merchantItemId]
1194
+ * @param {number} [merchantItemOid]
1195
+ * @param {*} [options] Override http request option.
1196
+ * @throws {RequiredError}
1197
+ * @memberof SfvbApiInterface
1198
+ */
1199
+ putSfvbItemAttributesRaw(requestParameters: PutSfvbItemAttributesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbItemResponse>>;
1200
+ /**
1201
+ * Partial - only the attributes named change, and an empty value clears one. Every entry is validated before any is written, so a refusal leaves the item untouched. The list types are checked against the shape their renderer actually parses, which matters more than it sounds: a definition list is a bare array with one letter keys, a video list is a wrapper object with keys spelled out, and an item set is comma separated text rather than JSON. A shape the renderer cannot read is not reported at render time - it renders exactly like an attribute nobody ever set.
1202
+ * Change some of an item\'s attributes
1203
+ */
1204
+ putSfvbItemAttributes(requestParameters: PutSfvbItemAttributesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbItemResponse>;
1205
+ /**
1206
+ * Partial - a field left out is untouched, a field sent empty is cleared, and those are different things. These are what itemtitle and itemdescription render. Writing the matching config keys into a container does nothing, because they are dialog buffers bound to the item and the render never reads them. Both are the catalog\'s own fields, so a change here reaches the item everywhere, not only on this storefront.
1207
+ * @summary Change an item\'s title or long description
1208
+ * @param {number} storefrontOid
1209
+ * @param {SfvbItemContentRequest} itemContentRequest Title and description to change
1210
+ * @param {string} [merchantItemId]
1211
+ * @param {number} [merchantItemOid]
1212
+ * @param {*} [options] Override http request option.
1213
+ * @throws {RequiredError}
1214
+ * @memberof SfvbApiInterface
1215
+ */
1216
+ putSfvbItemContentRaw(requestParameters: PutSfvbItemContentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbItemResponse>>;
1217
+ /**
1218
+ * Partial - a field left out is untouched, a field sent empty is cleared, and those are different things. These are what itemtitle and itemdescription render. Writing the matching config keys into a container does nothing, because they are dialog buffers bound to the item and the render never reads them. Both are the catalog\'s own fields, so a change here reaches the item everywhere, not only on this storefront.
1219
+ * Change an item\'s title or long description
1220
+ */
1221
+ putSfvbItemContent(requestParameters: PutSfvbItemContentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbItemResponse>;
1222
+ /**
1223
+ * One slot at a time - the default image or one code - and every other image on the item is left alone. That is the difference from the item API, where images are reachable only through a full item update whose multimedia array is reconciled destructively, so adding one means resending the rest or losing them. Upload the file with files/upload first and name its storefront path here; unlike a page image it does not have to live in any particular folder, because the bytes are copied into the item\'s own storage on attach.
1224
+ * @summary Attach an image to an item
1225
+ * @param {number} storefrontOid
1226
+ * @param {SfvbItemMultimediaRequest} itemMultimediaRequest Image to attach
1227
+ * @param {string} [merchantItemId]
1228
+ * @param {number} [merchantItemOid]
1229
+ * @param {*} [options] Override http request option.
1230
+ * @throws {RequiredError}
1231
+ * @memberof SfvbApiInterface
1232
+ */
1233
+ putSfvbItemMultimediaRaw(requestParameters: PutSfvbItemMultimediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbItemResponse>>;
1234
+ /**
1235
+ * One slot at a time - the default image or one code - and every other image on the item is left alone. That is the difference from the item API, where images are reachable only through a full item update whose multimedia array is reconciled destructively, so adding one means resending the rest or losing them. Upload the file with files/upload first and name its storefront path here; unlike a page image it does not have to live in any particular folder, because the bytes are copied into the item\'s own storage on attach.
1236
+ * Attach an image to an item
1237
+ */
1238
+ putSfvbItemMultimedia(requestParameters: PutSfvbItemMultimediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbItemResponse>;
1239
+ /**
1240
+ * Partial - a field left out is untouched, a field sent empty is cleared and the page falls back to what it fell back to before. Underneath these are three item attributes with reserved names, so this and the attributes endpoint reach the same storage; it exists separately because the names are not discoverable from the templates. Two things worth knowing. A title set here changes the document title only - og:title and twitter:title render the item\'s description either way. And there is no canonical or noindex field, because both are site wide switches rather than per item values.
1241
+ * @summary Change an item\'s search metadata
1242
+ * @param {number} storefrontOid
1243
+ * @param {SfvbItemSeoRequest} itemSeoRequest Search metadata to change
1244
+ * @param {string} [merchantItemId]
1245
+ * @param {number} [merchantItemOid]
1246
+ * @param {*} [options] Override http request option.
1247
+ * @throws {RequiredError}
1248
+ * @memberof SfvbApiInterface
1249
+ */
1250
+ putSfvbItemSeoRaw(requestParameters: PutSfvbItemSeoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbItemResponse>>;
1251
+ /**
1252
+ * Partial - a field left out is untouched, a field sent empty is cleared and the page falls back to what it fell back to before. Underneath these are three item attributes with reserved names, so this and the attributes endpoint reach the same storage; it exists separately because the names are not discoverable from the templates. Two things worth knowing. A title set here changes the document title only - og:title and twitter:title render the item\'s description either way. And there is no canonical or noindex field, because both are site wide switches rather than per item values.
1253
+ * Change an item\'s search metadata
1254
+ */
1255
+ putSfvbItemSeo(requestParameters: PutSfvbItemSeoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbItemResponse>;
1091
1256
  /**
1092
1257
  * A whole menu replace, not a merge - what you send is what the menu holds afterwards, so read it, change the tree and send it back. Omitting items changes only the title; sending an empty array empties the menu. Writing a code that does not exist creates it. Every entry is checked before any of it is written, including that a merchant_item_id and a page_path actually resolve, so a tree with one bad entry changes nothing. Always needs sfvb_publish, because a menu is shared by every theme and there is no dormant copy to change instead.
1093
1258
  * @summary Replace a store menu\'s entries
@@ -1474,6 +1639,16 @@ export declare class SfvbApi extends runtime.BaseAPI implements SfvbApiInterface
1474
1639
  * Delete a storefront file
1475
1640
  */
1476
1641
  deleteSfvbFile(requestParameters: DeleteSfvbFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
1642
+ /**
1643
+ * Removes the item\'s copy of the image in one slot. The file you uploaded is left where it is, so the same source can be attached again or used elsewhere.
1644
+ * Detach an image from an item
1645
+ */
1646
+ deleteSfvbItemMultimediaRaw(requestParameters: DeleteSfvbItemMultimediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbItemResponse>>;
1647
+ /**
1648
+ * Removes the item\'s copy of the image in one slot. The file you uploaded is left where it is, so the same source can be attached again or used elsewhere.
1649
+ * Detach an image from an item
1650
+ */
1651
+ deleteSfvbItemMultimedia(requestParameters: DeleteSfvbItemMultimediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbItemResponse>;
1477
1652
  /**
1478
1653
  * Name exactly one of code or default. Removes the page\'s copy of the image; the source file in the page folder is left alone. Always needs sfvb_publish.
1479
1654
  * Detach an image from a page
@@ -1612,6 +1787,16 @@ export declare class SfvbApi extends runtime.BaseAPI implements SfvbApiInterface
1612
1787
  * Get a URL to upload a binary asset to
1613
1788
  */
1614
1789
  getSfvbFileUploadUrl(requestParameters: GetSfvbFileUploadUrlRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbFileUploadUrlResponse>;
1790
+ /**
1791
+ * The attributes, images, title, description and search metadata a StoreFront element can render, reconciled against the templates behind the pages this item sits on. An attribute a template declares but nothing has set comes back present with an empty value, which is how you discover what the page is asking for. Pricing, shipping, inventory, tax, variants and kit structure are not here because no element reads them; use the item API for those. Address by merchant_item_id, the value data-context-item-id carries, or by merchant_item_oid.
1792
+ * Read an item\'s storefront facing content
1793
+ */
1794
+ getSfvbItemRaw(requestParameters: GetSfvbItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbItemResponse>>;
1795
+ /**
1796
+ * The attributes, images, title, description and search metadata a StoreFront element can render, reconciled against the templates behind the pages this item sits on. An attribute a template declares but nothing has set comes back present with an empty value, which is how you discover what the page is asking for. Pricing, shipping, inventory, tax, variants and kit structure are not here because no element reads them; use the item API for those. Address by merchant_item_id, the value data-context-item-id carries, or by merchant_item_oid.
1797
+ * Read an item\'s storefront facing content
1798
+ */
1799
+ getSfvbItem(requestParameters: GetSfvbItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbItemResponse>;
1615
1800
  /**
1616
1801
  * Returns the fragment as authored. If it references images or other storefront files those paths will not resolve on this storefront until the entry is installed, so use install rather than this when the intent is to place the fragment.
1617
1802
  * Read one library entry including its CJSON
@@ -1830,6 +2015,16 @@ export declare class SfvbApi extends runtime.BaseAPI implements SfvbApiInterface
1830
2015
  * List a storefront directory
1831
2016
  */
1832
2017
  listSfvbFiles(requestParameters: ListSfvbFilesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbFilesResponse>;
2018
+ /**
2019
+ * An itemcontainer element renders nothing of its own. It names a slot, and a separate container is resolved per item for that slot, so a catalog of five hundred products with three slots is fifteen hundred containers. This says which of them exist. Filter by container_name to find every item carrying one slot, or by merchant_item_id to see what one item has. Which items are missing a slot is a set difference against pages/items, because a listing can only report containers that exist. Each row carries hash_sha256, so a listing is enough to start an If-Match write without reading the container first. Item containers are stored per account rather than per storefront, so storefront_oid identifies the caller\'s storefront but does not narrow the result.
2020
+ * List the item containers on the account
2021
+ */
2022
+ listSfvbItemContainersRaw(requestParameters: ListSfvbItemContainersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbItemContainersResponse>>;
2023
+ /**
2024
+ * An itemcontainer element renders nothing of its own. It names a slot, and a separate container is resolved per item for that slot, so a catalog of five hundred products with three slots is fifteen hundred containers. This says which of them exist. Filter by container_name to find every item carrying one slot, or by merchant_item_id to see what one item has. Which items are missing a slot is a set difference against pages/items, because a listing can only report containers that exist. Each row carries hash_sha256, so a listing is enough to start an If-Match write without reading the container first. Item containers are stored per account rather than per storefront, so storefront_oid identifies the caller\'s storefront but does not narrow the result.
2025
+ * List the item containers on the account
2026
+ */
2027
+ listSfvbItemContainers(requestParameters: ListSfvbItemContainersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbItemContainersResponse>;
1833
2028
  /**
1834
2029
  * Every page with its settings, sorted by path with the root first. Hidden pages are included. Pass under to list one page and everything below it. Read from the same cached catalog the admin page tree uses, so a page created a moment ago can take a moment to appear here - read it directly with the single-page read to confirm a write.
1835
2030
  * List the storefront\'s pages
@@ -1908,6 +2103,46 @@ export declare class SfvbApi extends runtime.BaseAPI implements SfvbApiInterface
1908
2103
  * Write a storefront file
1909
2104
  */
1910
2105
  putSfvbFileContent(requestParameters: PutSfvbFileContentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbFileWriteResponse>;
2106
+ /**
2107
+ * Partial - only the attributes named change, and an empty value clears one. Every entry is validated before any is written, so a refusal leaves the item untouched. The list types are checked against the shape their renderer actually parses, which matters more than it sounds: a definition list is a bare array with one letter keys, a video list is a wrapper object with keys spelled out, and an item set is comma separated text rather than JSON. A shape the renderer cannot read is not reported at render time - it renders exactly like an attribute nobody ever set.
2108
+ * Change some of an item\'s attributes
2109
+ */
2110
+ putSfvbItemAttributesRaw(requestParameters: PutSfvbItemAttributesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbItemResponse>>;
2111
+ /**
2112
+ * Partial - only the attributes named change, and an empty value clears one. Every entry is validated before any is written, so a refusal leaves the item untouched. The list types are checked against the shape their renderer actually parses, which matters more than it sounds: a definition list is a bare array with one letter keys, a video list is a wrapper object with keys spelled out, and an item set is comma separated text rather than JSON. A shape the renderer cannot read is not reported at render time - it renders exactly like an attribute nobody ever set.
2113
+ * Change some of an item\'s attributes
2114
+ */
2115
+ putSfvbItemAttributes(requestParameters: PutSfvbItemAttributesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbItemResponse>;
2116
+ /**
2117
+ * Partial - a field left out is untouched, a field sent empty is cleared, and those are different things. These are what itemtitle and itemdescription render. Writing the matching config keys into a container does nothing, because they are dialog buffers bound to the item and the render never reads them. Both are the catalog\'s own fields, so a change here reaches the item everywhere, not only on this storefront.
2118
+ * Change an item\'s title or long description
2119
+ */
2120
+ putSfvbItemContentRaw(requestParameters: PutSfvbItemContentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbItemResponse>>;
2121
+ /**
2122
+ * Partial - a field left out is untouched, a field sent empty is cleared, and those are different things. These are what itemtitle and itemdescription render. Writing the matching config keys into a container does nothing, because they are dialog buffers bound to the item and the render never reads them. Both are the catalog\'s own fields, so a change here reaches the item everywhere, not only on this storefront.
2123
+ * Change an item\'s title or long description
2124
+ */
2125
+ putSfvbItemContent(requestParameters: PutSfvbItemContentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbItemResponse>;
2126
+ /**
2127
+ * One slot at a time - the default image or one code - and every other image on the item is left alone. That is the difference from the item API, where images are reachable only through a full item update whose multimedia array is reconciled destructively, so adding one means resending the rest or losing them. Upload the file with files/upload first and name its storefront path here; unlike a page image it does not have to live in any particular folder, because the bytes are copied into the item\'s own storage on attach.
2128
+ * Attach an image to an item
2129
+ */
2130
+ putSfvbItemMultimediaRaw(requestParameters: PutSfvbItemMultimediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbItemResponse>>;
2131
+ /**
2132
+ * One slot at a time - the default image or one code - and every other image on the item is left alone. That is the difference from the item API, where images are reachable only through a full item update whose multimedia array is reconciled destructively, so adding one means resending the rest or losing them. Upload the file with files/upload first and name its storefront path here; unlike a page image it does not have to live in any particular folder, because the bytes are copied into the item\'s own storage on attach.
2133
+ * Attach an image to an item
2134
+ */
2135
+ putSfvbItemMultimedia(requestParameters: PutSfvbItemMultimediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbItemResponse>;
2136
+ /**
2137
+ * Partial - a field left out is untouched, a field sent empty is cleared and the page falls back to what it fell back to before. Underneath these are three item attributes with reserved names, so this and the attributes endpoint reach the same storage; it exists separately because the names are not discoverable from the templates. Two things worth knowing. A title set here changes the document title only - og:title and twitter:title render the item\'s description either way. And there is no canonical or noindex field, because both are site wide switches rather than per item values.
2138
+ * Change an item\'s search metadata
2139
+ */
2140
+ putSfvbItemSeoRaw(requestParameters: PutSfvbItemSeoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbItemResponse>>;
2141
+ /**
2142
+ * Partial - a field left out is untouched, a field sent empty is cleared and the page falls back to what it fell back to before. Underneath these are three item attributes with reserved names, so this and the attributes endpoint reach the same storage; it exists separately because the names are not discoverable from the templates. Two things worth knowing. A title set here changes the document title only - og:title and twitter:title render the item\'s description either way. And there is no canonical or noindex field, because both are site wide switches rather than per item values.
2143
+ * Change an item\'s search metadata
2144
+ */
2145
+ putSfvbItemSeo(requestParameters: PutSfvbItemSeoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbItemResponse>;
1911
2146
  /**
1912
2147
  * A whole menu replace, not a merge - what you send is what the menu holds afterwards, so read it, change the tree and send it back. Omitting items changes only the title; sending an empty array empties the menu. Writing a code that does not exist creates it. Every entry is checked before any of it is written, including that a merchant_item_id and a page_path actually resolve, so a tree with one bad entry changes nothing. Always needs sfvb_publish, because a menu is shared by every theme and there is no dormant copy to change instead.
1913
2148
  * Replace a store menu\'s entries