@epilot/sdk 2.1.0-rc.1 → 2.1.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 (359) hide show
  1. package/definitions/app.json +38 -0
  2. package/definitions/automation.json +2 -37
  3. package/definitions/blueprint-manifest-runtime.json +1 -1
  4. package/definitions/blueprint-manifest.json +115 -1
  5. package/definitions/customer-portal-runtime.json +1 -1
  6. package/definitions/customer-portal.json +279 -42
  7. package/definitions/data-management.json +10 -0
  8. package/definitions/email-template.json +25 -3
  9. package/definitions/entity.json +205 -3
  10. package/definitions/erp-integration-runtime.json +1 -1
  11. package/definitions/erp-integration.json +472 -13
  12. package/definitions/journey.json +257 -12
  13. package/definitions/kanban.json +630 -78
  14. package/definitions/organization-runtime.json +1 -1
  15. package/definitions/organization.json +614 -51
  16. package/definitions/workflow.json +40 -0
  17. package/dist/README-VG67PX4R.js +7 -0
  18. package/dist/README-W4B35MRN.cjs +7 -0
  19. package/dist/_index-AMVZBT2K.cjs +99 -0
  20. package/dist/_index-S6LFD3ER.js +99 -0
  21. package/dist/access-token-6BJDZSFE.cjs +7 -0
  22. package/dist/access-token-GSQZLDXR.js +7 -0
  23. package/dist/address-HA4RMRNQ.cjs +7 -0
  24. package/dist/address-QVJUGMOG.js +7 -0
  25. package/dist/address-suggestions-74244BAJ.js +7 -0
  26. package/dist/address-suggestions-IUQMYF27.cjs +7 -0
  27. package/dist/ai-agents-IZWFEUSH.js +7 -0
  28. package/dist/ai-agents-PWHKNRCX.cjs +7 -0
  29. package/dist/apis/access-token.cjs +10 -8
  30. package/dist/apis/access-token.js +5 -3
  31. package/dist/apis/address-suggestions.cjs +10 -8
  32. package/dist/apis/address-suggestions.js +5 -3
  33. package/dist/apis/address.cjs +10 -8
  34. package/dist/apis/address.js +5 -3
  35. package/dist/apis/ai-agents.cjs +10 -8
  36. package/dist/apis/ai-agents.js +5 -3
  37. package/dist/apis/app.cjs +10 -8
  38. package/dist/apis/app.js +5 -3
  39. package/dist/apis/audit-logs.cjs +10 -8
  40. package/dist/apis/audit-logs.js +5 -3
  41. package/dist/apis/automation.cjs +10 -8
  42. package/dist/apis/automation.js +5 -3
  43. package/dist/apis/billing.cjs +10 -8
  44. package/dist/apis/billing.js +5 -3
  45. package/dist/apis/blueprint-manifest.cjs +10 -8
  46. package/dist/apis/blueprint-manifest.js +5 -3
  47. package/dist/apis/consent.cjs +10 -8
  48. package/dist/apis/consent.js +5 -3
  49. package/dist/apis/customer-portal.cjs +10 -8
  50. package/dist/apis/customer-portal.js +5 -3
  51. package/dist/apis/dashboard.cjs +10 -8
  52. package/dist/apis/dashboard.js +5 -3
  53. package/dist/apis/data-management.cjs +10 -8
  54. package/dist/apis/data-management.js +5 -3
  55. package/dist/apis/deduplication.cjs +10 -8
  56. package/dist/apis/deduplication.js +5 -3
  57. package/dist/apis/design.cjs +10 -8
  58. package/dist/apis/design.js +5 -3
  59. package/dist/apis/document.cjs +10 -8
  60. package/dist/apis/document.js +5 -3
  61. package/dist/apis/email-settings.cjs +10 -8
  62. package/dist/apis/email-settings.js +5 -3
  63. package/dist/apis/email-template.cjs +10 -8
  64. package/dist/apis/email-template.js +5 -3
  65. package/dist/apis/entity-mapping.cjs +10 -8
  66. package/dist/apis/entity-mapping.js +5 -3
  67. package/dist/apis/entity.cjs +10 -8
  68. package/dist/apis/entity.js +5 -3
  69. package/dist/apis/environments.cjs +10 -8
  70. package/dist/apis/environments.js +5 -3
  71. package/dist/apis/erp-integration.cjs +10 -8
  72. package/dist/apis/erp-integration.js +5 -3
  73. package/dist/apis/event-catalog.cjs +10 -8
  74. package/dist/apis/event-catalog.js +5 -3
  75. package/dist/apis/file.cjs +10 -8
  76. package/dist/apis/file.js +5 -3
  77. package/dist/apis/iban.cjs +10 -8
  78. package/dist/apis/iban.js +5 -3
  79. package/dist/apis/journey.cjs +10 -8
  80. package/dist/apis/journey.js +5 -3
  81. package/dist/apis/kanban.cjs +10 -8
  82. package/dist/apis/kanban.js +5 -3
  83. package/dist/apis/message.cjs +10 -8
  84. package/dist/apis/message.js +5 -3
  85. package/dist/apis/metering.cjs +10 -8
  86. package/dist/apis/metering.js +5 -3
  87. package/dist/apis/notes.cjs +10 -8
  88. package/dist/apis/notes.js +5 -3
  89. package/dist/apis/notification.cjs +10 -8
  90. package/dist/apis/notification.js +5 -3
  91. package/dist/apis/organization.cjs +10 -8
  92. package/dist/apis/organization.d.cts +2 -2
  93. package/dist/apis/organization.d.ts +2 -2
  94. package/dist/apis/organization.js +5 -3
  95. package/dist/apis/partner-directory.cjs +10 -8
  96. package/dist/apis/partner-directory.js +5 -3
  97. package/dist/apis/permissions.cjs +10 -8
  98. package/dist/apis/permissions.js +5 -3
  99. package/dist/apis/pricing-tier.cjs +10 -8
  100. package/dist/apis/pricing-tier.js +5 -3
  101. package/dist/apis/pricing.cjs +10 -8
  102. package/dist/apis/pricing.js +5 -3
  103. package/dist/apis/purpose.cjs +10 -8
  104. package/dist/apis/purpose.js +5 -3
  105. package/dist/apis/sandbox.cjs +10 -8
  106. package/dist/apis/sandbox.js +5 -3
  107. package/dist/apis/submission.cjs +10 -8
  108. package/dist/apis/submission.js +5 -3
  109. package/dist/apis/targeting.cjs +10 -8
  110. package/dist/apis/targeting.js +5 -3
  111. package/dist/apis/template-variables.cjs +10 -8
  112. package/dist/apis/template-variables.js +5 -3
  113. package/dist/apis/user.cjs +10 -8
  114. package/dist/apis/user.js +5 -3
  115. package/dist/apis/validation-rules.cjs +10 -8
  116. package/dist/apis/validation-rules.js +5 -3
  117. package/dist/apis/webhooks.cjs +10 -8
  118. package/dist/apis/webhooks.js +5 -3
  119. package/dist/apis/workflow-definition.cjs +10 -8
  120. package/dist/apis/workflow-definition.js +5 -3
  121. package/dist/apis/workflow.cjs +10 -8
  122. package/dist/apis/workflow.js +5 -3
  123. package/dist/app-IKHWU222.cjs +7 -0
  124. package/dist/app-VLM3SWKA.js +7 -0
  125. package/dist/audit-logs-5VXHOQ7S.js +7 -0
  126. package/dist/audit-logs-D2LFUA2R.cjs +7 -0
  127. package/dist/automation-3HGCK725.cjs +7 -0
  128. package/dist/automation-72VGEJCY.js +7 -0
  129. package/dist/billing-DUWDISHP.cjs +7 -0
  130. package/dist/billing-IPALEAG2.js +7 -0
  131. package/dist/blueprint-manifest-CXSCRQ5X.js +7 -0
  132. package/dist/blueprint-manifest-SHNZPK5O.cjs +7 -0
  133. package/dist/{chunk-6J7CIOKR.js → chunk-2HOJWFQ4.js} +1 -1
  134. package/dist/{chunk-BDIJHJOG.js → chunk-372VUPHN.js} +1 -1
  135. package/dist/{chunk-Q5TESEDZ.cjs → chunk-3HJEWWPS.cjs} +2 -2
  136. package/dist/{chunk-ID6BXIOZ.js → chunk-3N67SSL3.js} +1 -1
  137. package/dist/chunk-3XEP56SV.cjs +204 -0
  138. package/dist/{chunk-7KFKA3AH.cjs → chunk-3ZZ57K3S.cjs} +2 -2
  139. package/dist/{chunk-CVSQT5PV.cjs → chunk-4SWC43JO.cjs} +2 -2
  140. package/dist/{chunk-O3R6C3WW.js → chunk-4VFQTSJQ.js} +1 -1
  141. package/dist/{chunk-LXAJ722U.js → chunk-57QIBYDN.js} +1 -1
  142. package/dist/{chunk-SPZSDRM6.cjs → chunk-5SNJAD6F.cjs} +2 -2
  143. package/dist/{chunk-OI2M6FSB.js → chunk-73H6TVKN.js} +1 -1
  144. package/dist/{chunk-BB7WFIE2.cjs → chunk-A6JOROUC.cjs} +2 -2
  145. package/dist/{chunk-SHPXCOTN.cjs → chunk-AJKH25H2.cjs} +3 -3
  146. package/dist/{chunk-DBNEZWK2.cjs → chunk-ARWMTXJV.cjs} +2 -2
  147. package/dist/{chunk-7BPPP4M2.js → chunk-B3ZGAG7B.js} +1 -1
  148. package/dist/{chunk-5WN2YXNU.cjs → chunk-BH5ZXK4J.cjs} +2 -2
  149. package/dist/{chunk-JM6HKPSC.cjs → chunk-BWFXLUK5.cjs} +2 -2
  150. package/dist/{chunk-V56ZCL54.js → chunk-C6UTZEHH.js} +1 -1
  151. package/dist/{chunk-ZPCMZO2O.js → chunk-CPKBR34V.js} +1 -1
  152. package/dist/{chunk-UTQY2DSM.js → chunk-CWSHYFVZ.js} +1 -1
  153. package/dist/{chunk-5YVVQBA2.js → chunk-DJKSULPK.js} +1 -1
  154. package/dist/{chunk-XLOXC52O.js → chunk-DNJ54L2G.js} +1 -1
  155. package/dist/{chunk-YXPUCBVK.cjs → chunk-DY2D2IW5.cjs} +2 -2
  156. package/dist/{chunk-Z5LLUUFD.cjs → chunk-E26ZO7QM.cjs} +2 -2
  157. package/dist/{chunk-RNKZDJOY.js → chunk-EBCHCYUO.js} +1 -1
  158. package/dist/{chunk-4MO4WLKA.cjs → chunk-EPAIOB5U.cjs} +2 -2
  159. package/dist/{chunk-UX2IZQNM.cjs → chunk-EQZMT2HF.cjs} +2 -2
  160. package/dist/{chunk-U52A2DMK.cjs → chunk-F376L6PP.cjs} +2 -2
  161. package/dist/{chunk-TBBLLEB2.cjs → chunk-F472YLJG.cjs} +2 -2
  162. package/dist/{chunk-W3MM2BSK.cjs → chunk-FXOX3X7E.cjs} +2 -2
  163. package/dist/{chunk-E4IFBCNM.cjs → chunk-G2REP2VZ.cjs} +2 -2
  164. package/dist/{chunk-CFGXI3FX.js → chunk-GLO477NZ.js} +1 -1
  165. package/dist/{chunk-PBNPZ7UX.js → chunk-H4VSK4KF.js} +1 -1
  166. package/dist/{chunk-33TQRYMY.js → chunk-HPSGM6QP.js} +1 -1
  167. package/dist/{chunk-RQKN4WTW.cjs → chunk-HPYHWTTA.cjs} +2 -2
  168. package/dist/{chunk-5RXE7X63.js → chunk-IH4CMOML.js} +2 -2
  169. package/dist/{chunk-VD5TBK2T.cjs → chunk-IMT3IE5M.cjs} +2 -2
  170. package/dist/{chunk-DIP442PL.js → chunk-IP2WWEOU.js} +1 -1
  171. package/dist/{chunk-FCLW3FLF.js → chunk-IS2VB342.js} +1 -1
  172. package/dist/{chunk-UNHWLNE4.js → chunk-ITX53XAZ.js} +1 -1
  173. package/dist/{chunk-KU2XF4TS.cjs → chunk-JXBXDTFG.cjs} +2 -2
  174. package/dist/{chunk-Y4YQEDR3.js → chunk-K62XK7KU.js} +1 -1
  175. package/dist/chunk-KA3TGFJP.js +14 -0
  176. package/dist/{chunk-IXRDP4VP.js → chunk-KBOVBUBM.js} +1 -1
  177. package/dist/{chunk-MKZGM4A6.js → chunk-KPGC2D6E.js} +1 -1
  178. package/dist/{chunk-ZAPA4RPI.js → chunk-KSXTBGIV.js} +1 -1
  179. package/dist/{chunk-PLBIQ2Y7.cjs → chunk-LCIJ4TJ4.cjs} +2 -2
  180. package/dist/{chunk-TUAAE3UC.cjs → chunk-LQOLYXGQ.cjs} +2 -2
  181. package/dist/{chunk-6ADJEPMJ.js → chunk-LSIWCIQV.js} +1 -1
  182. package/dist/{chunk-CBRWUULQ.js → chunk-MHNSZ4HE.js} +1 -1
  183. package/dist/{chunk-WOOKHE7Y.cjs → chunk-MKX4CKAB.cjs} +2 -2
  184. package/dist/{chunk-N2P26AAD.js → chunk-MRTAFRO7.js} +1 -1
  185. package/dist/{chunk-YGULLD73.js → chunk-MRZ7LGKZ.js} +1 -1
  186. package/dist/{chunk-CLMZ2EXW.js → chunk-MSASBR2Y.js} +1 -1
  187. package/dist/{chunk-KEJRWMXR.cjs → chunk-NAWLLC3T.cjs} +2 -2
  188. package/dist/chunk-NJK5F5TF.cjs +21 -0
  189. package/dist/{chunk-HBPCJRZX.cjs → chunk-NLSZVGHK.cjs} +2 -2
  190. package/dist/{chunk-CK36RZXR.js → chunk-O4LRVGOY.js} +1 -1
  191. package/dist/chunk-OG2DMGU6.cjs +14 -0
  192. package/dist/{chunk-TIJGLQKO.js → chunk-OGQKJTXF.js} +1 -1
  193. package/dist/{chunk-UE4XPL43.js → chunk-PETLAONH.js} +1 -1
  194. package/dist/{chunk-MK4ZGXVE.cjs → chunk-PVSS2WPM.cjs} +2 -2
  195. package/dist/{chunk-ONN5COYQ.cjs → chunk-PXITFTJA.cjs} +2 -2
  196. package/dist/{chunk-ZAXYMQ2B.cjs → chunk-QDVPPRWI.cjs} +2 -2
  197. package/dist/{chunk-IPFHV2FV.cjs → chunk-QKERXNJJ.cjs} +2 -2
  198. package/dist/{chunk-ZDJ3J6Z6.cjs → chunk-QLML3IP5.cjs} +2 -2
  199. package/dist/{chunk-YFHQYQII.js → chunk-QVAJ5JP4.js} +1 -1
  200. package/dist/{chunk-S2QF6HG2.cjs → chunk-RD7E4OSJ.cjs} +2 -2
  201. package/dist/{chunk-XIB2G42L.cjs → chunk-RWSA3LXE.cjs} +2 -2
  202. package/dist/{chunk-R6WNZVTA.cjs → chunk-RXSS67VI.cjs} +2 -2
  203. package/dist/{chunk-UXVV3BSC.cjs → chunk-S3ZNESMC.cjs} +2 -2
  204. package/dist/{chunk-YNPRF4BX.js → chunk-S7NDMDRX.js} +1 -1
  205. package/dist/{chunk-HO7KACZZ.cjs → chunk-SK3VYIZ6.cjs} +2 -2
  206. package/dist/{chunk-CX3KG7D2.cjs → chunk-SMGHAG5C.cjs} +2 -2
  207. package/dist/{chunk-D5FJ26GG.js → chunk-T46LODOF.js} +1 -1
  208. package/dist/{chunk-Y4ZMNMYI.js → chunk-TIJWJVKZ.js} +1 -1
  209. package/dist/{chunk-EIILOQ6X.js → chunk-TLWCYLNA.js} +1 -1
  210. package/dist/{chunk-JX45ME2Z.js → chunk-TRJLYZHD.js} +1 -1
  211. package/dist/{chunk-RNBO3DEN.js → chunk-UKKJMCNH.js} +1 -1
  212. package/dist/chunk-ULBEEHG4.js +204 -0
  213. package/dist/{chunk-UDO4JYVU.cjs → chunk-VGTUK3QD.cjs} +2 -2
  214. package/dist/{chunk-4JPVFLVU.js → chunk-VQ7R36AC.js} +1 -1
  215. package/dist/{chunk-IPDIEZBN.cjs → chunk-VVQB5W7U.cjs} +2 -2
  216. package/dist/{chunk-HKZQ56AS.cjs → chunk-VVVATFGK.cjs} +2 -2
  217. package/dist/{chunk-URRL33D5.cjs → chunk-WMTYO5OX.cjs} +2 -2
  218. package/dist/{chunk-U4BMKRG6.js → chunk-WOSSSFXB.js} +1 -1
  219. package/dist/{chunk-OBQIS3KU.js → chunk-WOXXNKTE.js} +1 -1
  220. package/dist/{chunk-WAKSLH7V.cjs → chunk-XKI2OAYV.cjs} +2 -2
  221. package/dist/{chunk-5Y2KLUU6.cjs → chunk-XR4QF6KQ.cjs} +2 -2
  222. package/dist/{chunk-6BERHKDQ.cjs → chunk-XYHTQ523.cjs} +2 -2
  223. package/dist/{chunk-XD6XML3Z.cjs → chunk-XZYZLSUO.cjs} +2 -2
  224. package/dist/chunk-YPSWSI3M.js +21 -0
  225. package/dist/{chunk-4K3MX2J6.js → chunk-YYBIU5BQ.js} +1 -1
  226. package/dist/{chunk-HSGQSTVK.js → chunk-YZA5WZUS.js} +1 -1
  227. package/dist/{chunk-GGBSLAVO.cjs → chunk-Z4LUE424.cjs} +2 -2
  228. package/dist/{chunk-NSOHW3R6.js → chunk-ZV6XYUXS.js} +1 -1
  229. package/dist/consent-CS2ZBZX4.cjs +7 -0
  230. package/dist/consent-NNYHF2N4.js +7 -0
  231. package/dist/customer-portal-D3SLPAHZ.js +7 -0
  232. package/dist/customer-portal-UR3GN4VU.cjs +7 -0
  233. package/dist/dashboard-UHYR5RTY.cjs +7 -0
  234. package/dist/dashboard-UTPGXFW5.js +7 -0
  235. package/dist/data-management-QH2IJ5QV.js +7 -0
  236. package/dist/data-management-TEFRLGSU.cjs +7 -0
  237. package/dist/deduplication-ECVAZVVA.cjs +7 -0
  238. package/dist/deduplication-GYIST22B.js +7 -0
  239. package/dist/design-KUVXMFFK.cjs +7 -0
  240. package/dist/design-YKBXRW5C.js +7 -0
  241. package/dist/document-CY2A2OE7.js +7 -0
  242. package/dist/document-RYQ7MF6U.cjs +7 -0
  243. package/dist/email-settings-TQ5GGDYG.js +7 -0
  244. package/dist/email-settings-TQC34GST.cjs +7 -0
  245. package/dist/email-template-M2VVL4TI.cjs +7 -0
  246. package/dist/email-template-WYROV3UG.js +7 -0
  247. package/dist/entity-FA6PZX6S.js +7 -0
  248. package/dist/entity-IX5NSHPX.cjs +7 -0
  249. package/dist/entity-mapping-7J3IAGKQ.js +7 -0
  250. package/dist/entity-mapping-ZNMFCUKK.cjs +7 -0
  251. package/dist/environments-E3X6NYGX.js +7 -0
  252. package/dist/environments-P2JS4F5N.cjs +7 -0
  253. package/dist/erp-integration-EP2XFEH5.js +7 -0
  254. package/dist/erp-integration-NNV72VFI.cjs +7 -0
  255. package/dist/event-catalog-C45ISVMP.cjs +7 -0
  256. package/dist/event-catalog-D7VJ7WRS.js +7 -0
  257. package/dist/file-UOWBTDIU.cjs +7 -0
  258. package/dist/file-XSN3NAVZ.js +7 -0
  259. package/dist/iban-24GHLFDB.cjs +7 -0
  260. package/dist/iban-LDKYDVQV.js +7 -0
  261. package/dist/index.cjs +107 -100
  262. package/dist/index.d.cts +17 -2
  263. package/dist/index.d.ts +17 -2
  264. package/dist/index.js +58 -51
  265. package/dist/journey-7CKX67M7.js +7 -0
  266. package/dist/journey-EUZ6MVHG.cjs +7 -0
  267. package/dist/kanban-CHTH2ZSY.cjs +7 -0
  268. package/dist/kanban-HI6LL5WY.js +7 -0
  269. package/dist/message-3XZLJR6R.cjs +7 -0
  270. package/dist/message-ZNMCS5YH.js +7 -0
  271. package/dist/metering-DZNZPPY6.cjs +7 -0
  272. package/dist/metering-KOSCPPKB.js +7 -0
  273. package/dist/notes-3AO5GXIT.js +7 -0
  274. package/dist/notes-MPWOQC5J.cjs +7 -0
  275. package/dist/notification-PZOCUYD5.cjs +7 -0
  276. package/dist/notification-VWDZRSFZ.js +7 -0
  277. package/dist/organization-RARYYG2E.cjs +7 -0
  278. package/dist/organization-ZERPH2IH.js +7 -0
  279. package/dist/{organization.d-Bd2Hmk8v.d.cts → organization.d-DqwnNxMg.d.cts} +34 -7
  280. package/dist/{organization.d-Bd2Hmk8v.d.ts → organization.d-DqwnNxMg.d.ts} +34 -7
  281. package/dist/partner-directory-2XMPQWWX.js +7 -0
  282. package/dist/partner-directory-WHNTKQ5E.cjs +7 -0
  283. package/dist/permissions-4T3GFNB4.js +7 -0
  284. package/dist/permissions-FGBIJNN7.cjs +7 -0
  285. package/dist/pricing-4Z4TOETA.cjs +7 -0
  286. package/dist/pricing-C65DTZSX.js +7 -0
  287. package/dist/pricing-tier-NI35WOUP.cjs +7 -0
  288. package/dist/pricing-tier-VUOFK5Q7.js +7 -0
  289. package/dist/purpose-AKOEUHZ4.cjs +7 -0
  290. package/dist/purpose-RBRV3AQZ.js +7 -0
  291. package/dist/sandbox-2KN4X66E.cjs +7 -0
  292. package/dist/sandbox-L2SOOGGR.js +7 -0
  293. package/dist/submission-7BISSPO6.js +7 -0
  294. package/dist/submission-Q24BU4GS.cjs +7 -0
  295. package/dist/targeting-EYGYZD6M.cjs +7 -0
  296. package/dist/targeting-GEJTJN5Z.js +7 -0
  297. package/dist/template-variables-OAYS2E3G.cjs +1148 -0
  298. package/dist/template-variables-VKDJJZUT.js +1148 -0
  299. package/dist/user-EIEOI3OG.js +7 -0
  300. package/dist/user-NJJ7XVKB.cjs +7 -0
  301. package/dist/validation-rules-P6F5P73P.js +7 -0
  302. package/dist/validation-rules-VDU3CIZV.cjs +7 -0
  303. package/dist/webhooks-I7JWU34X.cjs +7 -0
  304. package/dist/webhooks-WPLEHVPX.js +7 -0
  305. package/dist/workflow-3LLURW3H.js +7 -0
  306. package/dist/workflow-RAGQDYXT.cjs +7 -0
  307. package/dist/workflow-definition-B6ELOZUR.cjs +7 -0
  308. package/dist/workflow-definition-D24CRCK2.js +7 -0
  309. package/docs/access-token.md +440 -0
  310. package/docs/address-suggestions.md +256 -0
  311. package/docs/address.md +284 -0
  312. package/docs/ai-agents.md +1891 -0
  313. package/docs/app.md +3388 -0
  314. package/docs/audit-logs.md +242 -0
  315. package/docs/automation.md +4044 -0
  316. package/docs/billing.md +783 -0
  317. package/docs/blueprint-manifest.md +3234 -0
  318. package/docs/consent.md +213 -0
  319. package/docs/customer-portal.md +11399 -0
  320. package/docs/dashboard.md +640 -0
  321. package/docs/data-management.md +883 -0
  322. package/docs/deduplication.md +135 -0
  323. package/docs/design.md +1273 -0
  324. package/docs/document.md +590 -0
  325. package/docs/email-settings.md +1544 -0
  326. package/docs/email-template.md +1197 -0
  327. package/docs/entity-mapping.md +2864 -0
  328. package/docs/entity.md +9595 -0
  329. package/docs/environments.md +259 -0
  330. package/docs/erp-integration.md +4572 -0
  331. package/docs/event-catalog.md +835 -0
  332. package/docs/file.md +1453 -0
  333. package/docs/iban.md +61 -0
  334. package/docs/journey.md +2268 -0
  335. package/docs/kanban.md +882 -0
  336. package/docs/message.md +2122 -0
  337. package/docs/metering.md +1431 -0
  338. package/docs/notes.md +670 -0
  339. package/docs/notification.md +1207 -0
  340. package/docs/organization.md +733 -0
  341. package/docs/partner-directory.md +1197 -0
  342. package/docs/permissions.md +1047 -0
  343. package/docs/pricing-tier.md +81 -0
  344. package/docs/pricing.md +5923 -0
  345. package/docs/purpose.md +283 -0
  346. package/docs/sandbox.md +389 -0
  347. package/docs/submission.md +195 -0
  348. package/docs/targeting.md +959 -0
  349. package/docs/template-variables.md +1141 -0
  350. package/docs/user.md +2555 -0
  351. package/docs/validation-rules.md +1597 -0
  352. package/docs/webhooks.md +996 -0
  353. package/docs/workflow-definition.md +3842 -0
  354. package/docs/workflow.md +4465 -0
  355. package/package.json +3 -2
  356. package/dist/chunk-GMBRXWMD.cjs +0 -14
  357. package/dist/chunk-L43U5IO3.js +0 -14
  358. package/dist/chunk-XE25WERA.js +0 -125
  359. package/dist/chunk-XEQMAKGA.cjs +0 -125
