@epilot/sdk 2.4.4-alpha.0 → 2.5.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 (381) hide show
  1. package/definitions/app.json +137 -58
  2. package/definitions/customer-portal-runtime.json +1 -1
  3. package/definitions/customer-portal.json +496 -24
  4. package/definitions/entity.json +185 -8
  5. package/definitions/webhooks-runtime.json +1 -1
  6. package/definitions/webhooks.json +134 -4
  7. package/dist/access-token.d-CnmUTOlq.d.cts +552 -0
  8. package/dist/access-token.d-CnmUTOlq.d.ts +552 -0
  9. package/dist/address-suggestions.d-_YwTOR-9.d.cts +339 -0
  10. package/dist/address-suggestions.d-_YwTOR-9.d.ts +339 -0
  11. package/dist/address.d-CwAPOVxa.d.cts +437 -0
  12. package/dist/address.d-CwAPOVxa.d.ts +437 -0
  13. package/dist/ai-agents.d-OkXfr2bz.d.cts +1339 -0
  14. package/dist/ai-agents.d-OkXfr2bz.d.ts +1339 -0
  15. package/dist/apis/access-token.cjs +6 -6
  16. package/dist/apis/access-token.d.cts +18 -0
  17. package/dist/apis/access-token.d.ts +12 -9
  18. package/dist/apis/access-token.js +1 -1
  19. package/dist/apis/address-suggestions.cjs +6 -6
  20. package/dist/apis/address-suggestions.d.cts +18 -0
  21. package/dist/apis/address-suggestions.d.ts +12 -9
  22. package/dist/apis/address-suggestions.js +1 -1
  23. package/dist/apis/address.cjs +6 -6
  24. package/dist/apis/address.d.cts +18 -0
  25. package/dist/apis/address.d.ts +12 -9
  26. package/dist/apis/address.js +1 -1
  27. package/dist/apis/ai-agents.cjs +6 -6
  28. package/dist/apis/ai-agents.d.cts +18 -0
  29. package/dist/apis/ai-agents.d.ts +12 -9
  30. package/dist/apis/ai-agents.js +1 -1
  31. package/dist/apis/app.cjs +8 -8
  32. package/dist/apis/app.d.cts +18 -0
  33. package/dist/apis/app.d.ts +12 -9
  34. package/dist/apis/app.js +2 -2
  35. package/dist/apis/audit-logs.cjs +6 -6
  36. package/dist/apis/audit-logs.d.cts +18 -0
  37. package/dist/apis/audit-logs.d.ts +12 -9
  38. package/dist/apis/audit-logs.js +1 -1
  39. package/dist/apis/automation.cjs +6 -6
  40. package/dist/apis/automation.d.cts +18 -0
  41. package/dist/apis/automation.d.ts +12 -9
  42. package/dist/apis/automation.js +1 -1
  43. package/dist/apis/billing.cjs +6 -6
  44. package/dist/apis/billing.d.cts +18 -0
  45. package/dist/apis/billing.d.ts +12 -9
  46. package/dist/apis/billing.js +1 -1
  47. package/dist/apis/blueprint-manifest.cjs +6 -6
  48. package/dist/apis/blueprint-manifest.d.cts +18 -0
  49. package/dist/apis/blueprint-manifest.d.ts +12 -9
  50. package/dist/apis/blueprint-manifest.js +1 -1
  51. package/dist/apis/calendar.cjs +6 -6
  52. package/dist/apis/calendar.d.cts +18 -0
  53. package/dist/apis/calendar.d.ts +12 -9
  54. package/dist/apis/calendar.js +1 -1
  55. package/dist/apis/configuration-hub.cjs +6 -6
  56. package/dist/apis/configuration-hub.d.cts +18 -0
  57. package/dist/apis/configuration-hub.d.ts +12 -9
  58. package/dist/apis/configuration-hub.js +1 -1
  59. package/dist/apis/consent.cjs +6 -6
  60. package/dist/apis/consent.d.cts +18 -0
  61. package/dist/apis/consent.d.ts +12 -9
  62. package/dist/apis/consent.js +1 -1
  63. package/dist/apis/customer-portal.cjs +8 -8
  64. package/dist/apis/customer-portal.d.cts +18 -0
  65. package/dist/apis/customer-portal.d.ts +12 -9
  66. package/dist/apis/customer-portal.js +2 -2
  67. package/dist/apis/dashboard.cjs +6 -6
  68. package/dist/apis/dashboard.d.cts +18 -0
  69. package/dist/apis/dashboard.d.ts +12 -9
  70. package/dist/apis/dashboard.js +1 -1
  71. package/dist/apis/data-governance.cjs +6 -6
  72. package/dist/apis/data-governance.d.cts +18 -0
  73. package/dist/apis/data-governance.d.ts +12 -9
  74. package/dist/apis/data-governance.js +1 -1
  75. package/dist/apis/deduplication.cjs +6 -6
  76. package/dist/apis/deduplication.d.cts +18 -0
  77. package/dist/apis/deduplication.d.ts +12 -9
  78. package/dist/apis/deduplication.js +1 -1
  79. package/dist/apis/design.cjs +6 -6
  80. package/dist/apis/design.d.cts +18 -0
  81. package/dist/apis/design.d.ts +12 -9
  82. package/dist/apis/design.js +1 -1
  83. package/dist/apis/document.cjs +6 -6
  84. package/dist/apis/document.d.cts +18 -0
  85. package/dist/apis/document.d.ts +12 -9
  86. package/dist/apis/document.js +1 -1
  87. package/dist/apis/email-settings.cjs +6 -6
  88. package/dist/apis/email-settings.d.cts +18 -0
  89. package/dist/apis/email-settings.d.ts +12 -9
  90. package/dist/apis/email-settings.js +1 -1
  91. package/dist/apis/email-template.cjs +6 -6
  92. package/dist/apis/email-template.d.cts +18 -0
  93. package/dist/apis/email-template.d.ts +12 -9
  94. package/dist/apis/email-template.js +1 -1
  95. package/dist/apis/entity-mapping.cjs +6 -6
  96. package/dist/apis/entity-mapping.d.cts +18 -0
  97. package/dist/apis/entity-mapping.d.ts +12 -9
  98. package/dist/apis/entity-mapping.js +1 -1
  99. package/dist/apis/entity.cjs +6 -6
  100. package/dist/apis/entity.d.cts +18 -0
  101. package/dist/apis/entity.d.ts +12 -9
  102. package/dist/apis/entity.js +1 -1
  103. package/dist/apis/environments.cjs +6 -6
  104. package/dist/apis/environments.d.cts +18 -0
  105. package/dist/apis/environments.d.ts +12 -9
  106. package/dist/apis/environments.js +1 -1
  107. package/dist/apis/event-catalog.cjs +6 -6
  108. package/dist/apis/event-catalog.d.cts +18 -0
  109. package/dist/apis/event-catalog.d.ts +12 -9
  110. package/dist/apis/event-catalog.js +1 -1
  111. package/dist/apis/file.cjs +6 -6
  112. package/dist/apis/file.d.cts +18 -0
  113. package/dist/apis/file.d.ts +12 -9
  114. package/dist/apis/file.js +1 -1
  115. package/dist/apis/iban.cjs +6 -6
  116. package/dist/apis/iban.d.cts +18 -0
  117. package/dist/apis/iban.d.ts +12 -9
  118. package/dist/apis/iban.js +1 -1
  119. package/dist/apis/integration-toolkit.cjs +6 -6
  120. package/dist/apis/integration-toolkit.d.cts +18 -0
  121. package/dist/apis/integration-toolkit.d.ts +12 -9
  122. package/dist/apis/integration-toolkit.js +1 -1
  123. package/dist/apis/journey.cjs +6 -6
  124. package/dist/apis/journey.d.cts +18 -0
  125. package/dist/apis/journey.d.ts +12 -9
  126. package/dist/apis/journey.js +1 -1
  127. package/dist/apis/kanban.cjs +6 -6
  128. package/dist/apis/kanban.d.cts +18 -0
  129. package/dist/apis/kanban.d.ts +12 -9
  130. package/dist/apis/kanban.js +1 -1
  131. package/dist/apis/message.cjs +6 -6
  132. package/dist/apis/message.d.cts +18 -0
  133. package/dist/apis/message.d.ts +12 -9
  134. package/dist/apis/message.js +1 -1
  135. package/dist/apis/metering.cjs +6 -6
  136. package/dist/apis/metering.d.cts +18 -0
  137. package/dist/apis/metering.d.ts +12 -9
  138. package/dist/apis/metering.js +1 -1
  139. package/dist/apis/notes.cjs +6 -6
  140. package/dist/apis/notes.d.cts +18 -0
  141. package/dist/apis/notes.d.ts +12 -9
  142. package/dist/apis/notes.js +1 -1
  143. package/dist/apis/notification.cjs +6 -6
  144. package/dist/apis/notification.d.cts +18 -0
  145. package/dist/apis/notification.d.ts +12 -9
  146. package/dist/apis/notification.js +1 -1
  147. package/dist/apis/organization.cjs +6 -6
  148. package/dist/apis/organization.d.cts +18 -0
  149. package/dist/apis/organization.d.ts +12 -9
  150. package/dist/apis/organization.js +1 -1
  151. package/dist/apis/partner-directory.cjs +6 -6
  152. package/dist/apis/partner-directory.d.cts +18 -0
  153. package/dist/apis/partner-directory.d.ts +12 -9
  154. package/dist/apis/partner-directory.js +1 -1
  155. package/dist/apis/permissions.cjs +6 -6
  156. package/dist/apis/permissions.d.cts +18 -0
  157. package/dist/apis/permissions.d.ts +12 -9
  158. package/dist/apis/permissions.js +1 -1
  159. package/dist/apis/pricing-tier.cjs +6 -6
  160. package/dist/apis/pricing-tier.d.cts +18 -0
  161. package/dist/apis/pricing-tier.d.ts +12 -9
  162. package/dist/apis/pricing-tier.js +1 -1
  163. package/dist/apis/pricing.cjs +6 -6
  164. package/dist/apis/pricing.d.cts +18 -0
  165. package/dist/apis/pricing.d.ts +12 -9
  166. package/dist/apis/pricing.js +1 -1
  167. package/dist/apis/purpose.cjs +6 -6
  168. package/dist/apis/purpose.d.cts +18 -0
  169. package/dist/apis/purpose.d.ts +12 -9
  170. package/dist/apis/purpose.js +1 -1
  171. package/dist/apis/query.cjs +6 -6
  172. package/dist/apis/query.d.cts +18 -0
  173. package/dist/apis/query.d.ts +12 -9
  174. package/dist/apis/query.js +1 -1
  175. package/dist/apis/sandbox.cjs +6 -6
  176. package/dist/apis/sandbox.d.cts +18 -0
  177. package/dist/apis/sandbox.d.ts +12 -9
  178. package/dist/apis/sandbox.js +1 -1
  179. package/dist/apis/sharing.cjs +6 -6
  180. package/dist/apis/sharing.d.cts +18 -0
  181. package/dist/apis/sharing.d.ts +12 -9
  182. package/dist/apis/sharing.js +1 -1
  183. package/dist/apis/submission.cjs +6 -6
  184. package/dist/apis/submission.d.cts +18 -0
  185. package/dist/apis/submission.d.ts +12 -9
  186. package/dist/apis/submission.js +1 -1
  187. package/dist/apis/target.cjs +6 -6
  188. package/dist/apis/target.d.cts +597 -0
  189. package/dist/apis/target.d.ts +591 -9
  190. package/dist/apis/target.js +1 -1
  191. package/dist/apis/targeting.cjs +6 -6
  192. package/dist/apis/targeting.d.cts +18 -0
  193. package/dist/apis/targeting.d.ts +12 -9
  194. package/dist/apis/targeting.js +1 -1
  195. package/dist/apis/template-variables.cjs +6 -6
  196. package/dist/apis/template-variables.d.cts +18 -0
  197. package/dist/apis/template-variables.d.ts +12 -9
  198. package/dist/apis/template-variables.js +1 -1
  199. package/dist/apis/user.cjs +6 -6
  200. package/dist/apis/user.d.cts +18 -0
  201. package/dist/apis/user.d.ts +12 -9
  202. package/dist/apis/user.js +1 -1
  203. package/dist/apis/validation-rules.cjs +6 -6
  204. package/dist/apis/validation-rules.d.cts +18 -0
  205. package/dist/apis/validation-rules.d.ts +12 -9
  206. package/dist/apis/validation-rules.js +1 -1
  207. package/dist/apis/webhooks.cjs +8 -8
  208. package/dist/apis/webhooks.d.cts +18 -0
  209. package/dist/apis/webhooks.d.ts +12 -9
  210. package/dist/apis/webhooks.js +2 -2
  211. package/dist/apis/workflow-definition.cjs +6 -6
  212. package/dist/apis/workflow-definition.d.cts +18 -0
  213. package/dist/apis/workflow-definition.d.ts +12 -9
  214. package/dist/apis/workflow-definition.js +1 -1
  215. package/dist/apis/workflow.cjs +6 -6
  216. package/dist/apis/workflow.d.cts +18 -0
  217. package/dist/apis/workflow.d.ts +12 -9
  218. package/dist/apis/workflow.js +1 -1
  219. package/dist/app-34OBBTA4.js +7 -0
  220. package/dist/app-SSF545U7.cjs +7 -0
  221. package/dist/app-runtime-AFNM67YN.cjs +5 -0
  222. package/dist/{app-runtime-U7RGV7KT.js → app-runtime-DBUXZL6E.js} +1 -1
  223. package/dist/app.d--5n0FQQ4.d.cts +3757 -0
  224. package/dist/app.d--5n0FQQ4.d.ts +3757 -0
  225. package/dist/audit-logs.d-BRToFqeX.d.cts +287 -0
  226. package/dist/audit-logs.d-BRToFqeX.d.ts +287 -0
  227. package/dist/automation.d-Du6-uiz5.d.cts +5283 -0
  228. package/dist/automation.d-Du6-uiz5.d.ts +5283 -0
  229. package/dist/billing.d-Bs8Ku9qE.d.cts +993 -0
  230. package/dist/billing.d-Bs8Ku9qE.d.ts +993 -0
  231. package/dist/bin/cli.js +1 -1
  232. package/dist/blueprint-manifest.d-BPyzoR0X.d.cts +4343 -0
  233. package/dist/blueprint-manifest.d-BPyzoR0X.d.ts +4343 -0
  234. package/dist/calendar.d-BEjLDagH.d.cts +353 -0
  235. package/dist/calendar.d-BEjLDagH.d.ts +353 -0
  236. package/dist/chunk-5OBMZHRL.cjs +14 -0
  237. package/dist/{chunk-CD4OX2U6.cjs → chunk-C7GDYBXX.cjs} +9 -9
  238. package/dist/{chunk-L66IX6GX.cjs → chunk-KMVJYNLB.cjs} +1 -1
  239. package/dist/chunk-KYCVV2XE.cjs +14 -0
  240. package/dist/chunk-RGO3LTAM.js +14 -0
  241. package/dist/{chunk-TSV242UN.js → chunk-WRD2XFHY.js} +9 -9
  242. package/dist/{chunk-LLZYRINH.js → chunk-Z4H2FZ2K.js} +1 -1
  243. package/dist/chunk-Z6HGUGXK.js +14 -0
  244. package/dist/configuration-hub.d-Cqaq2F-W.d.cts +478 -0
  245. package/dist/configuration-hub.d-Cqaq2F-W.d.ts +478 -0
  246. package/dist/consent.d-C2PROHhX.d.cts +265 -0
  247. package/dist/consent.d-C2PROHhX.d.ts +265 -0
  248. package/dist/customer-portal-5I7ZGQDU.cjs +7 -0
  249. package/dist/customer-portal-YL2YMPZL.js +7 -0
  250. package/dist/{customer-portal-runtime-PSM55KGU.js → customer-portal-runtime-N4NWQ67M.js} +1 -1
  251. package/dist/{customer-portal-runtime-DULJLR7F.cjs → customer-portal-runtime-OEXTSMSE.cjs} +2 -2
  252. package/dist/customer-portal.d-ChSEioI5.d.cts +17113 -0
  253. package/dist/customer-portal.d-ChSEioI5.d.ts +17113 -0
  254. package/dist/dashboard.d-CsGcA74I.d.cts +440 -0
  255. package/dist/dashboard.d-CsGcA74I.d.ts +440 -0
  256. package/dist/data-governance.d-BbZ466j5.d.cts +1178 -0
  257. package/dist/data-governance.d-BbZ466j5.d.ts +1178 -0
  258. package/dist/deduplication.d-D5GYddVu.d.cts +218 -0
  259. package/dist/deduplication.d-D5GYddVu.d.ts +218 -0
  260. package/dist/design.d-BRre8iLg.d.cts +2346 -0
  261. package/dist/design.d-BRre8iLg.d.ts +2346 -0
  262. package/dist/document.d-DN37pjdx.d.cts +648 -0
  263. package/dist/document.d-DN37pjdx.d.ts +648 -0
  264. package/dist/email-settings.d-B7Q_xT25.d.cts +2417 -0
  265. package/dist/email-settings.d-B7Q_xT25.d.ts +2417 -0
  266. package/dist/email-template.d-gtQkdaXM.d.cts +1188 -0
  267. package/dist/email-template.d-gtQkdaXM.d.ts +1188 -0
  268. package/dist/entity-SS36LQO6.cjs +7 -0
  269. package/dist/entity-Z4YWKDVG.js +7 -0
  270. package/dist/entity-mapping.d-DKSW3sfy.d.cts +1092 -0
  271. package/dist/entity-mapping.d-DKSW3sfy.d.ts +1092 -0
  272. package/dist/entity.d-fospShiN.d.cts +18544 -0
  273. package/dist/entity.d-fospShiN.d.ts +18544 -0
  274. package/dist/environments.d-BvqvN-PD.d.cts +382 -0
  275. package/dist/environments.d-BvqvN-PD.d.ts +382 -0
  276. package/dist/event-catalog.d-ENw6HO-w.d.cts +1511 -0
  277. package/dist/event-catalog.d-ENw6HO-w.d.ts +1511 -0
  278. package/dist/file.d-DcTJxjp7.d.cts +2992 -0
  279. package/dist/file.d-DcTJxjp7.d.ts +2992 -0
  280. package/dist/iban.d-BwdiGbxi.d.cts +70 -0
  281. package/dist/iban.d-BwdiGbxi.d.ts +70 -0
  282. package/dist/index.cjs +14 -14
  283. package/dist/index.d.cts +182 -0
  284. package/dist/index.d.ts +182 -12
  285. package/dist/index.js +4 -4
  286. package/dist/integration-toolkit.d-Ry-KC9ow.d.cts +5796 -0
  287. package/dist/integration-toolkit.d-Ry-KC9ow.d.ts +5796 -0
  288. package/dist/journey.d-ClXO0xK8.d.cts +1931 -0
  289. package/dist/journey.d-ClXO0xK8.d.ts +1931 -0
  290. package/dist/{js-yaml-UPZKYVRY.js → js-yaml-DLCVPJ7G.js} +17 -15
  291. package/dist/kanban.d-BHnSRCYW.d.cts +760 -0
  292. package/dist/kanban.d-BHnSRCYW.d.ts +760 -0
  293. package/dist/message.d-B5UuSqgw.d.cts +3811 -0
  294. package/dist/message.d-B5UuSqgw.d.ts +3811 -0
  295. package/dist/metering.d-DvtPv7wk.d.cts +1841 -0
  296. package/dist/metering.d-DvtPv7wk.d.ts +1841 -0
  297. package/dist/notes-K2IIFCX3.cjs +7 -0
  298. package/dist/notes-Q7JGS7O3.js +7 -0
  299. package/dist/notes.d-BcV_m5fe.d.cts +1068 -0
  300. package/dist/notes.d-BcV_m5fe.d.ts +1068 -0
  301. package/dist/notification.d-BfBL3lga.d.cts +1147 -0
  302. package/dist/notification.d-BfBL3lga.d.ts +1147 -0
  303. package/dist/organization.d-DqwnNxMg.d.cts +1271 -0
  304. package/dist/organization.d-DqwnNxMg.d.ts +1271 -0
  305. package/dist/partner-directory.d-BCIjHoGs.d.cts +2337 -0
  306. package/dist/partner-directory.d-BCIjHoGs.d.ts +2337 -0
  307. package/dist/permissions.d-l6AT8SYP.d.cts +1279 -0
  308. package/dist/permissions.d-l6AT8SYP.d.ts +1279 -0
  309. package/dist/{pricing-XAET4G7T.cjs → pricing-FODHQFCB.cjs} +1 -1
  310. package/dist/{pricing-G67CH3XH.js → pricing-XRIDVZFC.js} +1 -1
  311. package/dist/pricing-tier.d-Cg0jl6n_.d.cts +81 -0
  312. package/dist/pricing-tier.d-Cg0jl6n_.d.ts +81 -0
  313. package/dist/pricing.d-BHpMU4KU.d.cts +12255 -0
  314. package/dist/pricing.d-BHpMU4KU.d.ts +12255 -0
  315. package/dist/purpose.d-CbIYfTua.d.cts +372 -0
  316. package/dist/purpose.d-CbIYfTua.d.ts +372 -0
  317. package/dist/query.d-Cmp78IhZ.d.cts +2375 -0
  318. package/dist/query.d-Cmp78IhZ.d.ts +2375 -0
  319. package/dist/sandbox.d-BdbOFzDu.d.cts +465 -0
  320. package/dist/sandbox.d-BdbOFzDu.d.ts +465 -0
  321. package/dist/sharing.d-sOXq-gtz.d.cts +571 -0
  322. package/dist/sharing.d-sOXq-gtz.d.ts +571 -0
  323. package/dist/submission.d-BamwfhXw.d.cts +469 -0
  324. package/dist/submission.d-BamwfhXw.d.ts +469 -0
  325. package/dist/targeting.d-BNmcVsNS.d.cts +2057 -0
  326. package/dist/targeting.d-BNmcVsNS.d.ts +2057 -0
  327. package/dist/template-variables.d-Ble9TSBa.d.cts +1320 -0
  328. package/dist/template-variables.d-Ble9TSBa.d.ts +1320 -0
  329. package/dist/types-ChU9Acbv.d.cts +37 -0
  330. package/dist/types-ChU9Acbv.d.ts +37 -0
  331. package/dist/user.d-D18fe97W.d.cts +2270 -0
  332. package/dist/user.d-D18fe97W.d.ts +2270 -0
  333. package/dist/validation-rules.d-Db5c5zTf.d.cts +807 -0
  334. package/dist/validation-rules.d-Db5c5zTf.d.ts +807 -0
  335. package/dist/webhooks-NZ3TM3AY.cjs +7 -0
  336. package/dist/webhooks-XLBUXXCS.js +7 -0
  337. package/dist/{webhooks-runtime-EBM4M3SU.cjs → webhooks-runtime-QVAFNBDW.cjs} +2 -2
  338. package/dist/{webhooks-runtime-XCQYIGQK.js → webhooks-runtime-UYTPQQVG.js} +1 -1
  339. package/dist/webhooks.d-D79qib9f.d.cts +1366 -0
  340. package/dist/webhooks.d-D79qib9f.d.ts +1366 -0
  341. package/dist/workflow-definition.d-DOeb0KVV.d.cts +1922 -0
  342. package/dist/workflow-definition.d-DOeb0KVV.d.ts +1922 -0
  343. package/dist/workflow.d-CMSKt8oN.d.cts +3151 -0
  344. package/dist/workflow.d-CMSKt8oN.d.ts +3151 -0
  345. package/docs/app.md +244 -9
  346. package/docs/customer-portal.md +340 -113
  347. package/docs/entity.md +65 -0
  348. package/docs/notes.md +19 -12
  349. package/docs/pricing.md +3 -1
  350. package/docs/webhooks.md +49 -0
  351. package/package.json +1 -1
  352. package/dist/apis/_registry.d.ts +0 -8
  353. package/dist/app-5KSVSKDU.js +0 -7
  354. package/dist/app-PL3IOROO.cjs +0 -7
  355. package/dist/app-runtime-SSNHSBR7.cjs +0 -5
  356. package/dist/authorize.d.ts +0 -3
  357. package/dist/bin/cli.d.ts +0 -1
  358. package/dist/chunk-2MMSXUOL.cjs +0 -14
  359. package/dist/chunk-A7AAVJGM.js +0 -14
  360. package/dist/chunk-GVNT76UU.js +0 -14
  361. package/dist/chunk-HHMXS5NC.cjs +0 -14
  362. package/dist/client-factory.d.ts +0 -9
  363. package/dist/client-map.d.ts +0 -102
  364. package/dist/compact.d.ts +0 -22
  365. package/dist/customer-portal-5LMHNBMD.cjs +0 -7
  366. package/dist/customer-portal-RZACUF4N.js +0 -7
  367. package/dist/entity-H6ESUH3Y.js +0 -7
  368. package/dist/entity-ZVDKWQSF.cjs +0 -7
  369. package/dist/help.d.ts +0 -12
  370. package/dist/large-response.d.ts +0 -9
  371. package/dist/notes-3AO5GXIT.js +0 -7
  372. package/dist/notes-MPWOQC5J.cjs +0 -7
  373. package/dist/openapi.d.ts +0 -12
  374. package/dist/overrides.d.ts +0 -9
  375. package/dist/proxy.d.ts +0 -14
  376. package/dist/registry.d.ts +0 -19
  377. package/dist/retry.d.ts +0 -11
  378. package/dist/sdk.d.ts +0 -29
  379. package/dist/types.d.ts +0 -53
  380. package/dist/webhooks-H3RT33BF.cjs +0 -7
  381. package/dist/webhooks-RTOU3MS5.js +0 -7
