@salesforce/b2c-tooling-sdk 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/README.md +180 -13
  2. package/data/scaffolds/cartridge/files/.project.ejs +17 -0
  3. package/data/scaffolds/cartridge/files/cartridge/cartridge.properties.ejs +4 -0
  4. package/data/scaffolds/cartridge/files/cartridge/controllers/Example.js.ejs +19 -0
  5. package/data/scaffolds/cartridge/files/cartridge/models/example.js.ejs +14 -0
  6. package/data/scaffolds/cartridge/files/cartridge/scripts/helpers/exampleHelpers.js.ejs +18 -0
  7. package/data/scaffolds/cartridge/files/cartridge/static/default/css/example.css +6 -0
  8. package/data/scaffolds/cartridge/files/cartridge/templates/default/example/show.isml.ejs +11 -0
  9. package/data/scaffolds/cartridge/scaffold.json +88 -0
  10. package/data/scaffolds/controller/files/controller.js.ejs +134 -0
  11. package/data/scaffolds/controller/files/template.isml.ejs +22 -0
  12. package/data/scaffolds/controller/scaffold.json +64 -0
  13. package/data/scaffolds/custom-api/files/api.json.ejs +11 -0
  14. package/data/scaffolds/custom-api/files/schema.yaml.ejs +188 -0
  15. package/data/scaffolds/custom-api/files/script.js.ejs +95 -0
  16. package/data/scaffolds/custom-api/scaffold.json +65 -0
  17. package/data/scaffolds/hook/files/hook.js.ejs +99 -0
  18. package/data/scaffolds/hook/files/hooks-entry.json.ejs +6 -0
  19. package/data/scaffolds/hook/scaffold.json +60 -0
  20. package/data/scaffolds/job-step/files/step-chunk.js.ejs +136 -0
  21. package/data/scaffolds/job-step/files/step-task.js.ejs +47 -0
  22. package/data/scaffolds/job-step/files/steptypes-entry.json.ejs +41 -0
  23. package/data/scaffolds/job-step/scaffold.json +64 -0
  24. package/data/scaffolds/page-designer-component/files/component.isml.ejs +23 -0
  25. package/data/scaffolds/page-designer-component/files/component.js.ejs +35 -0
  26. package/data/scaffolds/page-designer-component/files/component.json.ejs +50 -0
  27. package/data/scaffolds/page-designer-component/scaffold.json +66 -0
  28. package/data/scaffolds/service/files/service-http.js.ejs +245 -0
  29. package/data/scaffolds/service/files/service-sftp.js.ejs +371 -0
  30. package/data/scaffolds/service/files/service-soap.js.ejs +230 -0
  31. package/data/scaffolds/service/scaffold.json +83 -0
  32. package/data/script-api/dw.extensions.payments.SalesforcePaymentsMgr.md +48 -0
  33. package/data/script-api/dw.system.Request.md +5 -0
  34. package/data/script-api/dw.web.Cookie.md +108 -31
  35. package/data/script-api/index.json +2 -2
  36. package/data/script-api/index.md +1 -1
  37. package/dist/cjs/auth/oauth-implicit.d.ts +1 -0
  38. package/dist/cjs/auth/oauth-implicit.js +8 -3
  39. package/dist/cjs/auth/oauth-implicit.js.map +1 -1
  40. package/dist/cjs/auth/oauth.d.ts +1 -0
  41. package/dist/cjs/auth/oauth.js +8 -3
  42. package/dist/cjs/auth/oauth.js.map +1 -1
  43. package/dist/cjs/auth/types.d.ts +5 -0
  44. package/dist/cjs/auth/types.js.map +1 -1
  45. package/dist/cjs/cli/am-command.d.ts +74 -0
  46. package/dist/cjs/cli/am-command.js +191 -0
  47. package/dist/cjs/cli/am-command.js.map +1 -0
  48. package/dist/cjs/cli/base-command.d.ts +38 -0
  49. package/dist/cjs/cli/base-command.js +142 -0
  50. package/dist/cjs/cli/base-command.js.map +1 -1
  51. package/dist/cjs/cli/config.d.ts +9 -0
  52. package/dist/cjs/cli/config.js +20 -3
  53. package/dist/cjs/cli/config.js.map +1 -1
  54. package/dist/cjs/cli/index.d.ts +1 -0
  55. package/dist/cjs/cli/index.js +1 -0
  56. package/dist/cjs/cli/index.js.map +1 -1
  57. package/dist/cjs/cli/instance-command.d.ts +2 -1
  58. package/dist/cjs/cli/oauth-command.d.ts +22 -2
  59. package/dist/cjs/cli/oauth-command.js +53 -8
  60. package/dist/cjs/cli/oauth-command.js.map +1 -1
  61. package/dist/cjs/cli/ods-command.d.ts +6 -2
  62. package/dist/cjs/cli/ods-command.js +10 -4
  63. package/dist/cjs/cli/ods-command.js.map +1 -1
  64. package/dist/cjs/cli/webdav-command.d.ts +2 -1
  65. package/dist/cjs/clients/am-api.d.ts +521 -0
  66. package/dist/cjs/clients/am-api.js +986 -0
  67. package/dist/cjs/clients/am-api.js.map +1 -0
  68. package/dist/cjs/clients/am-apiclients-api.generated.d.ts +803 -0
  69. package/dist/cjs/clients/am-apiclients-api.generated.js +6 -0
  70. package/dist/cjs/clients/am-apiclients-api.generated.js.map +1 -0
  71. package/dist/cjs/clients/am-roles-api.generated.d.ts +298 -0
  72. package/dist/cjs/clients/am-roles-api.generated.js +6 -0
  73. package/dist/cjs/clients/am-roles-api.generated.js.map +1 -0
  74. package/dist/cjs/clients/am-users-api.generated.d.ts +954 -0
  75. package/dist/cjs/clients/am-users-api.generated.js +6 -0
  76. package/dist/cjs/clients/am-users-api.generated.js.map +1 -0
  77. package/dist/cjs/clients/index.d.ts +4 -2
  78. package/dist/cjs/clients/index.js +2 -1
  79. package/dist/cjs/clients/index.js.map +1 -1
  80. package/dist/cjs/clients/middleware-registry.d.ts +1 -1
  81. package/dist/cjs/clients/middleware-registry.js.map +1 -1
  82. package/dist/cjs/clients/middleware.d.ts +49 -2
  83. package/dist/cjs/clients/middleware.js +214 -2
  84. package/dist/cjs/clients/middleware.js.map +1 -1
  85. package/dist/cjs/clients/mrt.js +5 -1
  86. package/dist/cjs/clients/mrt.js.map +1 -1
  87. package/dist/cjs/config/dw-json.d.ts +104 -33
  88. package/dist/cjs/config/dw-json.js +167 -2
  89. package/dist/cjs/config/dw-json.js.map +1 -1
  90. package/dist/cjs/config/index.d.ts +6 -4
  91. package/dist/cjs/config/index.js +6 -2
  92. package/dist/cjs/config/index.js.map +1 -1
  93. package/dist/cjs/config/instance-manager.d.ts +97 -0
  94. package/dist/cjs/config/instance-manager.js +166 -0
  95. package/dist/cjs/config/instance-manager.js.map +1 -0
  96. package/dist/cjs/config/mapping.d.ts +63 -5
  97. package/dist/cjs/config/mapping.js +165 -20
  98. package/dist/cjs/config/mapping.js.map +1 -1
  99. package/dist/cjs/config/sources/dw-json-source.d.ts +17 -1
  100. package/dist/cjs/config/sources/dw-json-source.js +70 -3
  101. package/dist/cjs/config/sources/dw-json-source.js.map +1 -1
  102. package/dist/cjs/config/sources/package-json-source.js +6 -3
  103. package/dist/cjs/config/sources/package-json-source.js.map +1 -1
  104. package/dist/cjs/config/types.d.ts +72 -0
  105. package/dist/cjs/defaults.d.ts +6 -0
  106. package/dist/cjs/defaults.js +6 -0
  107. package/dist/cjs/defaults.js.map +1 -1
  108. package/dist/cjs/i18n/index.js +3 -0
  109. package/dist/cjs/i18n/index.js.map +1 -1
  110. package/dist/cjs/index.d.ts +8 -4
  111. package/dist/cjs/index.js +9 -3
  112. package/dist/cjs/index.js.map +1 -1
  113. package/dist/cjs/logging/logger.js +13 -1
  114. package/dist/cjs/logging/logger.js.map +1 -1
  115. package/dist/cjs/operations/content/asset-query.d.ts +22 -0
  116. package/dist/cjs/operations/content/asset-query.js +77 -0
  117. package/dist/cjs/operations/content/asset-query.js.map +1 -0
  118. package/dist/cjs/operations/content/export.d.ts +57 -0
  119. package/dist/cjs/operations/content/export.js +224 -0
  120. package/dist/cjs/operations/content/export.js.map +1 -0
  121. package/dist/cjs/operations/content/index.d.ts +43 -0
  122. package/dist/cjs/operations/content/index.js +48 -0
  123. package/dist/cjs/operations/content/index.js.map +1 -0
  124. package/dist/cjs/operations/content/library.d.ts +137 -0
  125. package/dist/cjs/operations/content/library.js +392 -0
  126. package/dist/cjs/operations/content/library.js.map +1 -0
  127. package/dist/cjs/operations/content/types.d.ts +144 -0
  128. package/dist/cjs/operations/content/types.js +7 -0
  129. package/dist/cjs/operations/content/types.js.map +1 -0
  130. package/dist/cjs/operations/mrt/b2c-config.js +19 -4
  131. package/dist/cjs/operations/mrt/b2c-config.js.map +1 -1
  132. package/dist/cjs/operations/mrt/index.d.ts +2 -0
  133. package/dist/cjs/operations/mrt/index.js +2 -0
  134. package/dist/cjs/operations/mrt/index.js.map +1 -1
  135. package/dist/cjs/operations/mrt/tail-logs.d.ts +130 -0
  136. package/dist/cjs/operations/mrt/tail-logs.js +223 -0
  137. package/dist/cjs/operations/mrt/tail-logs.js.map +1 -0
  138. package/dist/cjs/operations/ods/index.d.ts +2 -0
  139. package/dist/cjs/operations/ods/index.js +1 -0
  140. package/dist/cjs/operations/ods/index.js.map +1 -1
  141. package/dist/cjs/operations/ods/wait-for-sandbox.d.ts +64 -0
  142. package/dist/cjs/operations/ods/wait-for-sandbox.js +114 -0
  143. package/dist/cjs/operations/ods/wait-for-sandbox.js.map +1 -0
  144. package/dist/cjs/operations/orgs/index.d.ts +74 -0
  145. package/dist/cjs/operations/orgs/index.js +33 -0
  146. package/dist/cjs/operations/orgs/index.js.map +1 -0
  147. package/dist/cjs/operations/roles/index.d.ts +43 -0
  148. package/dist/cjs/operations/roles/index.js +48 -0
  149. package/dist/cjs/operations/roles/index.js.map +1 -0
  150. package/dist/cjs/operations/users/index.d.ts +153 -0
  151. package/dist/cjs/operations/users/index.js +139 -0
  152. package/dist/cjs/operations/users/index.js.map +1 -0
  153. package/dist/cjs/scaffold/engine.d.ts +68 -0
  154. package/dist/cjs/scaffold/engine.js +149 -0
  155. package/dist/cjs/scaffold/engine.js.map +1 -0
  156. package/dist/cjs/scaffold/executor.d.ts +36 -0
  157. package/dist/cjs/scaffold/executor.js +285 -0
  158. package/dist/cjs/scaffold/executor.js.map +1 -0
  159. package/dist/cjs/scaffold/index.d.ts +74 -0
  160. package/dist/cjs/scaffold/index.js +23 -0
  161. package/dist/cjs/scaffold/index.js.map +1 -0
  162. package/dist/cjs/scaffold/merge.d.ts +56 -0
  163. package/dist/cjs/scaffold/merge.js +183 -0
  164. package/dist/cjs/scaffold/merge.js.map +1 -0
  165. package/dist/cjs/scaffold/parameter-resolver.d.ts +86 -0
  166. package/dist/cjs/scaffold/parameter-resolver.js +179 -0
  167. package/dist/cjs/scaffold/parameter-resolver.js.map +1 -0
  168. package/dist/cjs/scaffold/registry.d.ts +45 -0
  169. package/dist/cjs/scaffold/registry.js +219 -0
  170. package/dist/cjs/scaffold/registry.js.map +1 -0
  171. package/dist/cjs/scaffold/sources.d.ts +45 -0
  172. package/dist/cjs/scaffold/sources.js +113 -0
  173. package/dist/cjs/scaffold/sources.js.map +1 -0
  174. package/dist/cjs/scaffold/types.d.ts +280 -0
  175. package/dist/cjs/scaffold/types.js +14 -0
  176. package/dist/cjs/scaffold/types.js.map +1 -0
  177. package/dist/cjs/scaffold/validation.d.ts +81 -0
  178. package/dist/cjs/scaffold/validation.js +250 -0
  179. package/dist/cjs/scaffold/validation.js.map +1 -0
  180. package/dist/cjs/scaffold/validators.d.ts +33 -0
  181. package/dist/cjs/scaffold/validators.js +334 -0
  182. package/dist/cjs/scaffold/validators.js.map +1 -0
  183. package/dist/cjs/telemetry/index.d.ts +26 -0
  184. package/dist/cjs/telemetry/index.js +32 -0
  185. package/dist/cjs/telemetry/index.js.map +1 -0
  186. package/dist/cjs/telemetry/telemetry.d.ts +90 -0
  187. package/dist/cjs/telemetry/telemetry.js +283 -0
  188. package/dist/cjs/telemetry/telemetry.js.map +1 -0
  189. package/dist/cjs/telemetry/types.d.ts +62 -0
  190. package/dist/cjs/telemetry/types.js +7 -0
  191. package/dist/cjs/telemetry/types.js.map +1 -0
  192. package/dist/esm/auth/oauth-implicit.d.ts +1 -0
  193. package/dist/esm/auth/oauth-implicit.js +8 -3
  194. package/dist/esm/auth/oauth-implicit.js.map +1 -1
  195. package/dist/esm/auth/oauth.d.ts +1 -0
  196. package/dist/esm/auth/oauth.js +8 -3
  197. package/dist/esm/auth/oauth.js.map +1 -1
  198. package/dist/esm/auth/types.d.ts +5 -0
  199. package/dist/esm/auth/types.js.map +1 -1
  200. package/dist/esm/cli/am-command.d.ts +74 -0
  201. package/dist/esm/cli/am-command.js +198 -0
  202. package/dist/esm/cli/am-command.js.map +1 -0
  203. package/dist/esm/cli/base-command.d.ts +38 -0
  204. package/dist/esm/cli/base-command.js +142 -0
  205. package/dist/esm/cli/base-command.js.map +1 -1
  206. package/dist/esm/cli/config.d.ts +9 -0
  207. package/dist/esm/cli/config.js +20 -3
  208. package/dist/esm/cli/config.js.map +1 -1
  209. package/dist/esm/cli/index.d.ts +1 -0
  210. package/dist/esm/cli/index.js +1 -0
  211. package/dist/esm/cli/index.js.map +1 -1
  212. package/dist/esm/cli/instance-command.d.ts +2 -1
  213. package/dist/esm/cli/oauth-command.d.ts +22 -2
  214. package/dist/esm/cli/oauth-command.js +53 -8
  215. package/dist/esm/cli/oauth-command.js.map +1 -1
  216. package/dist/esm/cli/ods-command.d.ts +6 -2
  217. package/dist/esm/cli/ods-command.js +10 -4
  218. package/dist/esm/cli/ods-command.js.map +1 -1
  219. package/dist/esm/cli/webdav-command.d.ts +2 -1
  220. package/dist/esm/clients/am-api.d.ts +521 -0
  221. package/dist/esm/clients/am-api.js +986 -0
  222. package/dist/esm/clients/am-api.js.map +1 -0
  223. package/dist/esm/clients/am-apiclients-api.generated.d.ts +803 -0
  224. package/dist/esm/clients/am-apiclients-api.generated.js +6 -0
  225. package/dist/esm/clients/am-apiclients-api.generated.js.map +1 -0
  226. package/dist/esm/clients/am-roles-api.generated.d.ts +298 -0
  227. package/dist/esm/clients/am-roles-api.generated.js +6 -0
  228. package/dist/esm/clients/am-roles-api.generated.js.map +1 -0
  229. package/dist/esm/clients/am-users-api.generated.d.ts +954 -0
  230. package/dist/esm/clients/am-users-api.generated.js +6 -0
  231. package/dist/esm/clients/am-users-api.generated.js.map +1 -0
  232. package/dist/esm/clients/index.d.ts +4 -2
  233. package/dist/esm/clients/index.js +2 -1
  234. package/dist/esm/clients/index.js.map +1 -1
  235. package/dist/esm/clients/middleware-registry.d.ts +1 -1
  236. package/dist/esm/clients/middleware-registry.js.map +1 -1
  237. package/dist/esm/clients/middleware.d.ts +49 -2
  238. package/dist/esm/clients/middleware.js +214 -2
  239. package/dist/esm/clients/middleware.js.map +1 -1
  240. package/dist/esm/clients/mrt.js +5 -1
  241. package/dist/esm/clients/mrt.js.map +1 -1
  242. package/dist/esm/config/dw-json.d.ts +104 -33
  243. package/dist/esm/config/dw-json.js +167 -2
  244. package/dist/esm/config/dw-json.js.map +1 -1
  245. package/dist/esm/config/index.d.ts +6 -4
  246. package/dist/esm/config/index.js +6 -2
  247. package/dist/esm/config/index.js.map +1 -1
  248. package/dist/esm/config/instance-manager.d.ts +97 -0
  249. package/dist/esm/config/instance-manager.js +166 -0
  250. package/dist/esm/config/instance-manager.js.map +1 -0
  251. package/dist/esm/config/mapping.d.ts +63 -5
  252. package/dist/esm/config/mapping.js +165 -20
  253. package/dist/esm/config/mapping.js.map +1 -1
  254. package/dist/esm/config/sources/dw-json-source.d.ts +17 -1
  255. package/dist/esm/config/sources/dw-json-source.js +70 -3
  256. package/dist/esm/config/sources/dw-json-source.js.map +1 -1
  257. package/dist/esm/config/sources/package-json-source.js +6 -3
  258. package/dist/esm/config/sources/package-json-source.js.map +1 -1
  259. package/dist/esm/config/types.d.ts +72 -0
  260. package/dist/esm/defaults.d.ts +6 -0
  261. package/dist/esm/defaults.js +6 -0
  262. package/dist/esm/defaults.js.map +1 -1
  263. package/dist/esm/i18n/index.js +3 -0
  264. package/dist/esm/i18n/index.js.map +1 -1
  265. package/dist/esm/index.d.ts +8 -4
  266. package/dist/esm/index.js +9 -3
  267. package/dist/esm/index.js.map +1 -1
  268. package/dist/esm/logging/logger.js +13 -1
  269. package/dist/esm/logging/logger.js.map +1 -1
  270. package/dist/esm/operations/content/asset-query.d.ts +22 -0
  271. package/dist/esm/operations/content/asset-query.js +77 -0
  272. package/dist/esm/operations/content/asset-query.js.map +1 -0
  273. package/dist/esm/operations/content/export.d.ts +57 -0
  274. package/dist/esm/operations/content/export.js +224 -0
  275. package/dist/esm/operations/content/export.js.map +1 -0
  276. package/dist/esm/operations/content/index.d.ts +43 -0
  277. package/dist/esm/operations/content/index.js +48 -0
  278. package/dist/esm/operations/content/index.js.map +1 -0
  279. package/dist/esm/operations/content/library.d.ts +137 -0
  280. package/dist/esm/operations/content/library.js +392 -0
  281. package/dist/esm/operations/content/library.js.map +1 -0
  282. package/dist/esm/operations/content/types.d.ts +144 -0
  283. package/dist/esm/operations/content/types.js +7 -0
  284. package/dist/esm/operations/content/types.js.map +1 -0
  285. package/dist/esm/operations/mrt/b2c-config.js +19 -4
  286. package/dist/esm/operations/mrt/b2c-config.js.map +1 -1
  287. package/dist/esm/operations/mrt/index.d.ts +2 -0
  288. package/dist/esm/operations/mrt/index.js +2 -0
  289. package/dist/esm/operations/mrt/index.js.map +1 -1
  290. package/dist/esm/operations/mrt/tail-logs.d.ts +130 -0
  291. package/dist/esm/operations/mrt/tail-logs.js +223 -0
  292. package/dist/esm/operations/mrt/tail-logs.js.map +1 -0
  293. package/dist/esm/operations/ods/index.d.ts +2 -0
  294. package/dist/esm/operations/ods/index.js +1 -0
  295. package/dist/esm/operations/ods/index.js.map +1 -1
  296. package/dist/esm/operations/ods/wait-for-sandbox.d.ts +64 -0
  297. package/dist/esm/operations/ods/wait-for-sandbox.js +114 -0
  298. package/dist/esm/operations/ods/wait-for-sandbox.js.map +1 -0
  299. package/dist/esm/operations/orgs/index.d.ts +74 -0
  300. package/dist/esm/operations/orgs/index.js +33 -0
  301. package/dist/esm/operations/orgs/index.js.map +1 -0
  302. package/dist/esm/operations/roles/index.d.ts +43 -0
  303. package/dist/esm/operations/roles/index.js +48 -0
  304. package/dist/esm/operations/roles/index.js.map +1 -0
  305. package/dist/esm/operations/users/index.d.ts +153 -0
  306. package/dist/esm/operations/users/index.js +139 -0
  307. package/dist/esm/operations/users/index.js.map +1 -0
  308. package/dist/esm/scaffold/engine.d.ts +68 -0
  309. package/dist/esm/scaffold/engine.js +149 -0
  310. package/dist/esm/scaffold/engine.js.map +1 -0
  311. package/dist/esm/scaffold/executor.d.ts +36 -0
  312. package/dist/esm/scaffold/executor.js +285 -0
  313. package/dist/esm/scaffold/executor.js.map +1 -0
  314. package/dist/esm/scaffold/index.d.ts +74 -0
  315. package/dist/esm/scaffold/index.js +23 -0
  316. package/dist/esm/scaffold/index.js.map +1 -0
  317. package/dist/esm/scaffold/merge.d.ts +56 -0
  318. package/dist/esm/scaffold/merge.js +183 -0
  319. package/dist/esm/scaffold/merge.js.map +1 -0
  320. package/dist/esm/scaffold/parameter-resolver.d.ts +86 -0
  321. package/dist/esm/scaffold/parameter-resolver.js +179 -0
  322. package/dist/esm/scaffold/parameter-resolver.js.map +1 -0
  323. package/dist/esm/scaffold/registry.d.ts +45 -0
  324. package/dist/esm/scaffold/registry.js +219 -0
  325. package/dist/esm/scaffold/registry.js.map +1 -0
  326. package/dist/esm/scaffold/sources.d.ts +45 -0
  327. package/dist/esm/scaffold/sources.js +113 -0
  328. package/dist/esm/scaffold/sources.js.map +1 -0
  329. package/dist/esm/scaffold/types.d.ts +280 -0
  330. package/dist/esm/scaffold/types.js +14 -0
  331. package/dist/esm/scaffold/types.js.map +1 -0
  332. package/dist/esm/scaffold/validation.d.ts +81 -0
  333. package/dist/esm/scaffold/validation.js +250 -0
  334. package/dist/esm/scaffold/validation.js.map +1 -0
  335. package/dist/esm/scaffold/validators.d.ts +33 -0
  336. package/dist/esm/scaffold/validators.js +334 -0
  337. package/dist/esm/scaffold/validators.js.map +1 -0
  338. package/dist/esm/telemetry/index.d.ts +26 -0
  339. package/dist/esm/telemetry/index.js +32 -0
  340. package/dist/esm/telemetry/index.js.map +1 -0
  341. package/dist/esm/telemetry/telemetry.d.ts +90 -0
  342. package/dist/esm/telemetry/telemetry.js +283 -0
  343. package/dist/esm/telemetry/telemetry.js.map +1 -0
  344. package/dist/esm/telemetry/types.d.ts +62 -0
  345. package/dist/esm/telemetry/types.js +7 -0
  346. package/dist/esm/telemetry/types.js.map +1 -0
  347. package/package.json +86 -17
  348. package/specs/am-apiclients-api-v1.yaml +965 -0
  349. package/specs/am-roles-api-v1.yaml +316 -0
  350. package/specs/am-users-api-v1.yaml +1142 -0