package/docs/app.md ADDED
@@ -0,0 +1,3388 @@
1
+ # App API
2
+
3
+ - **Base URL:** `https://app.sls.epilot.io`
4
+ - **Full API Docs:** [https://docs.epilot.io/api/app](https://docs.epilot.io/api/app)
5
+
6
+ ## Usage
7
+
8
+ ```ts
9
+ import { epilot } from '@epilot/sdk'
10
+
11
+ epilot.authorize(() => '<token>')
12
+ const { data } = await epilot.app.getPublicFacingComponent(...)
13
+ ```
14
+
15
+ ### Tree-shakeable import
16
+
17
+ ```ts
18
+ import { getClient, authorize } from '@epilot/sdk/app'
19
+
20
+ const appClient = getClient()
21
+ authorize(appClient, () => '<token>')
22
+ const { data } = await appClient.getPublicFacingComponent(...)
23
+ ```
24
+
25
+ ## Operations
26
+
27
+ **App Installation**
28
+ - [`getPublicFacingComponent`](#getpublicfacingcomponent)
29
+ - [`listInstallations`](#listinstallations)
30
+ - [`getInstallation`](#getinstallation)
31
+ - [`install`](#install)
32
+ - [`patchInstallation`](#patchinstallation)
33
+ - [`uninstall`](#uninstall)
34
+ - [`promoteVersion`](#promoteversion)
35
+
36
+ **App Configuration**
37
+ - [`listConfigurations`](#listconfigurations)
38
+ - [`createConfiguration`](#createconfiguration)
39
+ - [`listPublicConfigurations`](#listpublicconfigurations)
40
+ - [`getPublicConfiguration`](#getpublicconfiguration)
41
+ - [`getConfiguration`](#getconfiguration)
42
+ - [`patchMetadata`](#patchmetadata)
43
+ - [`deleteConfiguration`](#deleteconfiguration)
44
+ - [`createBundleUploadUrl`](#createbundleuploadurl)
45
+ - [`createZipUploadUrl`](#createzipuploadurl)
46
+ - [`createLogoUploadUrl`](#createlogouploadurl)
47
+ - [`deleteLogo`](#deletelogo)
48
+ - [`listVersions`](#listversions)
49
+ - [`getVersion`](#getversion)
50
+ - [`deleteVersion`](#deleteversion)
51
+ - [`patchVersion`](#patchversion)
52
+ - [`getReview`](#getreview)
53
+ - [`createReview`](#createreview)
54
+ - [`createComponent`](#createcomponent)
55
+ - [`patchComponent`](#patchcomponent)
56
+ - [`deleteComponent`](#deletecomponent)
57
+ - [`cloneVersion`](#cloneversion)
58
+
59
+ **App Analytics**
60
+ - [`queryEvents`](#queryevents)
61
+ - [`ingestEvent`](#ingestevent)
62
+
63
+ **Schemas**
64
+ - [`Role`](#role)
65
+ - [`Options`](#options)
66
+ - [`Option`](#option)
67
+ - [`OptionsRef`](#optionsref)
68
+ - [`S3Reference`](#s3reference)
69
+ - [`ComponentType`](#componenttype)
70
+ - [`Author`](#author)
71
+ - [`NotificationConfig`](#notificationconfig)
72
+ - [`NotificationEvent`](#notificationevent)
73
+ - [`BaseComponentCommon`](#basecomponentcommon)
74
+ - [`BaseComponent`](#basecomponent)
75
+ - [`CustomCapabilityComponent`](#customcapabilitycomponent)
76
+ - [`CustomPageComponent`](#custompagecomponent)
77
+ - [`CustomPageConfig`](#custompageconfig)
78
+ - [`JourneyBlockComponent`](#journeyblockcomponent)
79
+ - [`PortalBlockComponent`](#portalblockcomponent)
80
+ - [`ErpInformToolkitComponent`](#erpinformtoolkitcomponent)
81
+ - [`CustomFlowActionComponent`](#customflowactioncomponent)
82
+ - [`BaseCustomActionConfig`](#basecustomactionconfig)
83
+ - [`ExternalIntegrationCustomActionConfig`](#externalintegrationcustomactionconfig)
84
+ - [`SandboxCustomActionConfig`](#sandboxcustomactionconfig)
85
+ - [`CustomFlowConfig`](#customflowconfig)
86
+ - [`ExternalProductCatalogComponent`](#externalproductcatalogcomponent)
87
+ - [`ExternalProductCatalogConfig`](#externalproductcatalogconfig)
88
+ - [`ExternalProductCatalogHookProducts`](#externalproductcataloghookproducts)
89
+ - [`ExternalProductCatalogHookProductRecommendations`](#externalproductcataloghookproductrecommendations)
90
+ - [`PortalExtensionComponent`](#portalextensioncomponent)
91
+ - [`PortalExtensionConfig`](#portalextensionconfig)
92
+ - [`PortalExtensionHookRegistrationIdentifiersCheck`](#portalextensionhookregistrationidentifierscheck)
93
+ - [`PortalExtensionHookContractIdentification`](#portalextensionhookcontractidentification)
94
+ - [`PortalExtensionHookMeterReadingPlausibilityCheck`](#portalextensionhookmeterreadingplausibilitycheck)
95
+ - [`PortalExtensionHookPriceDataRetrieval`](#portalextensionhookpricedataretrieval)
96
+ - [`PortalExtensionHookConsumptionDataRetrieval`](#portalextensionhookconsumptiondataretrieval)
97
+ - [`PortalExtensionHookCostDataRetrieval`](#portalextensionhookcostdataretrieval)
98
+ - [`PortalExtensionSeamlessLink`](#portalextensionseamlesslink)
99
+ - [`PortalExtensionAuthBlock`](#portalextensionauthblock)
100
+ - [`PortalExtensionSecureProxy`](#portalextensionsecureproxy)
101
+ - [`ExternalProductCatalogAuthBlock`](#externalproductcatalogauthblock)
102
+ - [`OverrideDevMode`](#overridedevmode)
103
+ - [`JourneyBlockConfig`](#journeyblockconfig)
104
+ - [`PortalBlockConfig`](#portalblockconfig)
105
+ - [`AppBridgeSurfaceConfig`](#appbridgesurfaceconfig)
106
+ - [`PortalBlockSurfaceConfig`](#portalblocksurfaceconfig)
107
+ - [`JourneyBlockComponentArgs`](#journeyblockcomponentargs)
108
+ - [`TextArg`](#textarg)
109
+ - [`BooleanArg`](#booleanarg)
110
+ - [`EnumArg`](#enumarg)
111
+ - [`BillingFrequency`](#billingfrequency)
112
+ - [`Pricing`](#pricing)
113
+ - [`Audit`](#audit)
114
+ - [`Review`](#review)
115
+ - [`ConfigurationMetadata`](#configurationmetadata)
116
+ - [`ConfigurationVersion`](#configurationversion)
117
+ - [`Grants`](#grants)
118
+ - [`BlueprintRef`](#blueprintref)
119
+ - [`Installation`](#installation)
120
+ - [`PublicConfiguration`](#publicconfiguration)
121
+ - [`Configuration`](#configuration)
122
+ - [`TranslatedString`](#translatedstring)
123
+ - [`CallerIdentity`](#calleridentity)
124
+ - [`BatchEventRequest`](#batcheventrequest)
125
+ - [`Actor`](#actor)
126
+ - [`AppEventData`](#appeventdata)
127
+ - [`EventsQuery`](#eventsquery)
128
+ - [`EventsQueryResponse`](#eventsqueryresponse)
129
+ - [`RawEvents`](#rawevents)
130
+ - [`AggregatedEvents`](#aggregatedevents)
131
+
132
+ ### `getPublicFacingComponent`
133
+
134
+ Retrieve public facing components for an installed app
135
+
136
+ `GET /v1/public/app/{appId}/components/{componentId}`
137
+
138
+ ```ts
139
+ const { data } = await client.getPublicFacingComponent({
140
+ appId: 'example',
141
+ componentId: 'example',
142
+ })
143
+ ```
144
+
145
+ <details>
146
+ <summary>Response</summary>
147
+
148
+ ```json
149
+ {
150
+ "component": {
151
+ "component_type": "CUSTOM_JOURNEY_BLOCK",
152
+ "configuration": {
153
+ "override_dev_mode": {
154
+ "override_url": "http://localhost:3000"
155
+ },
156
+ "component_url": "https://cdn.apps.com/123/v1.0.0/bundle.js",
157
+ "component_tag": "string",
158
+ "component_args": [
159
+ {
160
+ "type": "text"
161
+ }
162
+ ],
163
+ "component_size": 0,
164
+ "component_mapping": {}
165
+ }
166
+ }
167
+ }
168
+ ```
169
+
170
+ </details>
171
+
172
+ ---
173
+
174
+ ### `listConfigurations`
175
+
176
+ List all app configuration metadata owned by an organization. To get full app configuration details, use the /v1/app-configurations/{appId} endpoint.
177
+
178
+ `GET /v1/app-configurations`
179
+
180
+ ```ts
181
+ const { data } = await client.listConfigurations({
182
+ page: 1,
183
+ pageSize: 1,
184
+ })
185
+ ```
186
+
187
+ <details>
188
+ <summary>Response</summary>
189
+
190
+ ```json
191
+ {
192
+ "configurations": [
193
+ {
194
+ "app_id": "string",
195
+ "name": "string",
196
+ "author": {
197
+ "name": "string",
198
+ "company": "string",
199
+ "email": "string"
200
+ },
201
+ "dev_mode": true,
202
+ "versions": ["string"],
203
+ "public_versions": ["string"],
204
+ "support_email": "string",
205
+ "latest_version": "string",
206
+ "category": "string",
207
+ "icon_url": "string",
208
+ "documentation_url": "string",
209
+ "description": {
210
+ "en": "string",
211
+ "de": "string"
212
+ },
213
+ "notifications": {
214
+ "email": "developer@example.com",
215
+ "events": ["app.installed"]
216
+ },
217
+ "owner_org_id": "string",
218
+ "internal": false,
219
+ "pricing": {
220
+ "pricing_type": "FREE",
221
+ "billing_frequency": "MONTHLY"
222
+ },
223
+ "configuration_audit": {
224
+ "created_at": "string",
225
+ "created_by": "string",
226
+ "updated_at": "string",
227
+ "updated_by": "string"
228
+ }
229
+ }
230
+ ],
231
+ "pagination": {
232
+ "total": 0,
233
+ "page": 0,
234
+ "pageSize": 0
235
+ }
236
+ }
237
+ ```
238
+
239
+ </details>
240
+
241
+ ---
242
+
243
+ ### `createConfiguration`
244
+
245
+ Create a new private app configuration. To make it public a verification process needs to be triggered
246
+
247
+ `POST /v1/app-configurations`
248
+
249
+ ```ts
250
+ const { data } = await client.createConfiguration(
251
+ null,
252
+ {
253
+ name: 'string',
254
+ description: {
255
+ en: 'string',
256
+ de: 'string'
257
+ },
258
+ category: 'string',
259
+ logo_url_key: 'string'
260
+ },
261
+ )
262
+ ```
263
+
264
+ <details>
265
+ <summary>Response</summary>
266
+
267
+ ```json
268
+ {
269
+ "app_id": "string"
270
+ }
271
+ ```
272
+
273
+ </details>
274
+
275
+ ---
276
+
277
+ ### `listPublicConfigurations`
278
+
279
+ List all publicly available app configurations that can be installed. This endpoint returns apps that have at least one public version.
280
+
281
+ `GET /v1/app-configurations/public`
282
+
283
+ ```ts
284
+ const { data } = await client.listPublicConfigurations({
285
+ page: 1,
286
+ pageSize: 1,
287
+ })
288
+ ```
289
+
290
+ <details>
291
+ <summary>Response</summary>
292
+
293
+ ```json
294
+ {
295
+ "configurations": [
296
+ {
297
+ "app_id": "string",
298
+ "name": "string",
299
+ "author": {
300
+ "name": "string",
301
+ "company": "string",
302
+ "email": "string"
303
+ },
304
+ "dev_mode": true,
305
+ "versions": ["string"],
306
+ "public_versions": ["string"],
307
+ "support_email": "string",
308
+ "latest_version": "string",
309
+ "category": "string",
310
+ "icon_url": "string",
311
+ "documentation_url": "string",
312
+ "description": {
313
+ "en": "string",
314
+ "de": "string"
315
+ },
316
+ "notifications": {
317
+ "email": "developer@example.com",
318
+ "events": ["app.installed"]
319
+ },
320
+ "owner_org_id": "string",
321
+ "internal": false,
322
+ "pricing": {
323
+ "pricing_type": "FREE",
324
+ "billing_frequency": "MONTHLY"
325
+ },
326
+ "configuration_audit": {
327
+ "created_at": "string",
328
+ "created_by": "string",
329
+ "updated_at": "string",
330
+ "updated_by": "string"
331
+ }
332
+ }
333
+ ],
334
+ "pagination": {
335
+ "total": 0,
336
+ "page": 0,
337
+ "pageSize": 0
338
+ }
339
+ }
340
+ ```
341
+
342
+ </details>
343
+
344
+ ---
345
+
346
+ ### `getPublicConfiguration`
347
+
348
+ Retrieve the public configuration of an app to install in your tenant
349
+
350
+ `GET /v1/app-configurations/public/{appId}`
351
+
352
+ ```ts
353
+ const { data } = await client.getPublicConfiguration({
354
+ appId: 'example',
355
+ version: 'example',
356
+ })
357
+ ```
358
+
359
+ <details>
360
+ <summary>Response</summary>
361
+
362
+ ```json
363
+ {
364
+ "app_id": "string",
365
+ "support_email": "string",
366
+ "owner_org_id": "string",
367
+ "name": "string",
368
+ "author": {
369
+ "name": "string",
370
+ "company": "string",
371
+ "email": "string"
372
+ },
373
+ "dev_mode": true,
374
+ "category": "string",
375
+ "icon_url": "string",
376
+ "documentation_url": "string",
377
+ "description": {
378
+ "en": "string",
379
+ "de": "string"
380
+ },
381
+ "pricing": {
382
+ "pricing_type": "FREE",
383
+ "billing_frequency": "MONTHLY"
384
+ },
385
+ "components": [
386
+ {
387
+ "component_type": "CUSTOM_JOURNEY_BLOCK",
388
+ "configuration": {}
389
+ }
390
+ ],
391
+ "is_beta": true,
392
+ "deprecated_at": "string",
393
+ "version": "string",
394
+ "role": {
395
+ "id": "string",
396
+ "grants": [
397
+ {}
398
+ ]
399
+ },
400
+ "blueprint_ref": {
401
+ "manifest_id": "string",
402
+ "job_id": "string"
403
+ },
404
+ "latest_version": "string",
405
+ "public": true,
406
+ "versions": [
407
+ {
408
+ "app_id": "string",
409
+ "owner_org_id": "string",
410
+ "components": [],
411
+ "visibility": "private",
412
+ "public": false,
413
+ "pending": false,
414
+ "version": "string",
415
+ "is_beta": true,
416
+ "deprecated_at": "string",
417
+ "changelog": "string",
418
+ "review_status": "approved",
419
+ "role": {},
420
+ "blueprint_ref": {},
421
+ "version_audit": {}
422
+ }
423
+ ]
424
+ }
425
+ ```
426
+
427
+ </details>
428
+
429
+ ---
430
+
431
+ ### `getConfiguration`
432
+
433
+ Retrieve a specific app configuration
434
+
435
+ `GET /v1/app-configurations/{appId}`
436
+
437
+ ```ts
438
+ const { data } = await client.getConfiguration({
439
+ appId: 'example',
440
+ version: 'example',
441
+ })
442
+ ```
443
+
444
+ <details>
445
+ <summary>Response</summary>
446
+
447
+ ```json
448
+ {
449
+ "app_id": "string",
450
+ "name": "string",
451
+ "author": {
452
+ "name": "string",
453
+ "company": "string",
454
+ "email": "string"
455
+ },
456
+ "dev_mode": true,
457
+ "versions": ["string"],
458
+ "public_versions": ["string"],
459
+ "support_email": "string",
460
+ "latest_version": "string",
461
+ "category": "string",
462
+ "icon_url": "string",
463
+ "documentation_url": "string",
464
+ "description": {
465
+ "en": "string",
466
+ "de": "string"
467
+ },
468
+ "notifications": {
469
+ "email": "developer@example.com",
470
+ "events": ["app.installed"]
471
+ },
472
+ "owner_org_id": "string",
473
+ "internal": false,
474
+ "pricing": {
475
+ "pricing_type": "FREE",
476
+ "billing_frequency": "MONTHLY"
477
+ },
478
+ "configuration_audit": {
479
+ "created_at": "string",
480
+ "created_by": "string",
481
+ "updated_at": "string",
482
+ "updated_by": "string"
483
+ },
484
+ "components": [
485
+ {
486
+ "component_type": "CUSTOM_JOURNEY_BLOCK",
487
+ "configuration": {
488
+ "override_dev_mode": {
489
+ "override_url": "http://localhost:3000"
490
+ },
491
+ "component_url": "https://cdn.apps.com/123/v1.0.0/bundle.js",
492
+ "component_tag": "string",
493
+ "component_args": [
494
+ {
495
+ "type": "text"
496
+ }
497
+ ],
498
+ "component_size": 0,
499
+ "component_mapping": {}
500
+ }
501
+ }
502
+ ],
503
+ "visibility": "private",
504
+ "public": false,
505
+ "pending": false,
506
+ "version": "string",
507
+ "is_beta": true,
508
+ "deprecated_at": "string",
509
+ "changelog": "string",
510
+ "review_status": "approved",
511
+ "role": {
512
+ "id": "string",
513
+ "grants": [
514
+ {
515
+ "action": "string",
516
+ "resource": "string"
517
+ }
518
+ ]
519
+ },
520
+ "blueprint_ref": {
521
+ "manifest_id": "string",
522
+ "job_id": "string"
523
+ },
524
+ "version_audit": {
525
+ "created_at": "string",
526
+ "created_by": "string",
527
+ "updated_at": "string",
528
+ "updated_by": "string",
529
+ "versioned_at": "string",
530
+ "versioned_by": "string"
531
+ }
532
+ }
533
+ ```
534
+
535
+ </details>
536
+
537
+ ---
538
+
539
+ ### `patchMetadata`
540
+
541
+ Patch non-versioned configuration metadata of a given app configuration.
542
+
543
+ `PATCH /v1/app-configurations/{appId}`
544
+
545
+ ```ts
546
+ const { data } = await client.patchMetadata(
547
+ {
548
+ appId: 'example',
549
+ },
550
+ {
551
+ name: 'string',
552
+ description: {
553
+ en: 'string',
554
+ de: 'string'
555
+ },
556
+ category: 'string',
557
+ documentation_url: 'string',
558
+ notifications: {
559
+ email: 'developer@example.com',
560
+ events: ['app.installed']
561
+ },
562
+ pricing: {
563
+ pricing_type: 'FREE',
564
+ billing_frequency: 'MONTHLY'
565
+ },
566
+ logo_url_key: 'string',
567
+ support_email: 'string',
568
+ dev_mode: true
569
+ },
570
+ )
571
+ ```
572
+
573
+ ---
574
+
575
+ ### `deleteConfiguration`
576
+
577
+ Delete app configuration
578
+
579
+ `DELETE /v1/app-configurations/{appId}`
580
+
581
+ ```ts
582
+ const { data } = await client.deleteConfiguration({
583
+ appId: 'example',
584
+ })
585
+ ```
586
+
587
+ ---
588
+
589
+ ### `queryEvents`
590
+
591
+ Query analytics events for a specific app with flexible filtering
592
+
593
+ `POST /v1/app-configurations/{appId}/events`
594
+
595
+ ```ts
596
+ const { data } = await client.queryEvents(
597
+ {
598
+ appId: 'example',
599
+ },
600
+ {
601
+ time_range: {
602
+ start: '1970-01-01T00:00:00.000Z',
603
+ end: '1970-01-01T00:00:00.000Z',
604
+ preset: '1h'
605
+ },
606
+ filters: {
607
+ source: ['CUSTOM_JOURNEY_BLOCK'],
608
+ component_id: ['string'],
609
+ event_type: ['ERROR'],
610
+ correlation_id: 'string'
611
+ },
612
+ aggregation: {
613
+ group_by: ['source'],
614
+ metrics: ['count']
615
+ },
616
+ pagination: {
617
+ page: 1,
618
+ page_size: 100
619
+ },
620
+ sort: {
621
+ field: 'timestamp',
622
+ order: 'desc'
623
+ }
624
+ },
625
+ )
626
+ ```
627
+
628
+ <details>
629
+ <summary>Response</summary>
630
+
631
+ ```json
632
+ {
633
+ "query": {
634
+ "time_range": {
635
+ "start": "1970-01-01T00:00:00.000Z",
636
+ "end": "1970-01-01T00:00:00.000Z",
637
+ "preset": "1h"
638
+ },
639
+ "filters": {
640
+ "source": ["CUSTOM_JOURNEY_BLOCK"],
641
+ "component_id": ["string"],
642
+ "event_type": ["ERROR"],
643
+ "correlation_id": "string"
644
+ },
645
+ "aggregation": {
646
+ "group_by": ["source"],
647
+ "metrics": ["count"]
648
+ },
649
+ "pagination": {
650
+ "page": 1,
651
+ "page_size": 100
652
+ },
653
+ "sort": {
654
+ "field": "timestamp",
655
+ "order": "desc"
656
+ }
657
+ },
658
+ "results": {
659
+ "type": "raw",
660
+ "events": [
661
+ {
662
+ "app_id": "string",
663
+ "version": "string",
664
+ "event_id": "string",
665
+ "component_id": "string",
666
+ "timestamp": "string",
667
+ "correlation_id": "string",
668
+ "event_type": "ERROR",
669
+ "source": "CUSTOM_JOURNEY_BLOCK",
670
+ "actor": {
671
+ "org_id": "string",
672
+ "user_id": "string",
673
+ "type": "user"
674
+ },
675
+ "details": {}
676
+ }
677
+ ]
678
+ },
679
+ "pagination": {
680
+ "page": 0,
681
+ "page_size": 0,
682
+ "total_items": 0,
683
+ "has_next": true
684
+ }
685
+ }
686
+ ```
687
+
688
+ </details>
689
+
690
+ ---
691
+
692
+ ### `createBundleUploadUrl`
693
+
694
+ Generate a presigned URL for uploading app bundle to /``<app-id>``/bundle.js path
695
+
696
+ `POST /v1/app-configurations/{appId}/bundle`
697
+
698
+ ```ts
699
+ const { data } = await client.createBundleUploadUrl(
700
+ {
701
+ appId: 'example',
702
+ },
703
+ {
704
+ version: 'string',
705
+ component_id: 'string'
706
+ },
707
+ )
708
+ ```
709
+
710
+ <details>
711
+ <summary>Response</summary>
712
+
713
+ ```json
714
+ {
715
+ "component_id": "string",
716
+ "component_url": "string",
717
+ "upload_url": "string",
718
+ "s3ref": {
719
+ "bucket": "my-bucket",
720
+ "key": "manifest.json"
721
+ },
722
+ "expires_at": "1970-01-01T00:00:00.000Z"
723
+ }
724
+ ```
725
+
726
+ </details>
727
+
728
+ ---
729
+
730
+ ### `createZipUploadUrl`
731
+
732
+ Generate a presigned URL to upload a zip file with artifacts that will be unpacked in a new directory under the /``<app-id>``/ path
733
+
734
+ `POST /v1/app-configurations/{appId}/zip`
735
+
736
+ ```ts
737
+ const { data } = await client.createZipUploadUrl(
738
+ {
739
+ appId: 'example',
740
+ },
741
+ {
742
+ version: '1.0.0',
743
+ component_id: 'string',
744
+ filename: 'dist.zip'
745
+ },
746
+ )
747
+ ```
748
+
749
+ <details>
750
+ <summary>Response</summary>
751
+
752
+ ```json
753
+ {
754
+ "component_id": "string",
755
+ "upload_url": "string",
756
+ "artifact_url": "string",
757
+ "s3ref": {
758
+ "bucket": "my-bucket",
759
+ "key": "manifest.json"
760
+ },
761
+ "expires_at": "1970-01-01T00:00:00.000Z"
762
+ }
763
+ ```
764
+
765
+ </details>
766
+
767
+ ---
768
+
769
+ ### `createLogoUploadUrl`
770
+
771
+ Generate a presigned URL for uploading app logo to /``<app-id>``/logo.png path
772
+
773
+ `POST /v1/app-configurations/{appId}/logo`
774
+
775
+ ```ts
776
+ const { data } = await client.createLogoUploadUrl(
777
+ {
778
+ appId: 'example',
779
+ },
780
+ {
781
+ filename: 'company-logo.png',
782
+ mime_type: 'image/png'
783
+ },
784
+ )
785
+ ```
786
+
787
+ <details>
788
+ <summary>Response</summary>
789
+
790
+ ```json
791
+ {
792
+ "upload_url": "string",
793
+ "s3ref": {
794
+ "bucket": "my-bucket",
795
+ "key": "manifest.json"
796
+ },
797
+ "expires_at": "1970-01-01T00:00:00.000Z"
798
+ }
799
+ ```
800
+
801
+ </details>
802
+
803
+ ---
804
+
805
+ ### `deleteLogo`
806
+
807
+ Delete the app logo from /``<app-id>``/logo.png path
808
+
809
+ `DELETE /v1/app-configurations/{appId}/logo`
810
+
811
+ ```ts
812
+ const { data } = await client.deleteLogo({
813
+ appId: 'example',
814
+ })
815
+ ```
816
+
817
+ ---
818
+
819
+ ### `listVersions`
820
+
821
+ Retrieve a list of versions for an app configuration
822
+
823
+ `GET /v1/app-configurations/{appId}/versions`
824
+
825
+ ```ts
826
+ const { data } = await client.listVersions({
827
+ appId: 'example',
828
+ page: 1,
829
+ pageSize: 1,
830
+ })
831
+ ```
832
+
833
+ <details>
834
+ <summary>Response</summary>
835
+
836
+ ```json
837
+ {
838
+ "versions": [
839
+ {
840
+ "app_id": "string",
841
+ "owner_org_id": "string",
842
+ "components": [
843
+ {
844
+ "component_type": "CUSTOM_JOURNEY_BLOCK",
845
+ "configuration": {
846
+ "override_dev_mode": {
847
+ "override_url": "http://localhost:3000"
848
+ },
849
+ "component_url": "https://cdn.apps.com/123/v1.0.0/bundle.js",
850
+ "component_tag": "string",
851
+ "component_args": [
852
+ {
853
+ "type": "text"
854
+ }
855
+ ],
856
+ "component_size": 0,
857
+ "component_mapping": {}
858
+ }
859
+ }
860
+ ],
861
+ "visibility": "private",
862
+ "public": false,
863
+ "pending": false,
864
+ "version": "string",
865
+ "is_beta": true,
866
+ "deprecated_at": "string",
867
+ "changelog": "string",
868
+ "review_status": "approved",
869
+ "role": {
870
+ "id": "string",
871
+ "grants": [
872
+ {
873
+ "action": "string",
874
+ "resource": "string"
875
+ }
876
+ ]
877
+ },
878
+ "blueprint_ref": {
879
+ "manifest_id": "string",
880
+ "job_id": "string"
881
+ },
882
+ "version_audit": {
883
+ "created_at": "string",
884
+ "created_by": "string",
885
+ "updated_at": "string",
886
+ "updated_by": "string",
887
+ "versioned_at": "string",
888
+ "versioned_by": "string"
889
+ }
890
+ }
891
+ ],
892
+ "pagination": {
893
+ "total": 0,
894
+ "page": 0,
895
+ "pageSize": 0
896
+ }
897
+ }
898
+ ```
899
+
900
+ </details>
901
+
902
+ ---
903
+
904
+ ### `getVersion`
905
+
906
+ Retrieve a specific version of an app configuration
907
+
908
+ `GET /v1/app-configurations/{appId}/versions/{version}`
909
+
910
+ ```ts
911
+ const { data } = await client.getVersion({
912
+ appId: 'example',
913
+ version: 'example',
914
+ })
915
+ ```
916
+
917
+ <details>
918
+ <summary>Response</summary>
919
+
920
+ ```json
921
+ {
922
+ "app_id": "string",
923
+ "name": "string",
924
+ "author": {
925
+ "name": "string",
926
+ "company": "string",
927
+ "email": "string"
928
+ },
929
+ "dev_mode": true,
930
+ "versions": ["string"],
931
+ "public_versions": ["string"],
932
+ "support_email": "string",
933
+ "latest_version": "string",
934
+ "category": "string",
935
+ "icon_url": "string",
936
+ "documentation_url": "string",
937
+ "description": {
938
+ "en": "string",
939
+ "de": "string"
940
+ },
941
+ "notifications": {
942
+ "email": "developer@example.com",
943
+ "events": ["app.installed"]
944
+ },
945
+ "owner_org_id": "string",
946
+ "internal": false,
947
+ "pricing": {
948
+ "pricing_type": "FREE",
949
+ "billing_frequency": "MONTHLY"
950
+ },
951
+ "configuration_audit": {
952
+ "created_at": "string",
953
+ "created_by": "string",
954
+ "updated_at": "string",
955
+ "updated_by": "string"
956
+ },
957
+ "components": [
958
+ {
959
+ "component_type": "CUSTOM_JOURNEY_BLOCK",
960
+ "configuration": {
961
+ "override_dev_mode": {
962
+ "override_url": "http://localhost:3000"
963
+ },
964
+ "component_url": "https://cdn.apps.com/123/v1.0.0/bundle.js",
965
+ "component_tag": "string",
966
+ "component_args": [
967
+ {
968
+ "type": "text"
969
+ }
970
+ ],
971
+ "component_size": 0,
972
+ "component_mapping": {}
973
+ }
974
+ }
975
+ ],
976
+ "visibility": "private",
977
+ "public": false,
978
+ "pending": false,
979
+ "version": "string",
980
+ "is_beta": true,
981
+ "deprecated_at": "string",
982
+ "changelog": "string",
983
+ "review_status": "approved",
984
+ "role": {
985
+ "id": "string",
986
+ "grants": [
987
+ {
988
+ "action": "string",
989
+ "resource": "string"
990
+ }
991
+ ]
992
+ },
993
+ "blueprint_ref": {
994
+ "manifest_id": "string",
995
+ "job_id": "string"
996
+ },
997
+ "version_audit": {
998
+ "created_at": "string",
999
+ "created_by": "string",
1000
+ "updated_at": "string",
1001
+ "updated_by": "string",
1002
+ "versioned_at": "string",
1003
+ "versioned_by": "string"
1004
+ }
1005
+ }
1006
+ ```
1007
+
1008
+ </details>
1009
+
1010
+ ---
1011
+
1012
+ ### `deleteVersion`
1013
+
1014
+ Delete a specific version of an app configuration
1015
+
1016
+ `DELETE /v1/app-configurations/{appId}/versions/{version}`
1017
+
1018
+ ```ts
1019
+ const { data } = await client.deleteVersion({
1020
+ appId: 'example',
1021
+ version: 'example',
1022
+ })
1023
+ ```
1024
+
1025
+ ---
1026
+
1027
+ ### `patchVersion`
1028
+
1029
+ Patch an existing app version
1030
+
1031
+ `PATCH /v1/app-configurations/{appId}/versions/{version}`
1032
+
1033
+ ```ts
1034
+ const { data } = await client.patchVersion(
1035
+ {
1036
+ appId: 'example',
1037
+ version: 'example',
1038
+ },
1039
+ {
1040
+ manifest_id: 'string',
1041
+ role_id: 'string',
1042
+ grants: [
1043
+ {
1044
+ action: 'string',
1045
+ resource: 'string'
1046
+ }
1047
+ ]
1048
+ },
1049
+ )
1050
+ ```
1051
+
1052
+ ---
1053
+
1054
+ ### `getReview`
1055
+
1056
+ Retrieve the review status of a specific app version
1057
+
1058
+ `GET /v1/app-configurations/{appId}/versions/{version}/review`
1059
+
1060
+ ```ts
1061
+ const { data } = await client.getReview({
1062
+ appId: 'example',
1063
+ version: 'example',
1064
+ })
1065
+ ```
1066
+
1067
+ <details>
1068
+ <summary>Response</summary>
1069
+
1070
+ ```json
1071
+ {
1072
+ "review": {
1073
+ "version": "string",
1074
+ "review_status": "approved",
1075
+ "requested_at": "string",
1076
+ "requested_by": "string",
1077
+ "technical_contact": "string",
1078
+ "marketing_contact": "string",
1079
+ "demo_url": "string"
1080
+ }
1081
+ }
1082
+ ```
1083
+
1084
+ </details>
1085
+
1086
+ ---
1087
+
1088
+ ### `createReview`
1089
+
1090
+ Submit an app version for review to make it public
1091
+
1092
+ `POST /v1/app-configurations/{appId}/versions/{version}/review`
1093
+
1094
+ ```ts
1095
+ const { data } = await client.createReview(
1096
+ {
1097
+ appId: 'example',
1098
+ version: 'example',
1099
+ },
1100
+ {
1101
+ technical_contact: 'string',
1102
+ marketing_contact: 'string',
1103
+ demo_url: 'string'
1104
+ },
1105
+ )
1106
+ ```
1107
+
1108
+ <details>
1109
+ <summary>Response</summary>
1110
+
1111
+ ```json
1112
+ {
1113
+ "review": {
1114
+ "version": "string",
1115
+ "review_status": "approved",
1116
+ "requested_at": "string",
1117
+ "requested_by": "string",
1118
+ "technical_contact": "string",
1119
+ "marketing_contact": "string",
1120
+ "demo_url": "string"
1121
+ }
1122
+ }
1123
+ ```
1124
+
1125
+ </details>
1126
+
1127
+ ---
1128
+
1129
+ ### `createComponent`
1130
+
1131
+ Patch an existing app version to create/add a component
1132
+
1133
+ `POST /v1/app-configurations/{appId}/versions/{version}/components`
1134
+
1135
+ ```ts
1136
+ const { data } = await client.createComponent(
1137
+ {
1138
+ appId: 'example',
1139
+ version: 'example',
1140
+ },
1141
+ {
1142
+ component_type: 'CUSTOM_JOURNEY_BLOCK',
1143
+ configuration: {
1144
+ override_dev_mode: {
1145
+ override_url: 'http://localhost:3000'
1146
+ },
1147
+ component_url: 'https://cdn.apps.com/123/v1.0.0/bundle.js',
1148
+ component_tag: 'string',
1149
+ component_args: [
1150
+ {
1151
+ type: 'text'
1152
+ }
1153
+ ],
1154
+ component_size: 0,
1155
+ component_mapping: {}
1156
+ }
1157
+ },
1158
+ )
1159
+ ```
1160
+
1161
+ <details>
1162
+ <summary>Response</summary>
1163
+
1164
+ ```json
1165
+ {
1166
+ "component": {
1167
+ "component_type": "CUSTOM_JOURNEY_BLOCK",
1168
+ "configuration": {
1169
+ "override_dev_mode": {
1170
+ "override_url": "http://localhost:3000"
1171
+ },
1172
+ "component_url": "https://cdn.apps.com/123/v1.0.0/bundle.js",
1173
+ "component_tag": "string",
1174
+ "component_args": [
1175
+ {
1176
+ "type": "text"
1177
+ }
1178
+ ],
1179
+ "component_size": 0,
1180
+ "component_mapping": {}
1181
+ }
1182
+ }
1183
+ }
1184
+ ```
1185
+
1186
+ </details>
1187
+
1188
+ ---
1189
+
1190
+ ### `patchComponent`
1191
+
1192
+ Patch an existing app version to update its components
1193
+
1194
+ `PATCH /v1/app-configurations/{appId}/versions/{version}/components/{componentId}`
1195
+
1196
+ ```ts
1197
+ const { data } = await client.patchComponent(
1198
+ {
1199
+ appId: 'example',
1200
+ version: 'example',
1201
+ componentId: 'example',
1202
+ },
1203
+ {
1204
+ component_type: 'CUSTOM_JOURNEY_BLOCK',
1205
+ configuration: {
1206
+ override_dev_mode: {
1207
+ override_url: 'http://localhost:3000'
1208
+ },
1209
+ component_url: 'https://cdn.apps.com/123/v1.0.0/bundle.js',
1210
+ component_tag: 'string',
1211
+ component_args: [
1212
+ {
1213
+ type: 'text'
1214
+ }
1215
+ ],
1216
+ component_size: 0,
1217
+ component_mapping: {}
1218
+ }
1219
+ },
1220
+ )
1221
+ ```
1222
+
1223
+ ---
1224
+
1225
+ ### `deleteComponent`
1226
+
1227
+ Delete a specific component from an app version
1228
+
1229
+ `DELETE /v1/app-configurations/{appId}/versions/{version}/components/{componentId}`
1230
+
1231
+ ```ts
1232
+ const { data } = await client.deleteComponent({
1233
+ appId: 'example',
1234
+ version: 'example',
1235
+ componentId: 'example',
1236
+ })
1237
+ ```
1238
+
1239
+ ---
1240
+
1241
+ ### `cloneVersion`
1242
+
1243
+ Clone an existing app version to create a new version
1244
+
1245
+ `POST /v1/app-configurations/{appId}/versions/{sourceVersion}/clone-to/{targetVersion}`
1246
+
1247
+ ```ts
1248
+ const { data } = await client.cloneVersion({
1249
+ appId: 'example',
1250
+ sourceVersion: 'example',
1251
+ targetVersion: 'example',
1252
+ })
1253
+ ```
1254
+
1255
+ <details>
1256
+ <summary>Response</summary>
1257
+
1258
+ ```json
1259
+ {
1260
+ "app_id": "string",
1261
+ "version": "string",
1262
+ "status": "pending"
1263
+ }
1264
+ ```
1265
+
1266
+ </details>
1267
+
1268
+ ---
1269
+
1270
+ ### `listInstallations`
1271
+
1272
+ Retrieve a list of installed apps for the organization.
1273
+
1274
+ `GET /v1/app`
1275
+
1276
+ ```ts
1277
+ const { data } = await client.listInstallations({
1278
+ componentType: 'example',
1279
+ enabled: true,
1280
+ page: 1,
1281
+ pageSize: 1,
1282
+ })
1283
+ ```
1284
+
1285
+ <details>
1286
+ <summary>Response</summary>
1287
+
1288
+ ```json
1289
+ {
1290
+ "apps": [
1291
+ {
1292
+ "app_id": "string",
1293
+ "installer_org_id": "string",
1294
+ "owner_org_id": "string",
1295
+ "enabled": true,
1296
+ "name": "string",
1297
+ "option_values": [
1298
+ {
1299
+ "component_id": "string",
1300
+ "options": [
1301
+ {
1302
+ "key": "string",
1303
+ "value": {}
1304
+ }
1305
+ ]
1306
+ }
1307
+ ],
1308
+ "components": [
1309
+ {
1310
+ "component_type": "CUSTOM_JOURNEY_BLOCK",
1311
+ "configuration": {
1312
+ "override_dev_mode": {
1313
+ "override_url": "http://localhost:3000"
1314
+ },
1315
+ "component_url": "https://cdn.apps.com/123/v1.0.0/bundle.js",
1316
+ "component_tag": "string",
1317
+ "component_args": [
1318
+ {
1319
+ "type": "text"
1320
+ }
1321
+ ],
1322
+ "component_size": 0,
1323
+ "component_mapping": {}
1324
+ }
1325
+ }
1326
+ ],
1327
+ "installed_version": "string",
1328
+ "role": "string",
1329
+ "blueprint_ref": {
1330
+ "manifest_id": "string",
1331
+ "job_id": "string"
1332
+ },
1333
+ "installation_audit": {
1334
+ "created_at": "string",
1335
+ "created_by": "string",
1336
+ "updated_at": "string",
1337
+ "updated_by": "string"
1338
+ },
1339
+ "_manifest": ["123e4567-e89b-12d3-a456-426614174000"]
1340
+ }
1341
+ ],
1342
+ "pagination": {
1343
+ "total": 0,
1344
+ "page": 0,
1345
+ "pageSize": 0
1346
+ }
1347
+ }
1348
+ ```
1349
+
1350
+ </details>
1351
+
1352
+ ---
1353
+
1354
+ ### `getInstallation`
1355
+
1356
+ Retrieve details of an installed app by its ID.
1357
+
1358
+ `GET /v1/app/{appId}`
1359
+
1360
+ ```ts
1361
+ const { data } = await client.getInstallation({
1362
+ appId: 'example',
1363
+ })
1364
+ ```
1365
+
1366
+ <details>
1367
+ <summary>Response</summary>
1368
+
1369
+ ```json
1370
+ {
1371
+ "app_id": "string",
1372
+ "installer_org_id": "string",
1373
+ "owner_org_id": "string",
1374
+ "enabled": true,
1375
+ "name": "string",
1376
+ "option_values": [
1377
+ {
1378
+ "component_id": "string",
1379
+ "options": [
1380
+ {
1381
+ "key": "string",
1382
+ "value": {}
1383
+ }
1384
+ ]
1385
+ }
1386
+ ],
1387
+ "components": [
1388
+ {
1389
+ "component_type": "CUSTOM_JOURNEY_BLOCK",
1390
+ "configuration": {
1391
+ "override_dev_mode": {
1392
+ "override_url": "http://localhost:3000"
1393
+ },
1394
+ "component_url": "https://cdn.apps.com/123/v1.0.0/bundle.js",
1395
+ "component_tag": "string",
1396
+ "component_args": [
1397
+ {
1398
+ "type": "text"
1399
+ }
1400
+ ],
1401
+ "component_size": 0,
1402
+ "component_mapping": {}
1403
+ }
1404
+ }
1405
+ ],
1406
+ "installed_version": "string",
1407
+ "role": "string",
1408
+ "blueprint_ref": {
1409
+ "manifest_id": "string",
1410
+ "job_id": "string"
1411
+ },
1412
+ "installation_audit": {
1413
+ "created_at": "string",
1414
+ "created_by": "string",
1415
+ "updated_at": "string",
1416
+ "updated_by": "string"
1417
+ },
1418
+ "_manifest": ["123e4567-e89b-12d3-a456-426614174000"]
1419
+ }
1420
+ ```
1421
+
1422
+ </details>
1423
+
1424
+ ---
1425
+
1426
+ ### `install`
1427
+
1428
+ Upsert app installation by its ID.
1429
+
1430
+ `POST /v1/app/{appId}`
1431
+
1432
+ ```ts
1433
+ const { data } = await client.install(
1434
+ {
1435
+ appId: 'example',
1436
+ },
1437
+ {
1438
+ version: 'string',
1439
+ option_values: [
1440
+ {
1441
+ component_id: 'string',
1442
+ options: [
1443
+ {
1444
+ key: 'string',
1445
+ value: {}
1446
+ }
1447
+ ]
1448
+ }
1449
+ ],
1450
+ _manifest: ['123e4567-e89b-12d3-a456-426614174000']
1451
+ },
1452
+ )
1453
+ ```
1454
+
1455
+ <details>
1456
+ <summary>Response</summary>
1457
+
1458
+ ```json
1459
+ {
1460
+ "app_id": "string",
1461
+ "installer_org_id": "string",
1462
+ "owner_org_id": "string",
1463
+ "enabled": true,
1464
+ "name": "string",
1465
+ "option_values": [
1466
+ {
1467
+ "component_id": "string",
1468
+ "options": [
1469
+ {
1470
+ "key": "string",
1471
+ "value": {}
1472
+ }
1473
+ ]
1474
+ }
1475
+ ],
1476
+ "components": [
1477
+ {
1478
+ "component_type": "CUSTOM_JOURNEY_BLOCK",
1479
+ "configuration": {
1480
+ "override_dev_mode": {
1481
+ "override_url": "http://localhost:3000"
1482
+ },
1483
+ "component_url": "https://cdn.apps.com/123/v1.0.0/bundle.js",
1484
+ "component_tag": "string",
1485
+ "component_args": [
1486
+ {
1487
+ "type": "text"
1488
+ }
1489
+ ],
1490
+ "component_size": 0,
1491
+ "component_mapping": {}
1492
+ }
1493
+ }
1494
+ ],
1495
+ "installed_version": "string",
1496
+ "role": "string",
1497
+ "blueprint_ref": {
1498
+ "manifest_id": "string",
1499
+ "job_id": "string"
1500
+ },
1501
+ "installation_audit": {
1502
+ "created_at": "string",
1503
+ "created_by": "string",
1504
+ "updated_at": "string",
1505
+ "updated_by": "string"
1506
+ },
1507
+ "_manifest": ["123e4567-e89b-12d3-a456-426614174000"]
1508
+ }
1509
+ ```
1510
+
1511
+ </details>
1512
+
1513
+ ---
1514
+
1515
+ ### `patchInstallation`
1516
+
1517
+ Patch an installed app by its ID.
1518
+
1519
+ `PATCH /v1/app/{appId}`
1520
+
1521
+ ```ts
1522
+ const { data } = await client.patchInstallation(
1523
+ {
1524
+ appId: 'example',
1525
+ },
1526
+ {
1527
+ version: 'string',
1528
+ option_values: [
1529
+ {
1530
+ component_id: 'string',
1531
+ options: [
1532
+ {
1533
+ key: 'string',
1534
+ value: {}
1535
+ }
1536
+ ]
1537
+ }
1538
+ ],
1539
+ _manifest: ['123e4567-e89b-12d3-a456-426614174000']
1540
+ },
1541
+ )
1542
+ ```
1543
+
1544
+ ---
1545
+
1546
+ ### `uninstall`
1547
+
1548
+ Uninstall an app by its ID.
1549
+
1550
+ `DELETE /v1/app/{appId}`
1551
+
1552
+ ```ts
1553
+ const { data } = await client.uninstall({
1554
+ appId: 'example',
1555
+ })
1556
+ ```
1557
+
1558
+ ---
1559
+
1560
+ ### `promoteVersion`
1561
+
1562
+ Update an installed app to a new version
1563
+
1564
+ `POST /v1/app/{appId}/promote-to/{version}`
1565
+
1566
+ ```ts
1567
+ const { data } = await client.promoteVersion({
1568
+ appId: 'example',
1569
+ version: 'example',
1570
+ })
1571
+ ```
1572
+
1573
+ <details>
1574
+ <summary>Response</summary>
1575
+
1576
+ ```json
1577
+ {
1578
+ "app_id": "string",
1579
+ "installer_org_id": "string",
1580
+ "owner_org_id": "string",
1581
+ "enabled": true,
1582
+ "name": "string",
1583
+ "option_values": [
1584
+ {
1585
+ "component_id": "string",
1586
+ "options": [
1587
+ {
1588
+ "key": "string",
1589
+ "value": {}
1590
+ }
1591
+ ]
1592
+ }
1593
+ ],
1594
+ "components": [
1595
+ {
1596
+ "component_type": "CUSTOM_JOURNEY_BLOCK",
1597
+ "configuration": {
1598
+ "override_dev_mode": {
1599
+ "override_url": "http://localhost:3000"
1600
+ },
1601
+ "component_url": "https://cdn.apps.com/123/v1.0.0/bundle.js",
1602
+ "component_tag": "string",
1603
+ "component_args": [
1604
+ {
1605
+ "type": "text"
1606
+ }
1607
+ ],
1608
+ "component_size": 0,
1609
+ "component_mapping": {}
1610
+ }
1611
+ }
1612
+ ],
1613
+ "installed_version": "string",
1614
+ "role": "string",
1615
+ "blueprint_ref": {
1616
+ "manifest_id": "string",
1617
+ "job_id": "string"
1618
+ },
1619
+ "installation_audit": {
1620
+ "created_at": "string",
1621
+ "created_by": "string",
1622
+ "updated_at": "string",
1623
+ "updated_by": "string"
1624
+ },
1625
+ "_manifest": ["123e4567-e89b-12d3-a456-426614174000"]
1626
+ }
1627
+ ```
1628
+
1629
+ </details>
1630
+
1631
+ ---
1632
+
1633
+ ### `ingestEvent`
1634
+
1635
+ Internal endpoint for services to submit app events for analytic purposes
1636
+
1637
+ `POST /v1/app-events`
1638
+
1639
+ ```ts
1640
+ const { data } = await client.ingestEvent(
1641
+ null,
1642
+ {
1643
+ app_id: 'string',
1644
+ version: 'string',
1645
+ event_id: 'string',
1646
+ component_id: 'string',
1647
+ timestamp: 'string',
1648
+ correlation_id: 'string',
1649
+ event_type: 'ERROR',
1650
+ source: 'CUSTOM_JOURNEY_BLOCK',
1651
+ actor: {
1652
+ org_id: 'string',
1653
+ user_id: 'string',
1654
+ type: 'user'
1655
+ },
1656
+ details: {}
1657
+ },
1658
+ )
1659
+ ```
1660
+
1661
+ ---
1662
+
1663
+ ## Schemas
1664
+
1665
+ ### `Role`
1666
+
1667
+ ```ts
1668
+ type Role = {
1669
+ id?: string
1670
+ grants?: Array<{
1671
+ action: string
1672
+ resource?: string
1673
+ }>
1674
+ }
1675
+ ```
1676
+
1677
+ ### `Options`
1678
+
1679
+ Options for the component configuration
1680
+
1681
+ ```ts
1682
+ type Options = {
1683
+ key: string
1684
+ label?: string
1685
+ required?: boolean
1686
+ description?: string
1687
+ value?: unknown
1688
+ type: "text" | "number" | "boolean" | "secret"
1689
+ }
1690
+ ```
1691
+
1692
+ ### `Option`
1693
+
1694
+ ```ts
1695
+ type Option = {
1696
+ key: string
1697
+ value: unknown
1698
+ }
1699
+ ```
1700
+
1701
+ ### `OptionsRef`
1702
+
1703
+ ```ts
1704
+ type OptionsRef = {
1705
+ component_id: string
1706
+ options: Array<{
1707
+ key: string
1708
+ value: unknown
1709
+ }>
1710
+ }
1711
+ ```
1712
+
1713
+ ### `S3Reference`
1714
+
1715
+ ```ts
1716
+ type S3Reference = {
1717
+ bucket: string
1718
+ key: string
1719
+ }
1720
+ ```
1721
+
1722
+ ### `ComponentType`
1723
+
1724
+ Type of app component
1725
+
1726
+ ```ts
1727
+ type ComponentType = "CUSTOM_JOURNEY_BLOCK" | "CUSTOM_PORTAL_BLOCK" | "PORTAL_EXTENSION" | "CUSTOM_FLOW_ACTION" | "ERP_INFORM_TOOLKIT" | "CUSTOM_CAPABILITY" | "EXTERNAL_PRODUCT_CATALOG" | "CUSTOM_PAGE"
1728
+ ```
1729
+
1730
+ ### `Author`
1731
+
1732
+ ```ts
1733
+ type Author = {
1734
+ name?: string
1735
+ company: string
1736
+ email?: string
1737
+ }
1738
+ ```
1739
+
1740
+ ### `NotificationConfig`
1741
+
1742
+ ```ts
1743
+ type NotificationConfig = {
1744
+ email?: string // email
1745
+ events?: "app.installed" | "app.uninstalled"[]
1746
+ }
1747
+ ```
1748
+
1749
+ ### `NotificationEvent`
1750
+
1751
+ ```ts
1752
+ type NotificationEvent = "app.installed" | "app.uninstalled"
1753
+ ```
1754
+
1755
+ ### `BaseComponentCommon`
1756
+
1757
+ ```ts
1758
+ type BaseComponentCommon = {
1759
+ id: string
1760
+ name?: {
1761
+ en?: string
1762
+ de: string
1763
+ }
1764
+ description?: {
1765
+ en?: string
1766
+ de: string
1767
+ }
1768
+ options?: Array<{
1769
+ key: string
1770
+ label?: string
1771
+ required?: boolean
1772
+ description?: string
1773
+ value?: unknown
1774
+ type: "text" | "number" | "boolean" | "secret"
1775
+ }>
1776
+ surfaces?: object
1777
+ }
1778
+ ```
1779
+
1780
+ ### `BaseComponent`
1781
+
1782
+ ```ts
1783
+ type BaseComponent = {
1784
+ id: string
1785
+ name?: {
1786
+ en?: string
1787
+ de: string
1788
+ }
1789
+ description?: {
1790
+ en?: string
1791
+ de: string
1792
+ }
1793
+ options?: Array<{
1794
+ key: string
1795
+ label?: string
1796
+ required?: boolean
1797
+ description?: string
1798
+ value?: unknown
1799
+ type: "text" | "number" | "boolean" | "secret"
1800
+ }>
1801
+ surfaces?: object
1802
+ }
1803
+ ```
1804
+
1805
+ ### `CustomCapabilityComponent`
1806
+
1807
+ ```ts
1808
+ type CustomCapabilityComponent = {
1809
+ component_type: "CUSTOM_CAPABILITY"
1810
+ configuration: {
1811
+ type?: "tab" | "group"
1812
+ allowed_schemas?: string[]
1813
+ }
1814
+ surfaces?: {
1815
+ capability_config?: {
1816
+ app_url?: { ... }
1817
+ zip_url?: { ... }
1818
+ override_url?: { ... }
1819
+ }
1820
+ }
1821
+ }
1822
+ ```
1823
+
1824
+ ### `CustomPageComponent`
1825
+
1826
+ ```ts
1827
+ type CustomPageComponent = {
1828
+ component_type: "CUSTOM_PAGE"
1829
+ configuration: {
1830
+ slug: string
1831
+ nav_label?: string
1832
+ nav_icon?: string
1833
+ nav_description?: string
1834
+ }
1835
+ surfaces?: {
1836
+ page?: {
1837
+ app_url?: { ... }
1838
+ zip_url?: { ... }
1839
+ override_url?: { ... }
1840
+ }
1841
+ }
1842
+ }
1843
+ ```
1844
+
1845
+ ### `CustomPageConfig`
1846
+
1847
+ ```ts
1848
+ type CustomPageConfig = {
1849
+ slug: string
1850
+ nav_label?: string
1851
+ nav_icon?: string
1852
+ nav_description?: string
1853
+ }
1854
+ ```
1855
+
1856
+ ### `JourneyBlockComponent`
1857
+
1858
+ ```ts
1859
+ type JourneyBlockComponent = {
1860
+ component_type: "CUSTOM_JOURNEY_BLOCK"
1861
+ configuration: {
1862
+ override_dev_mode?: {
1863
+ override_url?: { ... }
1864
+ }
1865
+ component_url: string
1866
+ component_tag: string
1867
+ component_args?: Array<{
1868
+ key: { ... }
1869
+ type: { ... }
1870
+ required?: { ... }
1871
+ description?: { ... }
1872
+ label: { ... }
1873
+ }>
1874
+ component_size?: number
1875
+ component_mapping?: Record<string, "string" | "boolean" | "date" | "datetime" | "link" | "number">
1876
+ }
1877
+ }
1878
+ ```
1879
+
1880
+ ### `PortalBlockComponent`
1881
+
1882
+ ```ts
1883
+ type PortalBlockComponent = {
1884
+ component_type: "CUSTOM_PORTAL_BLOCK"
1885
+ configuration: object
1886
+ surfaces?: {
1887
+ portal_block?: {
1888
+ app_url?: { ... }
1889
+ zip_url?: { ... }
1890
+ override_url?: { ... }
1891
+ section?: { ... }
1892
+ }
1893
+ }
1894
+ }
1895
+ ```
1896
+
1897
+ ### `ErpInformToolkitComponent`
1898
+
1899
+ ```ts
1900
+ type ErpInformToolkitComponent = {
1901
+ component_type: "ERP_INFORM_TOOLKIT"
1902
+ configuration: {
1903
+ type: "inbound" | "outbound"
1904
+ }
1905
+ }
1906
+ ```
1907
+
1908
+ ### `CustomFlowActionComponent`
1909
+
1910
+ ```ts
1911
+ type CustomFlowActionComponent = {
1912
+ component_type: "CUSTOM_FLOW_ACTION"
1913
+ configuration: {
1914
+ name?: string
1915
+ description?: string
1916
+ wait_for_callback?: boolean
1917
+ type: "external_integration"
1918
+ external_integration_settings?: {
1919
+ url?: { ... }
1920
+ headers?: { ... }
1921
+ }
1922
+ } | {
1923
+ name?: string
1924
+ description?: string
1925
+ wait_for_callback?: boolean
1926
+ type: "sandbox"
1927
+ sandbox_settings?: {
1928
+ code?: { ... }
1929
+ }
1930
+ }
1931
+ surfaces?: {
1932
+ flow_action_config?: {
1933
+ app_url?: { ... }
1934
+ zip_url?: { ... }
1935
+ override_url?: { ... }
1936
+ }
1937
+ }
1938
+ }
1939
+ ```
1940
+
1941
+ ### `BaseCustomActionConfig`
1942
+
1943
+ ```ts
1944
+ type BaseCustomActionConfig = {
1945
+ name?: string
1946
+ description?: string
1947
+ wait_for_callback?: boolean
1948
+ }
1949
+ ```
1950
+
1951
+ ### `ExternalIntegrationCustomActionConfig`
1952
+
1953
+ ```ts
1954
+ type ExternalIntegrationCustomActionConfig = {
1955
+ name?: string
1956
+ description?: string
1957
+ wait_for_callback?: boolean
1958
+ type: "external_integration"
1959
+ external_integration_settings?: {
1960
+ url?: string
1961
+ headers?: Record<string, unknown>
1962
+ }
1963
+ }
1964
+ ```
1965
+
1966
+ ### `SandboxCustomActionConfig`
1967
+
1968
+ ```ts
1969
+ type SandboxCustomActionConfig = {
1970
+ name?: string
1971
+ description?: string
1972
+ wait_for_callback?: boolean
1973
+ type: "sandbox"
1974
+ sandbox_settings?: {
1975
+ code?: string
1976
+ }
1977
+ }
1978
+ ```
1979
+
1980
+ ### `CustomFlowConfig`
1981
+
1982
+ ```ts
1983
+ type CustomFlowConfig = {
1984
+ name?: string
1985
+ description?: string
1986
+ wait_for_callback?: boolean
1987
+ type: "external_integration"
1988
+ external_integration_settings?: {
1989
+ url?: string
1990
+ headers?: Record<string, unknown>
1991
+ }
1992
+ } | {
1993
+ name?: string
1994
+ description?: string
1995
+ wait_for_callback?: boolean
1996
+ type: "sandbox"
1997
+ sandbox_settings?: {
1998
+ code?: string
1999
+ }
2000
+ }
2001
+ ```
2002
+
2003
+ ### `ExternalProductCatalogComponent`
2004
+
2005
+ ```ts
2006
+ type ExternalProductCatalogComponent = {
2007
+ component_type: "EXTERNAL_PRODUCT_CATALOG"
2008
+ configuration: {
2009
+ hooks?: Array<{
2010
+ id: { ... }
2011
+ name?: { ... }
2012
+ type: { ... }
2013
+ auth?: { ... }
2014
+ call: { ... }
2015
+ } | {
2016
+ id: { ... }
2017
+ name?: { ... }
2018
+ type: { ... }
2019
+ auth?: { ... }
2020
+ call: { ... }
2021
+ }>
2022
+ }
2023
+ }
2024
+ ```
2025
+
2026
+ ### `ExternalProductCatalogConfig`
2027
+
2028
+ ```ts
2029
+ type ExternalProductCatalogConfig = {
2030
+ hooks?: Array<{
2031
+ id: string
2032
+ name?: {
2033
+ en?: { ... }
2034
+ de: { ... }
2035
+ }
2036
+ type: "products"
2037
+ auth?: {
2038
+ method?: { ... }
2039
+ url: { ... }
2040
+ params?: { ... }
2041
+ headers?: { ... }
2042
+ body?: { ... }
2043
+ }
2044
+ call: {
2045
+ method?: { ... }
2046
+ url: { ... }
2047
+ params?: { ... }
2048
+ headers?: { ... }
2049
+ body?: { ... }
2050
+ }
2051
+ } | {
2052
+ id: string
2053
+ name?: {
2054
+ en?: { ... }
2055
+ de: { ... }
2056
+ }
2057
+ type: "product-recommendations"
2058
+ auth?: {
2059
+ method?: { ... }
2060
+ url: { ... }
2061
+ params?: { ... }
2062
+ headers?: { ... }
2063
+ body?: { ... }
2064
+ }
2065
+ call: {
2066
+ method?: { ... }
2067
+ url: { ... }
2068
+ params?: { ... }
2069
+ headers?: { ... }
2070
+ body?: { ... }
2071
+ }
2072
+ }>
2073
+ }
2074
+ ```
2075
+
2076
+ ### `ExternalProductCatalogHookProducts`
2077
+
2078
+ 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.
2079
+
2080
+
2081
+ ```ts
2082
+ type ExternalProductCatalogHookProducts = {
2083
+ id: string
2084
+ name?: {
2085
+ en?: string
2086
+ de: string
2087
+ }
2088
+ type: "products"
2089
+ auth?: {
2090
+ method?: string
2091
+ url: string
2092
+ params?: Record<string, string>
2093
+ headers?: Record<string, string>
2094
+ body?: Record<string, unknown>
2095
+ }
2096
+ call: {
2097
+ method?: string
2098
+ url: string
2099
+ params?: Record<string, string>
2100
+ headers?: Record<string, string>
2101
+ body?: Record<string, unknown>
2102
+ }
2103
+ }
2104
+ ```
2105
+
2106
+ ### `ExternalProductCatalogHookProductRecommendations`
2107
+
2108
+ 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.
2109
+
2110
+
2111
+ ```ts
2112
+ type ExternalProductCatalogHookProductRecommendations = {
2113
+ id: string
2114
+ name?: {
2115
+ en?: string
2116
+ de: string
2117
+ }
2118
+ type: "product-recommendations"
2119
+ auth?: {
2120
+ method?: string
2121
+ url: string
2122
+ params?: Record<string, string>
2123
+ headers?: Record<string, string>
2124
+ body?: Record<string, unknown>
2125
+ }
2126
+ call: {
2127
+ method?: string
2128
+ url: string
2129
+ params?: Record<string, string>
2130
+ headers?: Record<string, string>
2131
+ body?: Record<string, unknown>
2132
+ }
2133
+ }
2134
+ ```
2135
+
2136
+ ### `PortalExtensionComponent`
2137
+
2138
+ ```ts
2139
+ type PortalExtensionComponent = {
2140
+ component_type: "PORTAL_EXTENSION"
2141
+ configuration: {
2142
+ hooks?: Array<{
2143
+ id: { ... }
2144
+ name?: { ... }
2145
+ type: { ... }
2146
+ auth?: { ... }
2147
+ call: { ... }
2148
+ use_static_ips?: { ... }
2149
+ secure_proxy?: { ... }
2150
+ } | {
2151
+ id: { ... }
2152
+ name?: { ... }
2153
+ type: { ... }
2154
+ auth?: { ... }
2155
+ call: { ... }
2156
+ assignment_mode?: { ... }
2157
+ contact_relation_attribute?: { ... }
2158
+ explanation?: { ... }
2159
+ use_static_ips?: { ... }
2160
+ secure_proxy?: { ... }
2161
+ } | {
2162
+ id: { ... }
2163
+ name?: { ... }
2164
+ type: { ... }
2165
+ intervals?: { ... }
2166
+ auth?: { ... }
2167
+ call: { ... }
2168
+ resolved?: { ... }
2169
+ use_static_ips?: { ... }
2170
+ secure_proxy?: { ... }
2171
+ } | {
2172
+ id: { ... }
2173
+ name?: { ... }
2174
+ type: { ... }
2175
+ intervals?: { ... }
2176
+ auth?: { ... }
2177
+ call: { ... }
2178
+ resolved?: { ... }
2179
+ use_static_ips?: { ... }
2180
+ secure_proxy?: { ... }
2181
+ } | {
2182
+ id: { ... }
2183
+ name?: { ... }
2184
+ type: { ... }
2185
+ intervals?: { ... }
2186
+ auth?: { ... }
2187
+ call: { ... }
2188
+ resolved?: { ... }
2189
+ use_static_ips?: { ... }
2190
+ secure_proxy?: { ... }
2191
+ } | {
2192
+ id: { ... }
2193
+ name?: { ... }
2194
+ type: { ... }
2195
+ plausibility_mode?: { ... }
2196
+ auth?: { ... }
2197
+ call: { ... }
2198
+ resolved: { ... }
2199
+ use_static_ips?: { ... }
2200
+ secure_proxy?: { ... }
2201
+ }>
2202
+ links?: Array<{
2203
+ id: { ... }
2204
+ name: { ... }
2205
+ description?: { ... }
2206
+ type: { ... }
2207
+ condition?: { ... }
2208
+ auth?: { ... }
2209
+ redirect: { ... }
2210
+ }>
2211
+ }
2212
+ }
2213
+ ```
2214
+
2215
+ ### `PortalExtensionConfig`
2216
+
2217
+ ```ts
2218
+ type PortalExtensionConfig = {
2219
+ hooks?: Array<{
2220
+ id: string
2221
+ name?: {
2222
+ en?: { ... }
2223
+ de: { ... }
2224
+ }
2225
+ type: "registrationIdentifiersCheck"
2226
+ auth?: {
2227
+ method?: { ... }
2228
+ url: { ... }
2229
+ params?: { ... }
2230
+ headers?: { ... }
2231
+ body?: { ... }
2232
+ cache?: { ... }
2233
+ }
2234
+ call: {
2235
+ method?: { ... }
2236
+ url: { ... }
2237
+ params?: { ... }
2238
+ headers: { ... }
2239
+ body?: { ... }
2240
+ result: { ... }
2241
+ }
2242
+ use_static_ips?: boolean
2243
+ secure_proxy?: {
2244
+ integration_id: { ... }
2245
+ use_case_slug: { ... }
2246
+ }
2247
+ } | {
2248
+ id: string
2249
+ name?: {
2250
+ en?: { ... }
2251
+ de: { ... }
2252
+ }
2253
+ type: "contractIdentification"
2254
+ auth?: {
2255
+ method?: { ... }
2256
+ url: { ... }
2257
+ params?: { ... }
2258
+ headers?: { ... }
2259
+ body?: { ... }
2260
+ cache?: { ... }
2261
+ }
2262
+ call: {
2263
+ method?: { ... }
2264
+ url: { ... }
2265
+ params?: { ... }
2266
+ headers: { ... }
2267
+ body?: { ... }
2268
+ result?: { ... }
2269
+ }
2270
+ assignment_mode?: "contracts" | "contact_to_contracts" | "contact_to_portal_user"
2271
+ contact_relation_attribute?: string
2272
+ explanation?: {
2273
+ en: { ... }
2274
+ }
2275
+ use_static_ips?: boolean
2276
+ secure_proxy?: {
2277
+ integration_id: { ... }
2278
+ use_case_slug: { ... }
2279
+ }
2280
+ } | {
2281
+ id: string
2282
+ name?: {
2283
+ en?: { ... }
2284
+ de: { ... }
2285
+ }
2286
+ type: "priceDataRetrieval"
2287
+ intervals?: "PT15M" | "PT1H" | "P1D" | "P1M"[]
2288
+ auth?: {
2289
+ method?: { ... }
2290
+ url: { ... }
2291
+ params?: { ... }
2292
+ headers?: { ... }
2293
+ body?: { ... }
2294
+ cache?: { ... }
2295
+ }
2296
+ call: {
2297
+ method?: { ... }
2298
+ url: { ... }
2299
+ params?: { ... }
2300
+ headers?: { ... }
2301
+ body?: { ... }
2302
+ }
2303
+ resolved?: {
2304
+ dataPath?: { ... }
2305
+ }
2306
+ use_static_ips?: boolean
2307
+ secure_proxy?: {
2308
+ integration_id: { ... }
2309
+ use_case_slug: { ... }
2310
+ }
2311
+ } | {
2312
+ id: string
2313
+ name?: {
2314
+ en?: { ... }
2315
+ de: { ... }
2316
+ }
2317
+ type: "consumptionDataRetrieval"
2318
+ // ...
2319
+ }
2320
+ ```
2321
+
2322
+ ### `PortalExtensionHookRegistrationIdentifiersCheck`
2323
+
2324
+ 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:
2325
+ - 200 with contact id if exactly one contact is found
2326
+ - 404 if no contact is found or more th
2327
+
2328
+ ```ts
2329
+ type PortalExtensionHookRegistrationIdentifiersCheck = {
2330
+ id: string
2331
+ name?: {
2332
+ en?: string
2333
+ de: string
2334
+ }
2335
+ type: "registrationIdentifiersCheck"
2336
+ auth?: {
2337
+ method?: string
2338
+ url: string
2339
+ params?: Record<string, string>
2340
+ headers?: Record<string, string>
2341
+ body?: Record<string, unknown>
2342
+ cache?: {
2343
+ key: { ... }
2344
+ ttl: { ... }
2345
+ }
2346
+ }
2347
+ call: {
2348
+ method?: string
2349
+ url: string
2350
+ params?: Record<string, string>
2351
+ headers: Record<string, string>
2352
+ body?: object
2353
+ result: string
2354
+ }
2355
+ use_static_ips?: boolean
2356
+ secure_proxy?: {
2357
+ integration_id: string // uuid
2358
+ use_case_slug: string
2359
+ }
2360
+ }
2361
+ ```
2362
+
2363
+ ### `PortalExtensionHookContractIdentification`
2364
+
2365
+ 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).
2366
+ The expected response http status code to the call is:
2367
+ - 200 if found
2368
+ - 404 if not found
2369
+
2370
+ The following assignment modes are suppo
2371
+
2372
+ ```ts
2373
+ type PortalExtensionHookContractIdentification = {
2374
+ id: string
2375
+ name?: {
2376
+ en?: string
2377
+ de: string
2378
+ }
2379
+ type: "contractIdentification"
2380
+ auth?: {
2381
+ method?: string
2382
+ url: string
2383
+ params?: Record<string, string>
2384
+ headers?: Record<string, string>
2385
+ body?: Record<string, unknown>
2386
+ cache?: {
2387
+ key: { ... }
2388
+ ttl: { ... }
2389
+ }
2390
+ }
2391
+ call: {
2392
+ method?: string
2393
+ url: string
2394
+ params?: Record<string, string>
2395
+ headers: Record<string, string>
2396
+ body?: object
2397
+ result?: string
2398
+ }
2399
+ assignment_mode?: "contracts" | "contact_to_contracts" | "contact_to_portal_user"
2400
+ contact_relation_attribute?: string
2401
+ explanation?: {
2402
+ en: string
2403
+ }
2404
+ use_static_ips?: boolean
2405
+ secure_proxy?: {
2406
+ integration_id: string // uuid
2407
+ use_case_slug: string
2408
+ }
2409
+ }
2410
+ ```
2411
+
2412
+ ### `PortalExtensionHookMeterReadingPlausibilityCheck`
2413
+
2414
+ 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:
2415
+ - 200:
2416
+ If meter reading is plausible, the response should contain:
2417
+ - valid: true
2418
+ If meter re
2419
+
2420
+ ```ts
2421
+ type PortalExtensionHookMeterReadingPlausibilityCheck = {
2422
+ id: string
2423
+ name?: {
2424
+ en?: string
2425
+ de: string
2426
+ }
2427
+ type: "meterReadingPlausibilityCheck"
2428
+ plausibility_mode?: "check" | "range"
2429
+ auth?: {
2430
+ method?: string
2431
+ url: string
2432
+ params?: Record<string, string>
2433
+ headers?: Record<string, string>
2434
+ body?: Record<string, unknown>
2435
+ cache?: {
2436
+ key: { ... }
2437
+ ttl: { ... }
2438
+ }
2439
+ }
2440
+ call: {
2441
+ url: string
2442
+ body: Record<string, unknown>
2443
+ headers: Record<string, string>
2444
+ }
2445
+ resolved: {
2446
+ dataPath?: string
2447
+ counter_identifiers?: Record<string, string>
2448
+ valid?: string
2449
+ upper_limit?: string
2450
+ lower_limit?: string
2451
+ }
2452
+ use_static_ips?: boolean
2453
+ secure_proxy?: {
2454
+ integration_id: string // uuid
2455
+ use_case_slug: string
2456
+ }
2457
+ }
2458
+ ```
2459
+
2460
+ ### `PortalExtensionHookPriceDataRetrieval`
2461
+
2462
+ 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:
2463
+ - 200 with the time series data
2464
+
2465
+
2466
+ ```ts
2467
+ type PortalExtensionHookPriceDataRetrieval = {
2468
+ id: string
2469
+ name?: {
2470
+ en?: string
2471
+ de: string
2472
+ }
2473
+ type: "priceDataRetrieval"
2474
+ intervals?: "PT15M" | "PT1H" | "P1D" | "P1M"[]
2475
+ auth?: {
2476
+ method?: string
2477
+ url: string
2478
+ params?: Record<string, string>
2479
+ headers?: Record<string, string>
2480
+ body?: Record<string, unknown>
2481
+ cache?: {
2482
+ key: { ... }
2483
+ ttl: { ... }
2484
+ }
2485
+ }
2486
+ call: {
2487
+ method?: string
2488
+ url: string
2489
+ params?: Record<string, string>
2490
+ headers?: Record<string, string>
2491
+ body?: Record<string, unknown>
2492
+ }
2493
+ resolved?: {
2494
+ dataPath?: string
2495
+ }
2496
+ use_static_ips?: boolean
2497
+ secure_proxy?: {
2498
+ integration_id: string // uuid
2499
+ use_case_slug: string
2500
+ }
2501
+ }
2502
+ ```
2503
+
2504
+ ### `PortalExtensionHookConsumptionDataRetrieval`
2505
+
2506
+ 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:
2507
+ - 200 with the time series data
2508
+
2509
+
2510
+ ```ts
2511
+ type PortalExtensionHookConsumptionDataRetrieval = {
2512
+ id: string
2513
+ name?: {
2514
+ en?: string
2515
+ de: string
2516
+ }
2517
+ type: "consumptionDataRetrieval"
2518
+ intervals?: "PT15M" | "PT1H" | "P1D" | "P1M"[]
2519
+ auth?: {
2520
+ method?: string
2521
+ url: string
2522
+ params?: Record<string, string>
2523
+ headers?: Record<string, string>
2524
+ body?: Record<string, unknown>
2525
+ cache?: {
2526
+ key: { ... }
2527
+ ttl: { ... }
2528
+ }
2529
+ }
2530
+ call: {
2531
+ method?: string
2532
+ url: string
2533
+ params?: Record<string, string>
2534
+ headers?: Record<string, string>
2535
+ body?: Record<string, unknown>
2536
+ }
2537
+ resolved?: {
2538
+ dataPath?: string
2539
+ }
2540
+ use_static_ips?: boolean
2541
+ secure_proxy?: {
2542
+ integration_id: string // uuid
2543
+ use_case_slug: string
2544
+ }
2545
+ }
2546
+ ```
2547
+
2548
+ ### `PortalExtensionHookCostDataRetrieval`
2549
+
2550
+ 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:
2551
+ - 200 with the time series data
2552
+
2553
+
2554
+ ```ts
2555
+ type PortalExtensionHookCostDataRetrieval = {
2556
+ id: string
2557
+ name?: {
2558
+ en?: string
2559
+ de: string
2560
+ }
2561
+ type: "costDataRetrieval"
2562
+ intervals?: "PT15M" | "PT1H" | "P1D" | "P1M"[]
2563
+ auth?: {
2564
+ method?: string
2565
+ url: string
2566
+ params?: Record<string, string>
2567
+ headers?: Record<string, string>
2568
+ body?: Record<string, unknown>
2569
+ cache?: {
2570
+ key: { ... }
2571
+ ttl: { ... }
2572
+ }
2573
+ }
2574
+ call: {
2575
+ method?: string
2576
+ url: string
2577
+ params?: Record<string, string>
2578
+ headers?: Record<string, string>
2579
+ body?: Record<string, unknown>
2580
+ }
2581
+ resolved?: {
2582
+ dataPath?: string
2583
+ }
2584
+ use_static_ips?: boolean
2585
+ secure_proxy?: {
2586
+ integration_id: string // uuid
2587
+ use_case_slug: string
2588
+ }
2589
+ }
2590
+ ```
2591
+
2592
+ ### `PortalExtensionSeamlessLink`
2593
+
2594
+ ```ts
2595
+ type PortalExtensionSeamlessLink = {
2596
+ id: string
2597
+ name: {
2598
+ en?: string
2599
+ de: string
2600
+ }
2601
+ description?: {
2602
+ en?: string
2603
+ de: string
2604
+ }
2605
+ type: "seamless"
2606
+ condition?: string
2607
+ auth?: {
2608
+ method?: string
2609
+ url: string
2610
+ params?: Record<string, string>
2611
+ headers?: Record<string, string>
2612
+ body?: Record<string, unknown>
2613
+ cache?: {
2614
+ key: { ... }
2615
+ ttl: { ... }
2616
+ }
2617
+ }
2618
+ redirect: {
2619
+ url?: string
2620
+ params?: Record<string, string>
2621
+ }
2622
+ }
2623
+ ```
2624
+
2625
+ ### `PortalExtensionAuthBlock`
2626
+
2627
+ ```ts
2628
+ type PortalExtensionAuthBlock = {
2629
+ method?: string
2630
+ url: string
2631
+ params?: Record<string, string>
2632
+ headers?: Record<string, string>
2633
+ body?: Record<string, unknown>
2634
+ cache?: {
2635
+ key: string
2636
+ ttl: string
2637
+ }
2638
+ }
2639
+ ```
2640
+
2641
+ ### `PortalExtensionSecureProxy`
2642
+
2643
+ If set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips.
2644
+
2645
+ ```ts
2646
+ type PortalExtensionSecureProxy = {
2647
+ integration_id: string // uuid
2648
+ use_case_slug: string
2649
+ }
2650
+ ```
2651
+
2652
+ ### `ExternalProductCatalogAuthBlock`
2653
+
2654
+ ```ts
2655
+ type ExternalProductCatalogAuthBlock = {
2656
+ method?: string
2657
+ url: string
2658
+ params?: Record<string, string>
2659
+ headers?: Record<string, string>
2660
+ body?: Record<string, unknown>
2661
+ }
2662
+ ```
2663
+
2664
+ ### `OverrideDevMode`
2665
+
2666
+ Override URL when app is in dev mode
2667
+
2668
+ ```ts
2669
+ type OverrideDevMode = {
2670
+ override_url?: string
2671
+ }
2672
+ ```
2673
+
2674
+ ### `JourneyBlockConfig`
2675
+
2676
+ ```ts
2677
+ type JourneyBlockConfig = {
2678
+ override_dev_mode?: {
2679
+ override_url?: string
2680
+ }
2681
+ component_url: string
2682
+ component_tag: string
2683
+ component_args?: Array<{
2684
+ key: string
2685
+ type: "text" | "boolean" | "enum"
2686
+ required?: boolean
2687
+ description?: {
2688
+ en?: { ... }
2689
+ de: { ... }
2690
+ }
2691
+ label: {
2692
+ en?: { ... }
2693
+ de: { ... }
2694
+ }
2695
+ }>
2696
+ component_size?: number
2697
+ component_mapping?: Record<string, "string" | "boolean" | "date" | "datetime" | "link" | "number">
2698
+ }
2699
+ ```
2700
+
2701
+ ### `PortalBlockConfig`
2702
+
2703
+ ```ts
2704
+ type PortalBlockConfig = object
2705
+ ```
2706
+
2707
+ ### `AppBridgeSurfaceConfig`
2708
+
2709
+ ```ts
2710
+ type AppBridgeSurfaceConfig = {
2711
+ app_url?: string
2712
+ zip_url?: string
2713
+ override_url?: string
2714
+ }
2715
+ ```
2716
+
2717
+ ### `PortalBlockSurfaceConfig`
2718
+
2719
+ ```ts
2720
+ type PortalBlockSurfaceConfig = {
2721
+ app_url?: string
2722
+ zip_url?: string
2723
+ override_url?: string
2724
+ section?: "main" | "footer"
2725
+ }
2726
+ ```
2727
+
2728
+ ### `JourneyBlockComponentArgs`
2729
+
2730
+ ```ts
2731
+ type JourneyBlockComponentArgs = {
2732
+ key: string
2733
+ type: "text" | "boolean" | "enum"
2734
+ required?: boolean
2735
+ description?: {
2736
+ en?: string
2737
+ de: string
2738
+ }
2739
+ label: {
2740
+ en?: string
2741
+ de: string
2742
+ }
2743
+ }
2744
+ ```
2745
+
2746
+ ### `TextArg`
2747
+
2748
+ ```ts
2749
+ type TextArg = {
2750
+ type?: "text"
2751
+ }
2752
+ ```
2753
+
2754
+ ### `BooleanArg`
2755
+
2756
+ ```ts
2757
+ type BooleanArg = {
2758
+ type?: "boolean"
2759
+ }
2760
+ ```
2761
+
2762
+ ### `EnumArg`
2763
+
2764
+ ```ts
2765
+ type EnumArg = {
2766
+ type?: "enum"
2767
+ isMulti?: boolean
2768
+ options: Array<{
2769
+ id: string
2770
+ label: {
2771
+ en?: { ... }
2772
+ de: { ... }
2773
+ }
2774
+ }>
2775
+ }
2776
+ ```
2777
+
2778
+ ### `BillingFrequency`
2779
+
2780
+ How often the subscription is billed
2781
+
2782
+ ```ts
2783
+ type BillingFrequency = "MONTHLY" | "QUARTERLY" | "YEARLY" | "CUSTOM"
2784
+ ```
2785
+
2786
+ ### `Pricing`
2787
+
2788
+ ```ts
2789
+ type Pricing = {
2790
+ pricing_type?: "FREE" | "SUBSCRIPTION" | "USAGE_BASED" | "ONE_TIME" | "CUSTOM" | "UNKNOWN"
2791
+ billing_frequency?: "MONTHLY" | "QUARTERLY" | "YEARLY" | "CUSTOM"
2792
+ }
2793
+ ```
2794
+
2795
+ ### `Audit`
2796
+
2797
+ ```ts
2798
+ type Audit = {
2799
+ created_at?: string
2800
+ created_by?: string
2801
+ updated_at?: string
2802
+ updated_by?: string
2803
+ }
2804
+ ```
2805
+
2806
+ ### `Review`
2807
+
2808
+ ```ts
2809
+ type Review = {
2810
+ version?: string
2811
+ review_status?: "approved" | "rejected" | "pending"
2812
+ requested_at?: string
2813
+ requested_by?: string
2814
+ technical_contact?: string
2815
+ marketing_contact?: string
2816
+ demo_url?: string
2817
+ }
2818
+ ```
2819
+
2820
+ ### `ConfigurationMetadata`
2821
+
2822
+ Basic metadata about your app configuration which does not get versioned
2823
+
2824
+ ```ts
2825
+ type ConfigurationMetadata = {
2826
+ app_id: string
2827
+ name: string
2828
+ author?: {
2829
+ name?: string
2830
+ company: string
2831
+ email?: string
2832
+ }
2833
+ dev_mode?: boolean
2834
+ versions: string[]
2835
+ public_versions?: string[]
2836
+ support_email?: string
2837
+ latest_version: string
2838
+ category?: string
2839
+ icon_url?: string
2840
+ documentation_url?: string
2841
+ description: {
2842
+ en?: string
2843
+ de: string
2844
+ }
2845
+ notifications?: {
2846
+ email?: string // email
2847
+ events?: "app.installed" | "app.uninstalled"[]
2848
+ }
2849
+ owner_org_id: string
2850
+ internal?: boolean
2851
+ pricing?: {
2852
+ pricing_type?: "FREE" | "SUBSCRIPTION" | "USAGE_BASED" | "ONE_TIME" | "CUSTOM" | "UNKNOWN"
2853
+ billing_frequency?: "MONTHLY" | "QUARTERLY" | "YEARLY" | "CUSTOM"
2854
+ }
2855
+ configuration_audit?: {
2856
+ created_at?: string
2857
+ created_by?: string
2858
+ updated_at?: string
2859
+ updated_by?: string
2860
+ }
2861
+ }
2862
+ ```
2863
+
2864
+ ### `ConfigurationVersion`
2865
+
2866
+ Configuration data about your app which is versionable
2867
+
2868
+ ```ts
2869
+ type ConfigurationVersion = {
2870
+ app_id: string
2871
+ owner_org_id: string
2872
+ components: Array<{
2873
+ id: string
2874
+ name?: {
2875
+ en?: { ... }
2876
+ de: { ... }
2877
+ }
2878
+ description?: {
2879
+ en?: { ... }
2880
+ de: { ... }
2881
+ }
2882
+ options?: Array<{
2883
+ key: { ... }
2884
+ label?: { ... }
2885
+ required?: { ... }
2886
+ description?: { ... }
2887
+ value?: { ... }
2888
+ type: { ... }
2889
+ }>
2890
+ surfaces?: object
2891
+ }>
2892
+ visibility?: "public" | "private"
2893
+ public?: boolean
2894
+ pending?: boolean
2895
+ version: string
2896
+ is_beta?: boolean
2897
+ deprecated_at?: string
2898
+ changelog?: string
2899
+ review_status?: "approved" | "rejected" | "pending"
2900
+ role?: {
2901
+ id?: string
2902
+ grants?: Array<{
2903
+ action: { ... }
2904
+ resource?: { ... }
2905
+ }>
2906
+ }
2907
+ blueprint_ref?: {
2908
+ manifest_id?: string
2909
+ job_id?: string
2910
+ }
2911
+ version_audit: {
2912
+ created_at?: string
2913
+ created_by?: string
2914
+ updated_at?: string
2915
+ updated_by?: string
2916
+ versioned_at?: string
2917
+ versioned_by?: string
2918
+ }
2919
+ }
2920
+ ```
2921
+
2922
+ ### `Grants`
2923
+
2924
+ Required grants for the app in order to call APIs for the installing tenant
2925
+
2926
+ ```ts
2927
+ type Grants = Array<{
2928
+ action: string
2929
+ resource?: string
2930
+ }>
2931
+ ```
2932
+
2933
+ ### `BlueprintRef`
2934
+
2935
+ ```ts
2936
+ type BlueprintRef = {
2937
+ manifest_id?: string
2938
+ job_id?: string
2939
+ }
2940
+ ```
2941
+
2942
+ ### `Installation`
2943
+
2944
+ Information about the installed app. Has configuration data of the installed version
2945
+
2946
+ ```ts
2947
+ type Installation = {
2948
+ app_id: string
2949
+ installer_org_id: string
2950
+ owner_org_id?: string
2951
+ enabled: boolean
2952
+ name: string
2953
+ option_values?: Array<{
2954
+ component_id: string
2955
+ options: Array<{
2956
+ key: { ... }
2957
+ value: { ... }
2958
+ }>
2959
+ }>
2960
+ components: Array<{
2961
+ id: string
2962
+ name?: {
2963
+ en?: { ... }
2964
+ de: { ... }
2965
+ }
2966
+ description?: {
2967
+ en?: { ... }
2968
+ de: { ... }
2969
+ }
2970
+ options?: Array<{
2971
+ key: { ... }
2972
+ label?: { ... }
2973
+ required?: { ... }
2974
+ description?: { ... }
2975
+ value?: { ... }
2976
+ type: { ... }
2977
+ }>
2978
+ surfaces?: object
2979
+ }>
2980
+ installed_version: string
2981
+ role?: string
2982
+ blueprint_ref?: {
2983
+ manifest_id?: string
2984
+ job_id?: string
2985
+ }
2986
+ installation_audit?: {
2987
+ created_at?: string
2988
+ created_by?: string
2989
+ updated_at?: string
2990
+ updated_by?: string
2991
+ }
2992
+ _manifest?: string // uuid[]
2993
+ }
2994
+ ```
2995
+
2996
+ ### `PublicConfiguration`
2997
+
2998
+ Public configuration of the published app
2999
+
3000
+ ```ts
3001
+ type PublicConfiguration = {
3002
+ app_id: string
3003
+ support_email?: string
3004
+ owner_org_id: string
3005
+ name: string
3006
+ author?: {
3007
+ name?: string
3008
+ company: string
3009
+ email?: string
3010
+ }
3011
+ dev_mode?: boolean
3012
+ category?: string
3013
+ icon_url?: string
3014
+ documentation_url?: string
3015
+ description?: {
3016
+ en?: string
3017
+ de: string
3018
+ }
3019
+ pricing?: {
3020
+ pricing_type?: "FREE" | "SUBSCRIPTION" | "USAGE_BASED" | "ONE_TIME" | "CUSTOM" | "UNKNOWN"
3021
+ billing_frequency?: "MONTHLY" | "QUARTERLY" | "YEARLY" | "CUSTOM"
3022
+ }
3023
+ components: Array<{
3024
+ id: string
3025
+ name?: {
3026
+ en?: { ... }
3027
+ de: { ... }
3028
+ }
3029
+ description?: {
3030
+ en?: { ... }
3031
+ de: { ... }
3032
+ }
3033
+ options?: Array<{
3034
+ key: { ... }
3035
+ label?: { ... }
3036
+ required?: { ... }
3037
+ description?: { ... }
3038
+ value?: { ... }
3039
+ type: { ... }
3040
+ }>
3041
+ surfaces?: object
3042
+ }>
3043
+ is_beta?: boolean
3044
+ deprecated_at?: string
3045
+ version: string
3046
+ role?: {
3047
+ id?: string
3048
+ grants?: Array<{
3049
+ action: { ... }
3050
+ resource?: { ... }
3051
+ }>
3052
+ }
3053
+ blueprint_ref?: {
3054
+ manifest_id?: string
3055
+ job_id?: string
3056
+ }
3057
+ latest_version?: string
3058
+ public?: boolean
3059
+ versions?: Array<{
3060
+ app_id: string
3061
+ owner_org_id: string
3062
+ components: Array<{
3063
+ id: { ... }
3064
+ name?: { ... }
3065
+ description?: { ... }
3066
+ options?: { ... }
3067
+ surfaces?: { ... }
3068
+ }>
3069
+ visibility?: "public" | "private"
3070
+ public?: boolean
3071
+ pending?: boolean
3072
+ version: string
3073
+ is_beta?: boolean
3074
+ deprecated_at?: string
3075
+ changelog?: string
3076
+ review_status?: "approved" | "rejected" | "pending"
3077
+ role?: {
3078
+ id?: { ... }
3079
+ grants?: { ... }
3080
+ }
3081
+ blueprint_ref?: {
3082
+ manifest_id?: { ... }
3083
+ job_id?: { ... }
3084
+ }
3085
+ version_audit: {
3086
+ created_at?: { ... }
3087
+ created_by?: { ... }
3088
+ updated_at?: { ... }
3089
+ updated_by?: { ... }
3090
+ versioned_at?: { ... }
3091
+ versioned_by?: { ... }
3092
+ }
3093
+ }>
3094
+ }
3095
+ ```
3096
+
3097
+ ### `Configuration`
3098
+
3099
+ Configuration of the published app
3100
+
3101
+ ```ts
3102
+ type Configuration = {
3103
+ app_id: string
3104
+ name: string
3105
+ author?: {
3106
+ name?: string
3107
+ company: string
3108
+ email?: string
3109
+ }
3110
+ dev_mode?: boolean
3111
+ versions: string[]
3112
+ public_versions?: string[]
3113
+ support_email?: string
3114
+ latest_version: string
3115
+ category?: string
3116
+ icon_url?: string
3117
+ documentation_url?: string
3118
+ description: {
3119
+ en?: string
3120
+ de: string
3121
+ }
3122
+ notifications?: {
3123
+ email?: string // email
3124
+ events?: "app.installed" | "app.uninstalled"[]
3125
+ }
3126
+ owner_org_id: string
3127
+ internal?: boolean
3128
+ pricing?: {
3129
+ pricing_type?: "FREE" | "SUBSCRIPTION" | "USAGE_BASED" | "ONE_TIME" | "CUSTOM" | "UNKNOWN"
3130
+ billing_frequency?: "MONTHLY" | "QUARTERLY" | "YEARLY" | "CUSTOM"
3131
+ }
3132
+ configuration_audit?: {
3133
+ created_at?: string
3134
+ created_by?: string
3135
+ updated_at?: string
3136
+ updated_by?: string
3137
+ }
3138
+ components: Array<{
3139
+ id: string
3140
+ name?: {
3141
+ en?: { ... }
3142
+ de: { ... }
3143
+ }
3144
+ description?: {
3145
+ en?: { ... }
3146
+ de: { ... }
3147
+ }
3148
+ options?: Array<{
3149
+ key: { ... }
3150
+ label?: { ... }
3151
+ required?: { ... }
3152
+ description?: { ... }
3153
+ value?: { ... }
3154
+ type: { ... }
3155
+ }>
3156
+ surfaces?: object
3157
+ }>
3158
+ visibility?: "public" | "private"
3159
+ public?: boolean
3160
+ pending?: boolean
3161
+ version: string
3162
+ is_beta?: boolean
3163
+ deprecated_at?: string
3164
+ changelog?: string
3165
+ review_status?: "approved" | "rejected" | "pending"
3166
+ role?: {
3167
+ id?: string
3168
+ grants?: Array<{
3169
+ action: { ... }
3170
+ resource?: { ... }
3171
+ }>
3172
+ }
3173
+ blueprint_ref?: {
3174
+ manifest_id?: string
3175
+ job_id?: string
3176
+ }
3177
+ version_audit: {
3178
+ created_at?: string
3179
+ created_by?: string
3180
+ updated_at?: string
3181
+ updated_by?: string
3182
+ versioned_at?: string
3183
+ versioned_by?: string
3184
+ }
3185
+ }
3186
+ ```
3187
+
3188
+ ### `TranslatedString`
3189
+
3190
+ ```ts
3191
+ type TranslatedString = {
3192
+ en?: string
3193
+ de: string
3194
+ }
3195
+ ```
3196
+
3197
+ ### `CallerIdentity`
3198
+
3199
+ ```ts
3200
+ type CallerIdentity = {
3201
+ name?: unknown
3202
+ org_id: string
3203
+ user_id?: string
3204
+ token_id?: string
3205
+ }
3206
+ ```
3207
+
3208
+ ### `BatchEventRequest`
3209
+
3210
+ ```ts
3211
+ type BatchEventRequest = {
3212
+ events: Array<{
3213
+ app_id: string
3214
+ version: string
3215
+ event_id?: string
3216
+ component_id: string
3217
+ timestamp?: string
3218
+ correlation_id?: string
3219
+ event_type: "ERROR" | "WARNING" | "INFO"
3220
+ source: "CUSTOM_JOURNEY_BLOCK" | "CUSTOM_PORTAL_BLOCK" | "PORTAL_EXTENSION" | "CUSTOM_FLOW_ACTION" | "ERP_INFORM_TOOLKIT" | "CUSTOM_CAPABILITY" | "EXTERNAL_PRODUCT_CATALOG" | "CUSTOM_PAGE"
3221
+ actor: {
3222
+ org_id?: { ... }
3223
+ user_id?: { ... }
3224
+ type: { ... }
3225
+ }
3226
+ details?: Record<string, unknown>
3227
+ }>
3228
+ }
3229
+ ```
3230
+
3231
+ ### `Actor`
3232
+
3233
+ ```ts
3234
+ type Actor = {
3235
+ org_id?: string
3236
+ user_id?: string
3237
+ type: "user" | "system"
3238
+ }
3239
+ ```
3240
+
3241
+ ### `AppEventData`
3242
+
3243
+ ```ts
3244
+ type AppEventData = {
3245
+ app_id: string
3246
+ version: string
3247
+ event_id?: string
3248
+ component_id: string
3249
+ timestamp?: string
3250
+ correlation_id?: string
3251
+ event_type: "ERROR" | "WARNING" | "INFO"
3252
+ source: "CUSTOM_JOURNEY_BLOCK" | "CUSTOM_PORTAL_BLOCK" | "PORTAL_EXTENSION" | "CUSTOM_FLOW_ACTION" | "ERP_INFORM_TOOLKIT" | "CUSTOM_CAPABILITY" | "EXTERNAL_PRODUCT_CATALOG" | "CUSTOM_PAGE"
3253
+ actor: {
3254
+ org_id?: string
3255
+ user_id?: string
3256
+ type: "user" | "system"
3257
+ }
3258
+ details?: Record<string, unknown>
3259
+ }
3260
+ ```
3261
+
3262
+ ### `EventsQuery`
3263
+
3264
+ ```ts
3265
+ type EventsQuery = {
3266
+ time_range?: {
3267
+ start?: string // date-time
3268
+ end?: string // date-time
3269
+ preset?: "1h" | "6h" | "24h" | "7d" | "30d"
3270
+ }
3271
+ filters?: {
3272
+ source?: "CUSTOM_JOURNEY_BLOCK" | "CUSTOM_PORTAL_BLOCK" | "PORTAL_EXTENSION" | "CUSTOM_FLOW_ACTION" | "ERP_INFORM_TOOLKIT" | "CUSTOM_CAPABILITY" | "EXTERNAL_PRODUCT_CATALOG" | "CUSTOM_PAGE"[]
3273
+ component_id?: string[]
3274
+ event_type?: "ERROR" | "WARNING" | "INFO"[]
3275
+ correlation_id?: string
3276
+ }
3277
+ aggregation?: {
3278
+ group_by?: "source" | "component_id" | "event_type" | "hour" | "day"[]
3279
+ metrics?: "count" | "error_rate" | "unique_users"[]
3280
+ }
3281
+ pagination?: {
3282
+ page?: number
3283
+ page_size?: number
3284
+ }
3285
+ sort?: {
3286
+ field?: "timestamp" | "event_type" | "component_id"
3287
+ order?: "asc" | "desc"
3288
+ }
3289
+ }
3290
+ ```
3291
+
3292
+ ### `EventsQueryResponse`
3293
+
3294
+ ```ts
3295
+ type EventsQueryResponse = {
3296
+ query?: {
3297
+ time_range?: {
3298
+ start?: { ... }
3299
+ end?: { ... }
3300
+ preset?: { ... }
3301
+ }
3302
+ filters?: {
3303
+ source?: { ... }
3304
+ component_id?: { ... }
3305
+ event_type?: { ... }
3306
+ correlation_id?: { ... }
3307
+ }
3308
+ aggregation?: {
3309
+ group_by?: { ... }
3310
+ metrics?: { ... }
3311
+ }
3312
+ pagination?: {
3313
+ page?: { ... }
3314
+ page_size?: { ... }
3315
+ }
3316
+ sort?: {
3317
+ field?: { ... }
3318
+ order?: { ... }
3319
+ }
3320
+ }
3321
+ results?: {
3322
+ type?: "raw"
3323
+ events?: Array<{
3324
+ app_id: { ... }
3325
+ version: { ... }
3326
+ event_id?: { ... }
3327
+ component_id: { ... }
3328
+ timestamp?: { ... }
3329
+ correlation_id?: { ... }
3330
+ event_type: { ... }
3331
+ source: { ... }
3332
+ actor: { ... }
3333
+ details?: { ... }
3334
+ }>
3335
+ } | {
3336
+ type?: "aggregated"
3337
+ groups?: Array<{
3338
+ dimensions?: { ... }
3339
+ metrics?: { ... }
3340
+ }>
3341
+ }
3342
+ pagination?: {
3343
+ page?: number
3344
+ page_size?: number
3345
+ total_items?: number
3346
+ has_next?: boolean
3347
+ }
3348
+ }
3349
+ ```
3350
+
3351
+ ### `RawEvents`
3352
+
3353
+ ```ts
3354
+ type RawEvents = {
3355
+ type?: "raw"
3356
+ events?: Array<{
3357
+ app_id: string
3358
+ version: string
3359
+ event_id?: string
3360
+ component_id: string
3361
+ timestamp?: string
3362
+ correlation_id?: string
3363
+ event_type: "ERROR" | "WARNING" | "INFO"
3364
+ source: "CUSTOM_JOURNEY_BLOCK" | "CUSTOM_PORTAL_BLOCK" | "PORTAL_EXTENSION" | "CUSTOM_FLOW_ACTION" | "ERP_INFORM_TOOLKIT" | "CUSTOM_CAPABILITY" | "EXTERNAL_PRODUCT_CATALOG" | "CUSTOM_PAGE"
3365
+ actor: {
3366
+ org_id?: { ... }
3367
+ user_id?: { ... }
3368
+ type: { ... }
3369
+ }
3370
+ details?: Record<string, unknown>
3371
+ }>
3372
+ }
3373
+ ```
3374
+
3375
+ ### `AggregatedEvents`
3376
+
3377
+ ```ts
3378
+ type AggregatedEvents = {
3379
+ type?: "aggregated"
3380
+ groups?: Array<{
3381
+ dimensions?: Record<string, unknown>
3382
+ metrics?: {
3383
+ count?: { ... }
3384
+ error_rate?: { ... }
3385
+ }
3386
+ }>
3387
+ }
3388
+ ```