ultracart_rest_api_v2_typescript 4.1.169 → 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 (36) hide show
  1. package/.openapi-generator/FILES +9 -0
  2. package/README.md +3 -2
  3. package/dist/apis/SfvbApi.d.ts +199 -1
  4. package/dist/apis/SfvbApi.js +416 -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/SfvbItemContentRequest.d.ts +37 -0
  12. package/dist/models/SfvbItemContentRequest.js +52 -0
  13. package/dist/models/SfvbItemMultimedia.d.ts +90 -0
  14. package/dist/models/SfvbItemMultimedia.js +76 -0
  15. package/dist/models/SfvbItemMultimediaRequest.d.ts +49 -0
  16. package/dist/models/SfvbItemMultimediaRequest.js +56 -0
  17. package/dist/models/SfvbItemResponse.d.ts +76 -0
  18. package/dist/models/SfvbItemResponse.js +67 -0
  19. package/dist/models/SfvbItemSeo.d.ts +108 -0
  20. package/dist/models/SfvbItemSeo.js +92 -0
  21. package/dist/models/SfvbItemSeoRequest.d.ts +43 -0
  22. package/dist/models/SfvbItemSeoRequest.js +54 -0
  23. package/dist/models/index.d.ts +9 -0
  24. package/dist/models/index.js +9 -0
  25. package/package.json +1 -1
  26. package/src/apis/SfvbApi.ts +501 -0
  27. package/src/models/SfvbItemAttribute.ts +153 -0
  28. package/src/models/SfvbItemAttributeUpdate.ts +103 -0
  29. package/src/models/SfvbItemAttributeUpdateRequest.ts +74 -0
  30. package/src/models/SfvbItemContentRequest.ts +75 -0
  31. package/src/models/SfvbItemMultimedia.ts +144 -0
  32. package/src/models/SfvbItemMultimediaRequest.ts +91 -0
  33. package/src/models/SfvbItemResponse.ts +142 -0
  34. package/src/models/SfvbItemSeo.ts +164 -0
  35. package/src/models/SfvbItemSeoRequest.ts +83 -0
  36. package/src/models/index.ts +9 -0
@@ -1026,8 +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
1029
1032
  src/models/SfvbItemContainer.ts
1030
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
1031
1040
  src/models/SfvbLibraryEntry.ts
1032
1041
  src/models/SfvbLibraryFacet.ts
1033
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.169
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.169 --save
9
+ npm install ultracart_rest_api_v2_typescript@4.1.170 --save
10
10
  ```
11
11
 
12
12
  ```typescript
@@ -84,6 +84,7 @@ 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 |
87
88
  | 4.1.169 | 09/22/2026 | sfvb builder |
88
89
  | 4.1.168 | 09/21/2026 | further automation testing |
89
90
  | 4.1.167 | 09/21/2026 | automation test |
@@ -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, SfvbItemContainersResponse, 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;
@@ -226,6 +238,30 @@ export interface PutSfvbFileContentRequest {
226
238
  fileWriteRequest: SfvbFileWriteRequest;
227
239
  path?: string;
228
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
+ }
229
265
  export interface PutSfvbMenuRequest {
230
266
  storefrontOid: number;
231
267
  code: string;
@@ -425,6 +461,24 @@ export interface SfvbApiInterface {
425
461
  * Delete a storefront file
426
462
  */
427
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>;
428
482
  /**
429
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.
430
484
  * @summary Detach an image from a page
@@ -642,6 +696,22 @@ export interface SfvbApiInterface {
642
696
  * Get a URL to upload a binary asset to
643
697
  */
644
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>;
645
715
  /**
646
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.
647
717
  * @summary Read one library entry including its CJSON
@@ -1115,6 +1185,74 @@ export interface SfvbApiInterface {
1115
1185
  * Write a storefront file
1116
1186
  */
1117
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>;
1118
1256
  /**
1119
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.
1120
1258
  * @summary Replace a store menu\'s entries
@@ -1501,6 +1639,16 @@ export declare class SfvbApi extends runtime.BaseAPI implements SfvbApiInterface
1501
1639
  * Delete a storefront file
1502
1640
  */
1503
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>;
1504
1652
  /**
1505
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.
1506
1654
  * Detach an image from a page
@@ -1639,6 +1787,16 @@ export declare class SfvbApi extends runtime.BaseAPI implements SfvbApiInterface
1639
1787
  * Get a URL to upload a binary asset to
1640
1788
  */
1641
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>;
1642
1800
  /**
1643
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.
1644
1802
  * Read one library entry including its CJSON
@@ -1945,6 +2103,46 @@ export declare class SfvbApi extends runtime.BaseAPI implements SfvbApiInterface
1945
2103
  * Write a storefront file
1946
2104
  */
1947
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>;
1948
2146
  /**
1949
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.
1950
2148
  * Replace a store menu\'s entries