@@ -0,0 +1,965 @@
1
+ openapi: 3.0.3
2
+ info:
3
+ title: API Clients
4
+ description: |
5
+ # API Overview
6
+
7
+ Manage API clients within the Account Manager system. API clients are service accounts used for programmatic access to APIs. They can be assigned roles and organizations, support various authentication methods (JWT, client secrets), and can be enabled, disabled, or deleted based on their state.
8
+
9
+ ## Authentication & Authorization
10
+
11
+ All requests to the API Clients API must be authenticated using OAuth 2.0 bearer token authentication. The API supports two OAuth 2.0 flows: client credentials and authorization code. The token endpoint is available at `https://account.demandware.com/dwsso/oauth2/access_token`.
12
+
13
+ ## Use Cases
14
+
15
+ ### Create an API Client for Service Integration
16
+
17
+ Create a new API client to enable programmatic access for service-to-service integrations. For example, access the B2C Commerce API (SCAPI), the Open Commerce API (OCAPI), or the On-Demand Sandbox API. You can't use the same client ID for both the B2C Commerce API (SCAPI) and OCAPI. Each API framework requires its own client ID. An API Client ID that's meant for OCAPI must not have the role "Salesforce Commerce API" assigned to it.
18
+
19
+ API clients are created in an inactive state by default and must be explicitly activated before use.
20
+
21
+ ### Manage API Client Lifecycle
22
+
23
+ Update API client properties, change passwords, disable inactive clients, and delete clients that have been disabled for at least 7 days.
24
+ version: 1.0.0-beta
25
+ servers:
26
+ - url: https://account.demandware.com
27
+ description: Account Manager Production Instance
28
+ security:
29
+ - AmOAuth2: []
30
+ paths:
31
+ /dw/rest/v1/apiclients:
32
+ get:
33
+ operationId: getApiClients
34
+ summary: Retrieve a paginated list of all API clients.
35
+ description: Get the list of API clients with no filtering.
36
+ parameters:
37
+ - name: pageable
38
+ in: query
39
+ required: false
40
+ schema:
41
+ $ref: "#/components/schemas/Pageable"
42
+ responses:
43
+ "400":
44
+ description: Bad Request
45
+ "401":
46
+ description: Access token is missing or invalid.
47
+ content:
48
+ application/json:
49
+ schema:
50
+ allOf:
51
+ - $ref: "#/components/schemas/ErrorResponse"
52
+ examples:
53
+ errorAuthenticationRequired:
54
+ $ref: "#/components/examples/ErrorAuthenticationRequired"
55
+ "429":
56
+ $ref: "#/components/responses/RateLimitedError"
57
+ "200":
58
+ description: OK
59
+ headers:
60
+ X-RateLimit-Limit:
61
+ $ref: "#/components/headers/X-RateLimit-Limit"
62
+ X-RateLimit-Remaining:
63
+ $ref: "#/components/headers/X-RateLimit-Remaining"
64
+ X-RateLimit-Reset:
65
+ $ref: "#/components/headers/X-RateLimit-Reset"
66
+ content:
67
+ application/json:
68
+ schema:
69
+ $ref: "#/components/schemas/APIClientCollection"
70
+ post:
71
+ operationId: createApiClient
72
+ summary: Create an API client.
73
+ description: |
74
+ Create a new API client with the specified properties.
75
+ Note: API clients are created with active=false by default and must be explicitly activated.
76
+ requestBody:
77
+ content:
78
+ application/json:
79
+ schema:
80
+ $ref: "#/components/schemas/APIClientCreate"
81
+ example:
82
+ name: "apiclient-stg"
83
+ description: "Client for staging environment."
84
+ organizations:
85
+ - "e39dbb7a-63bd-4972-980b-0f6fb3a24bd6"
86
+ password: "MySecureP@ss123"
87
+ roles:
88
+ - "SALESFORCE_COMMERCE_API"
89
+ roleTenantFilter: "SALESFORCE_COMMERCE_API:abcd_prd"
90
+ required: true
91
+ responses:
92
+ "400":
93
+ description: Bad Request
94
+ content:
95
+ application/json:
96
+ schema:
97
+ allOf:
98
+ - $ref: "#/components/schemas/ErrorResponse"
99
+ examples:
100
+ errorCreatingUserFailed:
101
+ $ref: "#/components/examples/ErrorApiClientValidation"
102
+ "403":
103
+ description: Principal lacks permission to create API client.
104
+ "401":
105
+ description: Access token is missing or invalid.
106
+ content:
107
+ application/json:
108
+ schema:
109
+ allOf:
110
+ - $ref: "#/components/schemas/ErrorResponse"
111
+ examples:
112
+ errorAuthenticationRequired:
113
+ $ref: "#/components/examples/ErrorAuthenticationRequired"
114
+ "429":
115
+ $ref: "#/components/responses/RateLimitedError"
116
+ 201:
117
+ description: Created
118
+ headers:
119
+ X-RateLimit-Limit:
120
+ $ref: "#/components/headers/X-RateLimit-Limit"
121
+ X-RateLimit-Remaining:
122
+ $ref: "#/components/headers/X-RateLimit-Remaining"
123
+ X-RateLimit-Reset:
124
+ $ref: "#/components/headers/X-RateLimit-Reset"
125
+ Location:
126
+ description: URL to read created API client.
127
+ schema:
128
+ type: string
129
+ format: uri
130
+ content:
131
+ application/json:
132
+ schema:
133
+ $ref: "#/components/schemas/APIClientRead"
134
+ example:
135
+ id: "b7d9e3f2-45c8-4a1b-9e6d-8f3a2c7b5e4a"
136
+ name: "Production Service Client"
137
+ description: "API client for production services."
138
+ passwordModificationTimestamp: null
139
+ jwtPublicKey: null
140
+ redirectUrls: []
141
+ scopes:
142
+ - "mail"
143
+ defaultScopes:
144
+ - "mail"
145
+ organizations:
146
+ - "f3e7a9c2-68d4-4b5e-9a1f-7c2d8e4b6a9c"
147
+ active: false
148
+ versionControl: []
149
+ roles:
150
+ - "SALESFORCE_COMMERCE_API"
151
+ roleTenantFilter: "SALESFORCE_COMMERCE_API:abcd_prd"
152
+ tokenEndpointAuthMethod: "client_secret_post"
153
+ lastAuthenticatedDate: null
154
+ disabledTimestamp: null
155
+ createdAt: "2024-12-04T13:45:00Z"
156
+ /dw/rest/v1/apiclients/{apiClientId}:
157
+ get:
158
+ operationId: getApiClient
159
+ summary: Retrieve details of a specific API client.
160
+ description: Gets the API client with the specified ID. Use the expand parameter to retrieve more information on related organizations and roles.
161
+ parameters:
162
+ - name: apiClientId
163
+ in: path
164
+ required: true
165
+ schema:
166
+ type: string
167
+ - name: expand
168
+ in: query
169
+ required: false
170
+ style: form
171
+ explode: false
172
+ example: organizations
173
+ description: Comma-separated list of fields that should be expanded in the response. Ensures that fully inlined organization and/or role objects get returned.
174
+ schema:
175
+ type: array
176
+ items:
177
+ type: string
178
+ enum:
179
+ - organizations
180
+ - roles
181
+ responses:
182
+ "400":
183
+ description: Bad Request
184
+ "401":
185
+ description: Access token is missing or invalid.
186
+ content:
187
+ application/json:
188
+ schema:
189
+ allOf:
190
+ - $ref: "#/components/schemas/ErrorResponse"
191
+ examples:
192
+ errorAuthenticationRequired:
193
+ $ref: "#/components/examples/ErrorAuthenticationRequired"
194
+ 404:
195
+ description: No API client found with the specified ID.
196
+ "429":
197
+ $ref: "#/components/responses/RateLimitedError"
198
+ "200":
199
+ description: OK
200
+ headers:
201
+ X-RateLimit-Limit:
202
+ $ref: "#/components/headers/X-RateLimit-Limit"
203
+ X-RateLimit-Remaining:
204
+ $ref: "#/components/headers/X-RateLimit-Remaining"
205
+ X-RateLimit-Reset:
206
+ $ref: "#/components/headers/X-RateLimit-Reset"
207
+ content:
208
+ application/json:
209
+ schema:
210
+ $ref: "#/components/schemas/APIClientRead"
211
+ example:
212
+ id: "b7d9e3f2-45c8-4a1b-9e6d-8f3a2c7b5e4a"
213
+ name: "Production Service Client"
214
+ description: "API client for production services."
215
+ passwordModificationTimestamp: null
216
+ jwtPublicKey: null
217
+ redirectUrls: []
218
+ scopes:
219
+ - "mail"
220
+ defaultScopes:
221
+ - "mail"
222
+ organizations:
223
+ - "f3e7a9c2-68d4-4b5e-9a1f-7c2d8e4b6a9c"
224
+ active: false
225
+ versionControl: []
226
+ roles: []
227
+ roleTenantFilter: null
228
+ tokenEndpointAuthMethod: "client_secret_post"
229
+ lastAuthenticatedDate: null
230
+ disabledTimestamp: null
231
+ createdAt: "2024-12-04T13:45:00Z"
232
+ put:
233
+ operationId: updateApiClient
234
+ summary: Update an API client.
235
+ description: Apply a partial update to an existing API client. An omitted field stays at its previous value and a contained field replaces the previously saved value.
236
+ parameters:
237
+ - name: apiClientId
238
+ in: path
239
+ required: true
240
+ schema:
241
+ type: string
242
+ requestBody:
243
+ content:
244
+ application/json:
245
+ schema:
246
+ $ref: "#/components/schemas/APIClientUpdate"
247
+ example:
248
+ name: "apiclient-staging"
249
+ description: "API client for staging services."
250
+ organizations:
251
+ - "e39dbb7a-63bd-4972-980b-0f6fb3a24bd6"
252
+ password: "SecureP@ssw0rd123"
253
+ required: true
254
+ responses:
255
+ "400":
256
+ description: Bad Request
257
+ content:
258
+ application/json:
259
+ schema:
260
+ allOf:
261
+ - $ref: "#/components/schemas/ErrorResponse"
262
+ examples:
263
+ errorCreatingUserFailed:
264
+ $ref: "#/components/examples/ErrorApiClientValidation"
265
+ "401":
266
+ $ref: "#/components/responses/UnauthorizedError"
267
+ "429":
268
+ $ref: "#/components/responses/RateLimitedError"
269
+ "200":
270
+ description: OK
271
+ headers:
272
+ X-RateLimit-Limit:
273
+ $ref: "#/components/headers/X-RateLimit-Limit"
274
+ X-RateLimit-Remaining:
275
+ $ref: "#/components/headers/X-RateLimit-Remaining"
276
+ X-RateLimit-Reset:
277
+ $ref: "#/components/headers/X-RateLimit-Reset"
278
+ content:
279
+ application/json:
280
+ schema:
281
+ $ref: "#/components/schemas/APIClientRead"
282
+ example:
283
+ id: "b7d9e3f2-45c8-4a1b-9e6d-8f3a2c7b5e4a"
284
+ name: "Production Service Client"
285
+ description: "API Client for production services"
286
+ passwordModificationTimestamp: null
287
+ jwtPublicKey: null
288
+ redirectUrls: []
289
+ scopes:
290
+ - "mail"
291
+ defaultScopes:
292
+ - "mail"
293
+ organizations:
294
+ - "f3e7a9c2-68d4-4b5e-9a1f-7c2d8e4b6a9c"
295
+ active: false
296
+ versionControl: []
297
+ roles: []
298
+ roleTenantFilter: null
299
+ tokenEndpointAuthMethod: "client_secret_post"
300
+ lastAuthenticatedDate: null
301
+ disabledTimestamp: null
302
+ createdAt: "2024-12-04T13:45:00Z"
303
+ delete:
304
+ operationId: deleteApiClient
305
+ summary: Delete an API client.
306
+ description: |
307
+ Only API clients that have been disabled for at least 7 days can be deleted.
308
+ parameters:
309
+ - name: apiClientId
310
+ in: path
311
+ required: true
312
+ schema:
313
+ type: string
314
+ responses:
315
+ "400":
316
+ description: Bad Request
317
+ "401":
318
+ description: Access token is missing or invalid.
319
+ content:
320
+ application/json:
321
+ schema:
322
+ allOf:
323
+ - $ref: "#/components/schemas/ErrorResponse"
324
+ examples:
325
+ errorAuthenticationRequired:
326
+ $ref: "#/components/examples/ErrorAuthenticationRequired"
327
+ "412":
328
+ description: Precondition Failed - API client must be disabled for at least 7 days before deletion.
329
+ "429":
330
+ $ref: "#/components/responses/RateLimitedError"
331
+ "204":
332
+ description: The resource was deleted successfully.
333
+ headers:
334
+ X-RateLimit-Limit:
335
+ $ref: "#/components/headers/X-RateLimit-Limit"
336
+ X-RateLimit-Remaining:
337
+ $ref: "#/components/headers/X-RateLimit-Remaining"
338
+ X-RateLimit-Reset:
339
+ $ref: "#/components/headers/X-RateLimit-Reset"
340
+ /dw/rest/v1/apiclients/{apiClientId}/password:
341
+ put:
342
+ operationId: changePassword
343
+ summary: Change the password for an API client.
344
+ description: Update an API client's password by providing the current and new password.
345
+ parameters:
346
+ - name: apiClientId
347
+ in: path
348
+ required: true
349
+ schema:
350
+ type: string
351
+ requestBody:
352
+ content:
353
+ application/json:
354
+ schema:
355
+ type: object
356
+ required:
357
+ - old
358
+ - new
359
+ properties:
360
+ old:
361
+ type: string
362
+ description: Current password.
363
+ new:
364
+ type: string
365
+ description: New password.
366
+ maxLength: 128
367
+ minLength: 12
368
+ required: true
369
+ responses:
370
+ "400":
371
+ description: Bad Request
372
+ "401":
373
+ description: Access token is missing or invalid.
374
+ content:
375
+ application/json:
376
+ schema:
377
+ allOf:
378
+ - $ref: "#/components/schemas/ErrorResponse"
379
+ examples:
380
+ errorAuthenticationRequired:
381
+ $ref: "#/components/examples/ErrorAuthenticationRequired"
382
+ "403":
383
+ description: Principal lacks permission to change API client password.
384
+ "429":
385
+ $ref: "#/components/responses/RateLimitedError"
386
+ "204":
387
+ description: No Content - Password changed successfully
388
+ headers:
389
+ X-RateLimit-Limit:
390
+ $ref: "#/components/headers/X-RateLimit-Limit"
391
+ X-RateLimit-Remaining:
392
+ $ref: "#/components/headers/X-RateLimit-Remaining"
393
+ X-RateLimit-Reset:
394
+ $ref: "#/components/headers/X-RateLimit-Reset"
395
+ components:
396
+ examples:
397
+ ErrorApiClientValidation:
398
+ summary: 400 Bad request
399
+ description: Response for `400 Bad request` status
400
+ value: >
401
+ {
402
+ "errors": [
403
+ {
404
+ "message": "invalid argument APIClient",
405
+ "code": "invalid argument APIClient",
406
+ "fieldErrors": [
407
+ {
408
+ "codes": [
409
+ "NotNull.APIClient.name",
410
+ "NotNull.name",
411
+ "NotNull.java.lang.String",
412
+ "NotNull"
413
+ ],
414
+ "arguments": null,
415
+ "defaultMessage": "must not be null",
416
+ "objectName": "APIClient",
417
+ "field": "name",
418
+ "rejectedValue": null,
419
+ "bindingFailure": false,
420
+ "code": "NotNull"
421
+ }
422
+ ]
423
+ }
424
+ ]
425
+ }
426
+ ErrorAuthenticationRequired:
427
+ summary: 401 Unauthorized
428
+ description: Response for `401 Unauthorized` status
429
+ value: >
430
+ {
431
+ "message": "Full authentication is required to access this resource",
432
+ "code": "InsufficientAuthenticationException",
433
+ "fieldErrors": null
434
+ }
435
+ responses:
436
+ UnauthorizedError:
437
+ description: Access token is missing or invalid
438
+ content:
439
+ application/json:
440
+ schema:
441
+ type: object
442
+ properties:
443
+ errors:
444
+ type: array
445
+ description: The list of errors.
446
+ items:
447
+ type: object
448
+ properties:
449
+ message:
450
+ type: string
451
+ description: Error message.
452
+ code:
453
+ type: string
454
+ description: Error code.
455
+ fieldErrors:
456
+ type: array
457
+ nullable: true
458
+ description: Field-specific errors.
459
+ items:
460
+ type: object
461
+ properties:
462
+ field:
463
+ type: string
464
+ description: The field that contained the erroneous value.
465
+ rejectedValue:
466
+ type: object
467
+ description: The value that was rejected.
468
+ bindingFailure:
469
+ type: boolean
470
+ description: Whether this error was caused by failed binding (e.g. type mismatch).
471
+ example:
472
+ errors:
473
+ - message: "Full authentication is required to access this resource"
474
+ code: "InsufficientAuthenticationException"
475
+ fieldErrors: null
476
+ RateLimitedError:
477
+ description: Request has been rate-limited. The X-RateLimit-* headers can be used to improve retry behavior.
478
+ headers:
479
+ X-RateLimit-Limit:
480
+ $ref: "#/components/headers/X-RateLimit-Limit"
481
+ X-RateLimit-Remaining:
482
+ $ref: "#/components/headers/X-RateLimit-Remaining"
483
+ X-RateLimit-Reset:
484
+ $ref: "#/components/headers/X-RateLimit-Reset"
485
+ securitySchemes:
486
+ AmOAuth2:
487
+ type: oauth2
488
+ description: Account Manager OAuth 2.0 bearer token authentication.
489
+ flows:
490
+ clientCredentials:
491
+ tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token
492
+ scopes: {}
493
+ authorizationCode:
494
+ authorizationUrl: https://account.demandware.com/dwsso/oauth2/authorize
495
+ tokenUrl: https://account.demandware.com/dwsso/oauth2/access_token
496
+ scopes: {}
497
+ headers:
498
+ X-RateLimit-Limit:
499
+ schema:
500
+ type: integer
501
+ description: Rate limit per minute.
502
+ X-RateLimit-Remaining:
503
+ schema:
504
+ type: integer
505
+ description: The number of requests left in the current time window.
506
+ X-RateLimit-Reset:
507
+ schema:
508
+ type: string
509
+ format: date-time
510
+ description: The UTC timestamp at which the current rate limit window resets.
511
+ schemas:
512
+ APIClientCreate:
513
+ type: object
514
+ description: Request body for creating a new API client.
515
+ required:
516
+ - name
517
+ - organizations
518
+ - password
519
+ properties:
520
+ name:
521
+ maxLength: 200
522
+ minLength: 1
523
+ type: string
524
+ description: Name of the API client.
525
+ description:
526
+ maxLength: 256
527
+ minLength: 0
528
+ type: string
529
+ description: Description of the API client.
530
+ jwtPublicKey:
531
+ maxLength: 8192
532
+ minLength: 0
533
+ nullable: true
534
+ type: string
535
+ description: Public key for JWT authentication.
536
+ redirectUrls:
537
+ type: array
538
+ description: List of allowed redirect URLs for OAuth flows.
539
+ items:
540
+ type: string
541
+ scopes:
542
+ type: array
543
+ description: OAuth scopes available to this API client.
544
+ items:
545
+ type: string
546
+ defaultScopes:
547
+ type: array
548
+ description: Default OAuth scopes granted to this API client.
549
+ items:
550
+ type: string
551
+ organizations:
552
+ uniqueItems: true
553
+ type: array
554
+ description: List of organization IDs this API client belongs to.
555
+ items:
556
+ type: string
557
+ title: Organization ID
558
+ active:
559
+ type: boolean
560
+ default: false
561
+ description: Indicates whether the API client is active. New API clients are created as inactive (false) by default.
562
+ versionControl:
563
+ type: array
564
+ description: Version control system identifiers.
565
+ items:
566
+ type: string
567
+ roles:
568
+ uniqueItems: true
569
+ type: array
570
+ description: List of IDs of the roles this API client possesses.
571
+ items:
572
+ type: string
573
+ title: Role ID
574
+ roleTenantFilter:
575
+ $ref: "#/components/schemas/RoleTenantFilter"
576
+ tokenEndpointAuthMethod:
577
+ description: Enforced for OIDC flows.
578
+ type: string
579
+ enum:
580
+ - private_key_jwt
581
+ - client_secret_post
582
+ - client_secret_basic
583
+ - none
584
+ password:
585
+ type: string
586
+ maxLength: 128
587
+ minLength: 12
588
+ APIClientUpdate:
589
+ type: object
590
+ description: Request body for updating an existing API client.
591
+ properties:
592
+ name:
593
+ maxLength: 200
594
+ minLength: 1
595
+ type: string
596
+ description: Name of the API client.
597
+ description:
598
+ maxLength: 256
599
+ minLength: 0
600
+ type: string
601
+ description: Description of the API client.
602
+ jwtPublicKey:
603
+ maxLength: 8192
604
+ minLength: 0
605
+ nullable: true
606
+ type: string
607
+ description: Public key for JWT authentication.
608
+ redirectUrls:
609
+ type: array
610
+ description: List of allowed redirect URLs for OAuth flows.
611
+ items:
612
+ type: string
613
+ scopes:
614
+ type: array
615
+ description: OAuth scopes available to this API client.
616
+ items:
617
+ type: string
618
+ defaultScopes:
619
+ type: array
620
+ description: Default OAuth scopes granted to this API client.
621
+ items:
622
+ type: string
623
+ organizations:
624
+ uniqueItems: true
625
+ type: array
626
+ description: List of organization IDs this API client belongs to.
627
+ items:
628
+ type: string
629
+ title: Organization ID
630
+ active:
631
+ type: boolean
632
+ default: false
633
+ description: Indicates whether the API client is active. New API clients are created as inactive (false) by default.
634
+ versionControl:
635
+ type: array
636
+ description: Version control system identifiers.
637
+ items:
638
+ type: string
639
+ roles:
640
+ uniqueItems: true
641
+ type: array
642
+ description: List of IDs of the roles this API client possesses.
643
+ items:
644
+ type: string
645
+ title: Role ID
646
+ roleTenantFilter:
647
+ $ref: "#/components/schemas/RoleTenantFilter"
648
+ tokenEndpointAuthMethod:
649
+ description: Enforced for OIDC flows.
650
+ type: string
651
+ enum:
652
+ - private_key_jwt
653
+ - client_secret_post
654
+ - client_secret_basic
655
+ - none
656
+ APIClientRead:
657
+ type: object
658
+ description: API client object returned in read operations.
659
+ properties:
660
+ passwordModificationTimestamp:
661
+ type: integer
662
+ readOnly: true
663
+ nullable: true
664
+ format: int64
665
+ description: Timestamp of the last password modification.
666
+ name:
667
+ maxLength: 200
668
+ minLength: 1
669
+ type: string
670
+ description: Name of the API client.
671
+ description:
672
+ maxLength: 256
673
+ minLength: 0
674
+ type: string
675
+ description: Description of the API client.
676
+ jwtPublicKey:
677
+ maxLength: 8192
678
+ minLength: 0
679
+ nullable: true
680
+ type: string
681
+ description: Public key for JWT authentication.
682
+ redirectUrls:
683
+ type: array
684
+ description: List of allowed redirect URLs for OAuth flows.
685
+ items:
686
+ type: string
687
+ scopes:
688
+ type: array
689
+ description: OAuth scopes available to this API client.
690
+ items:
691
+ type: string
692
+ defaultScopes:
693
+ type: array
694
+ description: Default OAuth scopes granted to this API client.
695
+ items:
696
+ type: string
697
+ organizations:
698
+ uniqueItems: true
699
+ type: array
700
+ description: List of organization IDs this API client belongs to, or organization objects in case the expand parameter was used.
701
+ items:
702
+ oneOf:
703
+ - type: string
704
+ title: Organization ID
705
+ - $ref: "#/components/schemas/Organization"
706
+ active:
707
+ type: boolean
708
+ default: false
709
+ description: Indicates whether the API client is active. New API clients are created as inactive (false) by default.
710
+ versionControl:
711
+ type: array
712
+ description: Version control system identifiers.
713
+ items:
714
+ type: string
715
+ roles:
716
+ uniqueItems: true
717
+ type: array
718
+ description: List of role IDs assigned to this API client, or role objects in case the expand parameter was used.
719
+ items:
720
+ oneOf:
721
+ - type: string
722
+ title: Role ID
723
+ - $ref: "#/components/schemas/Role"
724
+ roleTenantFilter:
725
+ $ref: "#/components/schemas/RoleTenantFilter"
726
+ tokenEndpointAuthMethod:
727
+ description: Enforced for OIDC flows.
728
+ type: string
729
+ enum:
730
+ - private_key_jwt
731
+ - client_secret_post
732
+ - client_secret_basic
733
+ - none
734
+ lastAuthenticatedDate:
735
+ type: string
736
+ format: date
737
+ readOnly: true
738
+ nullable: true
739
+ description: Date of the last successful authentication.
740
+ disabledTimestamp:
741
+ type: string
742
+ format: date-time
743
+ readOnly: true
744
+ nullable: true
745
+ description: Timestamp when the API client was disabled.
746
+ createdAt:
747
+ type: string
748
+ format: date-time
749
+ readOnly: true
750
+ description: Timestamp when the API client was created.
751
+ roleTenantFilterMap:
752
+ readOnly: true
753
+ type: object
754
+ description: Map of role tenant filter assignments.
755
+ id:
756
+ type: string
757
+ readOnly: true
758
+ description: Unique identifier of the API client.
759
+ Pageable:
760
+ type: object
761
+ description: Pagination parameters for list operations.
762
+ properties:
763
+ page:
764
+ minimum: 0
765
+ type: integer
766
+ format: int32
767
+ description: Zero-based page index.
768
+ size:
769
+ minimum: 1
770
+ default: 20
771
+ maximum: 4000
772
+ type: integer
773
+ format: int32
774
+ description: Number of items to return per page.
775
+ APIClientCollection:
776
+ type: object
777
+ description: A paginated collection of API clients.
778
+ properties:
779
+ content:
780
+ type: array
781
+ items:
782
+ $ref: "#/components/schemas/APIClientRead"
783
+ Role:
784
+ type: object
785
+ description: A role defines permissions and access levels that can be assigned to Users and API Clients.
786
+ properties:
787
+ description:
788
+ type: string
789
+ description: Description of the role.
790
+ roleEnumName:
791
+ maxLength: 50
792
+ minLength: 0
793
+ type: string
794
+ description: Enumeration name of the role.
795
+ permissions:
796
+ uniqueItems: true
797
+ type: array
798
+ description: List of permissions granted by this role.
799
+ items:
800
+ type: string
801
+ scope:
802
+ type: string
803
+ description: Scope level of the role (global or instance-specific).
804
+ enum:
805
+ - GLOBAL
806
+ - INSTANCE
807
+ targetType:
808
+ type: string
809
+ nullable: true
810
+ description: Type of entity this role can be assigned to.
811
+ enum:
812
+ - ApiClient
813
+ - User
814
+ twoFAEnabled:
815
+ type: boolean
816
+ description: Indicates if two-factor authentication is required for this role.
817
+ id:
818
+ type: string
819
+ description: Unique identifier of the role.
820
+ Organization:
821
+ type: object
822
+ description: An organization represents a customer, partner, or internal entity within the Account Manager system.
823
+ properties:
824
+ name:
825
+ type: string
826
+ description: Name of the organization.
827
+ contactUsers:
828
+ type: array
829
+ description: List of contact user IDs.
830
+ items:
831
+ type: string
832
+ realms:
833
+ type: array
834
+ description: List of realm identifiers.
835
+ items:
836
+ type: string
837
+ passwordMinEntropy:
838
+ type: integer
839
+ description: Minimum password entropy requirement.
840
+ passwordHistorySize:
841
+ type: integer
842
+ description: Number of previous passwords to remember.
843
+ passwordDaysExpiration:
844
+ type: integer
845
+ description: Number of days until password expires.
846
+ sfAccountIds:
847
+ type: array
848
+ description: Salesforce account identifiers.
849
+ items:
850
+ type: string
851
+ type:
852
+ type: string
853
+ description: Type of organization.
854
+ enum:
855
+ - CUSTOMER
856
+ - PARTNER
857
+ - INTERNAL
858
+ twoFARoles:
859
+ type: array
860
+ description: List of role IDs that require two-factor authentication.
861
+ items:
862
+ type: string
863
+ twoFAEnabled:
864
+ type: boolean
865
+ description: Indicates if two-factor authentication is enabled for the organization.
866
+ sfMyDomain:
867
+ type: string
868
+ nullable: true
869
+ description: Salesforce My Domain name.
870
+ sfMyDomainSuffix:
871
+ type: string
872
+ description: Salesforce My Domain suffix.
873
+ sfMyDomainVerified:
874
+ type: boolean
875
+ description: Indicates if Salesforce My Domain is verified.
876
+ sfMyDomainVerificationTimestamp:
877
+ type: string
878
+ format: date-time
879
+ nullable: true
880
+ description: Timestamp when Salesforce My Domain was verified.
881
+ sfIdentityFederation:
882
+ type: string
883
+ description: Salesforce identity federation status.
884
+ enum:
885
+ - DISABLED
886
+ - ENABLED
887
+ justInTimeUserProvisioningEnabled:
888
+ type: boolean
889
+ description: Indicates if just-in-time user provisioning is enabled.
890
+ allowedVerifierTypes:
891
+ type: array
892
+ description: List of allowed verifier types for authentication.
893
+ items:
894
+ type: string
895
+ disableInactiveUsers:
896
+ type: boolean
897
+ description: Indicates if inactive users should be automatically disabled.
898
+ inactiveUserDays:
899
+ type: integer
900
+ description: Number of days before a user is considered inactive.
901
+ id:
902
+ type: string
903
+ readOnly: true
904
+ description: Unique identifier of the organization.
905
+ ErrorResponse:
906
+ type: object
907
+ description: Standard error response format returned when API requests fail.
908
+ properties:
909
+ errors:
910
+ type: array
911
+ description: The list of errors
912
+ items:
913
+ type: object
914
+ properties:
915
+ message:
916
+ type: string
917
+ description: Error message
918
+ code:
919
+ type: string
920
+ description: Error code
921
+ fieldErrors:
922
+ type: array
923
+ nullable: true
924
+ description: Field-specific errors
925
+ items:
926
+ type: object
927
+ properties:
928
+ codes:
929
+ type: array
930
+ items:
931
+ type: string
932
+ description: List of error codes.
933
+ arguments:
934
+ nullable: true
935
+ description: Arguments for the error message.
936
+ defaultMessage:
937
+ type: string
938
+ description: Default error message.
939
+ objectName:
940
+ type: string
941
+ description: Name of the object that failed validation.
942
+ field:
943
+ type: string
944
+ description: The field that contained the erroneous value
945
+ rejectedValue:
946
+ nullable: true
947
+ description: The value that was rejected
948
+ bindingFailure:
949
+ type: boolean
950
+ description: Whether this error was caused by failed binding (e.g. type mismatch)
951
+ code:
952
+ type: string
953
+ description: Error code.
954
+ RoleTenantFilter:
955
+ type: string
956
+ pattern: '(\w+:\w{4,}_\w{3,}(,\w{4,}_\w{3,})*(;)?)*'
957
+ description: |
958
+ Filter for role tenant assignments. Format: ROLE_ENUM_NAME:instance_id,instance_id;ROLE_ENUM_NAME:instance_id
959
+ - Role enum names are separated by semicolons (;)
960
+ - Each role enum name is followed by a colon (:) and its tenant filters
961
+ - Tenant filters are comma-separated (,)
962
+ - Each tenant filter consists of a 4-character realm and 3-character instance_id separated by underscore (_)
963
+ - A special case is an instance_id ending in _sbx, as it gives access to all sandboxes of a realm
964
+
965
+ Example: CC_USER:aabc_prd,aabc_t12;LOGCENTER_USER:aamn_sbx