@@ -0,0 +1,3757 @@
1
+ import { OpenAPIClient, Parameters, AxiosRequestConfig, OperationResponse, UnknownParamsObject } from 'openapi-client-axios';
2
+
3
+ /* Auto-copied from app-client */
4
+
5
+
6
+ declare namespace Components {
7
+ namespace RequestBodies {
8
+ export interface CreateBundlePresignedRequest {
9
+ /**
10
+ * Version of the app
11
+ */
12
+ version: string;
13
+ /**
14
+ * ID of the journey block component
15
+ */
16
+ component_id?: string;
17
+ }
18
+ export interface CreateConfigRequest {
19
+ /**
20
+ * Name of the app
21
+ */
22
+ name: string;
23
+ description: Schemas.TranslatedString;
24
+ category?: string;
25
+ /**
26
+ * S3 key of the logo file
27
+ */
28
+ logo_url_key?: string;
29
+ }
30
+ export interface CreateLogoPresignedRequest {
31
+ /**
32
+ * Original filename of the logo
33
+ * example:
34
+ * company-logo.png
35
+ */
36
+ filename: string;
37
+ /**
38
+ * MIME type of the logo file
39
+ * example:
40
+ * image/png
41
+ */
42
+ mime_type: "image/png" | "image/jpeg" | "image/jpg";
43
+ }
44
+ export interface CreateReviewRequest {
45
+ /**
46
+ * Email of the technical contact
47
+ */
48
+ technical_contact: string;
49
+ /**
50
+ * Email of the marketing contact
51
+ */
52
+ marketing_contact: string;
53
+ /**
54
+ * URL to a demo of the app
55
+ */
56
+ demo_url?: string;
57
+ }
58
+ export interface InstallRequest {
59
+ /**
60
+ * Version of the app to update to
61
+ */
62
+ version?: string;
63
+ /**
64
+ * Configuration values for the app components
65
+ */
66
+ option_values?: Schemas.OptionsRef[];
67
+ /**
68
+ * Manifest ID used to create/update the entity
69
+ */
70
+ _manifest?: string /* uuid */[];
71
+ }
72
+ export interface PatchConfigMetadataRequest {
73
+ /**
74
+ * Name of the app
75
+ */
76
+ name?: string;
77
+ description?: Schemas.TranslatedString;
78
+ category?: string;
79
+ documentation_url?: string;
80
+ notifications?: Schemas.NotificationConfig;
81
+ pricing?: Schemas.Pricing;
82
+ /**
83
+ * S3 key of the logo file
84
+ */
85
+ logo_url_key?: string;
86
+ /**
87
+ * Email address for support requests
88
+ */
89
+ support_email?: string;
90
+ /**
91
+ * Flag to indicate if the app is in dev mode. If true, the app takes the override properties of components into account.
92
+ */
93
+ dev_mode?: boolean;
94
+ }
95
+ export interface PatchVersionRequest {
96
+ /**
97
+ * ID of the manifest to use for this version
98
+ */
99
+ manifest_id?: string;
100
+ /**
101
+ * Name of the role
102
+ */
103
+ role_id?: string | null;
104
+ grants?: /* Required grants for the app in order to call APIs for the installing tenant */ Schemas.Grants;
105
+ }
106
+ export type UpsertComponentRequest = Schemas.BaseComponent;
107
+ }
108
+ namespace Schemas {
109
+ export interface Actor {
110
+ /**
111
+ * Organization ID of the actor
112
+ */
113
+ org_id?: string;
114
+ /**
115
+ * User ID of the actor
116
+ */
117
+ user_id?: string;
118
+ /**
119
+ * Type of the actor (e.g., user, system)
120
+ */
121
+ type: "user" | "system";
122
+ }
123
+ export interface AggregatedEvents {
124
+ type?: "aggregated";
125
+ groups?: {
126
+ /**
127
+ * The grouped dimensions e.g., "source": "CUSTOM_JOURNEY_BLOCK", "event_type": "ERROR"
128
+ */
129
+ dimensions?: {
130
+ [name: string]: any;
131
+ };
132
+ metrics?: {
133
+ count?: number;
134
+ error_rate?: number;
135
+ };
136
+ }[];
137
+ }
138
+ export interface ApiProxyComponent {
139
+ component_type: "API_PROXY";
140
+ configuration: /* Configuration for an API proxy component */ ApiProxyConfig;
141
+ }
142
+ /**
143
+ * Configuration for an API proxy component
144
+ */
145
+ export interface ApiProxyConfig {
146
+ /**
147
+ * Human-friendly proxy name used in SDK calls
148
+ */
149
+ name: string; // ^[a-zA-Z0-9_-]+$
150
+ /**
151
+ * Base URL of the target API. Must be HTTPS.
152
+ */
153
+ target: string; // uri ^https://
154
+ /**
155
+ * Authentication strategy
156
+ */
157
+ auth_type: "header" | "bearer" | "oauth2" | "none";
158
+ /**
159
+ * Header name for 'header' auth type
160
+ */
161
+ auth_header?: string;
162
+ /**
163
+ * OAuth2 token endpoint URL
164
+ */
165
+ token_url?: string; // uri ^https://
166
+ }
167
+ export interface AppBridgeSurfaceConfig {
168
+ /**
169
+ * URL of the uploaded App Bridge App. This is the entrypoint for the app
170
+ */
171
+ app_url?: string;
172
+ /**
173
+ * URL of the uploaded zip file containing the app
174
+ */
175
+ zip_url?: string;
176
+ /**
177
+ * URL of the app in dev mode
178
+ */
179
+ override_url?: string;
180
+ }
181
+ export interface AppEventData {
182
+ /**
183
+ * ID of the app configuration
184
+ */
185
+ app_id: string;
186
+ /**
187
+ * Version of the app configuration
188
+ */
189
+ version: string;
190
+ event_id?: string;
191
+ component_id: string;
192
+ timestamp?: string;
193
+ correlation_id?: string;
194
+ event_type: "ERROR" | "WARNING" | "INFO";
195
+ source: /* Type of app component */ ComponentType;
196
+ actor: Actor;
197
+ /**
198
+ * Details about the event
199
+ */
200
+ details?: {
201
+ [name: string]: any;
202
+ };
203
+ }
204
+ export interface Audit {
205
+ /**
206
+ * Timestamp of the creation
207
+ */
208
+ created_at?: string;
209
+ /**
210
+ * User ID of the creator
211
+ */
212
+ created_by?: string;
213
+ /**
214
+ * Timestamp of the last update
215
+ */
216
+ updated_at?: string;
217
+ /**
218
+ * User ID of the last updater
219
+ */
220
+ updated_by?: string;
221
+ }
222
+ export interface Author {
223
+ /**
224
+ * Name of the author
225
+ */
226
+ name?: string;
227
+ /**
228
+ * Company of the author
229
+ */
230
+ company: string;
231
+ /**
232
+ * Email of the author
233
+ */
234
+ email?: string;
235
+ }
236
+ export type BaseComponent = {
237
+ /**
238
+ * Unique identifier for the component
239
+ */
240
+ id: string;
241
+ /**
242
+ * Name of the component
243
+ */
244
+ name?: {
245
+ /**
246
+ * English translation
247
+ */
248
+ en?: string | null;
249
+ /**
250
+ * German translation
251
+ */
252
+ de: string;
253
+ };
254
+ /**
255
+ * Description of the component
256
+ */
257
+ description?: {
258
+ /**
259
+ * English translation
260
+ */
261
+ en?: string | null;
262
+ /**
263
+ * German translation
264
+ */
265
+ de: string;
266
+ };
267
+ /**
268
+ * List of options for the app component
269
+ */
270
+ options?: /* Options for the component configuration */ Options[];
271
+ surfaces?: {
272
+ [key: string]: any;
273
+ };
274
+ } & (JourneyBlockComponent | PortalBlockComponent | PortalExtensionComponent | CustomFlowActionComponent | ErpInformToolkitComponent | CustomCapabilityComponent | ExternalProductCatalogComponent | CustomPageComponent | ApiProxyComponent);
275
+ export interface BaseComponentCommon {
276
+ /**
277
+ * Unique identifier for the component
278
+ */
279
+ id: string;
280
+ /**
281
+ * Name of the component
282
+ */
283
+ name?: {
284
+ /**
285
+ * English translation
286
+ */
287
+ en?: string | null;
288
+ /**
289
+ * German translation
290
+ */
291
+ de: string;
292
+ };
293
+ /**
294
+ * Description of the component
295
+ */
296
+ description?: {
297
+ /**
298
+ * English translation
299
+ */
300
+ en?: string | null;
301
+ /**
302
+ * German translation
303
+ */
304
+ de: string;
305
+ };
306
+ /**
307
+ * List of options for the app component
308
+ */
309
+ options?: /* Options for the component configuration */ Options[];
310
+ surfaces?: {
311
+ [key: string]: any;
312
+ };
313
+ }
314
+ export interface BaseCustomActionConfig {
315
+ /**
316
+ * Name of the custom action
317
+ */
318
+ name?: string;
319
+ /**
320
+ * Description of the custom action
321
+ */
322
+ description?: string;
323
+ /**
324
+ * Wait for callback_url to be called before completing the action
325
+ */
326
+ wait_for_callback?: boolean;
327
+ }
328
+ export interface BatchEventRequest {
329
+ events: [
330
+ AppEventData?,
331
+ AppEventData?,
332
+ AppEventData?,
333
+ AppEventData?,
334
+ AppEventData?,
335
+ AppEventData?,
336
+ AppEventData?,
337
+ AppEventData?,
338
+ AppEventData?,
339
+ AppEventData?,
340
+ AppEventData?,
341
+ AppEventData?,
342
+ AppEventData?,
343
+ AppEventData?,
344
+ AppEventData?,
345
+ AppEventData?,
346
+ AppEventData?,
347
+ AppEventData?,
348
+ AppEventData?,
349
+ AppEventData?,
350
+ AppEventData?,
351
+ AppEventData?,
352
+ AppEventData?,
353
+ AppEventData?,
354
+ AppEventData?,
355
+ AppEventData?,
356
+ AppEventData?,
357
+ AppEventData?,
358
+ AppEventData?,
359
+ AppEventData?,
360
+ AppEventData?,
361
+ AppEventData?,
362
+ AppEventData?,
363
+ AppEventData?,
364
+ AppEventData?,
365
+ AppEventData?,
366
+ AppEventData?,
367
+ AppEventData?,
368
+ AppEventData?,
369
+ AppEventData?,
370
+ AppEventData?,
371
+ AppEventData?,
372
+ AppEventData?,
373
+ AppEventData?,
374
+ AppEventData?,
375
+ AppEventData?,
376
+ AppEventData?,
377
+ AppEventData?,
378
+ AppEventData?,
379
+ AppEventData?,
380
+ AppEventData?,
381
+ AppEventData?,
382
+ AppEventData?,
383
+ AppEventData?,
384
+ AppEventData?,
385
+ AppEventData?,
386
+ AppEventData?,
387
+ AppEventData?,
388
+ AppEventData?,
389
+ AppEventData?,
390
+ AppEventData?,
391
+ AppEventData?,
392
+ AppEventData?,
393
+ AppEventData?,
394
+ AppEventData?,
395
+ AppEventData?,
396
+ AppEventData?,
397
+ AppEventData?,
398
+ AppEventData?,
399
+ AppEventData?,
400
+ AppEventData?,
401
+ AppEventData?,
402
+ AppEventData?,
403
+ AppEventData?,
404
+ AppEventData?,
405
+ AppEventData?,
406
+ AppEventData?,
407
+ AppEventData?,
408
+ AppEventData?,
409
+ AppEventData?,
410
+ AppEventData?,
411
+ AppEventData?,
412
+ AppEventData?,
413
+ AppEventData?,
414
+ AppEventData?,
415
+ AppEventData?,
416
+ AppEventData?,
417
+ AppEventData?,
418
+ AppEventData?,
419
+ AppEventData?,
420
+ AppEventData?,
421
+ AppEventData?,
422
+ AppEventData?,
423
+ AppEventData?,
424
+ AppEventData?,
425
+ AppEventData?,
426
+ AppEventData?,
427
+ AppEventData?,
428
+ AppEventData?,
429
+ AppEventData?
430
+ ];
431
+ }
432
+ /**
433
+ * How often the subscription is billed
434
+ */
435
+ export type BillingFrequency = "MONTHLY" | "QUARTERLY" | "YEARLY" | "CUSTOM";
436
+ /**
437
+ * References another journey block by its ID. The configuring user picks
438
+ * a block from the journey via a dropdown in the journey-builder; the
439
+ * chosen block's ID is stored as the arg value (a string). The bundle can
440
+ * then call `subscribe(blockId, cb)` / `getValue(blockId)` against that ID.
441
+ *
442
+ */
443
+ export interface BlockReferenceArg {
444
+ type?: "block_reference";
445
+ /**
446
+ * Restrict the picker to blocks of these journey block types
447
+ * (e.g. ["availability-check", "address"]). Omit to allow any type.
448
+ *
449
+ */
450
+ allowed_types?: string[];
451
+ }
452
+ export interface BlueprintRef {
453
+ /**
454
+ * ID of the blueprint
455
+ */
456
+ manifest_id?: string;
457
+ /**
458
+ * ID of the job that created the blueprint
459
+ */
460
+ job_id?: string;
461
+ /**
462
+ * S3 key of a pre-exported blueprint zip used for cross-org installs
463
+ */
464
+ source_blueprint_file?: string;
465
+ }
466
+ export interface BooleanArg {
467
+ type?: "boolean";
468
+ }
469
+ export interface CallerIdentity {
470
+ /**
471
+ * a human readable name of the caller (e.g. user name, token name or email address)
472
+ * example:
473
+ * manifest@epilot.cloud
474
+ */
475
+ name?: any;
476
+ /**
477
+ * epilot organization id
478
+ * example:
479
+ * 911690
480
+ */
481
+ org_id: string;
482
+ /**
483
+ * epilot user id, when called by a user
484
+ * example:
485
+ * 11001045
486
+ */
487
+ user_id?: string;
488
+ /**
489
+ * token id, when called by API token
490
+ * example:
491
+ * api_5ZugdRXasLfWBypHi93Fk
492
+ */
493
+ token_id?: string;
494
+ }
495
+ /**
496
+ * Type of app component
497
+ */
498
+ export type ComponentType = "CUSTOM_JOURNEY_BLOCK" | "CUSTOM_PORTAL_BLOCK" | "PORTAL_EXTENSION" | "CUSTOM_FLOW_ACTION" | "ERP_INFORM_TOOLKIT" | "CUSTOM_CAPABILITY" | "EXTERNAL_PRODUCT_CATALOG" | "CUSTOM_PAGE" | "API_PROXY";
499
+ /**
500
+ * Configuration of the published app
501
+ */
502
+ export interface Configuration {
503
+ app_id: string;
504
+ /**
505
+ * Name of the app
506
+ */
507
+ name: string;
508
+ author?: Author;
509
+ /**
510
+ * Flag to indicate if the app is in dev mode. If true, the app takes the override_url property of components into account.
511
+ */
512
+ dev_mode?: boolean;
513
+ /**
514
+ * List of available versions of the app
515
+ */
516
+ versions: string[];
517
+ /**
518
+ * List of available public versions of the app
519
+ */
520
+ public_versions?: string[];
521
+ /**
522
+ * Email address for support requests
523
+ */
524
+ support_email?: string;
525
+ /**
526
+ * Latest version of the app
527
+ */
528
+ latest_version: string;
529
+ /**
530
+ * Category of the app.
531
+ */
532
+ category?: string;
533
+ /**
534
+ * URL of the app icon.
535
+ */
536
+ icon_url?: string;
537
+ /**
538
+ * URL of the app documentation.
539
+ */
540
+ documentation_url?: string;
541
+ /**
542
+ * Markdown description of the app.
543
+ */
544
+ description: {
545
+ /**
546
+ * English translation
547
+ */
548
+ en?: string | null;
549
+ /**
550
+ * German translation
551
+ */
552
+ de: string;
553
+ };
554
+ /**
555
+ * Configuration for developer notifications
556
+ */
557
+ notifications?: {
558
+ /**
559
+ * Email address to receive notifications
560
+ * example:
561
+ * developer@example.com
562
+ */
563
+ email?: string; // email
564
+ /**
565
+ * List of events to subscribe to
566
+ */
567
+ events?: NotificationEvent[];
568
+ };
569
+ /**
570
+ * Organization ID of the app owner
571
+ */
572
+ owner_org_id: string;
573
+ /**
574
+ * Flag to indicate if the app is built by epilot.
575
+ */
576
+ internal?: boolean;
577
+ /**
578
+ * Pricing information for the app
579
+ */
580
+ pricing?: {
581
+ pricing_type?: "FREE" | "SUBSCRIPTION" | "USAGE_BASED" | "ONE_TIME" | "CUSTOM" | "UNKNOWN";
582
+ billing_frequency?: /* How often the subscription is billed */ BillingFrequency;
583
+ };
584
+ /**
585
+ * Audit information for the app
586
+ */
587
+ configuration_audit?: {
588
+ /**
589
+ * Timestamp of the creation
590
+ */
591
+ created_at?: string;
592
+ /**
593
+ * User ID of the creator
594
+ */
595
+ created_by?: string;
596
+ /**
597
+ * Timestamp of the last update
598
+ */
599
+ updated_at?: string;
600
+ /**
601
+ * User ID of the last updater
602
+ */
603
+ updated_by?: string;
604
+ };
605
+ components: BaseComponent[];
606
+ /**
607
+ * Visibility of the app version
608
+ */
609
+ visibility?: "public" | "private";
610
+ /**
611
+ * Flag to indicate if the app is public.
612
+ */
613
+ public?: boolean;
614
+ /**
615
+ * Flag to indicate if the app is pending for verification
616
+ */
617
+ pending?: boolean;
618
+ /**
619
+ * Version of the app that is installed
620
+ */
621
+ version: string;
622
+ /**
623
+ * Flag to indicate if the app is in beta.
624
+ */
625
+ is_beta?: boolean;
626
+ /**
627
+ * Timestamp when the app version is deprecated
628
+ */
629
+ deprecated_at?: string;
630
+ /**
631
+ * Changelog for the app version
632
+ */
633
+ changelog?: string;
634
+ /**
635
+ * Status of the review process
636
+ */
637
+ review_status?: "approved" | "rejected" | "pending";
638
+ role?: Role;
639
+ blueprint_ref?: BlueprintRef;
640
+ version_audit: {
641
+ /**
642
+ * Timestamp of the creation
643
+ */
644
+ created_at?: string;
645
+ /**
646
+ * User ID of the creator
647
+ */
648
+ created_by?: string;
649
+ /**
650
+ * Timestamp of the last update
651
+ */
652
+ updated_at?: string;
653
+ /**
654
+ * User ID of the last updater
655
+ */
656
+ updated_by?: string;
657
+ /**
658
+ * Timestamp of the last version update
659
+ */
660
+ versioned_at?: string;
661
+ /**
662
+ * User ID of the user who last updated the app
663
+ */
664
+ versioned_by?: string;
665
+ };
666
+ }
667
+ /**
668
+ * Basic metadata about your app configuration which does not get versioned
669
+ */
670
+ export interface ConfigurationMetadata {
671
+ app_id: string;
672
+ /**
673
+ * Name of the app
674
+ */
675
+ name: string;
676
+ author?: Author;
677
+ /**
678
+ * Flag to indicate if the app is in dev mode. If true, the app takes the override_url property of components into account.
679
+ */
680
+ dev_mode?: boolean;
681
+ /**
682
+ * List of available versions of the app
683
+ */
684
+ versions: string[];
685
+ /**
686
+ * List of available public versions of the app
687
+ */
688
+ public_versions?: string[];
689
+ /**
690
+ * Email address for support requests
691
+ */
692
+ support_email?: string;
693
+ /**
694
+ * Latest version of the app
695
+ */
696
+ latest_version: string;
697
+ /**
698
+ * Category of the app.
699
+ */
700
+ category?: string;
701
+ /**
702
+ * URL of the app icon.
703
+ */
704
+ icon_url?: string;
705
+ /**
706
+ * URL of the app documentation.
707
+ */
708
+ documentation_url?: string;
709
+ /**
710
+ * Markdown description of the app.
711
+ */
712
+ description: {
713
+ /**
714
+ * English translation
715
+ */
716
+ en?: string | null;
717
+ /**
718
+ * German translation
719
+ */
720
+ de: string;
721
+ };
722
+ /**
723
+ * Configuration for developer notifications
724
+ */
725
+ notifications?: {
726
+ /**
727
+ * Email address to receive notifications
728
+ * example:
729
+ * developer@example.com
730
+ */
731
+ email?: string; // email
732
+ /**
733
+ * List of events to subscribe to
734
+ */
735
+ events?: NotificationEvent[];
736
+ };
737
+ /**
738
+ * Organization ID of the app owner, required for private apps or sandbox accounts
739
+ */
740
+ owner_org_id: string;
741
+ /**
742
+ * Flag to indicate if the app is built by epilot.
743
+ */
744
+ internal?: boolean;
745
+ /**
746
+ * Pricing information for the app
747
+ */
748
+ pricing?: {
749
+ pricing_type?: "FREE" | "SUBSCRIPTION" | "USAGE_BASED" | "ONE_TIME" | "CUSTOM" | "UNKNOWN";
750
+ billing_frequency?: /* How often the subscription is billed */ BillingFrequency;
751
+ };
752
+ /**
753
+ * Audit information for the app
754
+ */
755
+ configuration_audit?: {
756
+ /**
757
+ * Timestamp of the creation
758
+ */
759
+ created_at?: string;
760
+ /**
761
+ * User ID of the creator
762
+ */
763
+ created_by?: string;
764
+ /**
765
+ * Timestamp of the last update
766
+ */
767
+ updated_at?: string;
768
+ /**
769
+ * User ID of the last updater
770
+ */
771
+ updated_by?: string;
772
+ };
773
+ }
774
+ /**
775
+ * Configuration data about your app which is versionable
776
+ */
777
+ export interface ConfigurationVersion {
778
+ app_id: string;
779
+ /**
780
+ * Organization ID of the app owner
781
+ */
782
+ owner_org_id: string;
783
+ components: BaseComponent[];
784
+ /**
785
+ * Visibility of the app version
786
+ */
787
+ visibility?: "public" | "private";
788
+ /**
789
+ * Flag to indicate if the app is public.
790
+ */
791
+ public?: boolean;
792
+ /**
793
+ * Flag to indicate if the app is pending for verification
794
+ */
795
+ pending?: boolean;
796
+ /**
797
+ * Version of the app that is installed
798
+ */
799
+ version: string;
800
+ /**
801
+ * Flag to indicate if the app is in beta.
802
+ */
803
+ is_beta?: boolean;
804
+ /**
805
+ * Timestamp when the app version is deprecated
806
+ */
807
+ deprecated_at?: string;
808
+ /**
809
+ * Changelog for the app version
810
+ */
811
+ changelog?: string;
812
+ /**
813
+ * Status of the review process
814
+ */
815
+ review_status?: "approved" | "rejected" | "pending";
816
+ role?: Role;
817
+ blueprint_ref?: BlueprintRef;
818
+ version_audit: {
819
+ /**
820
+ * Timestamp of the creation
821
+ */
822
+ created_at?: string;
823
+ /**
824
+ * User ID of the creator
825
+ */
826
+ created_by?: string;
827
+ /**
828
+ * Timestamp of the last update
829
+ */
830
+ updated_at?: string;
831
+ /**
832
+ * User ID of the last updater
833
+ */
834
+ updated_by?: string;
835
+ /**
836
+ * Timestamp of the last version update
837
+ */
838
+ versioned_at?: string;
839
+ /**
840
+ * User ID of the user who last updated the app
841
+ */
842
+ versioned_by?: string;
843
+ };
844
+ }
845
+ export interface CustomCapabilityComponent {
846
+ component_type: "CUSTOM_CAPABILITY";
847
+ configuration: {
848
+ /**
849
+ * Define what type of capability this is
850
+ */
851
+ type?: "tab" | "group";
852
+ /**
853
+ * Which schemas are supported by the capability. If empty, all schemas are supported.
854
+ */
855
+ allowed_schemas?: string[];
856
+ };
857
+ surfaces?: {
858
+ capability_config?: AppBridgeSurfaceConfig;
859
+ };
860
+ }
861
+ export interface CustomFlowActionComponent {
862
+ component_type: "CUSTOM_FLOW_ACTION";
863
+ configuration: CustomFlowConfig;
864
+ surfaces?: {
865
+ flow_action_config?: AppBridgeSurfaceConfig;
866
+ };
867
+ }
868
+ export type CustomFlowConfig = ExternalIntegrationCustomActionConfig | SandboxCustomActionConfig;
869
+ export interface CustomPageComponent {
870
+ component_type: "CUSTOM_PAGE";
871
+ configuration: CustomPageConfig;
872
+ surfaces?: {
873
+ page?: AppBridgeSurfaceConfig;
874
+ };
875
+ }
876
+ export interface CustomPageConfig {
877
+ /**
878
+ * URL slug for the page route. Must be unique per organization.
879
+ * example:
880
+ * zapier
881
+ */
882
+ slug: string; // ^[a-z0-9][a-z0-9-]*[a-z0-9]$
883
+ /**
884
+ * Display label in the navigation sidebar.
885
+ * example:
886
+ * Zapier
887
+ */
888
+ nav_label?: string;
889
+ /**
890
+ * Icon identifier for the navigation item.
891
+ * example:
892
+ * zap
893
+ */
894
+ nav_icon?: string;
895
+ /**
896
+ * Optional tooltip or description for the navigation item.
897
+ */
898
+ nav_description?: string;
899
+ }
900
+ export interface EnumArg {
901
+ type?: "enum";
902
+ /**
903
+ * If true, allows selection of multiple values
904
+ */
905
+ isMulti?: boolean;
906
+ /**
907
+ * List of options for enum type
908
+ */
909
+ options: [
910
+ {
911
+ /**
912
+ * Unique identifier for the option
913
+ */
914
+ id: string;
915
+ /**
916
+ * Display label for the option
917
+ */
918
+ label: {
919
+ /**
920
+ * English translation
921
+ */
922
+ en?: string | null;
923
+ /**
924
+ * German translation
925
+ */
926
+ de: string;
927
+ };
928
+ },
929
+ ...{
930
+ /**
931
+ * Unique identifier for the option
932
+ */
933
+ id: string;
934
+ /**
935
+ * Display label for the option
936
+ */
937
+ label: {
938
+ /**
939
+ * English translation
940
+ */
941
+ en?: string | null;
942
+ /**
943
+ * German translation
944
+ */
945
+ de: string;
946
+ };
947
+ }[]
948
+ ];
949
+ }
950
+ export interface ErpInformToolkitComponent {
951
+ component_type: "ERP_INFORM_TOOLKIT";
952
+ configuration: {
953
+ type: "inbound" | "outbound";
954
+ };
955
+ }
956
+ export interface EventsQuery {
957
+ /**
958
+ * Either use preset OR start+end
959
+ */
960
+ time_range?: {
961
+ /**
962
+ * Start time (ISO 8601)
963
+ */
964
+ start?: string; // date-time
965
+ /**
966
+ * End time (ISO 8601)
967
+ */
968
+ end?: string; // date-time
969
+ /**
970
+ * Predefined time range (alternative to start/end)
971
+ */
972
+ preset?: "1h" | "6h" | "24h" | "7d" | "30d";
973
+ };
974
+ filters?: {
975
+ /**
976
+ * Filter by component types
977
+ */
978
+ source?: /* Type of app component */ ComponentType[];
979
+ /**
980
+ * Filter by specific component IDs
981
+ */
982
+ component_id?: string[];
983
+ /**
984
+ * Filter by event types
985
+ */
986
+ event_type?: ("ERROR" | "WARNING" | "INFO")[];
987
+ /**
988
+ * Filter by correlation ID for tracing
989
+ */
990
+ correlation_id?: string;
991
+ };
992
+ aggregation?: {
993
+ /**
994
+ * Group results by specified fields
995
+ */
996
+ group_by?: ("source" | "component_id" | "event_type" | "hour" | "day")[];
997
+ /**
998
+ * Metrics to calculate
999
+ */
1000
+ metrics?: ("count" | "error_rate" | "unique_users")[];
1001
+ };
1002
+ pagination?: {
1003
+ page?: number;
1004
+ page_size?: number;
1005
+ };
1006
+ sort?: {
1007
+ field?: "timestamp" | "event_type" | "component_id";
1008
+ order?: "asc" | "desc";
1009
+ };
1010
+ }
1011
+ export interface EventsQueryResponse {
1012
+ query?: EventsQuery;
1013
+ results?: RawEvents | AggregatedEvents;
1014
+ pagination?: {
1015
+ page?: number;
1016
+ page_size?: number;
1017
+ total_items?: number;
1018
+ has_next?: boolean;
1019
+ };
1020
+ }
1021
+ export interface ExternalIntegrationCustomActionConfig {
1022
+ /**
1023
+ * Name of the custom action
1024
+ */
1025
+ name?: string;
1026
+ /**
1027
+ * Description of the custom action
1028
+ */
1029
+ description?: string;
1030
+ /**
1031
+ * Wait for callback_url to be called before completing the action
1032
+ */
1033
+ wait_for_callback?: boolean;
1034
+ type: "external_integration";
1035
+ external_integration_settings?: {
1036
+ /**
1037
+ * URL to call
1038
+ */
1039
+ url?: string;
1040
+ headers?: {
1041
+ [name: string]: any;
1042
+ };
1043
+ };
1044
+ }
1045
+ export interface ExternalProductCatalogAuthBlock {
1046
+ /**
1047
+ * HTTP method to use for authentication
1048
+ */
1049
+ method?: string;
1050
+ /**
1051
+ * URL to use for authentication. Supports variable interpolation.
1052
+ */
1053
+ url: string;
1054
+ /**
1055
+ * Parameters to append to the URL. Supports variable interpolation.
1056
+ */
1057
+ params?: {
1058
+ [name: string]: string;
1059
+ };
1060
+ /**
1061
+ * Headers to use for authentication. Supports variable interpolation.
1062
+ */
1063
+ headers?: {
1064
+ [name: string]: string;
1065
+ };
1066
+ /**
1067
+ * JSON body to use for authentication. Supports variable interpolation. Content format is determined by Content-Type header.
1068
+ */
1069
+ body?: {
1070
+ [name: string]: any;
1071
+ };
1072
+ }
1073
+ export interface ExternalProductCatalogComponent {
1074
+ component_type: "EXTERNAL_PRODUCT_CATALOG";
1075
+ configuration: ExternalProductCatalogConfig;
1076
+ }
1077
+ export interface ExternalProductCatalogConfig {
1078
+ hooks?: (/**
1079
+ * Hook for getting products from an external catalog. This hook makes a call to retrieve product data from an external source. Check the docs or the response API call contract https://docs.api.epilot.io/pricing-api-external-catalog for more details.
1080
+ *
1081
+ */
1082
+ ExternalProductCatalogHookProducts | /**
1083
+ * Hook for getting product recommendations from an external catalog. This hook makes a call to retrieve product recommendations from an external source. Check the docs or the response API call contract https://docs.api.epilot.io/pricing-api-external-catalog for more details.
1084
+ *
1085
+ */
1086
+ ExternalProductCatalogHookProductRecommendations)[];
1087
+ }
1088
+ /**
1089
+ * Hook for getting product recommendations from an external catalog. This hook makes a call to retrieve product recommendations from an external source. Check the docs or the response API call contract https://docs.api.epilot.io/pricing-api-external-catalog for more details.
1090
+ *
1091
+ */
1092
+ export interface ExternalProductCatalogHookProductRecommendations {
1093
+ /**
1094
+ * Identifier of the hook. Should not change between updates.
1095
+ */
1096
+ id: string; // ^[a-zA-Z0-9_-]+$
1097
+ name?: TranslatedString;
1098
+ type: "product-recommendations";
1099
+ auth?: ExternalProductCatalogAuthBlock;
1100
+ call: {
1101
+ /**
1102
+ * HTTP method to use for the call
1103
+ */
1104
+ method?: string;
1105
+ /**
1106
+ * URL to call. Supports variable interpolation.
1107
+ */
1108
+ url: string;
1109
+ /**
1110
+ * Parameters to append to the URL. Supports variable interpolation.
1111
+ */
1112
+ params?: {
1113
+ [name: string]: string;
1114
+ };
1115
+ /**
1116
+ * Headers to use. Supports variable interpolation.
1117
+ */
1118
+ headers?: {
1119
+ [name: string]: string;
1120
+ };
1121
+ /**
1122
+ * JSON body to use for the call. Supports variable interpolation. If empty / not provided, the default request context will be used based on the consumer (e.g. Journey).
1123
+ */
1124
+ body?: {
1125
+ [name: string]: any;
1126
+ };
1127
+ };
1128
+ }
1129
+ /**
1130
+ * Hook for getting products from an external catalog. This hook makes a call to retrieve product data from an external source. Check the docs or the response API call contract https://docs.api.epilot.io/pricing-api-external-catalog for more details.
1131
+ *
1132
+ */
1133
+ export interface ExternalProductCatalogHookProducts {
1134
+ /**
1135
+ * Identifier of the hook. Should not change between updates.
1136
+ */
1137
+ id: string; // ^[a-zA-Z0-9_-]+$
1138
+ name?: TranslatedString;
1139
+ type: "products";
1140
+ auth?: ExternalProductCatalogAuthBlock;
1141
+ call: {
1142
+ /**
1143
+ * HTTP method to use for the call
1144
+ */
1145
+ method?: string;
1146
+ /**
1147
+ * URL to call. Supports variable interpolation.
1148
+ */
1149
+ url: string;
1150
+ /**
1151
+ * Parameters to append to the URL. Supports variable interpolation.
1152
+ */
1153
+ params?: {
1154
+ [name: string]: string;
1155
+ };
1156
+ /**
1157
+ * Headers to use. Supports variable interpolation.
1158
+ */
1159
+ headers?: {
1160
+ [name: string]: string;
1161
+ };
1162
+ /**
1163
+ * JSON body to use for the call. Supports variable interpolation. If empty / not provided, the default request context will be used based on the consumer (e.g. Journey).
1164
+ */
1165
+ body?: {
1166
+ [name: string]: any;
1167
+ };
1168
+ };
1169
+ }
1170
+ /**
1171
+ * Required grants for the app in order to call APIs for the installing tenant
1172
+ */
1173
+ export type Grants = {
1174
+ /**
1175
+ * The action the app can perform
1176
+ */
1177
+ action: string;
1178
+ /**
1179
+ * The resource the app can access
1180
+ */
1181
+ resource?: string;
1182
+ }[];
1183
+ /**
1184
+ * Information about the installed app. Has configuration data of the installed version
1185
+ */
1186
+ export interface Installation {
1187
+ /**
1188
+ * ID of the app configuration
1189
+ */
1190
+ app_id: string;
1191
+ /**
1192
+ * Unique identifier for the organization the app is installed in
1193
+ */
1194
+ installer_org_id: string;
1195
+ /**
1196
+ * Organization ID of the app creator
1197
+ */
1198
+ owner_org_id?: string;
1199
+ /**
1200
+ * Flag to indicate if the app is enabled. Enabled is set to true when required option values are set.
1201
+ */
1202
+ enabled: boolean;
1203
+ /**
1204
+ * Name of the app
1205
+ */
1206
+ name: string;
1207
+ /**
1208
+ * Configuration values for the app components
1209
+ */
1210
+ option_values?: OptionsRef[];
1211
+ /**
1212
+ * List of component configurations for the installed version
1213
+ */
1214
+ components: BaseComponent[];
1215
+ /**
1216
+ * Version of the app that is installed
1217
+ */
1218
+ installed_version: string;
1219
+ /**
1220
+ * The name of the role the app can use to access APIs
1221
+ */
1222
+ role?: string;
1223
+ blueprint_ref?: BlueprintRef;
1224
+ /**
1225
+ * Audit information for the app
1226
+ */
1227
+ installation_audit?: {
1228
+ /**
1229
+ * Timestamp of the creation
1230
+ */
1231
+ created_at?: string;
1232
+ /**
1233
+ * User ID of the creator
1234
+ */
1235
+ created_by?: string;
1236
+ /**
1237
+ * Timestamp of the last update
1238
+ */
1239
+ updated_at?: string;
1240
+ /**
1241
+ * User ID of the last updater
1242
+ */
1243
+ updated_by?: string;
1244
+ };
1245
+ /**
1246
+ * Manifest ID used to create/update the entity
1247
+ */
1248
+ _manifest?: string /* uuid */[];
1249
+ }
1250
+ export interface JourneyBlockComponent {
1251
+ component_type: "CUSTOM_JOURNEY_BLOCK";
1252
+ configuration: JourneyBlockConfig;
1253
+ }
1254
+ export type JourneyBlockComponentArgs = {
1255
+ /**
1256
+ * Unique identifier for this component arg
1257
+ */
1258
+ key: string;
1259
+ type: "text" | "boolean" | "enum" | "block_reference";
1260
+ /**
1261
+ * Flag to indicate if this option is required
1262
+ */
1263
+ required?: boolean;
1264
+ /**
1265
+ * Description of what this component arg does
1266
+ */
1267
+ description?: {
1268
+ /**
1269
+ * English translation
1270
+ */
1271
+ en?: string | null;
1272
+ /**
1273
+ * German translation
1274
+ */
1275
+ de: string;
1276
+ };
1277
+ /**
1278
+ * Human-readable label for the component arg
1279
+ */
1280
+ label: {
1281
+ /**
1282
+ * English translation
1283
+ */
1284
+ en?: string | null;
1285
+ /**
1286
+ * German translation
1287
+ */
1288
+ de: string;
1289
+ };
1290
+ } & (TextArg | BooleanArg | EnumArg | /**
1291
+ * References another journey block by its ID. The configuring user picks
1292
+ * a block from the journey via a dropdown in the journey-builder; the
1293
+ * chosen block's ID is stored as the arg value (a string). The bundle can
1294
+ * then call `subscribe(blockId, cb)` / `getValue(blockId)` against that ID.
1295
+ *
1296
+ */
1297
+ BlockReferenceArg);
1298
+ export interface JourneyBlockConfig {
1299
+ override_dev_mode?: /* Override URL when app is in dev mode */ OverrideDevMode;
1300
+ /**
1301
+ * URL of the web component object
1302
+ * example:
1303
+ * https://cdn.apps.com/123/v1.0.0/bundle.js
1304
+ */
1305
+ component_url: string;
1306
+ /**
1307
+ * Custom element tag for the component
1308
+ */
1309
+ component_tag: string;
1310
+ /**
1311
+ * Arguments to pass to the component
1312
+ */
1313
+ component_args?: JourneyBlockComponentArgs[];
1314
+ /**
1315
+ * Size of the bundle in bytes
1316
+ */
1317
+ component_size?: number;
1318
+ /**
1319
+ * Define data which is mapped to entity mapping ui blocks
1320
+ */
1321
+ component_mapping?: {
1322
+ [name: string]: "string" | "boolean" | "date" | "datetime" | "link" | "number";
1323
+ };
1324
+ }
1325
+ export interface NotificationConfig {
1326
+ /**
1327
+ * Email address to receive notifications
1328
+ * example:
1329
+ * developer@example.com
1330
+ */
1331
+ email?: string; // email
1332
+ /**
1333
+ * List of events to subscribe to
1334
+ */
1335
+ events?: NotificationEvent[];
1336
+ }
1337
+ export type NotificationEvent = "app.installed" | "app.uninstalled";
1338
+ /**
1339
+ * One declared field inside a `type: object` option. Fields are primitives — object nesting
1340
+ * is not supported.
1341
+ *
1342
+ */
1343
+ export interface ObjectField {
1344
+ /**
1345
+ * Unique identifier for this field within the parent object.
1346
+ */
1347
+ key: string;
1348
+ /**
1349
+ * Human-readable label for the field.
1350
+ */
1351
+ label?: string;
1352
+ /**
1353
+ * Detailed description of what this field is for.
1354
+ */
1355
+ description?: string;
1356
+ /**
1357
+ * Flag to indicate if this field must be filled.
1358
+ */
1359
+ required?: boolean;
1360
+ /**
1361
+ * Primitive type of this field.
1362
+ */
1363
+ type: "text" | "number" | "boolean" | "secret";
1364
+ }
1365
+ export interface Option {
1366
+ /**
1367
+ * Key matching a config_option from the component
1368
+ */
1369
+ key: string;
1370
+ /**
1371
+ * The configured value for this option. Shape depends on the matching component option's
1372
+ * `type` and `repeatable` (see `Options.value`).
1373
+ *
1374
+ */
1375
+ value: any;
1376
+ }
1377
+ /**
1378
+ * Options for the component configuration
1379
+ */
1380
+ export interface Options {
1381
+ /**
1382
+ * Unique identifier for this configuration option
1383
+ */
1384
+ key: string;
1385
+ /**
1386
+ * Human-readable label for the configuration option
1387
+ */
1388
+ label?: string;
1389
+ /**
1390
+ * Flag to indicate if this option is required
1391
+ */
1392
+ required?: boolean;
1393
+ /**
1394
+ * Detailed description of what this configuration option does
1395
+ */
1396
+ description?: string;
1397
+ /**
1398
+ * When true, the configured value is an array of entries, each tagged with a stable
1399
+ * server-assigned `id`. Combine with any `type` to express "many of this thing."
1400
+ * Defaults to false.
1401
+ *
1402
+ */
1403
+ repeatable?: boolean;
1404
+ /**
1405
+ * Field declarations — required when `type: object`. Each entry describes one primitive
1406
+ * sub-field of the object value. Object types may not nest (no `type: object` inside `fields`).
1407
+ *
1408
+ */
1409
+ fields?: /**
1410
+ * One declared field inside a `type: object` option. Fields are primitives — object nesting
1411
+ * is not supported.
1412
+ *
1413
+ */
1414
+ ObjectField[];
1415
+ /**
1416
+ * The configured value for this option. Shape depends on `type` and `repeatable`:
1417
+ * - primitive `type` (text/number/boolean/secret), `repeatable` false → primitive
1418
+ * - primitive `type`, `repeatable` true → array of `{id, value}` entries
1419
+ * - `type: object`, `repeatable` false → object with declared fields
1420
+ * - `type: object`, `repeatable` true → array of `{id, ...declared fields}` entries
1421
+ *
1422
+ * `id` is server-assigned and stable across edits so consumers can reference entries
1423
+ * by id rather than by index.
1424
+ *
1425
+ */
1426
+ value?: any;
1427
+ /**
1428
+ * The type of this option. `object` declares a structured value whose fields are listed
1429
+ * under `fields`. Combine with `repeatable: true` to express a list of these objects.
1430
+ *
1431
+ */
1432
+ type: "text" | "number" | "boolean" | "secret" | "object";
1433
+ }
1434
+ export interface OptionsRef {
1435
+ /**
1436
+ * ID of the component these values are for
1437
+ */
1438
+ component_id: string;
1439
+ options: Option[];
1440
+ }
1441
+ /**
1442
+ * Override URL when app is in dev mode
1443
+ */
1444
+ export interface OverrideDevMode {
1445
+ /**
1446
+ * URL of the web component object in dev mode
1447
+ * example:
1448
+ * http://localhost:3000
1449
+ */
1450
+ override_url?: string;
1451
+ }
1452
+ export interface PortalBlockComponent {
1453
+ component_type: "CUSTOM_PORTAL_BLOCK";
1454
+ configuration: PortalBlockConfig;
1455
+ surfaces?: {
1456
+ portal_block?: PortalBlockSurfaceConfig;
1457
+ };
1458
+ }
1459
+ export interface PortalBlockConfig {
1460
+ }
1461
+ export interface PortalBlockSurfaceConfig {
1462
+ /**
1463
+ * URL of the uploaded App Bridge App. This is the entrypoint for the app
1464
+ */
1465
+ app_url?: string;
1466
+ /**
1467
+ * URL of the uploaded zip file containing the app
1468
+ */
1469
+ zip_url?: string;
1470
+ /**
1471
+ * URL of the app in dev mode
1472
+ */
1473
+ override_url?: string;
1474
+ /**
1475
+ * Define which surfaces of the portal this block can be placed in
1476
+ */
1477
+ supported_surfaces?: ("main" | "footer_inline" | "footer_left_absolute" | "footer_right_absolute")[];
1478
+ }
1479
+ export interface PortalExtensionAuthBlock {
1480
+ /**
1481
+ * HTTP method to use for authentication
1482
+ */
1483
+ method?: string;
1484
+ /**
1485
+ * URL to use for authentication. Supports variable interpolation.
1486
+ */
1487
+ url: string;
1488
+ /**
1489
+ * Parameters to append to the URL. Supports variable interpolation.
1490
+ */
1491
+ params?: {
1492
+ [name: string]: string;
1493
+ };
1494
+ /**
1495
+ * Headers to use for authentication. Supports variable interpolation.
1496
+ */
1497
+ headers?: {
1498
+ [name: string]: string;
1499
+ };
1500
+ /**
1501
+ * JSON body to use for authentication. Supports variable interpolation. Content format is determined by Content-Type header.
1502
+ */
1503
+ body?: {
1504
+ [name: string]: any;
1505
+ };
1506
+ cache?: {
1507
+ /**
1508
+ * Key to use to identify the auth response. Supports interpolation.
1509
+ * example:
1510
+ * {{Options.api_key}}
1511
+ */
1512
+ key: string;
1513
+ /**
1514
+ * Time to live in seconds for the cache. Supports interpolation.
1515
+ * example:
1516
+ * {{AuthResponse.data.expires_in}}
1517
+ */
1518
+ ttl: string;
1519
+ };
1520
+ }
1521
+ export interface PortalExtensionComponent {
1522
+ component_type: "PORTAL_EXTENSION";
1523
+ configuration: PortalExtensionConfig;
1524
+ }
1525
+ export interface PortalExtensionConfig {
1526
+ hooks?: (/**
1527
+ * Hook that replaces the built-in registration identifiers check. This hook makes a POST call whenever a user is trying to register to find the corresponding contact. The expected response to the call is:
1528
+ * - 200 with contact id if exactly one contact is found
1529
+ * - 404 if no contact is found or more than contact is found
1530
+ *
1531
+ */
1532
+ PortalExtensionHookRegistrationIdentifiersCheck | /**
1533
+ * Hook that replaces the built-in Contract identification for self-assignment. This hook involves an HTTP request whenever a user is trying to self-assign Contract(s).
1534
+ * The expected response http status code to the call is:
1535
+ * - 200 if found
1536
+ * - 404 if not found
1537
+ *
1538
+ * The following assignment modes are supported:
1539
+ * - `contracts`: We expect the response to contain Contract ids (customizable using `result` property).
1540
+ * - `contact_to_contracts`: We expect the response to contain a Contact id (customizable using `result` property) and we will assign the Contact as a Customer to the Contracts and (optionally) update the Contact attribute specified by `contact_relation_attribute` to add the matched Contact.
1541
+ * - `contact_to_portal_user`: We expect the response to contain a Contact id (customizable using `result` property) and we will assign the Contact to the Portal User. Portal User will be able to see all data including Contracts transitively.
1542
+ *
1543
+ * Defaults to `contact_to_contracts` for backwards compatibility. We recommend using `contact_to_portal_user` as it does not influence the data model of business entities.
1544
+ *
1545
+ */
1546
+ PortalExtensionHookContractIdentification | /**
1547
+ * Hook that will allow using the specified source as data for price visualizations. This hook is triggered to fetch the data. Format of the request and response has to follow the following specification: TBD. The expected response to the call is:
1548
+ * - 200 with the time series data
1549
+ *
1550
+ */
1551
+ PortalExtensionHookPriceDataRetrieval | /**
1552
+ * Hook that will allow using the specified source as data for consumption visualizations. This hook is triggered to fetch the data. Format of the request and response has to follow the following specification: TBD. The expected response to the call is:
1553
+ * - 200 with the time series data
1554
+ *
1555
+ */
1556
+ PortalExtensionHookConsumptionDataRetrieval | /**
1557
+ * Generic data export hook. When configured on blocks that support it, the portal delegates the export action (e.g. CSV/Excel/PDF download) to the configured external source instead of generating the file itself. Can be used by any block that supports export — consumption charts, dynamic tariff charts, etc. The expected response to the call is:
1558
+ * - 200 with a JSON body describing the exported file (download_url, optional filename, content_type, expires_at)
1559
+ *
1560
+ */
1561
+ PortalExtensionHookDataExport | /**
1562
+ * Hook that will allow using the specified source as data for consumption visualizations. This hook is triggered to fetch the data. Format of the request and response has to follow the following specification: TBD. The expected response to the call is:
1563
+ * - 200 with the time series data
1564
+ *
1565
+ */
1566
+ PortalExtensionHookCostDataRetrieval | /**
1567
+ * Hook that checks the plausibility of meter readings before they are saved. This hook makes a POST call whenever a user is trying to save a meter reading. The expected response to the call is:
1568
+ * - 200:
1569
+ * If meter reading is plausible, the response should contain:
1570
+ * - valid: true
1571
+ * If meter reading is not plausible, the response should contain:
1572
+ * - valid: false
1573
+ *
1574
+ */
1575
+ PortalExtensionHookMeterReadingPlausibilityCheck | /**
1576
+ * Hook that returns runtime metadata describing how a visualization (consumption / price / cost chart) should be rendered for a given portal context (meter, contract, etc). It is invoked by the portal before fetching data, with the same context the data hook would receive, so that the discovery shape can vary per meter/contract. The expected response to the call is:
1577
+ * - 200 with a JSON body of shape:
1578
+ * {
1579
+ * "type_options": [
1580
+ * { "id": "ht", "label": { "en": "High tariff" }, "aggregation_group": "consumption", "statistical_method": "sum", "unit": "kWh" },
1581
+ * ...
1582
+ * ],
1583
+ * "intervals": ["PT15M", "PT1H", "P1D", "P1M"],
1584
+ * "data_range": { "from": "2024-01-01T00:00:00Z", "to": "2026-05-01T00:00:00Z" }
1585
+ * }
1586
+ * Each type option carries its own `statistical_method`, which describes the method already applied to that type's data and dictates the chart shape: `sum` is rendered as a bar chart; `min`, `average`, and `max` are rendered as a line chart. A single visualization can therefore mix bar-shaped types with line-shaped types. Defaults to `sum` when omitted.
1587
+ * `aggregation_group` controls how types within a group are visually combined (depends on the per-type `statistical_method`):
1588
+ * - bar chart (`sum`): same-group types are stacked into a single bar (e.g. ht/nt summed into total consumption); different-group types render side-by-side.
1589
+ * - line chart (`min` / `average` / `max`): same-group types are rendered as an area chart; different-group types render as separate lines.
1590
+ * All fields are optional; the consumer falls back to its defaults for whatever the hook does not return.
1591
+ * The portal looks up this hook implicitly per extension (one `visualizationMetadata` hook per extension) — there is no need for a data-retrieval hook to reference it explicitly.
1592
+ *
1593
+ */
1594
+ PortalExtensionHookVisualizationMetadata)[];
1595
+ links?: {
1596
+ /**
1597
+ * Identifier of the link. Should not change between updates.
1598
+ */
1599
+ id: string; // ^[a-zA-Z0-9_-]+$
1600
+ name: TranslatedString;
1601
+ description?: TranslatedString;
1602
+ type: "seamless";
1603
+ /**
1604
+ * Controls whether the link should be shown. Supports variable interpolation.
1605
+ * example:
1606
+ * {{Contact.customer_number | is_not_empty}}
1607
+ */
1608
+ condition?: string;
1609
+ auth?: PortalExtensionAuthBlock;
1610
+ redirect: {
1611
+ /**
1612
+ * URL to redirect to. Supports variable interpolation.
1613
+ */
1614
+ url?: string;
1615
+ /**
1616
+ * Parameters to append to the URL. Supports variable interpolation.
1617
+ */
1618
+ params?: {
1619
+ [name: string]: string;
1620
+ };
1621
+ };
1622
+ }[];
1623
+ }
1624
+ /**
1625
+ * Hook that will allow using the specified source as data for consumption visualizations. This hook is triggered to fetch the data. Format of the request and response has to follow the following specification: TBD. The expected response to the call is:
1626
+ * - 200 with the time series data
1627
+ *
1628
+ */
1629
+ export interface PortalExtensionHookConsumptionDataRetrieval {
1630
+ /**
1631
+ * Identifier of the hook. Should not change between updates.
1632
+ */
1633
+ id: string; // ^[a-zA-Z0-9_-]+$
1634
+ name?: TranslatedString;
1635
+ type: "consumptionDataRetrieval";
1636
+ /**
1637
+ * Deprecated. Prefer declaring a sibling `visualizationMetadata` hook on the same extension and returning `intervals` from its response — that way the supported intervals can vary per meter/contract.
1638
+ * Intervals supported by the API. If omitted, it is assumed that all intervals are supported.
1639
+ *
1640
+ */
1641
+ intervals?: ("PT15M" | "PT1H" | "P1D" | "P1M")[];
1642
+ auth?: PortalExtensionAuthBlock;
1643
+ call: {
1644
+ /**
1645
+ * HTTP method to use for the call
1646
+ */
1647
+ method?: string;
1648
+ /**
1649
+ * URL to call. Supports variable interpolation.
1650
+ */
1651
+ url: string;
1652
+ /**
1653
+ * Parameters to append to the URL. Supports variable interpolation.
1654
+ */
1655
+ params?: {
1656
+ [name: string]: string;
1657
+ };
1658
+ /**
1659
+ * Headers to use. Supports variable interpolation.
1660
+ */
1661
+ headers?: {
1662
+ [name: string]: string;
1663
+ };
1664
+ /**
1665
+ * Request body to send. Supports variable interpolation. Content format is determined by Content-Type header.
1666
+ */
1667
+ body?: {
1668
+ [name: string]: any;
1669
+ };
1670
+ };
1671
+ resolved?: {
1672
+ /**
1673
+ * Optional path to the data (array) in the response. If omitted, the data is assumed to be on the top level.
1674
+ */
1675
+ dataPath?: string;
1676
+ };
1677
+ /**
1678
+ * Deprecated. Prefer `secure_proxy` instead.
1679
+ * If true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.
1680
+ *
1681
+ */
1682
+ use_static_ips?: boolean;
1683
+ secure_proxy?: /* If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips. */ PortalExtensionSecureProxy;
1684
+ }
1685
+ /**
1686
+ * Hook that replaces the built-in Contract identification for self-assignment. This hook involves an HTTP request whenever a user is trying to self-assign Contract(s).
1687
+ * The expected response http status code to the call is:
1688
+ * - 200 if found
1689
+ * - 404 if not found
1690
+ *
1691
+ * The following assignment modes are supported:
1692
+ * - `contracts`: We expect the response to contain Contract ids (customizable using `result` property).
1693
+ * - `contact_to_contracts`: We expect the response to contain a Contact id (customizable using `result` property) and we will assign the Contact as a Customer to the Contracts and (optionally) update the Contact attribute specified by `contact_relation_attribute` to add the matched Contact.
1694
+ * - `contact_to_portal_user`: We expect the response to contain a Contact id (customizable using `result` property) and we will assign the Contact to the Portal User. Portal User will be able to see all data including Contracts transitively.
1695
+ *
1696
+ * Defaults to `contact_to_contracts` for backwards compatibility. We recommend using `contact_to_portal_user` as it does not influence the data model of business entities.
1697
+ *
1698
+ */
1699
+ export interface PortalExtensionHookContractIdentification {
1700
+ /**
1701
+ * Identifier of the hook. Should not change between updates.
1702
+ */
1703
+ id: string; // ^[a-zA-Z0-9_-]+$
1704
+ name?: TranslatedString;
1705
+ type: "contractIdentification";
1706
+ auth?: PortalExtensionAuthBlock;
1707
+ call: {
1708
+ /**
1709
+ * HTTP method to use for the call
1710
+ */
1711
+ method?: string;
1712
+ /**
1713
+ * URL to call. Supports variable interpolation.
1714
+ */
1715
+ url: string;
1716
+ /**
1717
+ * Parameters to append to the URL. Supports variable interpolation.
1718
+ */
1719
+ params?: {
1720
+ [name: string]: string;
1721
+ };
1722
+ /**
1723
+ * Headers to use. Supports variable interpolation.
1724
+ */
1725
+ headers: {
1726
+ [name: string]: string;
1727
+ };
1728
+ /**
1729
+ * Optional JSON body to use for the call. Defaults to object with all configured identifiers grouped by entity, e.g. `{"contract": {"contract_name": "Name"}}`. Supports variable interpolation.
1730
+ */
1731
+ body?: {
1732
+ [key: string]: any;
1733
+ };
1734
+ /**
1735
+ * Contract or Contact ID usually retrieved from the response body, e.g. `{{CallResponse.data.contact_id}}`. If no result is passed and the request suceeds, we attempt to resolve the Contact ID automatically. Supports variable interpolation.
1736
+ */
1737
+ result?: string;
1738
+ };
1739
+ /**
1740
+ * Mode of contract assignment. See hook description for mode details.
1741
+ */
1742
+ assignment_mode?: "contracts" | "contact_to_contracts" | "contact_to_portal_user";
1743
+ /**
1744
+ * Name of the Contact attribute to update with the matched Contact ID when using `contact_to_contracts` mode. Must be a Contact relation attribute supporting multiple entities.
1745
+ * example:
1746
+ * represents_contact
1747
+ */
1748
+ contact_relation_attribute?: string;
1749
+ /**
1750
+ * Explanation of the hook.
1751
+ */
1752
+ explanation?: {
1753
+ [name: string]: string;
1754
+ /**
1755
+ * Explanation of the functionality shown to the end user.
1756
+ * example:
1757
+ * This process will give you access to the matching Contracts.
1758
+ */
1759
+ en: string;
1760
+ };
1761
+ /**
1762
+ * Deprecated. Prefer `secure_proxy` instead.
1763
+ * If true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.
1764
+ *
1765
+ */
1766
+ use_static_ips?: boolean;
1767
+ secure_proxy?: /* If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips. */ PortalExtensionSecureProxy;
1768
+ }
1769
+ /**
1770
+ * Hook that will allow using the specified source as data for consumption visualizations. This hook is triggered to fetch the data. Format of the request and response has to follow the following specification: TBD. The expected response to the call is:
1771
+ * - 200 with the time series data
1772
+ *
1773
+ */
1774
+ export interface PortalExtensionHookCostDataRetrieval {
1775
+ /**
1776
+ * Identifier of the hook. Should not change between updates.
1777
+ */
1778
+ id: string; // ^[a-zA-Z0-9_-]+$
1779
+ name?: TranslatedString;
1780
+ type: "costDataRetrieval";
1781
+ /**
1782
+ * Deprecated. Prefer declaring a sibling `visualizationMetadata` hook on the same extension and returning `intervals` from its response — that way the supported intervals can vary per meter/contract.
1783
+ * Intervals supported by the API. If omitted, it is assumed that all intervals are supported.
1784
+ *
1785
+ */
1786
+ intervals?: ("PT15M" | "PT1H" | "P1D" | "P1M")[];
1787
+ auth?: PortalExtensionAuthBlock;
1788
+ call: {
1789
+ /**
1790
+ * HTTP method to use for the call
1791
+ */
1792
+ method?: string;
1793
+ /**
1794
+ * URL to call. Supports variable interpolation.
1795
+ */
1796
+ url: string;
1797
+ /**
1798
+ * Parameters to append to the URL. Supports variable interpolation.
1799
+ */
1800
+ params?: {
1801
+ [name: string]: string;
1802
+ };
1803
+ /**
1804
+ * Headers to use. Supports variable interpolation.
1805
+ */
1806
+ headers?: {
1807
+ [name: string]: string;
1808
+ };
1809
+ /**
1810
+ * Request body to send. Supports variable interpolation. Content format is determined by Content-Type header.
1811
+ */
1812
+ body?: {
1813
+ [name: string]: any;
1814
+ };
1815
+ };
1816
+ resolved?: {
1817
+ /**
1818
+ * Optional path to the data (array) in the response. If omitted, the data is assumed to be on the top level.
1819
+ */
1820
+ dataPath?: string;
1821
+ };
1822
+ /**
1823
+ * Deprecated. Prefer `secure_proxy` instead.
1824
+ * If true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.
1825
+ *
1826
+ */
1827
+ use_static_ips?: boolean;
1828
+ secure_proxy?: /* If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips. */ PortalExtensionSecureProxy;
1829
+ }
1830
+ /**
1831
+ * Generic data export hook. When configured on blocks that support it, the portal delegates the export action (e.g. CSV/Excel/PDF download) to the configured external source instead of generating the file itself. Can be used by any block that supports export — consumption charts, dynamic tariff charts, etc. The expected response to the call is:
1832
+ * - 200 with a JSON body describing the exported file (download_url, optional filename, content_type, expires_at)
1833
+ *
1834
+ */
1835
+ export interface PortalExtensionHookDataExport {
1836
+ /**
1837
+ * Identifier of the hook. Should not change between updates.
1838
+ */
1839
+ id: string; // ^[a-zA-Z0-9_-]+$
1840
+ name?: TranslatedString;
1841
+ type: "dataExport";
1842
+ /**
1843
+ * Optional list of portal block types this hook supports. If omitted,
1844
+ * the hook is usable on any export-capable block. Allowed values match
1845
+ * the block type identifiers used by the portal builder
1846
+ * (e.g. `consumption_visualization`, `dynamic_tariff`).
1847
+ *
1848
+ */
1849
+ block_types?: string[];
1850
+ auth?: PortalExtensionAuthBlock;
1851
+ call: {
1852
+ /**
1853
+ * HTTP method to use for the call
1854
+ */
1855
+ method?: string;
1856
+ /**
1857
+ * URL to call. Supports variable interpolation.
1858
+ */
1859
+ url: string;
1860
+ /**
1861
+ * Parameters to append to the URL. Supports variable interpolation.
1862
+ */
1863
+ params?: {
1864
+ [name: string]: string;
1865
+ };
1866
+ /**
1867
+ * Headers to use. Supports variable interpolation.
1868
+ */
1869
+ headers?: {
1870
+ [name: string]: string;
1871
+ };
1872
+ /**
1873
+ * Request body to send. Supports variable interpolation. Content format is determined by Content-Type header.
1874
+ */
1875
+ body?: {
1876
+ [name: string]: any;
1877
+ };
1878
+ };
1879
+ /**
1880
+ * Deprecated. Prefer `secure_proxy` instead.
1881
+ * If true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.
1882
+ *
1883
+ */
1884
+ use_static_ips?: boolean;
1885
+ secure_proxy?: /* If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips. */ PortalExtensionSecureProxy;
1886
+ }
1887
+ /**
1888
+ * Hook that checks the plausibility of meter readings before they are saved. This hook makes a POST call whenever a user is trying to save a meter reading. The expected response to the call is:
1889
+ * - 200:
1890
+ * If meter reading is plausible, the response should contain:
1891
+ * - valid: true
1892
+ * If meter reading is not plausible, the response should contain:
1893
+ * - valid: false
1894
+ *
1895
+ */
1896
+ export interface PortalExtensionHookMeterReadingPlausibilityCheck {
1897
+ /**
1898
+ * Identifier of the hook. Should not change between updates.
1899
+ */
1900
+ id: string; // ^[a-zA-Z0-9_-]+$
1901
+ name?: TranslatedString;
1902
+ type: "meterReadingPlausibilityCheck";
1903
+ /**
1904
+ * Mode for plausibility check:
1905
+ * - "check": Validates meter reading and returns valid: boolean (used during submission)
1906
+ * - "range": Returns min/max allowed values for each counter for validation before submission
1907
+ *
1908
+ */
1909
+ plausibility_mode?: "check" | "range";
1910
+ auth?: PortalExtensionAuthBlock;
1911
+ call: {
1912
+ /**
1913
+ * URL to call. Supports variable interpolation.
1914
+ */
1915
+ url: string;
1916
+ /**
1917
+ * JSON body to use for the call. Supports variable interpolation.
1918
+ */
1919
+ body: {
1920
+ [name: string]: any;
1921
+ };
1922
+ /**
1923
+ * Headers to use. Supports variable interpolation.
1924
+ */
1925
+ headers: {
1926
+ [name: string]: string;
1927
+ };
1928
+ };
1929
+ /**
1930
+ * Response to the call
1931
+ */
1932
+ resolved: {
1933
+ /**
1934
+ * Optional path to an array in the response. If specified and the path points to an array,
1935
+ * the hook will map over each item using 'Item' variable for interpolation.
1936
+ * Relevant only if plausibility_mode is "range".
1937
+ *
1938
+ * example:
1939
+ * data.results
1940
+ */
1941
+ dataPath?: string;
1942
+ /**
1943
+ * Counter identifier(s) used to match against the meter's counters.
1944
+ * Can be a string (counter ID) or an object with counter properties.
1945
+ * The backend resolves this to meter_counter_id in the final response.
1946
+ * Relevant only if plausibility_mode is "range".
1947
+ *
1948
+ * example:
1949
+ * {
1950
+ * "obis_code": "{{Item.obis}}"
1951
+ * }
1952
+ */
1953
+ counter_identifiers?: {
1954
+ [name: string]: string;
1955
+ };
1956
+ /**
1957
+ * Indicate whether the meter reading is plausible. Relevant only if plausibility_mode is "check".
1958
+ * example:
1959
+ * {{CallResponse.data.valid}}
1960
+ */
1961
+ valid?: string;
1962
+ /**
1963
+ * Upper allowed limit of the meter reading
1964
+ * example:
1965
+ * {{CallResponse.data.upper_limit}}
1966
+ */
1967
+ upper_limit?: string;
1968
+ /**
1969
+ * Lower allowed limit of the meter reading
1970
+ * example:
1971
+ * {{CallResponse.data.lower_limit}}
1972
+ */
1973
+ lower_limit?: string;
1974
+ };
1975
+ /**
1976
+ * Deprecated. Prefer `secure_proxy` instead.
1977
+ * If true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.
1978
+ *
1979
+ */
1980
+ use_static_ips?: boolean;
1981
+ secure_proxy?: /* If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips. */ PortalExtensionSecureProxy;
1982
+ }
1983
+ /**
1984
+ * Hook that will allow using the specified source as data for price visualizations. This hook is triggered to fetch the data. Format of the request and response has to follow the following specification: TBD. The expected response to the call is:
1985
+ * - 200 with the time series data
1986
+ *
1987
+ */
1988
+ export interface PortalExtensionHookPriceDataRetrieval {
1989
+ /**
1990
+ * Identifier of the hook. Should not change between updates.
1991
+ */
1992
+ id: string; // ^[a-zA-Z0-9_-]+$
1993
+ name?: TranslatedString;
1994
+ type: "priceDataRetrieval";
1995
+ /**
1996
+ * Deprecated. Prefer declaring a sibling `visualizationMetadata` hook on the same extension and returning `intervals` from its response — that way the supported intervals can vary per meter/contract.
1997
+ * Intervals supported by the API. If omitted, it is assumed that all intervals are supported.
1998
+ *
1999
+ */
2000
+ intervals?: ("PT15M" | "PT1H" | "P1D" | "P1M")[];
2001
+ auth?: PortalExtensionAuthBlock;
2002
+ call: {
2003
+ /**
2004
+ * HTTP method to use for the call
2005
+ */
2006
+ method?: string;
2007
+ /**
2008
+ * URL to call. Supports variable interpolation.
2009
+ */
2010
+ url: string;
2011
+ /**
2012
+ * Parameters to append to the URL. Supports variable interpolation.
2013
+ */
2014
+ params?: {
2015
+ [name: string]: string;
2016
+ };
2017
+ /**
2018
+ * Headers to use. Supports variable interpolation.
2019
+ */
2020
+ headers?: {
2021
+ [name: string]: string;
2022
+ };
2023
+ /**
2024
+ * Request body to send. Supports variable interpolation. Content format is determined by Content-Type header.
2025
+ */
2026
+ body?: {
2027
+ [name: string]: any;
2028
+ };
2029
+ };
2030
+ resolved?: {
2031
+ /**
2032
+ * Optional path to the data (array) in the response. If omitted, the data is assumed to be on the top level.
2033
+ */
2034
+ dataPath?: string;
2035
+ };
2036
+ /**
2037
+ * Deprecated. Prefer `secure_proxy` instead.
2038
+ * If true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.
2039
+ *
2040
+ */
2041
+ use_static_ips?: boolean;
2042
+ secure_proxy?: /* If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips. */ PortalExtensionSecureProxy;
2043
+ }
2044
+ /**
2045
+ * Hook that replaces the built-in registration identifiers check. This hook makes a POST call whenever a user is trying to register to find the corresponding contact. The expected response to the call is:
2046
+ * - 200 with contact id if exactly one contact is found
2047
+ * - 404 if no contact is found or more than contact is found
2048
+ *
2049
+ */
2050
+ export interface PortalExtensionHookRegistrationIdentifiersCheck {
2051
+ /**
2052
+ * Identifier of the hook. Should not change between updates.
2053
+ */
2054
+ id: string; // ^[a-zA-Z0-9_-]+$
2055
+ name?: TranslatedString;
2056
+ type: "registrationIdentifiersCheck";
2057
+ auth?: PortalExtensionAuthBlock;
2058
+ call: {
2059
+ /**
2060
+ * HTTP method to use for the call
2061
+ */
2062
+ method?: string;
2063
+ /**
2064
+ * URL to call. Supports variable interpolation.
2065
+ */
2066
+ url: string;
2067
+ /**
2068
+ * Parameters to append to the URL. Supports variable interpolation.
2069
+ */
2070
+ params?: {
2071
+ [name: string]: string;
2072
+ };
2073
+ /**
2074
+ * Headers to use. Supports variable interpolation.
2075
+ */
2076
+ headers: {
2077
+ [name: string]: string;
2078
+ };
2079
+ /**
2080
+ * Optional JSON body to use for the call. Defaults to object with all configured identifiers grouped by entity, e.g. `{"contract": {"contract_name": "Name"}}`. Supports variable interpolation.
2081
+ */
2082
+ body?: {
2083
+ [key: string]: any;
2084
+ };
2085
+ /**
2086
+ * Contact ID usually retrieved from the response body, e.g. `{{CallResponse.data.contact_id}}`. If no result is passed and the request suceeds, we attempt to resolve the Contact ID automatically. Supports variable interpolation.
2087
+ */
2088
+ result: string;
2089
+ };
2090
+ /**
2091
+ * Deprecated. Prefer `secure_proxy` instead.
2092
+ * If true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.
2093
+ *
2094
+ */
2095
+ use_static_ips?: boolean;
2096
+ secure_proxy?: /* If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips. */ PortalExtensionSecureProxy;
2097
+ }
2098
+ /**
2099
+ * Hook that returns runtime metadata describing how a visualization (consumption / price / cost chart) should be rendered for a given portal context (meter, contract, etc). It is invoked by the portal before fetching data, with the same context the data hook would receive, so that the discovery shape can vary per meter/contract. The expected response to the call is:
2100
+ * - 200 with a JSON body of shape:
2101
+ * {
2102
+ * "type_options": [
2103
+ * { "id": "ht", "label": { "en": "High tariff" }, "aggregation_group": "consumption", "statistical_method": "sum", "unit": "kWh" },
2104
+ * ...
2105
+ * ],
2106
+ * "intervals": ["PT15M", "PT1H", "P1D", "P1M"],
2107
+ * "data_range": { "from": "2024-01-01T00:00:00Z", "to": "2026-05-01T00:00:00Z" }
2108
+ * }
2109
+ * Each type option carries its own `statistical_method`, which describes the method already applied to that type's data and dictates the chart shape: `sum` is rendered as a bar chart; `min`, `average`, and `max` are rendered as a line chart. A single visualization can therefore mix bar-shaped types with line-shaped types. Defaults to `sum` when omitted.
2110
+ * `aggregation_group` controls how types within a group are visually combined (depends on the per-type `statistical_method`):
2111
+ * - bar chart (`sum`): same-group types are stacked into a single bar (e.g. ht/nt summed into total consumption); different-group types render side-by-side.
2112
+ * - line chart (`min` / `average` / `max`): same-group types are rendered as an area chart; different-group types render as separate lines.
2113
+ * All fields are optional; the consumer falls back to its defaults for whatever the hook does not return.
2114
+ * The portal looks up this hook implicitly per extension (one `visualizationMetadata` hook per extension) — there is no need for a data-retrieval hook to reference it explicitly.
2115
+ *
2116
+ */
2117
+ export interface PortalExtensionHookVisualizationMetadata {
2118
+ /**
2119
+ * Identifier of the hook. Should not change between updates.
2120
+ */
2121
+ id: string; // ^[a-zA-Z0-9_-]+$
2122
+ name?: TranslatedString;
2123
+ type: "visualizationMetadata";
2124
+ auth?: PortalExtensionAuthBlock;
2125
+ call: {
2126
+ /**
2127
+ * HTTP method to use for the call
2128
+ */
2129
+ method?: string;
2130
+ /**
2131
+ * URL to call. Supports variable interpolation.
2132
+ */
2133
+ url: string;
2134
+ /**
2135
+ * Parameters to append to the URL. Supports variable interpolation.
2136
+ */
2137
+ params?: {
2138
+ [name: string]: string;
2139
+ };
2140
+ /**
2141
+ * Headers to use. Supports variable interpolation.
2142
+ */
2143
+ headers?: {
2144
+ [name: string]: string;
2145
+ };
2146
+ /**
2147
+ * Request body to send. Supports variable interpolation. Content format is determined by Content-Type header.
2148
+ */
2149
+ body?: {
2150
+ [name: string]: any;
2151
+ };
2152
+ };
2153
+ resolved?: {
2154
+ /**
2155
+ * Optional path to the metadata object in the response. If omitted, the metadata is assumed to be on the top level.
2156
+ */
2157
+ dataPath?: string;
2158
+ };
2159
+ /**
2160
+ * Deprecated. Prefer `secure_proxy` instead.
2161
+ * If true, requests are made from a set of static IP addresses and only allow connections to a set of allowed IP addresses. Get in touch with us to add your IP addresses.
2162
+ *
2163
+ */
2164
+ use_static_ips?: boolean;
2165
+ secure_proxy?: /* If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips. */ PortalExtensionSecureProxy;
2166
+ }
2167
+ export interface PortalExtensionSeamlessLink {
2168
+ /**
2169
+ * Identifier of the link. Should not change between updates.
2170
+ */
2171
+ id: string; // ^[a-zA-Z0-9_-]+$
2172
+ name: TranslatedString;
2173
+ description?: TranslatedString;
2174
+ type: "seamless";
2175
+ /**
2176
+ * Controls whether the link should be shown. Supports variable interpolation.
2177
+ * example:
2178
+ * {{Contact.customer_number | is_not_empty}}
2179
+ */
2180
+ condition?: string;
2181
+ auth?: PortalExtensionAuthBlock;
2182
+ redirect: {
2183
+ /**
2184
+ * URL to redirect to. Supports variable interpolation.
2185
+ */
2186
+ url?: string;
2187
+ /**
2188
+ * Parameters to append to the URL. Supports variable interpolation.
2189
+ */
2190
+ params?: {
2191
+ [name: string]: string;
2192
+ };
2193
+ };
2194
+ }
2195
+ /**
2196
+ * If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips.
2197
+ */
2198
+ export interface PortalExtensionSecureProxy {
2199
+ /**
2200
+ * Integration ID that owns the secure_proxy use case.
2201
+ */
2202
+ integration_id: string; // uuid
2203
+ /**
2204
+ * Use case slug for the secure proxy use case.
2205
+ */
2206
+ use_case_slug: string;
2207
+ }
2208
+ export interface Pricing {
2209
+ pricing_type?: "FREE" | "SUBSCRIPTION" | "USAGE_BASED" | "ONE_TIME" | "CUSTOM" | "UNKNOWN";
2210
+ billing_frequency?: /* How often the subscription is billed */ BillingFrequency;
2211
+ }
2212
+ /**
2213
+ * Public configuration of the published app
2214
+ */
2215
+ export interface PublicConfiguration {
2216
+ /**
2217
+ * ID of the app configuration
2218
+ */
2219
+ app_id: string;
2220
+ /**
2221
+ * Email address for support requests
2222
+ */
2223
+ support_email?: string;
2224
+ /**
2225
+ * Organization ID of the app owner
2226
+ */
2227
+ owner_org_id: string;
2228
+ /**
2229
+ * Name of the app
2230
+ */
2231
+ name: string;
2232
+ author?: Author;
2233
+ /**
2234
+ * Flag to indicate if the app is in dev mode.
2235
+ */
2236
+ dev_mode?: boolean;
2237
+ /**
2238
+ * Category of the app.
2239
+ */
2240
+ category?: string;
2241
+ /**
2242
+ * URL of the app icon.
2243
+ */
2244
+ icon_url?: string;
2245
+ /**
2246
+ * URL of the app documentation.
2247
+ */
2248
+ documentation_url?: string;
2249
+ /**
2250
+ * Markdown description of the app.
2251
+ */
2252
+ description?: {
2253
+ /**
2254
+ * English translation
2255
+ */
2256
+ en?: string | null;
2257
+ /**
2258
+ * German translation
2259
+ */
2260
+ de: string;
2261
+ };
2262
+ /**
2263
+ * Pricing information for the app
2264
+ */
2265
+ pricing?: {
2266
+ pricing_type?: "FREE" | "SUBSCRIPTION" | "USAGE_BASED" | "ONE_TIME" | "CUSTOM" | "UNKNOWN";
2267
+ billing_frequency?: /* How often the subscription is billed */ BillingFrequency;
2268
+ };
2269
+ components: BaseComponent[];
2270
+ /**
2271
+ * Flag to indicate if the app is in beta.
2272
+ */
2273
+ is_beta?: boolean;
2274
+ /**
2275
+ * Timestamp when the app version is deprecated
2276
+ */
2277
+ deprecated_at?: string;
2278
+ /**
2279
+ * Version of the app that is installed
2280
+ */
2281
+ version: string;
2282
+ role?: Role;
2283
+ blueprint_ref?: BlueprintRef;
2284
+ /**
2285
+ * Latest version of the app
2286
+ */
2287
+ latest_version?: string;
2288
+ /**
2289
+ * Flag to indicate if the app is public.
2290
+ */
2291
+ public?: boolean;
2292
+ /**
2293
+ * List of available versions of the app
2294
+ */
2295
+ versions?: /* Configuration data about your app which is versionable */ ConfigurationVersion[];
2296
+ }
2297
+ export interface RawEvents {
2298
+ type?: "raw";
2299
+ events?: AppEventData[];
2300
+ }
2301
+ export interface Review {
2302
+ /**
2303
+ * Version of the app that is under review
2304
+ */
2305
+ version?: string;
2306
+ /**
2307
+ * Status of the review
2308
+ */
2309
+ review_status?: "approved" | "rejected" | "pending";
2310
+ /**
2311
+ * Timestamp of the review
2312
+ */
2313
+ requested_at?: string;
2314
+ /**
2315
+ * User ID of the reviewer
2316
+ */
2317
+ requested_by?: string;
2318
+ /**
2319
+ * Email of the technical contact
2320
+ */
2321
+ technical_contact?: string;
2322
+ /**
2323
+ * Email of the marketing contact
2324
+ */
2325
+ marketing_contact?: string;
2326
+ /**
2327
+ * URL of the demo
2328
+ */
2329
+ demo_url?: string;
2330
+ }
2331
+ export interface Role {
2332
+ /**
2333
+ * Name of the role
2334
+ */
2335
+ id?: string;
2336
+ grants?: /* Required grants for the app in order to call APIs for the installing tenant */ Grants;
2337
+ }
2338
+ export interface S3Reference {
2339
+ /**
2340
+ * The name of the S3 bucket where the JSON file for import is stored.
2341
+ * example:
2342
+ * my-bucket
2343
+ */
2344
+ bucket: string;
2345
+ /**
2346
+ * The key or path to the JSON file within the S3 bucket.
2347
+ * example:
2348
+ * manifest.json
2349
+ */
2350
+ key: string;
2351
+ }
2352
+ export interface SandboxCustomActionConfig {
2353
+ /**
2354
+ * Name of the custom action
2355
+ */
2356
+ name?: string;
2357
+ /**
2358
+ * Description of the custom action
2359
+ */
2360
+ description?: string;
2361
+ /**
2362
+ * Wait for callback_url to be called before completing the action
2363
+ */
2364
+ wait_for_callback?: boolean;
2365
+ type: "sandbox";
2366
+ sandbox_settings?: {
2367
+ /**
2368
+ * JavaScript code to execute for the sandbox action. Maximum size: 300KB (hard limit). Code is stored as raw JavaScript and will be syntax-validated on save. Security restrictions: eval() and Function() constructor are not allowed.
2369
+ *
2370
+ */
2371
+ code?: string;
2372
+ };
2373
+ }
2374
+ export interface TextArg {
2375
+ type?: "text";
2376
+ }
2377
+ export interface TranslatedString {
2378
+ /**
2379
+ * English translation
2380
+ */
2381
+ en?: string | null;
2382
+ /**
2383
+ * German translation
2384
+ */
2385
+ de: string;
2386
+ }
2387
+ }
2388
+ }
2389
+ declare namespace Paths {
2390
+ namespace CloneVersion {
2391
+ namespace Parameters {
2392
+ export type AppId = string;
2393
+ export type SourceVersion = string;
2394
+ export type TargetVersion = string;
2395
+ }
2396
+ export interface PathParameters {
2397
+ appId: Parameters.AppId;
2398
+ sourceVersion: Parameters.SourceVersion;
2399
+ targetVersion: Parameters.TargetVersion;
2400
+ }
2401
+ namespace Responses {
2402
+ export interface $201 {
2403
+ app_id?: string;
2404
+ version?: string;
2405
+ status?: "pending" | "published";
2406
+ }
2407
+ export interface $400 {
2408
+ }
2409
+ export interface $404 {
2410
+ }
2411
+ }
2412
+ }
2413
+ namespace CreateBundleUploadUrl {
2414
+ namespace Parameters {
2415
+ export type AppId = string;
2416
+ }
2417
+ export interface PathParameters {
2418
+ appId: Parameters.AppId;
2419
+ }
2420
+ export type RequestBody = Components.RequestBodies.CreateBundlePresignedRequest;
2421
+ namespace Responses {
2422
+ export interface $200 {
2423
+ /**
2424
+ * ID of the journye block component
2425
+ */
2426
+ component_id?: string;
2427
+ /**
2428
+ * URL of the web component object
2429
+ */
2430
+ component_url?: string;
2431
+ /**
2432
+ * Presigned S3 URL for uploading the bundle
2433
+ */
2434
+ upload_url: string;
2435
+ s3ref?: Components.Schemas.S3Reference;
2436
+ /**
2437
+ * Timestamp when the upload URL expires
2438
+ */
2439
+ expires_at?: string; // date-time
2440
+ }
2441
+ export interface $404 {
2442
+ }
2443
+ }
2444
+ }
2445
+ namespace CreateComponent {
2446
+ namespace Parameters {
2447
+ export type AppId = string;
2448
+ export type Version = string;
2449
+ }
2450
+ export interface PathParameters {
2451
+ appId: Parameters.AppId;
2452
+ version: Parameters.Version;
2453
+ }
2454
+ export type RequestBody = Components.RequestBodies.UpsertComponentRequest;
2455
+ namespace Responses {
2456
+ export interface $200 {
2457
+ component?: Components.Schemas.BaseComponent;
2458
+ }
2459
+ export interface $400 {
2460
+ }
2461
+ export interface $404 {
2462
+ }
2463
+ }
2464
+ }
2465
+ namespace CreateConfiguration {
2466
+ export type RequestBody = Components.RequestBodies.CreateConfigRequest;
2467
+ namespace Responses {
2468
+ export interface $201 {
2469
+ app_id: string;
2470
+ }
2471
+ }
2472
+ }
2473
+ namespace CreateLogoUploadUrl {
2474
+ export type RequestBody = Components.RequestBodies.CreateLogoPresignedRequest;
2475
+ namespace Responses {
2476
+ export interface $200 {
2477
+ /**
2478
+ * Presigned S3 URL for uploading the logo
2479
+ */
2480
+ upload_url: string;
2481
+ s3ref?: Components.Schemas.S3Reference;
2482
+ /**
2483
+ * Timestamp when the upload URL expires
2484
+ */
2485
+ expires_at?: string; // date-time
2486
+ }
2487
+ export interface $404 {
2488
+ }
2489
+ }
2490
+ }
2491
+ namespace CreateReview {
2492
+ namespace Parameters {
2493
+ export type AppId = string;
2494
+ export type Version = string;
2495
+ }
2496
+ export interface PathParameters {
2497
+ appId: Parameters.AppId;
2498
+ version: Parameters.Version;
2499
+ }
2500
+ export type RequestBody = Components.RequestBodies.CreateReviewRequest;
2501
+ namespace Responses {
2502
+ export interface $200 {
2503
+ review?: Components.Schemas.Review;
2504
+ }
2505
+ export interface $400 {
2506
+ }
2507
+ export interface $404 {
2508
+ }
2509
+ }
2510
+ }
2511
+ namespace CreateZipUploadUrl {
2512
+ namespace Parameters {
2513
+ export type AppId = string;
2514
+ }
2515
+ export interface PathParameters {
2516
+ appId: Parameters.AppId;
2517
+ }
2518
+ export interface RequestBody {
2519
+ /**
2520
+ * Version of the app configuration
2521
+ * example:
2522
+ * 1.0.0
2523
+ */
2524
+ version?: string;
2525
+ /**
2526
+ * ID of the journey block component
2527
+ */
2528
+ component_id?: string;
2529
+ /**
2530
+ * example:
2531
+ * dist.zip
2532
+ */
2533
+ filename?: string;
2534
+ }
2535
+ namespace Responses {
2536
+ export interface $200 {
2537
+ /**
2538
+ * ID of the journye block component
2539
+ */
2540
+ component_id?: string;
2541
+ /**
2542
+ * Presigned S3 URL for uploading the bundle
2543
+ */
2544
+ upload_url: string;
2545
+ /**
2546
+ * Public CDN URL for the unpacked artifacts
2547
+ */
2548
+ artifact_url: string;
2549
+ s3ref?: Components.Schemas.S3Reference;
2550
+ /**
2551
+ * Timestamp when the upload URL expires
2552
+ */
2553
+ expires_at?: string; // date-time
2554
+ }
2555
+ export interface $404 {
2556
+ }
2557
+ }
2558
+ }
2559
+ namespace DeleteComponent {
2560
+ namespace Parameters {
2561
+ export type AppId = string;
2562
+ export type ComponentId = string;
2563
+ export type Version = string;
2564
+ }
2565
+ export interface PathParameters {
2566
+ appId: Parameters.AppId;
2567
+ version: Parameters.Version;
2568
+ componentId: Parameters.ComponentId;
2569
+ }
2570
+ namespace Responses {
2571
+ export interface $204 {
2572
+ }
2573
+ export interface $404 {
2574
+ }
2575
+ }
2576
+ }
2577
+ namespace DeleteConfiguration {
2578
+ namespace Responses {
2579
+ export interface $204 {
2580
+ }
2581
+ export interface $404 {
2582
+ }
2583
+ }
2584
+ }
2585
+ namespace DeleteLogo {
2586
+ namespace Responses {
2587
+ export interface $204 {
2588
+ }
2589
+ export interface $404 {
2590
+ }
2591
+ }
2592
+ }
2593
+ namespace DeleteVersion {
2594
+ namespace Parameters {
2595
+ export type AppId = string;
2596
+ export type Version = string;
2597
+ }
2598
+ export interface PathParameters {
2599
+ appId: Parameters.AppId;
2600
+ version: Parameters.Version;
2601
+ }
2602
+ namespace Responses {
2603
+ export interface $204 {
2604
+ }
2605
+ export interface $400 {
2606
+ }
2607
+ export interface $404 {
2608
+ }
2609
+ export interface $409 {
2610
+ }
2611
+ }
2612
+ }
2613
+ namespace GetConfiguration {
2614
+ namespace Parameters {
2615
+ export type Version = string;
2616
+ }
2617
+ export interface QueryParameters {
2618
+ version?: Parameters.Version;
2619
+ }
2620
+ namespace Responses {
2621
+ export type $200 = /* Configuration of the published app */ Components.Schemas.Configuration;
2622
+ export interface $404 {
2623
+ }
2624
+ }
2625
+ }
2626
+ namespace GetInstallation {
2627
+ namespace Parameters {
2628
+ export type AppId = string;
2629
+ }
2630
+ export interface PathParameters {
2631
+ appId: Parameters.AppId;
2632
+ }
2633
+ namespace Responses {
2634
+ export type $200 = /* Information about the installed app. Has configuration data of the installed version */ Components.Schemas.Installation;
2635
+ export interface $404 {
2636
+ }
2637
+ }
2638
+ }
2639
+ namespace GetPublicConfiguration {
2640
+ namespace Parameters {
2641
+ export type Version = string;
2642
+ }
2643
+ export interface QueryParameters {
2644
+ version?: Parameters.Version;
2645
+ }
2646
+ namespace Responses {
2647
+ export type $200 = /* Public configuration of the published app */ Components.Schemas.PublicConfiguration;
2648
+ export interface $404 {
2649
+ }
2650
+ }
2651
+ }
2652
+ namespace GetPublicFacingComponent {
2653
+ namespace Responses {
2654
+ export interface $200 {
2655
+ component?: Components.Schemas.BaseComponent;
2656
+ }
2657
+ export interface $404 {
2658
+ }
2659
+ }
2660
+ }
2661
+ namespace GetReview {
2662
+ namespace Parameters {
2663
+ export type AppId = string;
2664
+ export type Version = string;
2665
+ }
2666
+ export interface PathParameters {
2667
+ appId: Parameters.AppId;
2668
+ version: Parameters.Version;
2669
+ }
2670
+ namespace Responses {
2671
+ export interface $200 {
2672
+ review?: Components.Schemas.Review;
2673
+ }
2674
+ export interface $404 {
2675
+ }
2676
+ }
2677
+ }
2678
+ namespace GetVersion {
2679
+ namespace Parameters {
2680
+ export type AppId = string;
2681
+ export type Version = string;
2682
+ }
2683
+ export interface PathParameters {
2684
+ appId: Parameters.AppId;
2685
+ version: Parameters.Version;
2686
+ }
2687
+ namespace Responses {
2688
+ export type $200 = /* Configuration of the published app */ Components.Schemas.Configuration;
2689
+ export interface $404 {
2690
+ }
2691
+ }
2692
+ }
2693
+ namespace IngestEvent {
2694
+ export type RequestBody = Components.Schemas.AppEventData | Components.Schemas.BatchEventRequest;
2695
+ namespace Responses {
2696
+ export interface $202 {
2697
+ }
2698
+ export interface $400 {
2699
+ }
2700
+ }
2701
+ }
2702
+ namespace Install {
2703
+ namespace Parameters {
2704
+ export type AppId = string;
2705
+ }
2706
+ export interface PathParameters {
2707
+ appId: Parameters.AppId;
2708
+ }
2709
+ export type RequestBody = Components.RequestBodies.InstallRequest;
2710
+ namespace Responses {
2711
+ export type $201 = /* Information about the installed app. Has configuration data of the installed version */ Components.Schemas.Installation;
2712
+ export interface $404 {
2713
+ }
2714
+ }
2715
+ }
2716
+ namespace ListConfigurations {
2717
+ namespace Parameters {
2718
+ export type Page = number;
2719
+ export type PageSize = number;
2720
+ }
2721
+ export interface QueryParameters {
2722
+ page?: Parameters.Page;
2723
+ pageSize?: Parameters.PageSize;
2724
+ }
2725
+ namespace Responses {
2726
+ export interface $200 {
2727
+ configurations?: /* Basic metadata about your app configuration which does not get versioned */ Components.Schemas.ConfigurationMetadata[];
2728
+ pagination?: {
2729
+ total?: number;
2730
+ page?: number;
2731
+ pageSize?: number;
2732
+ };
2733
+ }
2734
+ }
2735
+ }
2736
+ namespace ListInstallations {
2737
+ namespace Parameters {
2738
+ export type ComponentType = /* Type of app component */ Components.Schemas.ComponentType;
2739
+ export type Enabled = boolean;
2740
+ export type Page = number;
2741
+ export type PageSize = number;
2742
+ }
2743
+ export interface QueryParameters {
2744
+ componentType?: Parameters.ComponentType;
2745
+ enabled?: Parameters.Enabled;
2746
+ page?: Parameters.Page;
2747
+ pageSize?: Parameters.PageSize;
2748
+ }
2749
+ namespace Responses {
2750
+ export interface $200 {
2751
+ apps?: /* Information about the installed app. Has configuration data of the installed version */ Components.Schemas.Installation[];
2752
+ pagination?: {
2753
+ total?: number;
2754
+ page?: number;
2755
+ pageSize?: number;
2756
+ };
2757
+ }
2758
+ }
2759
+ }
2760
+ namespace ListPublicConfigurations {
2761
+ namespace Parameters {
2762
+ export type Page = number;
2763
+ export type PageSize = number;
2764
+ }
2765
+ export interface QueryParameters {
2766
+ page?: Parameters.Page;
2767
+ pageSize?: Parameters.PageSize;
2768
+ }
2769
+ namespace Responses {
2770
+ export interface $200 {
2771
+ configurations?: /* Basic metadata about your app configuration which does not get versioned */ Components.Schemas.ConfigurationMetadata[];
2772
+ pagination?: {
2773
+ total?: number;
2774
+ page?: number;
2775
+ pageSize?: number;
2776
+ };
2777
+ }
2778
+ }
2779
+ }
2780
+ namespace ListVersions {
2781
+ namespace Parameters {
2782
+ export type AppId = string;
2783
+ export type Page = number;
2784
+ export type PageSize = number;
2785
+ }
2786
+ export interface PathParameters {
2787
+ appId: Parameters.AppId;
2788
+ }
2789
+ export interface QueryParameters {
2790
+ page?: Parameters.Page;
2791
+ pageSize?: Parameters.PageSize;
2792
+ }
2793
+ namespace Responses {
2794
+ export interface $200 {
2795
+ versions?: /* Configuration data about your app which is versionable */ Components.Schemas.ConfigurationVersion[];
2796
+ pagination?: {
2797
+ total?: number;
2798
+ page?: number;
2799
+ pageSize?: number;
2800
+ };
2801
+ }
2802
+ export interface $400 {
2803
+ }
2804
+ }
2805
+ }
2806
+ namespace PatchComponent {
2807
+ namespace Parameters {
2808
+ export type AppId = string;
2809
+ export type ComponentId = string;
2810
+ export type Version = string;
2811
+ }
2812
+ export interface PathParameters {
2813
+ appId: Parameters.AppId;
2814
+ version: Parameters.Version;
2815
+ componentId: Parameters.ComponentId;
2816
+ }
2817
+ export type RequestBody = Components.RequestBodies.UpsertComponentRequest;
2818
+ namespace Responses {
2819
+ export interface $204 {
2820
+ }
2821
+ export interface $400 {
2822
+ }
2823
+ export interface $404 {
2824
+ }
2825
+ }
2826
+ }
2827
+ namespace PatchInstallation {
2828
+ namespace Parameters {
2829
+ export type AppId = string;
2830
+ }
2831
+ export interface PathParameters {
2832
+ appId: Parameters.AppId;
2833
+ }
2834
+ export type RequestBody = Components.RequestBodies.InstallRequest;
2835
+ namespace Responses {
2836
+ export interface $204 {
2837
+ }
2838
+ export interface $404 {
2839
+ }
2840
+ }
2841
+ }
2842
+ namespace PatchMetadata {
2843
+ export type RequestBody = Components.RequestBodies.PatchConfigMetadataRequest;
2844
+ namespace Responses {
2845
+ export interface $204 {
2846
+ }
2847
+ export interface $404 {
2848
+ }
2849
+ }
2850
+ }
2851
+ namespace PatchVersion {
2852
+ namespace Parameters {
2853
+ export type AppId = string;
2854
+ export type Version = string;
2855
+ }
2856
+ export interface PathParameters {
2857
+ appId: Parameters.AppId;
2858
+ version: Parameters.Version;
2859
+ }
2860
+ export type RequestBody = Components.RequestBodies.PatchVersionRequest;
2861
+ namespace Responses {
2862
+ export interface $204 {
2863
+ }
2864
+ export interface $400 {
2865
+ }
2866
+ export interface $404 {
2867
+ }
2868
+ }
2869
+ }
2870
+ namespace PromoteVersion {
2871
+ namespace Parameters {
2872
+ export type AppId = string;
2873
+ export type Version = string;
2874
+ }
2875
+ export interface PathParameters {
2876
+ appId: Parameters.AppId;
2877
+ version: Parameters.Version;
2878
+ }
2879
+ namespace Responses {
2880
+ export type $200 = /* Information about the installed app. Has configuration data of the installed version */ Components.Schemas.Installation;
2881
+ export interface $400 {
2882
+ }
2883
+ export interface $404 {
2884
+ }
2885
+ }
2886
+ }
2887
+ namespace PublicProxyGet {
2888
+ namespace Responses {
2889
+ export interface $200 {
2890
+ }
2891
+ export interface $403 {
2892
+ }
2893
+ export interface $404 {
2894
+ }
2895
+ export interface $502 {
2896
+ }
2897
+ }
2898
+ }
2899
+ namespace PublicProxyPost {
2900
+ export interface RequestBody {
2901
+ }
2902
+ namespace Responses {
2903
+ export interface $200 {
2904
+ }
2905
+ export interface $403 {
2906
+ }
2907
+ export interface $404 {
2908
+ }
2909
+ export interface $502 {
2910
+ }
2911
+ }
2912
+ }
2913
+ namespace QueryEvents {
2914
+ namespace Parameters {
2915
+ export type AppId = string;
2916
+ }
2917
+ export interface PathParameters {
2918
+ appId: Parameters.AppId;
2919
+ }
2920
+ export type RequestBody = Components.Schemas.EventsQuery;
2921
+ namespace Responses {
2922
+ export type $200 = Components.Schemas.EventsQueryResponse;
2923
+ export interface $400 {
2924
+ }
2925
+ export interface $404 {
2926
+ }
2927
+ }
2928
+ }
2929
+ namespace Uninstall {
2930
+ namespace Parameters {
2931
+ export type AppId = string;
2932
+ }
2933
+ export interface PathParameters {
2934
+ appId: Parameters.AppId;
2935
+ }
2936
+ namespace Responses {
2937
+ export interface $204 {
2938
+ }
2939
+ export interface $404 {
2940
+ }
2941
+ }
2942
+ }
2943
+ namespace V1AppConfigurations$AppId {
2944
+ namespace Parameters {
2945
+ export type AppId = string;
2946
+ }
2947
+ export interface PathParameters {
2948
+ appId: Parameters.AppId;
2949
+ }
2950
+ }
2951
+ namespace V1AppConfigurations$AppIdLogo {
2952
+ namespace Parameters {
2953
+ export type AppId = string;
2954
+ }
2955
+ export interface PathParameters {
2956
+ appId: Parameters.AppId;
2957
+ }
2958
+ }
2959
+ namespace V1AppConfigurationsPublic$AppId {
2960
+ namespace Parameters {
2961
+ export type AppId = string;
2962
+ }
2963
+ export interface PathParameters {
2964
+ appId: Parameters.AppId;
2965
+ }
2966
+ }
2967
+ namespace V1PublicApp$AppIdComponents$ComponentId {
2968
+ namespace Parameters {
2969
+ export type AppId = string;
2970
+ export type ComponentId = string;
2971
+ }
2972
+ export interface PathParameters {
2973
+ appId: Parameters.AppId;
2974
+ componentId: Parameters.ComponentId;
2975
+ }
2976
+ }
2977
+ namespace V1PublicApp$AppIdProxy$ProxyName$Path {
2978
+ namespace Parameters {
2979
+ export type AppId = string;
2980
+ export type Path = string;
2981
+ export type ProxyName = string;
2982
+ }
2983
+ export interface PathParameters {
2984
+ appId: Parameters.AppId;
2985
+ proxyName: Parameters.ProxyName;
2986
+ path: Parameters.Path;
2987
+ }
2988
+ }
2989
+ }
2990
+
2991
+
2992
+ interface OperationMethods {
2993
+ /**
2994
+ * getPublicFacingComponent - getPublicFacingComponent
2995
+ *
2996
+ * Retrieve public facing components for an installed app
2997
+ */
2998
+ 'getPublicFacingComponent'(
2999
+ parameters?: Parameters<Paths.V1PublicApp$AppIdComponents$ComponentId.PathParameters> | null,
3000
+ data?: any,
3001
+ config?: AxiosRequestConfig
3002
+ ): OperationResponse<Paths.GetPublicFacingComponent.Responses.$200>
3003
+ /**
3004
+ * listConfigurations - listConfigurations
3005
+ *
3006
+ * List all app configuration metadata owned by an organization. To get full app configuration details, use the /v1/app-configurations/{appId} endpoint.
3007
+ */
3008
+ 'listConfigurations'(
3009
+ parameters?: Parameters<Paths.ListConfigurations.QueryParameters> | null,
3010
+ data?: any,
3011
+ config?: AxiosRequestConfig
3012
+ ): OperationResponse<Paths.ListConfigurations.Responses.$200>
3013
+ /**
3014
+ * createConfiguration - createConfiguration
3015
+ *
3016
+ * Create a new private app configuration. To make it public a verification process needs to be triggered
3017
+ */
3018
+ 'createConfiguration'(
3019
+ parameters?: Parameters<UnknownParamsObject> | null,
3020
+ data?: Paths.CreateConfiguration.RequestBody,
3021
+ config?: AxiosRequestConfig
3022
+ ): OperationResponse<Paths.CreateConfiguration.Responses.$201>
3023
+ /**
3024
+ * listPublicConfigurations - listPublicConfigurations
3025
+ *
3026
+ * List all publicly available app configurations that can be installed. This endpoint returns apps that have at least one public version.
3027
+ */
3028
+ 'listPublicConfigurations'(
3029
+ parameters?: Parameters<Paths.ListPublicConfigurations.QueryParameters> | null,
3030
+ data?: any,
3031
+ config?: AxiosRequestConfig
3032
+ ): OperationResponse<Paths.ListPublicConfigurations.Responses.$200>
3033
+ /**
3034
+ * getPublicConfiguration - getPublicConfiguration
3035
+ *
3036
+ * Retrieve the public configuration of an app to install in your tenant
3037
+ */
3038
+ 'getPublicConfiguration'(
3039
+ parameters?: Parameters<Paths.GetPublicConfiguration.QueryParameters & Paths.V1AppConfigurationsPublic$AppId.PathParameters> | null,
3040
+ data?: any,
3041
+ config?: AxiosRequestConfig
3042
+ ): OperationResponse<Paths.GetPublicConfiguration.Responses.$200>
3043
+ /**
3044
+ * getConfiguration - getConfiguration
3045
+ *
3046
+ * Retrieve a specific app configuration
3047
+ */
3048
+ 'getConfiguration'(
3049
+ parameters?: Parameters<Paths.GetConfiguration.QueryParameters & Paths.V1AppConfigurations$AppId.PathParameters> | null,
3050
+ data?: any,
3051
+ config?: AxiosRequestConfig
3052
+ ): OperationResponse<Paths.GetConfiguration.Responses.$200>
3053
+ /**
3054
+ * patchMetadata - patchMetadata
3055
+ *
3056
+ * Patch non-versioned configuration metadata of a given app configuration.
3057
+ */
3058
+ 'patchMetadata'(
3059
+ parameters?: Parameters<Paths.V1AppConfigurations$AppId.PathParameters> | null,
3060
+ data?: Paths.PatchMetadata.RequestBody,
3061
+ config?: AxiosRequestConfig
3062
+ ): OperationResponse<Paths.PatchMetadata.Responses.$204>
3063
+ /**
3064
+ * deleteConfiguration - Delete app configuration
3065
+ *
3066
+ * Delete an app configuration and all its versions and components.
3067
+ */
3068
+ 'deleteConfiguration'(
3069
+ parameters?: Parameters<Paths.V1AppConfigurations$AppId.PathParameters> | null,
3070
+ data?: any,
3071
+ config?: AxiosRequestConfig
3072
+ ): OperationResponse<Paths.DeleteConfiguration.Responses.$204>
3073
+ /**
3074
+ * queryEvents - queryEvents
3075
+ *
3076
+ * Query analytics events for a specific app with flexible filtering
3077
+ */
3078
+ 'queryEvents'(
3079
+ parameters?: Parameters<Paths.QueryEvents.PathParameters> | null,
3080
+ data?: Paths.QueryEvents.RequestBody,
3081
+ config?: AxiosRequestConfig
3082
+ ): OperationResponse<Paths.QueryEvents.Responses.$200>
3083
+ /**
3084
+ * createBundleUploadUrl - createBundleUploadUrl
3085
+ *
3086
+ * Generate a presigned URL for uploading app bundle to /<app-id>/bundle.js path
3087
+ */
3088
+ 'createBundleUploadUrl'(
3089
+ parameters?: Parameters<Paths.CreateBundleUploadUrl.PathParameters> | null,
3090
+ data?: Paths.CreateBundleUploadUrl.RequestBody,
3091
+ config?: AxiosRequestConfig
3092
+ ): OperationResponse<Paths.CreateBundleUploadUrl.Responses.$200>
3093
+ /**
3094
+ * createZipUploadUrl - createZipUploadUrl
3095
+ *
3096
+ * Generate a presigned URL to upload a zip file with artifacts that will be unpacked in a new directory under the /<app-id>/ path
3097
+ *
3098
+ */
3099
+ 'createZipUploadUrl'(
3100
+ parameters?: Parameters<Paths.CreateZipUploadUrl.PathParameters> | null,
3101
+ data?: Paths.CreateZipUploadUrl.RequestBody,
3102
+ config?: AxiosRequestConfig
3103
+ ): OperationResponse<Paths.CreateZipUploadUrl.Responses.$200>
3104
+ /**
3105
+ * createLogoUploadUrl - createLogoUploadUrl
3106
+ *
3107
+ * Generate a presigned URL for uploading app logo to /<app-id>/logo.png path
3108
+ */
3109
+ 'createLogoUploadUrl'(
3110
+ parameters?: Parameters<Paths.V1AppConfigurations$AppIdLogo.PathParameters> | null,
3111
+ data?: Paths.CreateLogoUploadUrl.RequestBody,
3112
+ config?: AxiosRequestConfig
3113
+ ): OperationResponse<Paths.CreateLogoUploadUrl.Responses.$200>
3114
+ /**
3115
+ * deleteLogo - deleteLogo
3116
+ *
3117
+ * Delete the app logo from /<app-id>/logo.png path
3118
+ */
3119
+ 'deleteLogo'(
3120
+ parameters?: Parameters<Paths.V1AppConfigurations$AppIdLogo.PathParameters> | null,
3121
+ data?: any,
3122
+ config?: AxiosRequestConfig
3123
+ ): OperationResponse<Paths.DeleteLogo.Responses.$204>
3124
+ /**
3125
+ * listVersions - listVersions
3126
+ *
3127
+ * Retrieve a list of versions for an app configuration
3128
+ */
3129
+ 'listVersions'(
3130
+ parameters?: Parameters<Paths.ListVersions.QueryParameters & Paths.ListVersions.PathParameters> | null,
3131
+ data?: any,
3132
+ config?: AxiosRequestConfig
3133
+ ): OperationResponse<Paths.ListVersions.Responses.$200>
3134
+ /**
3135
+ * getVersion - getVersion
3136
+ *
3137
+ * Retrieve a specific version of an app configuration
3138
+ */
3139
+ 'getVersion'(
3140
+ parameters?: Parameters<Paths.GetVersion.PathParameters> | null,
3141
+ data?: any,
3142
+ config?: AxiosRequestConfig
3143
+ ): OperationResponse<Paths.GetVersion.Responses.$200>
3144
+ /**
3145
+ * patchVersion - patchVersion
3146
+ *
3147
+ * Patch an existing app version
3148
+ */
3149
+ 'patchVersion'(
3150
+ parameters?: Parameters<Paths.PatchVersion.PathParameters> | null,
3151
+ data?: Paths.PatchVersion.RequestBody,
3152
+ config?: AxiosRequestConfig
3153
+ ): OperationResponse<Paths.PatchVersion.Responses.$204>
3154
+ /**
3155
+ * deleteVersion - deleteVersion
3156
+ *
3157
+ * Delete a specific version of an app configuration
3158
+ */
3159
+ 'deleteVersion'(
3160
+ parameters?: Parameters<Paths.DeleteVersion.PathParameters> | null,
3161
+ data?: any,
3162
+ config?: AxiosRequestConfig
3163
+ ): OperationResponse<Paths.DeleteVersion.Responses.$204>
3164
+ /**
3165
+ * getReview - getReview
3166
+ *
3167
+ * Retrieve the review status of a specific app version
3168
+ */
3169
+ 'getReview'(
3170
+ parameters?: Parameters<Paths.GetReview.PathParameters> | null,
3171
+ data?: any,
3172
+ config?: AxiosRequestConfig
3173
+ ): OperationResponse<Paths.GetReview.Responses.$200>
3174
+ /**
3175
+ * createReview - createReview
3176
+ *
3177
+ * Submit an app version for review to make it public
3178
+ */
3179
+ 'createReview'(
3180
+ parameters?: Parameters<Paths.CreateReview.PathParameters> | null,
3181
+ data?: Paths.CreateReview.RequestBody,
3182
+ config?: AxiosRequestConfig
3183
+ ): OperationResponse<Paths.CreateReview.Responses.$200>
3184
+ /**
3185
+ * createComponent - createComponent
3186
+ *
3187
+ * Patch an existing app version to create/add a component
3188
+ */
3189
+ 'createComponent'(
3190
+ parameters?: Parameters<Paths.CreateComponent.PathParameters> | null,
3191
+ data?: Paths.CreateComponent.RequestBody,
3192
+ config?: AxiosRequestConfig
3193
+ ): OperationResponse<Paths.CreateComponent.Responses.$200>
3194
+ /**
3195
+ * patchComponent - patchComponent
3196
+ *
3197
+ * Patch an existing app version to update its components
3198
+ */
3199
+ 'patchComponent'(
3200
+ parameters?: Parameters<Paths.PatchComponent.PathParameters> | null,
3201
+ data?: Paths.PatchComponent.RequestBody,
3202
+ config?: AxiosRequestConfig
3203
+ ): OperationResponse<Paths.PatchComponent.Responses.$204>
3204
+ /**
3205
+ * deleteComponent - deleteComponent
3206
+ *
3207
+ * Delete a specific component from an app version
3208
+ */
3209
+ 'deleteComponent'(
3210
+ parameters?: Parameters<Paths.DeleteComponent.PathParameters> | null,
3211
+ data?: any,
3212
+ config?: AxiosRequestConfig
3213
+ ): OperationResponse<Paths.DeleteComponent.Responses.$204>
3214
+ /**
3215
+ * cloneVersion - cloneVersion
3216
+ *
3217
+ * Clone an existing app version to create a new version
3218
+ */
3219
+ 'cloneVersion'(
3220
+ parameters?: Parameters<Paths.CloneVersion.PathParameters> | null,
3221
+ data?: any,
3222
+ config?: AxiosRequestConfig
3223
+ ): OperationResponse<Paths.CloneVersion.Responses.$201>
3224
+ /**
3225
+ * listInstallations - listInstallations
3226
+ *
3227
+ * Retrieve a list of installed apps for the organization.
3228
+ */
3229
+ 'listInstallations'(
3230
+ parameters?: Parameters<Paths.ListInstallations.QueryParameters> | null,
3231
+ data?: any,
3232
+ config?: AxiosRequestConfig
3233
+ ): OperationResponse<Paths.ListInstallations.Responses.$200>
3234
+ /**
3235
+ * getInstallation - getInstallation
3236
+ *
3237
+ * Retrieve details of an installed app by its ID.
3238
+ */
3239
+ 'getInstallation'(
3240
+ parameters?: Parameters<Paths.GetInstallation.PathParameters> | null,
3241
+ data?: any,
3242
+ config?: AxiosRequestConfig
3243
+ ): OperationResponse<Paths.GetInstallation.Responses.$200>
3244
+ /**
3245
+ * install - install
3246
+ *
3247
+ * Upsert app installation by its ID.
3248
+ */
3249
+ 'install'(
3250
+ parameters?: Parameters<Paths.Install.PathParameters> | null,
3251
+ data?: Paths.Install.RequestBody,
3252
+ config?: AxiosRequestConfig
3253
+ ): OperationResponse<Paths.Install.Responses.$201>
3254
+ /**
3255
+ * patchInstallation - patchInstallation
3256
+ *
3257
+ * Patch an installed app by its ID.
3258
+ */
3259
+ 'patchInstallation'(
3260
+ parameters?: Parameters<Paths.PatchInstallation.PathParameters> | null,
3261
+ data?: Paths.PatchInstallation.RequestBody,
3262
+ config?: AxiosRequestConfig
3263
+ ): OperationResponse<Paths.PatchInstallation.Responses.$204>
3264
+ /**
3265
+ * uninstall - uninstall
3266
+ *
3267
+ * Uninstall an app by its ID.
3268
+ */
3269
+ 'uninstall'(
3270
+ parameters?: Parameters<Paths.Uninstall.PathParameters> | null,
3271
+ data?: any,
3272
+ config?: AxiosRequestConfig
3273
+ ): OperationResponse<Paths.Uninstall.Responses.$204>
3274
+ /**
3275
+ * promoteVersion - promoteVersion
3276
+ *
3277
+ * Update an installed app to a new version
3278
+ */
3279
+ 'promoteVersion'(
3280
+ parameters?: Parameters<Paths.PromoteVersion.PathParameters> | null,
3281
+ data?: any,
3282
+ config?: AxiosRequestConfig
3283
+ ): OperationResponse<Paths.PromoteVersion.Responses.$200>
3284
+ /**
3285
+ * ingestEvent - ingestEvent
3286
+ *
3287
+ * Internal endpoint for services to submit app events for analytic purposes
3288
+ */
3289
+ 'ingestEvent'(
3290
+ parameters?: Parameters<UnknownParamsObject> | null,
3291
+ data?: Paths.IngestEvent.RequestBody,
3292
+ config?: AxiosRequestConfig
3293
+ ): OperationResponse<Paths.IngestEvent.Responses.$202>
3294
+ /**
3295
+ * publicProxyGet - publicProxyGet
3296
+ *
3297
+ * Forward a GET request to a registered proxy target from a public-facing component (e.g. journey blocks)
3298
+ */
3299
+ 'publicProxyGet'(
3300
+ parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
3301
+ data?: any,
3302
+ config?: AxiosRequestConfig
3303
+ ): OperationResponse<Paths.PublicProxyGet.Responses.$200>
3304
+ /**
3305
+ * publicProxyPost - publicProxyPost
3306
+ *
3307
+ * Forward a POST request to a registered proxy target from a public-facing component (e.g. journey blocks)
3308
+ */
3309
+ 'publicProxyPost'(
3310
+ parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
3311
+ data?: Paths.PublicProxyPost.RequestBody,
3312
+ config?: AxiosRequestConfig
3313
+ ): OperationResponse<Paths.PublicProxyPost.Responses.$200>
3314
+ }
3315
+
3316
+ interface PathsDictionary {
3317
+ ['/v1/public/app/{appId}/components/{componentId}']: {
3318
+ /**
3319
+ * getPublicFacingComponent - getPublicFacingComponent
3320
+ *
3321
+ * Retrieve public facing components for an installed app
3322
+ */
3323
+ 'get'(
3324
+ parameters?: Parameters<Paths.V1PublicApp$AppIdComponents$ComponentId.PathParameters> | null,
3325
+ data?: any,
3326
+ config?: AxiosRequestConfig
3327
+ ): OperationResponse<Paths.GetPublicFacingComponent.Responses.$200>
3328
+ }
3329
+ ['/v1/app-configurations']: {
3330
+ /**
3331
+ * listConfigurations - listConfigurations
3332
+ *
3333
+ * List all app configuration metadata owned by an organization. To get full app configuration details, use the /v1/app-configurations/{appId} endpoint.
3334
+ */
3335
+ 'get'(
3336
+ parameters?: Parameters<Paths.ListConfigurations.QueryParameters> | null,
3337
+ data?: any,
3338
+ config?: AxiosRequestConfig
3339
+ ): OperationResponse<Paths.ListConfigurations.Responses.$200>
3340
+ /**
3341
+ * createConfiguration - createConfiguration
3342
+ *
3343
+ * Create a new private app configuration. To make it public a verification process needs to be triggered
3344
+ */
3345
+ 'post'(
3346
+ parameters?: Parameters<UnknownParamsObject> | null,
3347
+ data?: Paths.CreateConfiguration.RequestBody,
3348
+ config?: AxiosRequestConfig
3349
+ ): OperationResponse<Paths.CreateConfiguration.Responses.$201>
3350
+ }
3351
+ ['/v1/app-configurations/public']: {
3352
+ /**
3353
+ * listPublicConfigurations - listPublicConfigurations
3354
+ *
3355
+ * List all publicly available app configurations that can be installed. This endpoint returns apps that have at least one public version.
3356
+ */
3357
+ 'get'(
3358
+ parameters?: Parameters<Paths.ListPublicConfigurations.QueryParameters> | null,
3359
+ data?: any,
3360
+ config?: AxiosRequestConfig
3361
+ ): OperationResponse<Paths.ListPublicConfigurations.Responses.$200>
3362
+ }
3363
+ ['/v1/app-configurations/public/{appId}']: {
3364
+ /**
3365
+ * getPublicConfiguration - getPublicConfiguration
3366
+ *
3367
+ * Retrieve the public configuration of an app to install in your tenant
3368
+ */
3369
+ 'get'(
3370
+ parameters?: Parameters<Paths.GetPublicConfiguration.QueryParameters & Paths.V1AppConfigurationsPublic$AppId.PathParameters> | null,
3371
+ data?: any,
3372
+ config?: AxiosRequestConfig
3373
+ ): OperationResponse<Paths.GetPublicConfiguration.Responses.$200>
3374
+ }
3375
+ ['/v1/app-configurations/{appId}']: {
3376
+ /**
3377
+ * getConfiguration - getConfiguration
3378
+ *
3379
+ * Retrieve a specific app configuration
3380
+ */
3381
+ 'get'(
3382
+ parameters?: Parameters<Paths.GetConfiguration.QueryParameters & Paths.V1AppConfigurations$AppId.PathParameters> | null,
3383
+ data?: any,
3384
+ config?: AxiosRequestConfig
3385
+ ): OperationResponse<Paths.GetConfiguration.Responses.$200>
3386
+ /**
3387
+ * patchMetadata - patchMetadata
3388
+ *
3389
+ * Patch non-versioned configuration metadata of a given app configuration.
3390
+ */
3391
+ 'patch'(
3392
+ parameters?: Parameters<Paths.V1AppConfigurations$AppId.PathParameters> | null,
3393
+ data?: Paths.PatchMetadata.RequestBody,
3394
+ config?: AxiosRequestConfig
3395
+ ): OperationResponse<Paths.PatchMetadata.Responses.$204>
3396
+ /**
3397
+ * deleteConfiguration - Delete app configuration
3398
+ *
3399
+ * Delete an app configuration and all its versions and components.
3400
+ */
3401
+ 'delete'(
3402
+ parameters?: Parameters<Paths.V1AppConfigurations$AppId.PathParameters> | null,
3403
+ data?: any,
3404
+ config?: AxiosRequestConfig
3405
+ ): OperationResponse<Paths.DeleteConfiguration.Responses.$204>
3406
+ }
3407
+ ['/v1/app-configurations/{appId}/events']: {
3408
+ /**
3409
+ * queryEvents - queryEvents
3410
+ *
3411
+ * Query analytics events for a specific app with flexible filtering
3412
+ */
3413
+ 'post'(
3414
+ parameters?: Parameters<Paths.QueryEvents.PathParameters> | null,
3415
+ data?: Paths.QueryEvents.RequestBody,
3416
+ config?: AxiosRequestConfig
3417
+ ): OperationResponse<Paths.QueryEvents.Responses.$200>
3418
+ }
3419
+ ['/v1/app-configurations/{appId}/bundle']: {
3420
+ /**
3421
+ * createBundleUploadUrl - createBundleUploadUrl
3422
+ *
3423
+ * Generate a presigned URL for uploading app bundle to /<app-id>/bundle.js path
3424
+ */
3425
+ 'post'(
3426
+ parameters?: Parameters<Paths.CreateBundleUploadUrl.PathParameters> | null,
3427
+ data?: Paths.CreateBundleUploadUrl.RequestBody,
3428
+ config?: AxiosRequestConfig
3429
+ ): OperationResponse<Paths.CreateBundleUploadUrl.Responses.$200>
3430
+ }
3431
+ ['/v1/app-configurations/{appId}/zip']: {
3432
+ /**
3433
+ * createZipUploadUrl - createZipUploadUrl
3434
+ *
3435
+ * Generate a presigned URL to upload a zip file with artifacts that will be unpacked in a new directory under the /<app-id>/ path
3436
+ *
3437
+ */
3438
+ 'post'(
3439
+ parameters?: Parameters<Paths.CreateZipUploadUrl.PathParameters> | null,
3440
+ data?: Paths.CreateZipUploadUrl.RequestBody,
3441
+ config?: AxiosRequestConfig
3442
+ ): OperationResponse<Paths.CreateZipUploadUrl.Responses.$200>
3443
+ }
3444
+ ['/v1/app-configurations/{appId}/logo']: {
3445
+ /**
3446
+ * createLogoUploadUrl - createLogoUploadUrl
3447
+ *
3448
+ * Generate a presigned URL for uploading app logo to /<app-id>/logo.png path
3449
+ */
3450
+ 'post'(
3451
+ parameters?: Parameters<Paths.V1AppConfigurations$AppIdLogo.PathParameters> | null,
3452
+ data?: Paths.CreateLogoUploadUrl.RequestBody,
3453
+ config?: AxiosRequestConfig
3454
+ ): OperationResponse<Paths.CreateLogoUploadUrl.Responses.$200>
3455
+ /**
3456
+ * deleteLogo - deleteLogo
3457
+ *
3458
+ * Delete the app logo from /<app-id>/logo.png path
3459
+ */
3460
+ 'delete'(
3461
+ parameters?: Parameters<Paths.V1AppConfigurations$AppIdLogo.PathParameters> | null,
3462
+ data?: any,
3463
+ config?: AxiosRequestConfig
3464
+ ): OperationResponse<Paths.DeleteLogo.Responses.$204>
3465
+ }
3466
+ ['/v1/app-configurations/{appId}/versions']: {
3467
+ /**
3468
+ * listVersions - listVersions
3469
+ *
3470
+ * Retrieve a list of versions for an app configuration
3471
+ */
3472
+ 'get'(
3473
+ parameters?: Parameters<Paths.ListVersions.QueryParameters & Paths.ListVersions.PathParameters> | null,
3474
+ data?: any,
3475
+ config?: AxiosRequestConfig
3476
+ ): OperationResponse<Paths.ListVersions.Responses.$200>
3477
+ }
3478
+ ['/v1/app-configurations/{appId}/versions/{version}']: {
3479
+ /**
3480
+ * getVersion - getVersion
3481
+ *
3482
+ * Retrieve a specific version of an app configuration
3483
+ */
3484
+ 'get'(
3485
+ parameters?: Parameters<Paths.GetVersion.PathParameters> | null,
3486
+ data?: any,
3487
+ config?: AxiosRequestConfig
3488
+ ): OperationResponse<Paths.GetVersion.Responses.$200>
3489
+ /**
3490
+ * deleteVersion - deleteVersion
3491
+ *
3492
+ * Delete a specific version of an app configuration
3493
+ */
3494
+ 'delete'(
3495
+ parameters?: Parameters<Paths.DeleteVersion.PathParameters> | null,
3496
+ data?: any,
3497
+ config?: AxiosRequestConfig
3498
+ ): OperationResponse<Paths.DeleteVersion.Responses.$204>
3499
+ /**
3500
+ * patchVersion - patchVersion
3501
+ *
3502
+ * Patch an existing app version
3503
+ */
3504
+ 'patch'(
3505
+ parameters?: Parameters<Paths.PatchVersion.PathParameters> | null,
3506
+ data?: Paths.PatchVersion.RequestBody,
3507
+ config?: AxiosRequestConfig
3508
+ ): OperationResponse<Paths.PatchVersion.Responses.$204>
3509
+ }
3510
+ ['/v1/app-configurations/{appId}/versions/{version}/review']: {
3511
+ /**
3512
+ * getReview - getReview
3513
+ *
3514
+ * Retrieve the review status of a specific app version
3515
+ */
3516
+ 'get'(
3517
+ parameters?: Parameters<Paths.GetReview.PathParameters> | null,
3518
+ data?: any,
3519
+ config?: AxiosRequestConfig
3520
+ ): OperationResponse<Paths.GetReview.Responses.$200>
3521
+ /**
3522
+ * createReview - createReview
3523
+ *
3524
+ * Submit an app version for review to make it public
3525
+ */
3526
+ 'post'(
3527
+ parameters?: Parameters<Paths.CreateReview.PathParameters> | null,
3528
+ data?: Paths.CreateReview.RequestBody,
3529
+ config?: AxiosRequestConfig
3530
+ ): OperationResponse<Paths.CreateReview.Responses.$200>
3531
+ }
3532
+ ['/v1/app-configurations/{appId}/versions/{version}/components']: {
3533
+ /**
3534
+ * createComponent - createComponent
3535
+ *
3536
+ * Patch an existing app version to create/add a component
3537
+ */
3538
+ 'post'(
3539
+ parameters?: Parameters<Paths.CreateComponent.PathParameters> | null,
3540
+ data?: Paths.CreateComponent.RequestBody,
3541
+ config?: AxiosRequestConfig
3542
+ ): OperationResponse<Paths.CreateComponent.Responses.$200>
3543
+ }
3544
+ ['/v1/app-configurations/{appId}/versions/{version}/components/{componentId}']: {
3545
+ /**
3546
+ * patchComponent - patchComponent
3547
+ *
3548
+ * Patch an existing app version to update its components
3549
+ */
3550
+ 'patch'(
3551
+ parameters?: Parameters<Paths.PatchComponent.PathParameters> | null,
3552
+ data?: Paths.PatchComponent.RequestBody,
3553
+ config?: AxiosRequestConfig
3554
+ ): OperationResponse<Paths.PatchComponent.Responses.$204>
3555
+ /**
3556
+ * deleteComponent - deleteComponent
3557
+ *
3558
+ * Delete a specific component from an app version
3559
+ */
3560
+ 'delete'(
3561
+ parameters?: Parameters<Paths.DeleteComponent.PathParameters> | null,
3562
+ data?: any,
3563
+ config?: AxiosRequestConfig
3564
+ ): OperationResponse<Paths.DeleteComponent.Responses.$204>
3565
+ }
3566
+ ['/v1/app-configurations/{appId}/versions/{sourceVersion}/clone-to/{targetVersion}']: {
3567
+ /**
3568
+ * cloneVersion - cloneVersion
3569
+ *
3570
+ * Clone an existing app version to create a new version
3571
+ */
3572
+ 'post'(
3573
+ parameters?: Parameters<Paths.CloneVersion.PathParameters> | null,
3574
+ data?: any,
3575
+ config?: AxiosRequestConfig
3576
+ ): OperationResponse<Paths.CloneVersion.Responses.$201>
3577
+ }
3578
+ ['/v1/app']: {
3579
+ /**
3580
+ * listInstallations - listInstallations
3581
+ *
3582
+ * Retrieve a list of installed apps for the organization.
3583
+ */
3584
+ 'get'(
3585
+ parameters?: Parameters<Paths.ListInstallations.QueryParameters> | null,
3586
+ data?: any,
3587
+ config?: AxiosRequestConfig
3588
+ ): OperationResponse<Paths.ListInstallations.Responses.$200>
3589
+ }
3590
+ ['/v1/app/{appId}']: {
3591
+ /**
3592
+ * getInstallation - getInstallation
3593
+ *
3594
+ * Retrieve details of an installed app by its ID.
3595
+ */
3596
+ 'get'(
3597
+ parameters?: Parameters<Paths.GetInstallation.PathParameters> | null,
3598
+ data?: any,
3599
+ config?: AxiosRequestConfig
3600
+ ): OperationResponse<Paths.GetInstallation.Responses.$200>
3601
+ /**
3602
+ * install - install
3603
+ *
3604
+ * Upsert app installation by its ID.
3605
+ */
3606
+ 'post'(
3607
+ parameters?: Parameters<Paths.Install.PathParameters> | null,
3608
+ data?: Paths.Install.RequestBody,
3609
+ config?: AxiosRequestConfig
3610
+ ): OperationResponse<Paths.Install.Responses.$201>
3611
+ /**
3612
+ * patchInstallation - patchInstallation
3613
+ *
3614
+ * Patch an installed app by its ID.
3615
+ */
3616
+ 'patch'(
3617
+ parameters?: Parameters<Paths.PatchInstallation.PathParameters> | null,
3618
+ data?: Paths.PatchInstallation.RequestBody,
3619
+ config?: AxiosRequestConfig
3620
+ ): OperationResponse<Paths.PatchInstallation.Responses.$204>
3621
+ /**
3622
+ * uninstall - uninstall
3623
+ *
3624
+ * Uninstall an app by its ID.
3625
+ */
3626
+ 'delete'(
3627
+ parameters?: Parameters<Paths.Uninstall.PathParameters> | null,
3628
+ data?: any,
3629
+ config?: AxiosRequestConfig
3630
+ ): OperationResponse<Paths.Uninstall.Responses.$204>
3631
+ }
3632
+ ['/v1/app/{appId}/promote-to/{version}']: {
3633
+ /**
3634
+ * promoteVersion - promoteVersion
3635
+ *
3636
+ * Update an installed app to a new version
3637
+ */
3638
+ 'post'(
3639
+ parameters?: Parameters<Paths.PromoteVersion.PathParameters> | null,
3640
+ data?: any,
3641
+ config?: AxiosRequestConfig
3642
+ ): OperationResponse<Paths.PromoteVersion.Responses.$200>
3643
+ }
3644
+ ['/v1/app-events']: {
3645
+ /**
3646
+ * ingestEvent - ingestEvent
3647
+ *
3648
+ * Internal endpoint for services to submit app events for analytic purposes
3649
+ */
3650
+ 'post'(
3651
+ parameters?: Parameters<UnknownParamsObject> | null,
3652
+ data?: Paths.IngestEvent.RequestBody,
3653
+ config?: AxiosRequestConfig
3654
+ ): OperationResponse<Paths.IngestEvent.Responses.$202>
3655
+ }
3656
+ ['/v1/public/app/{appId}/proxy/{proxyName}/{path}']: {
3657
+ /**
3658
+ * publicProxyGet - publicProxyGet
3659
+ *
3660
+ * Forward a GET request to a registered proxy target from a public-facing component (e.g. journey blocks)
3661
+ */
3662
+ 'get'(
3663
+ parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
3664
+ data?: any,
3665
+ config?: AxiosRequestConfig
3666
+ ): OperationResponse<Paths.PublicProxyGet.Responses.$200>
3667
+ /**
3668
+ * publicProxyPost - publicProxyPost
3669
+ *
3670
+ * Forward a POST request to a registered proxy target from a public-facing component (e.g. journey blocks)
3671
+ */
3672
+ 'post'(
3673
+ parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
3674
+ data?: Paths.PublicProxyPost.RequestBody,
3675
+ config?: AxiosRequestConfig
3676
+ ): OperationResponse<Paths.PublicProxyPost.Responses.$200>
3677
+ }
3678
+ }
3679
+
3680
+ type Client = OpenAPIClient<OperationMethods, PathsDictionary>
3681
+
3682
+
3683
+ type Actor = Components.Schemas.Actor;
3684
+ type AggregatedEvents = Components.Schemas.AggregatedEvents;
3685
+ type ApiProxyComponent = Components.Schemas.ApiProxyComponent;
3686
+ type ApiProxyConfig = Components.Schemas.ApiProxyConfig;
3687
+ type AppBridgeSurfaceConfig = Components.Schemas.AppBridgeSurfaceConfig;
3688
+ type AppEventData = Components.Schemas.AppEventData;
3689
+ type Audit = Components.Schemas.Audit;
3690
+ type Author = Components.Schemas.Author;
3691
+ type BaseComponent = Components.Schemas.BaseComponent;
3692
+ type BaseComponentCommon = Components.Schemas.BaseComponentCommon;
3693
+ type BaseCustomActionConfig = Components.Schemas.BaseCustomActionConfig;
3694
+ type BatchEventRequest = Components.Schemas.BatchEventRequest;
3695
+ type BillingFrequency = Components.Schemas.BillingFrequency;
3696
+ type BlockReferenceArg = Components.Schemas.BlockReferenceArg;
3697
+ type BlueprintRef = Components.Schemas.BlueprintRef;
3698
+ type BooleanArg = Components.Schemas.BooleanArg;
3699
+ type CallerIdentity = Components.Schemas.CallerIdentity;
3700
+ type ComponentType = Components.Schemas.ComponentType;
3701
+ type Configuration = Components.Schemas.Configuration;
3702
+ type ConfigurationMetadata = Components.Schemas.ConfigurationMetadata;
3703
+ type ConfigurationVersion = Components.Schemas.ConfigurationVersion;
3704
+ type CustomCapabilityComponent = Components.Schemas.CustomCapabilityComponent;
3705
+ type CustomFlowActionComponent = Components.Schemas.CustomFlowActionComponent;
3706
+ type CustomFlowConfig = Components.Schemas.CustomFlowConfig;
3707
+ type CustomPageComponent = Components.Schemas.CustomPageComponent;
3708
+ type CustomPageConfig = Components.Schemas.CustomPageConfig;
3709
+ type EnumArg = Components.Schemas.EnumArg;
3710
+ type ErpInformToolkitComponent = Components.Schemas.ErpInformToolkitComponent;
3711
+ type EventsQuery = Components.Schemas.EventsQuery;
3712
+ type EventsQueryResponse = Components.Schemas.EventsQueryResponse;
3713
+ type ExternalIntegrationCustomActionConfig = Components.Schemas.ExternalIntegrationCustomActionConfig;
3714
+ type ExternalProductCatalogAuthBlock = Components.Schemas.ExternalProductCatalogAuthBlock;
3715
+ type ExternalProductCatalogComponent = Components.Schemas.ExternalProductCatalogComponent;
3716
+ type ExternalProductCatalogConfig = Components.Schemas.ExternalProductCatalogConfig;
3717
+ type ExternalProductCatalogHookProductRecommendations = Components.Schemas.ExternalProductCatalogHookProductRecommendations;
3718
+ type ExternalProductCatalogHookProducts = Components.Schemas.ExternalProductCatalogHookProducts;
3719
+ type Grants = Components.Schemas.Grants;
3720
+ type Installation = Components.Schemas.Installation;
3721
+ type JourneyBlockComponent = Components.Schemas.JourneyBlockComponent;
3722
+ type JourneyBlockComponentArgs = Components.Schemas.JourneyBlockComponentArgs;
3723
+ type JourneyBlockConfig = Components.Schemas.JourneyBlockConfig;
3724
+ type NotificationConfig = Components.Schemas.NotificationConfig;
3725
+ type NotificationEvent = Components.Schemas.NotificationEvent;
3726
+ type ObjectField = Components.Schemas.ObjectField;
3727
+ type Option = Components.Schemas.Option;
3728
+ type Options = Components.Schemas.Options;
3729
+ type OptionsRef = Components.Schemas.OptionsRef;
3730
+ type OverrideDevMode = Components.Schemas.OverrideDevMode;
3731
+ type PortalBlockComponent = Components.Schemas.PortalBlockComponent;
3732
+ type PortalBlockConfig = Components.Schemas.PortalBlockConfig;
3733
+ type PortalBlockSurfaceConfig = Components.Schemas.PortalBlockSurfaceConfig;
3734
+ type PortalExtensionAuthBlock = Components.Schemas.PortalExtensionAuthBlock;
3735
+ type PortalExtensionComponent = Components.Schemas.PortalExtensionComponent;
3736
+ type PortalExtensionConfig = Components.Schemas.PortalExtensionConfig;
3737
+ type PortalExtensionHookConsumptionDataRetrieval = Components.Schemas.PortalExtensionHookConsumptionDataRetrieval;
3738
+ type PortalExtensionHookContractIdentification = Components.Schemas.PortalExtensionHookContractIdentification;
3739
+ type PortalExtensionHookCostDataRetrieval = Components.Schemas.PortalExtensionHookCostDataRetrieval;
3740
+ type PortalExtensionHookDataExport = Components.Schemas.PortalExtensionHookDataExport;
3741
+ type PortalExtensionHookMeterReadingPlausibilityCheck = Components.Schemas.PortalExtensionHookMeterReadingPlausibilityCheck;
3742
+ type PortalExtensionHookPriceDataRetrieval = Components.Schemas.PortalExtensionHookPriceDataRetrieval;
3743
+ type PortalExtensionHookRegistrationIdentifiersCheck = Components.Schemas.PortalExtensionHookRegistrationIdentifiersCheck;
3744
+ type PortalExtensionHookVisualizationMetadata = Components.Schemas.PortalExtensionHookVisualizationMetadata;
3745
+ type PortalExtensionSeamlessLink = Components.Schemas.PortalExtensionSeamlessLink;
3746
+ type PortalExtensionSecureProxy = Components.Schemas.PortalExtensionSecureProxy;
3747
+ type Pricing = Components.Schemas.Pricing;
3748
+ type PublicConfiguration = Components.Schemas.PublicConfiguration;
3749
+ type RawEvents = Components.Schemas.RawEvents;
3750
+ type Review = Components.Schemas.Review;
3751
+ type Role = Components.Schemas.Role;
3752
+ type S3Reference = Components.Schemas.S3Reference;
3753
+ type SandboxCustomActionConfig = Components.Schemas.SandboxCustomActionConfig;
3754
+ type TextArg = Components.Schemas.TextArg;
3755
+ type TranslatedString = Components.Schemas.TranslatedString;
3756
+
3757
+ export { type PortalBlockComponent as $, type Actor as A, type BaseComponent as B, type Client as C, type ErpInformToolkitComponent as D, type EnumArg as E, type EventsQuery as F, type EventsQueryResponse as G, type ExternalIntegrationCustomActionConfig as H, type ExternalProductCatalogAuthBlock as I, type ExternalProductCatalogComponent as J, type ExternalProductCatalogConfig as K, type ExternalProductCatalogHookProductRecommendations as L, type ExternalProductCatalogHookProducts as M, type Grants as N, type OperationMethods as O, Paths as P, type Installation as Q, type JourneyBlockComponent as R, type JourneyBlockComponentArgs as S, type JourneyBlockConfig as T, type NotificationConfig as U, type NotificationEvent as V, type ObjectField as W, type Option as X, type Options as Y, type OptionsRef as Z, type OverrideDevMode as _, Components as a, type PortalBlockConfig as a0, type PortalBlockSurfaceConfig as a1, type PortalExtensionAuthBlock as a2, type PortalExtensionComponent as a3, type PortalExtensionConfig as a4, type PortalExtensionHookConsumptionDataRetrieval as a5, type PortalExtensionHookContractIdentification as a6, type PortalExtensionHookCostDataRetrieval as a7, type PortalExtensionHookDataExport as a8, type PortalExtensionHookMeterReadingPlausibilityCheck as a9, type PortalExtensionHookPriceDataRetrieval as aa, type PortalExtensionHookRegistrationIdentifiersCheck as ab, type PortalExtensionHookVisualizationMetadata as ac, type PortalExtensionSeamlessLink as ad, type PortalExtensionSecureProxy as ae, type Pricing as af, type PublicConfiguration as ag, type RawEvents as ah, type Review as ai, type Role as aj, type S3Reference as ak, type SandboxCustomActionConfig as al, type TextArg as am, type TranslatedString as an, type PathsDictionary as b, type AggregatedEvents as c, type ApiProxyComponent as d, type ApiProxyConfig as e, type AppBridgeSurfaceConfig as f, type AppEventData as g, type Audit as h, type Author as i, type BaseComponentCommon as j, type BaseCustomActionConfig as k, type BatchEventRequest as l, type BillingFrequency as m, type BlockReferenceArg as n, type BlueprintRef as o, type BooleanArg as p, type CallerIdentity as q, type ComponentType as r, type Configuration as s, type ConfigurationMetadata as t, type ConfigurationVersion as u, type CustomCapabilityComponent as v, type CustomFlowActionComponent as w, type CustomFlowConfig as x, type CustomPageComponent as y, type CustomPageConfig as z };