@salesforce/b2c-tooling-sdk 0.12.0 → 0.13.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 (123) hide show
  1. package/README.md +6 -0
  2. package/dist/cjs/auth/oauth-implicit.d.ts +6 -0
  3. package/dist/cjs/auth/oauth-implicit.js +8 -3
  4. package/dist/cjs/auth/oauth-implicit.js.map +1 -1
  5. package/dist/cjs/auth/resolve.js +2 -0
  6. package/dist/cjs/auth/resolve.js.map +1 -1
  7. package/dist/cjs/auth/types.d.ts +8 -0
  8. package/dist/cjs/auth/types.js.map +1 -1
  9. package/dist/cjs/cli/am-command.js +2 -2
  10. package/dist/cjs/cli/am-command.js.map +1 -1
  11. package/dist/cjs/cli/base-command.js +1 -1
  12. package/dist/cjs/cli/base-command.js.map +1 -1
  13. package/dist/cjs/cli/oauth-command.d.ts +4 -0
  14. package/dist/cjs/cli/oauth-command.js +7 -1
  15. package/dist/cjs/cli/oauth-command.js.map +1 -1
  16. package/dist/cjs/cli/ods-command.js +2 -2
  17. package/dist/cjs/cli/ods-command.js.map +1 -1
  18. package/dist/cjs/clients/granular-replications.d.ts +70 -0
  19. package/dist/cjs/clients/granular-replications.generated.d.ts +416 -0
  20. package/dist/cjs/clients/granular-replications.generated.js +6 -0
  21. package/dist/cjs/clients/granular-replications.generated.js.map +1 -0
  22. package/dist/cjs/clients/granular-replications.js +70 -0
  23. package/dist/cjs/clients/granular-replications.js.map +1 -0
  24. package/dist/cjs/clients/index.d.ts +2 -0
  25. package/dist/cjs/clients/index.js +1 -0
  26. package/dist/cjs/clients/index.js.map +1 -1
  27. package/dist/cjs/clients/middleware-registry.d.ts +1 -1
  28. package/dist/cjs/clients/middleware-registry.js.map +1 -1
  29. package/dist/cjs/clients/mrt.js +2 -1
  30. package/dist/cjs/clients/mrt.js.map +1 -1
  31. package/dist/cjs/config/mapping.d.ts +13 -1
  32. package/dist/cjs/config/mapping.js +27 -1
  33. package/dist/cjs/config/mapping.js.map +1 -1
  34. package/dist/cjs/config/resolved-config.d.ts +1 -1
  35. package/dist/cjs/config/resolved-config.js +4 -2
  36. package/dist/cjs/config/resolved-config.js.map +1 -1
  37. package/dist/cjs/config/resolver.js +4 -1
  38. package/dist/cjs/config/resolver.js.map +1 -1
  39. package/dist/cjs/config/types.d.ts +6 -1
  40. package/dist/cjs/defaults.d.ts +8 -0
  41. package/dist/cjs/defaults.js +20 -0
  42. package/dist/cjs/defaults.js.map +1 -1
  43. package/dist/cjs/index.d.ts +3 -3
  44. package/dist/cjs/index.js +2 -2
  45. package/dist/cjs/index.js.map +1 -1
  46. package/dist/cjs/instance/index.js +2 -0
  47. package/dist/cjs/instance/index.js.map +1 -1
  48. package/dist/cjs/operations/bm-roles/index.d.ts +52 -0
  49. package/dist/cjs/operations/bm-roles/index.js +57 -0
  50. package/dist/cjs/operations/bm-roles/index.js.map +1 -0
  51. package/dist/cjs/operations/bm-roles/roles.d.ts +155 -0
  52. package/dist/cjs/operations/bm-roles/roles.js +194 -0
  53. package/dist/cjs/operations/bm-roles/roles.js.map +1 -0
  54. package/dist/cjs/operations/mrt/tail-logs.js +3 -2
  55. package/dist/cjs/operations/mrt/tail-logs.js.map +1 -1
  56. package/dist/cjs/operations/sites/cartridges.d.ts +114 -0
  57. package/dist/cjs/operations/sites/cartridges.js +378 -0
  58. package/dist/cjs/operations/sites/cartridges.js.map +1 -0
  59. package/dist/cjs/operations/sites/index.d.ts +46 -0
  60. package/dist/cjs/operations/sites/index.js +51 -0
  61. package/dist/cjs/operations/sites/index.js.map +1 -0
  62. package/dist/esm/auth/oauth-implicit.d.ts +6 -0
  63. package/dist/esm/auth/oauth-implicit.js +8 -3
  64. package/dist/esm/auth/oauth-implicit.js.map +1 -1
  65. package/dist/esm/auth/resolve.js +2 -0
  66. package/dist/esm/auth/resolve.js.map +1 -1
  67. package/dist/esm/auth/types.d.ts +8 -0
  68. package/dist/esm/auth/types.js.map +1 -1
  69. package/dist/esm/cli/am-command.js +2 -2
  70. package/dist/esm/cli/am-command.js.map +1 -1
  71. package/dist/esm/cli/base-command.js +1 -1
  72. package/dist/esm/cli/base-command.js.map +1 -1
  73. package/dist/esm/cli/oauth-command.d.ts +4 -0
  74. package/dist/esm/cli/oauth-command.js +7 -1
  75. package/dist/esm/cli/oauth-command.js.map +1 -1
  76. package/dist/esm/cli/ods-command.js +2 -2
  77. package/dist/esm/cli/ods-command.js.map +1 -1
  78. package/dist/esm/clients/granular-replications.d.ts +70 -0
  79. package/dist/esm/clients/granular-replications.generated.d.ts +416 -0
  80. package/dist/esm/clients/granular-replications.generated.js +6 -0
  81. package/dist/esm/clients/granular-replications.generated.js.map +1 -0
  82. package/dist/esm/clients/granular-replications.js +70 -0
  83. package/dist/esm/clients/granular-replications.js.map +1 -0
  84. package/dist/esm/clients/index.d.ts +2 -0
  85. package/dist/esm/clients/index.js +1 -0
  86. package/dist/esm/clients/index.js.map +1 -1
  87. package/dist/esm/clients/middleware-registry.d.ts +1 -1
  88. package/dist/esm/clients/middleware-registry.js.map +1 -1
  89. package/dist/esm/clients/mrt.js +2 -1
  90. package/dist/esm/clients/mrt.js.map +1 -1
  91. package/dist/esm/config/mapping.d.ts +13 -1
  92. package/dist/esm/config/mapping.js +27 -1
  93. package/dist/esm/config/mapping.js.map +1 -1
  94. package/dist/esm/config/resolved-config.d.ts +1 -1
  95. package/dist/esm/config/resolved-config.js +4 -2
  96. package/dist/esm/config/resolved-config.js.map +1 -1
  97. package/dist/esm/config/resolver.js +4 -1
  98. package/dist/esm/config/resolver.js.map +1 -1
  99. package/dist/esm/config/types.d.ts +6 -1
  100. package/dist/esm/defaults.d.ts +8 -0
  101. package/dist/esm/defaults.js +20 -0
  102. package/dist/esm/defaults.js.map +1 -1
  103. package/dist/esm/index.d.ts +3 -3
  104. package/dist/esm/index.js +2 -2
  105. package/dist/esm/index.js.map +1 -1
  106. package/dist/esm/instance/index.js +2 -0
  107. package/dist/esm/instance/index.js.map +1 -1
  108. package/dist/esm/operations/bm-roles/index.d.ts +52 -0
  109. package/dist/esm/operations/bm-roles/index.js +57 -0
  110. package/dist/esm/operations/bm-roles/index.js.map +1 -0
  111. package/dist/esm/operations/bm-roles/roles.d.ts +155 -0
  112. package/dist/esm/operations/bm-roles/roles.js +194 -0
  113. package/dist/esm/operations/bm-roles/roles.js.map +1 -0
  114. package/dist/esm/operations/mrt/tail-logs.js +3 -2
  115. package/dist/esm/operations/mrt/tail-logs.js.map +1 -1
  116. package/dist/esm/operations/sites/cartridges.d.ts +114 -0
  117. package/dist/esm/operations/sites/cartridges.js +378 -0
  118. package/dist/esm/operations/sites/cartridges.js.map +1 -0
  119. package/dist/esm/operations/sites/index.d.ts +46 -0
  120. package/dist/esm/operations/sites/index.js +51 -0
  121. package/dist/esm/operations/sites/index.js.map +1 -0
  122. package/package.json +22 -2
  123. package/specs/granular-replications-v1.yaml +657 -0
@@ -0,0 +1,657 @@
1
+ openapi: 3.0.0
2
+ info:
3
+ title: Granular Replications API
4
+ version: '1.0'
5
+ description: |-
6
+ API for publishing individual items (products, price tables, content assets) from staging to production.
7
+
8
+ ## Publish Process Status
9
+ 1. `pending`: Publish operation to run.
10
+ 2. `in_progress`: Publish operation is running.
11
+ 3. `completed`: Publish operation completed and the item was successfully published.
12
+ 4. `failed`: The publish operation completed, but an error was detected.
13
+
14
+ servers:
15
+ - url: https://{shortCode}.api.commercecloud.salesforce.com/operation/replications/v1
16
+ variables:
17
+ shortCode:
18
+ default: '123456gfp'
19
+
20
+ paths:
21
+ /organizations/{organizationId}/granular-processes:
22
+ parameters:
23
+ - $ref: '#/components/parameters/organizationId'
24
+ get:
25
+ summary: Retrieve a list of all publish processes with pagination support.
26
+ operationId: listPublishProcesses
27
+ security:
28
+ - AmOAuth2:
29
+ - sfcc.granular-replications
30
+ - sfcc.granular-replications.rw
31
+ parameters:
32
+ - name: limit
33
+ in: query
34
+ schema:
35
+ type: integer
36
+ default: 20
37
+ minimum: 1
38
+ maximum: 200
39
+ - name: offset
40
+ in: query
41
+ schema:
42
+ type: integer
43
+ default: 0
44
+ minimum: 0
45
+ responses:
46
+ '200':
47
+ description: Retrieved list of publish processes successfully.
48
+ content:
49
+ application/json:
50
+ schema:
51
+ $ref: '#/components/schemas/PublishProcessListResponse'
52
+ '400':
53
+ $ref: '#/components/responses/400BadRequest_GetProcesses'
54
+ '403':
55
+ $ref: '#/components/responses/403Forbidden'
56
+ '422':
57
+ $ref: '#/components/responses/422UnprocessableContent'
58
+ post:
59
+ summary: Queue item for publishing
60
+ description: |-
61
+ Queues items, such as products, price tables, and content assets, for the upcoming publish operation. You can have multiple items in the queue, but you must send a separate request for each item.
62
+
63
+ Note: The published price table is always the table with the continuously valid period.
64
+
65
+ ## Publishing Limit
66
+ This endpoint is limited to 50 items per publish operation. The HTTP status code 409 (Conflict) is returned if the limit is exceeded.
67
+ operationId: publishItems
68
+ security:
69
+ - AmOAuth2:
70
+ - sfcc.granular-replications.rw
71
+ requestBody:
72
+ required: true
73
+ content:
74
+ application/json:
75
+ schema:
76
+ $ref: '#/components/schemas/PublishItemRequest'
77
+ examples:
78
+ productExample:
79
+ $ref: '#/components/examples/PostRequestProduct'
80
+ priceTableExample:
81
+ $ref: '#/components/examples/PostRequestPriceTable'
82
+ contentAssetExampleSharedLib:
83
+ $ref: '#/components/examples/PostRequestContentAssetSharedLib'
84
+ contentAssetExamplePrivateLib:
85
+ $ref: '#/components/examples/PostRequestContentAssetPrivateLib'
86
+ responses:
87
+ '201':
88
+ description: Item successfully queued for publishing
89
+ content:
90
+ application/json:
91
+ schema:
92
+ $ref: '#/components/schemas/PublishIdResponse'
93
+ examples:
94
+ success:
95
+ $ref: '#/components/examples/PublicationSuccessResponse'
96
+ '400':
97
+ $ref: '#/components/responses/400BadRequest_CreateProcess'
98
+ '403':
99
+ $ref: '#/components/responses/403Forbidden'
100
+ '404':
101
+ $ref: '#/components/responses/404NotFound_CreateProcess'
102
+ '409':
103
+ $ref: '#/components/responses/409Conflict_CreateProcess'
104
+ '422':
105
+ $ref: '#/components/responses/422UnprocessableContent_CreateProcess'
106
+ /organizations/{organizationId}/granular-processes/{id}:
107
+ parameters:
108
+ - $ref: '#/components/parameters/organizationId'
109
+ - $ref: '#/components/parameters/id'
110
+ get:
111
+ summary: Retrieve details of a specific publish process using its ID.
112
+ operationId: getPublishProcess
113
+ security:
114
+ - AmOAuth2:
115
+ - sfcc.granular-replications
116
+ - sfcc.granular-replications.rw
117
+ responses:
118
+ '200':
119
+ description: Publish process details retrieved successfully.
120
+ content:
121
+ application/json:
122
+ schema:
123
+ $ref: '#/components/schemas/PublishProcessResponse'
124
+ examples:
125
+ productProcess:
126
+ $ref: '#/components/examples/ProductProcessResponse'
127
+ priceTableProcess:
128
+ $ref: '#/components/examples/PriceTableProcessResponse'
129
+ contentAssetProcess:
130
+ $ref: '#/components/examples/ContentAssetProcessResponse'
131
+ '403':
132
+ $ref: '#/components/responses/403Forbidden'
133
+ '404':
134
+ $ref: '#/components/responses/404NotFound_GetProcess'
135
+
136
+ components:
137
+ securitySchemes:
138
+ AmOAuth2:
139
+ type: oauth2
140
+ flows:
141
+ clientCredentials:
142
+ tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token
143
+ scopes:
144
+ c.example: custom scopes must start with c. used for custom APIs [MAX length of scope 49 characters]
145
+ sfcc.example: standard salesforce commerce apis scopes must start with "sfcc.". Without suffix ".rw" scopes grants READONLY access. [MAX length of scope 49 characters]
146
+ sfcc.example.rw: salesforce commerce apis scopes must start with "sfcc.". The suffix ".rw" scopes grants READ and WRITE access. [MAX length of scope 49 characters]
147
+
148
+ schemas:
149
+ OrganizationId:
150
+ description: An identifier for the organization the request is being made by
151
+ example: f_ecom_zzxy_prd
152
+ type: string
153
+ minLength: 1
154
+ maxLength: 32
155
+
156
+ Total:
157
+ default: 0
158
+ minimum: 0
159
+ format: int32
160
+ description: The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are paginated.
161
+ type: integer
162
+ example: 10
163
+
164
+ Offset:
165
+ default: 0
166
+ minimum: 0
167
+ format: int32
168
+ description: The offset for the search results (pagination).
169
+ type: integer
170
+ example: 0
171
+
172
+ ResultBase:
173
+ description: Base type for results
174
+ type: object
175
+ properties:
176
+ total:
177
+ $ref: '#/components/schemas/Total'
178
+ limit:
179
+ type: integer
180
+ default: 20
181
+ required:
182
+ - total
183
+ - limit
184
+
185
+ PublishProcessListResponse:
186
+ description: Paginated list of publish processes
187
+ type: object
188
+ allOf:
189
+ - $ref: '#/components/schemas/ResultBase'
190
+ properties:
191
+ data:
192
+ type: array
193
+ items:
194
+ $ref: '#/components/schemas/PublishProcessResponse'
195
+ offset:
196
+ $ref: '#/components/schemas/Offset'
197
+ required:
198
+ - data
199
+ - offset
200
+
201
+ id:
202
+ description: Publish process ID of the published item
203
+ type: string
204
+ maxLength: 28
205
+ example: xmRhi7394HymoeRkfwAAAZeg3WiM
206
+
207
+ ProductId:
208
+ minLength: 1
209
+ maxLength: 100
210
+ type: string
211
+ description: The id (SKU) of the product.
212
+ example: apple-ipod-classic
213
+
214
+ ProductItem:
215
+ description: Details of the published product (only available if a product was published)
216
+ type: object
217
+ required:
218
+ - productId
219
+ properties:
220
+ productId:
221
+ $ref: '#/components/schemas/ProductId'
222
+
223
+ PriceTableItem:
224
+ description: Details of the published price table (only available if a price table was published)
225
+ type: object
226
+ required:
227
+ - priceTableId
228
+ properties:
229
+ priceTableId:
230
+ type: string
231
+ description: ID of the price table
232
+ maxLength: 256
233
+ example: usd-list-prices
234
+
235
+ SiteId:
236
+ type: string
237
+ description: The site ID
238
+ maxLength: 256
239
+ example: RefArch
240
+
241
+ ContentAssetItem:
242
+ oneOf:
243
+ - $ref: '#/components/schemas/ContentAssetItemPrivate'
244
+ - $ref: '#/components/schemas/ContentAssetItemShared'
245
+
246
+ ContentAssetItemPrivate:
247
+ description: Details of the published content asset from a private library
248
+ type: object
249
+ required:
250
+ - contentId
251
+ - type
252
+ - siteId
253
+ properties:
254
+ contentId:
255
+ type: string
256
+ description: ID of the content asset
257
+ maxLength: 256
258
+ example: homepage-hero-banner
259
+ type:
260
+ type: string
261
+ enum:
262
+ - private
263
+ description: The type of library (private) from which the content asset originates.
264
+ example: private
265
+ siteId:
266
+ $ref: '#/components/schemas/SiteId'
267
+ additionalProperties: false
268
+
269
+ ContentAssetItemShared:
270
+ description: Details of the published content asset from a shared library
271
+ type: object
272
+ required:
273
+ - contentId
274
+ - type
275
+ - libraryId
276
+ properties:
277
+ contentId:
278
+ type: string
279
+ description: ID of the content asset
280
+ maxLength: 256
281
+ example: homepage-hero-banner
282
+ type:
283
+ type: string
284
+ enum:
285
+ - shared
286
+ description: The type of library (shared) from which the content asset originates.
287
+ example: shared
288
+ libraryId:
289
+ type: string
290
+ description: ID of the shared library
291
+ maxLength: 256
292
+ example: sharedLibrary
293
+ additionalProperties: false
294
+
295
+ PublishProcessResponse:
296
+ description: Publish process details
297
+ type: object
298
+ required:
299
+ - id
300
+ - status
301
+ - startTime
302
+ - initiatedBy
303
+ properties:
304
+ id:
305
+ $ref: '#/components/schemas/id'
306
+ status:
307
+ type: string
308
+ enum:
309
+ - pending
310
+ - in_progress
311
+ - completed
312
+ - failed
313
+ description: Status of the publish process
314
+ example: completed
315
+ startTime:
316
+ type: string
317
+ format: date-time
318
+ pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?Z$
319
+ description: Timestamp at which the publish process was started
320
+ example: '2024-03-15T10:30:00Z'
321
+ endTime:
322
+ type: string
323
+ format: date-time
324
+ pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?Z$
325
+ description: Timestamp at which the publish process was completed (only available if the status is "completed" or "failed")
326
+ example: '2024-03-15T10:30:45Z'
327
+ initiatedBy:
328
+ type: string
329
+ description: User or ID of the client application that initiated the publish process
330
+ maxLength: 256
331
+ example: user@example.com
332
+ productItem:
333
+ $ref: '#/components/schemas/ProductItem'
334
+ priceTableItem:
335
+ $ref: '#/components/schemas/PriceTableItem'
336
+ contentAssetItem:
337
+ $ref: '#/components/schemas/ContentAssetItem'
338
+
339
+ ProductPublishRequest:
340
+ type: object
341
+ required:
342
+ - product
343
+ properties:
344
+ product:
345
+ $ref: '#/components/schemas/ProductItem'
346
+ additionalProperties: false
347
+
348
+ PriceTablePublishRequest:
349
+ type: object
350
+ required:
351
+ - priceTable
352
+ properties:
353
+ priceTable:
354
+ $ref: '#/components/schemas/PriceTableItem'
355
+ additionalProperties: false
356
+
357
+ ContentAssetPublishRequest:
358
+ type: object
359
+ required:
360
+ - contentAsset
361
+ properties:
362
+ contentAsset:
363
+ oneOf:
364
+ - $ref: '#/components/schemas/ContentAssetItemPrivate'
365
+ - $ref: '#/components/schemas/ContentAssetItemShared'
366
+
367
+ PublishItemRequest:
368
+ type: object
369
+ oneOf:
370
+ - $ref: '#/components/schemas/ProductPublishRequest'
371
+ - $ref: '#/components/schemas/PriceTablePublishRequest'
372
+ - $ref: '#/components/schemas/ContentAssetPublishRequest'
373
+ additionalProperties: false
374
+
375
+ PublishIdResponse:
376
+ description: Item successfully queued for publishing
377
+ type: object
378
+ required:
379
+ - id
380
+ properties:
381
+ id:
382
+ $ref: '#/components/schemas/id'
383
+
384
+ ErrorResponse:
385
+ description: Standard error response following RFC 7807
386
+ type: object
387
+ properties:
388
+ type:
389
+ description: A URI reference that identifies the problem type
390
+ type: string
391
+ maxLength: 2048
392
+ example: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-request-body
393
+ title:
394
+ description: A short, human-readable summary of the problem type
395
+ type: string
396
+ example: NotEnoughMoney
397
+ detail:
398
+ description: A human-readable explanation specific to this occurrence of the problem.
399
+ type: string
400
+ example: Your current balance is 30, but that costs 50
401
+ instance:
402
+ description: A URI reference that identifies the specific occurrence of the problem
403
+ type: string
404
+ maxLength: 2048
405
+ example: /account/12345/msgs/abc
406
+ required:
407
+ - title
408
+ - type
409
+
410
+ parameters:
411
+ organizationId:
412
+ description: An identifier for the organization the request is being made by
413
+ name: organizationId
414
+ in: path
415
+ required: true
416
+ example: f_ecom_zzxy_prd
417
+ schema:
418
+ $ref: '#/components/schemas/OrganizationId'
419
+
420
+ id:
421
+ description: Publish process ID
422
+ name: id
423
+ in: path
424
+ required: true
425
+ schema:
426
+ $ref: '#/components/schemas/id'
427
+
428
+ responses:
429
+ 400BadRequest_GetProcesses:
430
+ description: Invalid query parameter
431
+ content:
432
+ application/problem+json:
433
+ schema:
434
+ $ref: '#/components/schemas/ErrorResponse'
435
+ examples:
436
+ invalidQueryParameter:
437
+ $ref: '#/components/examples/400BadRequest_GetProcesses_InvalidQueryParameter'
438
+
439
+ 403Forbidden:
440
+ description: |-
441
+ Forbidden. Your access token is valid, but you don't have the required permissions to access the resource,
442
+ or the Granular Replication feature is disabled.
443
+ content:
444
+ application/json:
445
+ schema:
446
+ $ref: '#/components/schemas/ErrorResponse'
447
+ examples:
448
+ featureNotEnabled:
449
+ $ref: '#/components/examples/403Forbidden_FeatureNotEnabled'
450
+
451
+ 422UnprocessableContent:
452
+ description: If the request was not sent to a staging instance
453
+ content:
454
+ application/problem+json:
455
+ schema:
456
+ $ref: '#/components/schemas/ErrorResponse'
457
+ examples:
458
+ notOnStaging:
459
+ $ref: '#/components/examples/422UnprocessableContent_NotOnStagingInstance'
460
+
461
+ 400BadRequest_CreateProcess:
462
+ description: Invalid request body
463
+ content:
464
+ application/problem+json:
465
+ schema:
466
+ $ref: '#/components/schemas/ErrorResponse'
467
+ examples:
468
+ invalidRequestBody:
469
+ $ref: '#/components/examples/400BadRequest_CreateProcess_InvalidRequestBody'
470
+
471
+ 404NotFound_CreateProcess:
472
+ description: The item was not found
473
+ content:
474
+ application/problem+json:
475
+ schema:
476
+ $ref: '#/components/schemas/ErrorResponse'
477
+ examples:
478
+ itemNotFound:
479
+ $ref: '#/components/examples/404NotFound_ItemNotFound'
480
+
481
+ 409Conflict_CreateProcess:
482
+ description: Conflict - item already published, limit exceeded, or replication running
483
+ content:
484
+ application/problem+json:
485
+ schema:
486
+ $ref: '#/components/schemas/ErrorResponse'
487
+ examples:
488
+ publishedTwice:
489
+ $ref: '#/components/examples/409Conflict_CreateProcess_PublishedTwice'
490
+ limitExceeded:
491
+ $ref: '#/components/examples/409Conflict_CreateProcess_TooManyQueued'
492
+ replicationRunning:
493
+ $ref: '#/components/examples/409Conflict_CreateProcess_ReplicationRunning'
494
+
495
+ 422UnprocessableContent_CreateProcess:
496
+ description: The item could not get processed
497
+ content:
498
+ application/problem+json:
499
+ schema:
500
+ $ref: '#/components/schemas/ErrorResponse'
501
+ examples:
502
+ feedBasedPriceBookNotSupported:
503
+ $ref: '#/components/examples/422UnprocessableContent_FeedBasedPriceBookNotSupported'
504
+ notOnStaging:
505
+ $ref: '#/components/examples/422UnprocessableContent_NotOnStagingInstance'
506
+
507
+ 404NotFound_GetProcess:
508
+ description: The publish process for given ID was not found
509
+ content:
510
+ application/problem+json:
511
+ schema:
512
+ $ref: '#/components/schemas/ErrorResponse'
513
+ examples:
514
+ processNotFound:
515
+ $ref: '#/components/examples/404NotFound_ProcessNotFound'
516
+
517
+ examples:
518
+ PostRequestProduct:
519
+ summary: Publish a product
520
+ description: Publish a product by ID
521
+ value:
522
+ product:
523
+ productId: PROD-12345
524
+
525
+ PostRequestPriceTable:
526
+ summary: Publish a price table
527
+ description: Publish a price table by ID
528
+ value:
529
+ priceTable:
530
+ priceTableId: usd-list-prices
531
+
532
+ PostRequestContentAssetSharedLib:
533
+ summary: Publish a content asset from a shared library
534
+ description: Publish a content asset from a shared library
535
+ value:
536
+ contentAsset:
537
+ contentId: homepage-hero-banner
538
+ type: shared
539
+ libraryId: mySharedLibrary
540
+
541
+ PostRequestContentAssetPrivateLib:
542
+ summary: Publish a content asset from a site's private library
543
+ description: Publish a content asset from a site's private library
544
+ value:
545
+ contentAsset:
546
+ contentId: homepage-hero-banner
547
+ type: private
548
+ siteId: mySiteID
549
+
550
+ PublicationSuccessResponse:
551
+ summary: Successfully queued response
552
+ value:
553
+ id: xmRhi7394HymoeRkfwAAAZeg3WiM
554
+
555
+ 400BadRequest_CreateProcess_InvalidRequestBody:
556
+ summary: Invalid request body error
557
+ value:
558
+ type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-request-body
559
+ title: Invalid request body
560
+ detail: Invalid request body. Must provide valid properties for either a product, price table, or content asset.
561
+
562
+ 404NotFound_ItemNotFound:
563
+ summary: Item not found
564
+ value:
565
+ type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/item-not-found
566
+ title: Item not found
567
+ detail: The item specified was not found on the staging instance.
568
+
569
+ 404NotFound_ProcessNotFound:
570
+ summary: Process not found
571
+ value:
572
+ type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/process-not-found
573
+ title: Process not found
574
+ detail: The publish process with the specified ID was not found.
575
+
576
+ 409Conflict_CreateProcess_PublishedTwice:
577
+ summary: Item already published in this operation
578
+ value:
579
+ type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/published-twice
580
+ title: Item already published
581
+ detail: The item has already been queued for publishing in this operation.
582
+
583
+ 409Conflict_CreateProcess_TooManyQueued:
584
+ summary: Publishing limit exceeded
585
+ value:
586
+ type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/too-many-queued
587
+ title: Publishing limit exceeded
588
+ detail: Maximum of 50 items can be queued per publish operation.
589
+
590
+ 409Conflict_CreateProcess_ReplicationRunning:
591
+ summary: Replication in progress
592
+ value:
593
+ type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/replication-running
594
+ title: Replication in progress
595
+ detail: Granular Replication is not possible during a running replication.
596
+
597
+ 422UnprocessableContent_FeedBasedPriceBookNotSupported:
598
+ summary: Feed based price book is not supported
599
+ value:
600
+ type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/feed-based-price-book
601
+ title: Feed based price book is not supported
602
+ detail: The price table belongs to a feed based price book. Feed based price books are not supported.
603
+
604
+ 422UnprocessableContent_NotOnStagingInstance:
605
+ summary: Request was not sent to a staging instance
606
+ value:
607
+ type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/not-on-staging
608
+ title: Not on staging instance
609
+ detail: This operation must be performed from a staging instance.
610
+
611
+ 400BadRequest_GetProcesses_InvalidQueryParameter:
612
+ summary: Invalid query parameter
613
+ value:
614
+ type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-query-parameter
615
+ title: Invalid query parameter
616
+ detail: Invalid query parameter.
617
+
618
+ 403Forbidden_FeatureNotEnabled:
619
+ summary: Granular Replication feature is not enabled
620
+ value:
621
+ type: https://api.commercecloud.salesforce.com/documentation/error/v1/errors/granular-replication-feature-not-enabled
622
+ title: Granular Replication feature is not enabled
623
+ detail: The Granular Replication feature is not enabled in your staging and production environments.
624
+
625
+ ProductProcessResponse:
626
+ summary: Product publish process
627
+ value:
628
+ id: xmRhi7394HymoeRkfwAAAZeg3WiM
629
+ status: completed
630
+ startTime: '2024-03-15T10:30:00Z'
631
+ endTime: '2024-03-15T10:30:45Z'
632
+ initiatedBy: user@example.com
633
+ productItem:
634
+ productId: PROD-12345
635
+
636
+ PriceTableProcessResponse:
637
+ summary: "Price table publish process; \nNote: The published price table is always the one with the continuously valid period."
638
+ value:
639
+ id: xmRhi7394HymoeRkfwAAAZeg3WiN
640
+ status: completed
641
+ startTime: '2024-03-15T10:35:00Z'
642
+ endTime: '2024-03-15T10:35:30Z'
643
+ initiatedBy: api-client-xyz
644
+ priceTableItem:
645
+ priceTableId: usd-list-prices
646
+
647
+ ContentAssetProcessResponse:
648
+ summary: Content asset publish process
649
+ value:
650
+ id: xmRhi7394HymoeRkfwAAAZeg3WiO
651
+ status: in_progress
652
+ startTime: '2024-03-15T10:40:00Z'
653
+ initiatedBy: api-client-xyz
654
+ contentAssetItem:
655
+ contentId: homepage-hero-banner
656
+ type: shared
657
+ libraryId: sharedLibrary