@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
@@ -0,0 +1,4572 @@
1
+ # ERP Integration API
2
+
3
+ - **Base URL:** `https://erp-integration-api.sls.epilot.io`
4
+ - **Full API Docs:** [https://docs.epilot.io/api/erp-integration](https://docs.epilot.io/api/erp-integration)
5
+
6
+ ## Usage
7
+
8
+ ```ts
9
+ import { epilot } from '@epilot/sdk'
10
+
11
+ epilot.authorize(() => '<token>')
12
+ const { data } = await epilot.erpIntegration.acknowledgeTracking(...)
13
+ ```
14
+
15
+ ### Tree-shakeable import
16
+
17
+ ```ts
18
+ import { getClient, authorize } from '@epilot/sdk/erp-integration'
19
+
20
+ const erpIntegrationClient = getClient()
21
+ authorize(erpIntegrationClient, () => '<token>')
22
+ const { data } = await erpIntegrationClient.acknowledgeTracking(...)
23
+ ```
24
+
25
+ ## Operations
26
+
27
+ **erp**
28
+ - [`acknowledgeTracking`](#acknowledgetracking)
29
+ - [`triggerErp`](#triggererp)
30
+ - [`processErpUpdatesEventsV3`](#processerpupdateseventsv3)
31
+ - [`simulateMappingV2`](#simulatemappingv2)
32
+ - [`simulateMapping`](#simulatemapping)
33
+
34
+ **integrations**
35
+ - [`listIntegrations`](#listintegrations)
36
+ - [`createIntegration`](#createintegration)
37
+ - [`getIntegration`](#getintegration)
38
+ - [`updateIntegration`](#updateintegration)
39
+ - [`deleteIntegration`](#deleteintegration)
40
+ - [`queryEvents`](#queryevents)
41
+ - [`replayEvents`](#replayevents)
42
+ - [`listUseCases`](#listusecases)
43
+ - [`createUseCase`](#createusecase)
44
+ - [`getUseCase`](#getusecase)
45
+ - [`updateUseCase`](#updateusecase)
46
+ - [`deleteUseCase`](#deleteusecase)
47
+ - [`listUseCaseHistory`](#listusecasehistory)
48
+ - [`listIntegrationsV2`](#listintegrationsv2)
49
+ - [`createIntegrationV2`](#createintegrationv2)
50
+ - [`getIntegrationV2`](#getintegrationv2)
51
+ - [`updateIntegrationV2`](#updateintegrationv2)
52
+ - [`deleteIntegrationV2`](#deleteintegrationv2)
53
+ - [`setIntegrationAppMapping`](#setintegrationappmapping)
54
+ - [`deleteIntegrationAppMapping`](#deleteintegrationappmapping)
55
+ - [`getOutboundStatus`](#getoutboundstatus)
56
+ - [`listSecureProxies`](#listsecureproxies)
57
+
58
+ **monitoring**
59
+ - [`queryInboundMonitoringEvents`](#queryinboundmonitoringevents)
60
+ - [`getMonitoringStats`](#getmonitoringstats)
61
+ - [`getMonitoringTimeSeries`](#getmonitoringtimeseries)
62
+ - [`queryAccessLogs`](#queryaccesslogs)
63
+ - [`queryOutboundMonitoringEvents`](#queryoutboundmonitoringevents)
64
+
65
+ **proxy**
66
+ - [`secureProxy`](#secureproxy)
67
+
68
+ **Schemas**
69
+ - [`ErrorResponseBase`](#errorresponsebase)
70
+ - [`ErpEvent`](#erpevent)
71
+ - [`ErpUpdatesEventsV2Request`](#erpupdateseventsv2request)
72
+ - [`ErpEventV3`](#erpeventv3)
73
+ - [`ErpUpdatesEventsV3Request`](#erpupdateseventsv3request)
74
+ - [`TriggerErpActionRequest`](#triggererpactionrequest)
75
+ - [`TriggerWebhookResp`](#triggerwebhookresp)
76
+ - [`IntegrationEditableFields`](#integrationeditablefields)
77
+ - [`Integration`](#integration)
78
+ - [`CreateIntegrationRequest`](#createintegrationrequest)
79
+ - [`UpdateIntegrationRequest`](#updateintegrationrequest)
80
+ - [`EnvironmentFieldConfig`](#environmentfieldconfig)
81
+ - [`IntegrationSettings`](#integrationsettings)
82
+ - [`AutoRefreshSettings`](#autorefreshsettings)
83
+ - [`SetIntegrationAppMappingRequest`](#setintegrationappmappingrequest)
84
+ - [`DeleteIntegrationAppMappingRequest`](#deleteintegrationappmappingrequest)
85
+ - [`IntegrationAppMapping`](#integrationappmapping)
86
+ - [`IntegrationWithUseCases`](#integrationwithusecases)
87
+ - [`UpsertIntegrationWithUseCasesRequest`](#upsertintegrationwithusecasesrequest)
88
+ - [`InboundIntegrationEventConfiguration`](#inboundintegrationeventconfiguration)
89
+ - [`OutboundIntegrationEventConfiguration`](#outboundintegrationeventconfiguration)
90
+ - [`IntegrationEntity`](#integrationentity)
91
+ - [`IntegrationMeterReading`](#integrationmeterreading)
92
+ - [`PruneScopeConfig`](#prunescopeconfig)
93
+ - [`MeterReadingPruneScopeConfig`](#meterreadingprunescopeconfig)
94
+ - [`MeterUniqueIdsConfig`](#meteruniqueidsconfig)
95
+ - [`IntegrationEntityField`](#integrationentityfield)
96
+ - [`FileProxyUrlParam`](#fileproxyurlparam)
97
+ - [`FileProxyUrlParams`](#fileproxyurlparams)
98
+ - [`FileProxyUrlConfig`](#fileproxyurlconfig)
99
+ - [`EmbeddedUseCaseRequest`](#embeddedusecaserequest)
100
+ - [`EmbeddedUseCaseRequestBase`](#embeddedusecaserequestbase)
101
+ - [`EmbeddedInboundUseCaseRequest`](#embeddedinboundusecaserequest)
102
+ - [`EmbeddedOutboundUseCaseRequest`](#embeddedoutboundusecaserequest)
103
+ - [`EmbeddedFileProxyUseCaseRequest`](#embeddedfileproxyusecaserequest)
104
+ - [`EmbeddedSecureProxyUseCaseRequest`](#embeddedsecureproxyusecaserequest)
105
+ - [`UseCaseBase`](#usecasebase)
106
+ - [`InboundUseCase`](#inboundusecase)
107
+ - [`OutboundUseCase`](#outboundusecase)
108
+ - [`FileProxyUseCase`](#fileproxyusecase)
109
+ - [`SecureProxyUseCase`](#secureproxyusecase)
110
+ - [`UseCase`](#usecase)
111
+ - [`CreateUseCaseRequest`](#createusecaserequest)
112
+ - [`CreateUseCaseRequestBase`](#createusecaserequestbase)
113
+ - [`CreateInboundUseCaseRequest`](#createinboundusecaserequest)
114
+ - [`CreateOutboundUseCaseRequest`](#createoutboundusecaserequest)
115
+ - [`CreateFileProxyUseCaseRequest`](#createfileproxyusecaserequest)
116
+ - [`CreateSecureProxyUseCaseRequest`](#createsecureproxyusecaserequest)
117
+ - [`UpdateUseCaseRequest`](#updateusecaserequest)
118
+ - [`UpdateUseCaseRequestBase`](#updateusecaserequestbase)
119
+ - [`UpdateInboundUseCaseRequest`](#updateinboundusecaserequest)
120
+ - [`UpdateOutboundUseCaseRequest`](#updateoutboundusecaserequest)
121
+ - [`UpdateFileProxyUseCaseRequest`](#updatefileproxyusecaserequest)
122
+ - [`UpdateSecureProxyUseCaseRequest`](#updatesecureproxyusecaserequest)
123
+ - [`UseCaseHistoryEntry`](#usecasehistoryentry)
124
+ - [`UseCaseHistoryEntryBase`](#usecasehistoryentrybase)
125
+ - [`InboundUseCaseHistoryEntry`](#inboundusecasehistoryentry)
126
+ - [`OutboundUseCaseHistoryEntry`](#outboundusecasehistoryentry)
127
+ - [`FileProxyUseCaseHistoryEntry`](#fileproxyusecasehistoryentry)
128
+ - [`SecureProxyUseCaseHistoryEntry`](#secureproxyusecasehistoryentry)
129
+ - [`SecureProxyUseCaseConfiguration`](#secureproxyusecaseconfiguration)
130
+ - [`SecureProxySummary`](#secureproxysummary)
131
+ - [`SecureProxyRequest`](#secureproxyrequest)
132
+ - [`SecureProxyResponse`](#secureproxyresponse)
133
+ - [`FileProxyUseCaseConfiguration`](#fileproxyusecaseconfiguration)
134
+ - [`FileProxySecureProxyAttachment`](#fileproxysecureproxyattachment)
135
+ - [`FileProxyAuth`](#fileproxyauth)
136
+ - [`FileProxyParam`](#fileproxyparam)
137
+ - [`FileProxyStep`](#fileproxystep)
138
+ - [`FileProxyResponseConfig`](#fileproxyresponseconfig)
139
+ - [`MappingSimulationRequest`](#mappingsimulationrequest)
140
+ - [`MappingSimulationV2Request`](#mappingsimulationv2request)
141
+ - [`MappingSimulationResponse`](#mappingsimulationresponse)
142
+ - [`MappingSimulationWarning`](#mappingsimulationwarning)
143
+ - [`EntityUpdate`](#entityupdate)
144
+ - [`MeterReadingUpdate`](#meterreadingupdate)
145
+ - [`IntegrationConfigurationV1`](#integrationconfigurationv1)
146
+ - [`IntegrationObjectV1`](#integrationobjectv1)
147
+ - [`IntegrationFieldV1`](#integrationfieldv1)
148
+ - [`IntegrationConfigurationV2`](#integrationconfigurationv2)
149
+ - [`OutboundMapping`](#outboundmapping)
150
+ - [`DeliveryConfig`](#deliveryconfig)
151
+ - [`OutboundStatusResponse`](#outboundstatusresponse)
152
+ - [`OutboundUseCaseStatus`](#outboundusecasestatus)
153
+ - [`WebhookStatus`](#webhookstatus)
154
+ - [`OutboundConflict`](#outboundconflict)
155
+ - [`RelationConfig`](#relationconfig)
156
+ - [`RelationItemConfig`](#relationitemconfig)
157
+ - [`RelationUniqueIdField`](#relationuniqueidfield)
158
+ - [`RelationRefsConfig`](#relationrefsconfig)
159
+ - [`RelationRefItemConfig`](#relationrefitemconfig)
160
+ - [`RelationRefValueConfig`](#relationrefvalueconfig)
161
+ - [`RepeatableFieldType`](#repeatablefieldtype)
162
+ - [`ReplayEventsRequest`](#replayeventsrequest)
163
+ - [`QueryEventsRequest`](#queryeventsrequest)
164
+ - [`QueryInboundMonitoringEventsRequest`](#queryinboundmonitoringeventsrequest)
165
+ - [`QueryAccessLogsRequest`](#queryaccesslogsrequest)
166
+ - [`AccessLogEntry`](#accesslogentry)
167
+ - [`GetMonitoringStatsRequest`](#getmonitoringstatsrequest)
168
+ - [`GetMonitoringTimeSeriesRequest`](#getmonitoringtimeseriesrequest)
169
+ - [`TimeSeriesBucket`](#timeseriesbucket)
170
+ - [`QueryOutboundMonitoringEventsRequest`](#queryoutboundmonitoringeventsrequest)
171
+ - [`OutboundMonitoringEvent`](#outboundmonitoringevent)
172
+ - [`MonitoringStats`](#monitoringstats)
173
+ - [`InboundMonitoringEvent`](#inboundmonitoringevent)
174
+
175
+ ### `acknowledgeTracking`
176
+
177
+ Acknowledges an ERP tracking record by removing it from the tracking table, requires public authentication
178
+
179
+ `POST /v1/erp/tracking/acknowledgement`
180
+
181
+ ```ts
182
+ const { data } = await client.acknowledgeTracking(
183
+ null,
184
+ {
185
+ ack_id: 'string'
186
+ },
187
+ )
188
+ ```
189
+
190
+ <details>
191
+ <summary>Response</summary>
192
+
193
+ ```json
194
+ {
195
+ "message": "string"
196
+ }
197
+ ```
198
+
199
+ </details>
200
+
201
+ ---
202
+
203
+ ### `triggerErp`
204
+
205
+ Triggers the ERP integration process
206
+
207
+ `POST /v1/erp/trigger`
208
+
209
+ ```ts
210
+ const { data } = await client.triggerErp(
211
+ null,
212
+ {
213
+ execution_id: 'string',
214
+ org_id: 'string',
215
+ webhook_id: 'string',
216
+ flow_id: 'string',
217
+ created_at: '1970-01-01T00:00:00.000Z',
218
+ action_id: 'string',
219
+ flow_action_id: 'string',
220
+ flow_name: 'string',
221
+ activity_id: 'string',
222
+ entity_id: 'string'
223
+ },
224
+ )
225
+ ```
226
+
227
+ <details>
228
+ <summary>Response</summary>
229
+
230
+ ```json
231
+ {
232
+ "status_code": "string",
233
+ "message": "string",
234
+ "body": {},
235
+ "code": "string",
236
+ "status": "succeeded",
237
+ "start_date": "string",
238
+ "end_date": "string",
239
+ "event_id": "string"
240
+ }
241
+ ```
242
+
243
+ </details>
244
+
245
+ ---
246
+
247
+ ### `processErpUpdatesEventsV3`
248
+
249
+ Handles updates from ERP systems using integration_id directly.
250
+ This is the v3 version that removes the unused event_type field and renames object_type to event_name
251
+ to align with the integration UI n
252
+
253
+ `POST /v3/erp/updates/events`
254
+
255
+ ```ts
256
+ const { data } = await client.processErpUpdatesEventsV3(
257
+ null,
258
+ {
259
+ integration_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
260
+ correlation_id: 'string',
261
+ events: [
262
+ {},
263
+ {}
264
+ ]
265
+ },
266
+ )
267
+ ```
268
+
269
+ <details>
270
+ <summary>Response</summary>
271
+
272
+ ```json
273
+ {
274
+ "results": [
275
+ {
276
+ "event_id": "string",
277
+ "status": "success",
278
+ "message": "string"
279
+ }
280
+ ]
281
+ }
282
+ ```
283
+
284
+ </details>
285
+
286
+ ---
287
+
288
+ ### `simulateMappingV2`
289
+
290
+ Test v2.0 mapping configuration by transforming a payload using the provided mapping rules without persisting data.
291
+
292
+ `POST /v2/erp/updates/mapping_simulation`
293
+
294
+ ```ts
295
+ const { data } = await client.simulateMappingV2(
296
+ null,
297
+ {
298
+ event_configuration: {
299
+ entities: [
300
+ { /* ... */ }
301
+ ],
302
+ meter_readings: [
303
+ { /* ... */ }
304
+ ]
305
+ },
306
+ format: 'json',
307
+ payload: 'string'
308
+ },
309
+ )
310
+ ```
311
+
312
+ <details>
313
+ <summary>Response</summary>
314
+
315
+ ```json
316
+ {
317
+ "entity_updates": [
318
+ {
319
+ "entity_slug": "string",
320
+ "unique_identifiers": {},
321
+ "attributes": {}
322
+ }
323
+ ],
324
+ "meter_readings_updates": [
325
+ {
326
+ "meter": {
327
+ "$entity_unique_ids": {}
328
+ },
329
+ "meter_counter": {
330
+ "$entity_unique_ids": {}
331
+ },
332
+ "attributes": {}
333
+ }
334
+ ],
335
+ "warnings": [
336
+ {
337
+ "entity_schema": "string",
338
+ "field": "string",
339
+ "message": "string"
340
+ }
341
+ ]
342
+ }
343
+ ```
344
+
345
+ </details>
346
+
347
+ ---
348
+
349
+ ### `simulateMapping`
350
+
351
+ Test mapping configuration by transforming a payload using the provided mapping rules without persisting data.
352
+
353
+ `POST /v1/erp/updates/mapping_simulation`
354
+
355
+ ```ts
356
+ const { data } = await client.simulateMapping(
357
+ null,
358
+ {
359
+ mapping_configuration: {
360
+ version: '1.0',
361
+ mapping: {
362
+ objects: {}
363
+ }
364
+ },
365
+ object_type: 'string',
366
+ format: 'json',
367
+ payload: 'string'
368
+ },
369
+ )
370
+ ```
371
+
372
+ <details>
373
+ <summary>Response</summary>
374
+
375
+ ```json
376
+ {
377
+ "entity_updates": [
378
+ {
379
+ "entity_slug": "string",
380
+ "unique_identifiers": {},
381
+ "attributes": {}
382
+ }
383
+ ],
384
+ "meter_readings_updates": [
385
+ {
386
+ "meter": {
387
+ "$entity_unique_ids": {}
388
+ },
389
+ "meter_counter": {
390
+ "$entity_unique_ids": {}
391
+ },
392
+ "attributes": {}
393
+ }
394
+ ],
395
+ "warnings": [
396
+ {
397
+ "entity_schema": "string",
398
+ "field": "string",
399
+ "message": "string"
400
+ }
401
+ ]
402
+ }
403
+ ```
404
+
405
+ </details>
406
+
407
+ ---
408
+
409
+ ### `listIntegrations`
410
+
411
+ Retrieve all integrations for the authenticated organization
412
+
413
+ `GET /v1/integrations`
414
+
415
+ ```ts
416
+ const { data } = await client.listIntegrations()
417
+ ```
418
+
419
+ <details>
420
+ <summary>Response</summary>
421
+
422
+ ```json
423
+ {
424
+ "integrations": [
425
+ {
426
+ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
427
+ "orgId": "string",
428
+ "created_at": "1970-01-01T00:00:00.000Z",
429
+ "updated_at": "1970-01-01T00:00:00.000Z",
430
+ "name": "string",
431
+ "description": "string",
432
+ "access_token_ids": ["string"],
433
+ "app_ids": ["string"],
434
+ "environment_config": [
435
+ {
436
+ "key": "string",
437
+ "label": "string",
438
+ "type": "String",
439
+ "description": "string",
440
+ "required": false,
441
+ "order": 0
442
+ }
443
+ ],
444
+ "settings": {
445
+ "autoRefresh": {
446
+ "enabled": false,
447
+ "freshnessThresholdMinutes": 1
448
+ }
449
+ }
450
+ }
451
+ ]
452
+ }
453
+ ```
454
+
455
+ </details>
456
+
457
+ ---
458
+
459
+ ### `createIntegration`
460
+
461
+ Create a new integration configuration
462
+
463
+ `POST /v1/integrations`
464
+
465
+ ```ts
466
+ const { data } = await client.createIntegration(
467
+ null,
468
+ {
469
+ name: 'string',
470
+ description: 'string',
471
+ access_token_ids: ['string'],
472
+ app_ids: ['string'],
473
+ environment_config: [
474
+ {
475
+ key: 'string',
476
+ label: 'string',
477
+ type: 'String',
478
+ description: 'string',
479
+ required: false,
480
+ order: 0
481
+ }
482
+ ],
483
+ settings: {
484
+ autoRefresh: {
485
+ enabled: false,
486
+ freshnessThresholdMinutes: 1
487
+ }
488
+ }
489
+ },
490
+ )
491
+ ```
492
+
493
+ <details>
494
+ <summary>Response</summary>
495
+
496
+ ```json
497
+ {
498
+ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
499
+ "orgId": "string",
500
+ "created_at": "1970-01-01T00:00:00.000Z",
501
+ "updated_at": "1970-01-01T00:00:00.000Z",
502
+ "name": "string",
503
+ "description": "string",
504
+ "access_token_ids": ["string"],
505
+ "app_ids": ["string"],
506
+ "environment_config": [
507
+ {
508
+ "key": "string",
509
+ "label": "string",
510
+ "type": "String",
511
+ "description": "string",
512
+ "required": false,
513
+ "order": 0
514
+ }
515
+ ],
516
+ "settings": {
517
+ "autoRefresh": {
518
+ "enabled": false,
519
+ "freshnessThresholdMinutes": 1
520
+ }
521
+ }
522
+ }
523
+ ```
524
+
525
+ </details>
526
+
527
+ ---
528
+
529
+ ### `getIntegration`
530
+
531
+ Retrieve a specific integration by its ID
532
+
533
+ `GET /v1/integrations/{integrationId}`
534
+
535
+ ```ts
536
+ const { data } = await client.getIntegration({
537
+ integrationId: 'example',
538
+ })
539
+ ```
540
+
541
+ <details>
542
+ <summary>Response</summary>
543
+
544
+ ```json
545
+ {
546
+ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
547
+ "orgId": "string",
548
+ "created_at": "1970-01-01T00:00:00.000Z",
549
+ "updated_at": "1970-01-01T00:00:00.000Z",
550
+ "name": "string",
551
+ "description": "string",
552
+ "access_token_ids": ["string"],
553
+ "app_ids": ["string"],
554
+ "environment_config": [
555
+ {
556
+ "key": "string",
557
+ "label": "string",
558
+ "type": "String",
559
+ "description": "string",
560
+ "required": false,
561
+ "order": 0
562
+ }
563
+ ],
564
+ "settings": {
565
+ "autoRefresh": {
566
+ "enabled": false,
567
+ "freshnessThresholdMinutes": 1
568
+ }
569
+ }
570
+ }
571
+ ```
572
+
573
+ </details>
574
+
575
+ ---
576
+
577
+ ### `updateIntegration`
578
+
579
+ Update an existing integration configuration
580
+
581
+ `PUT /v1/integrations/{integrationId}`
582
+
583
+ ```ts
584
+ const { data } = await client.updateIntegration(
585
+ {
586
+ integrationId: 'example',
587
+ },
588
+ {},
589
+ )
590
+ ```
591
+
592
+ <details>
593
+ <summary>Response</summary>
594
+
595
+ ```json
596
+ {
597
+ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
598
+ "orgId": "string",
599
+ "created_at": "1970-01-01T00:00:00.000Z",
600
+ "updated_at": "1970-01-01T00:00:00.000Z",
601
+ "name": "string",
602
+ "description": "string",
603
+ "access_token_ids": ["string"],
604
+ "app_ids": ["string"],
605
+ "environment_config": [
606
+ {
607
+ "key": "string",
608
+ "label": "string",
609
+ "type": "String",
610
+ "description": "string",
611
+ "required": false,
612
+ "order": 0
613
+ }
614
+ ],
615
+ "settings": {
616
+ "autoRefresh": {
617
+ "enabled": false,
618
+ "freshnessThresholdMinutes": 1
619
+ }
620
+ }
621
+ }
622
+ ```
623
+
624
+ </details>
625
+
626
+ ---
627
+
628
+ ### `deleteIntegration`
629
+
630
+ Delete an integration and all its use cases
631
+
632
+ `DELETE /v1/integrations/{integrationId}`
633
+
634
+ ```ts
635
+ const { data } = await client.deleteIntegration({
636
+ integrationId: 'example',
637
+ })
638
+ ```
639
+
640
+ <details>
641
+ <summary>Response</summary>
642
+
643
+ ```json
644
+ {
645
+ "message": "string"
646
+ }
647
+ ```
648
+
649
+ </details>
650
+
651
+ ---
652
+
653
+ ### `queryEvents`
654
+
655
+ Query events for a specific integration
656
+
657
+ `POST /v1/integrations/{integrationId}/events`
658
+
659
+ ```ts
660
+ const { data } = await client.queryEvents(
661
+ {
662
+ integrationId: 'example',
663
+ },
664
+ {
665
+ event_id: 'string',
666
+ event_type: 'CREATE',
667
+ correlation_id: 'string',
668
+ object_type: 'string',
669
+ event_name: 'string',
670
+ limit: 25,
671
+ cursor: {
672
+ event_time: '2025-10-31T12:34:56Z',
673
+ event_id: 'evt_1234567890abcdef'
674
+ }
675
+ },
676
+ )
677
+ ```
678
+
679
+ <details>
680
+ <summary>Response</summary>
681
+
682
+ ```json
683
+ {
684
+ "data": [
685
+ {
686
+ "event_type": "CREATE",
687
+ "object_type": "string",
688
+ "timestamp": "1970-01-01T00:00:00.000Z",
689
+ "format": "json",
690
+ "payload": "string",
691
+ "deduplication_id": "evt-2025-05-01-12345-create-bp"
692
+ }
693
+ ],
694
+ "next_cursor": {
695
+ "event_time": "2025-10-31T12:34:56Z",
696
+ "event_id": "evt_1234567890abcdef"
697
+ },
698
+ "has_more": true
699
+ }
700
+ ```
701
+
702
+ </details>
703
+
704
+ ---
705
+
706
+ ### `replayEvents`
707
+
708
+ Replay one or more events for a specific integration. Events will be re-processed with their original payloads but with a new correlation ID for traceability.
709
+
710
+ `POST /v1/integrations/{integrationId}/events/replay`
711
+
712
+ ```ts
713
+ const { data } = await client.replayEvents(
714
+ {
715
+ integrationId: 'example',
716
+ },
717
+ {
718
+ event_ids: ['string']
719
+ },
720
+ )
721
+ ```
722
+
723
+ <details>
724
+ <summary>Response</summary>
725
+
726
+ ```json
727
+ {
728
+ "event_ids": ["string"]
729
+ }
730
+ ```
731
+
732
+ </details>
733
+
734
+ ---
735
+
736
+ ### `listUseCases`
737
+
738
+ Retrieve all use cases for a specific integration
739
+
740
+ `GET /v1/integrations/{integrationId}/use-cases`
741
+
742
+ ```ts
743
+ const { data } = await client.listUseCases({
744
+ integrationId: 'example',
745
+ })
746
+ ```
747
+
748
+ <details>
749
+ <summary>Response</summary>
750
+
751
+ ```json
752
+ {
753
+ "use_cases": [
754
+ {
755
+ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
756
+ "integrationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
757
+ "name": "string",
758
+ "slug": "string",
759
+ "type": "inbound",
760
+ "enabled": true,
761
+ "change_description": "string",
762
+ "created_at": "1970-01-01T00:00:00.000Z",
763
+ "updated_at": "1970-01-01T00:00:00.000Z",
764
+ "configuration": {}
765
+ }
766
+ ]
767
+ }
768
+ ```
769
+
770
+ </details>
771
+
772
+ ---
773
+
774
+ ### `createUseCase`
775
+
776
+ Create a new use case for an integration
777
+
778
+ `POST /v1/integrations/{integrationId}/use-cases`
779
+
780
+ ```ts
781
+ const { data } = await client.createUseCase(
782
+ {
783
+ integrationId: 'example',
784
+ },
785
+ {
786
+ name: 'string',
787
+ slug: 'string',
788
+ enabled: true,
789
+ type: 'inbound',
790
+ configuration: {
791
+ entities: [
792
+ { /* ... */ }
793
+ ],
794
+ meter_readings: [
795
+ { /* ... */ }
796
+ ]
797
+ }
798
+ },
799
+ )
800
+ ```
801
+
802
+ <details>
803
+ <summary>Response</summary>
804
+
805
+ ```json
806
+ {
807
+ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
808
+ "integrationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
809
+ "name": "string",
810
+ "slug": "string",
811
+ "type": "inbound",
812
+ "enabled": true,
813
+ "change_description": "string",
814
+ "created_at": "1970-01-01T00:00:00.000Z",
815
+ "updated_at": "1970-01-01T00:00:00.000Z",
816
+ "configuration": {
817
+ "entities": [
818
+ {}
819
+ ],
820
+ "meter_readings": [
821
+ {}
822
+ ]
823
+ }
824
+ }
825
+ ```
826
+
827
+ </details>
828
+
829
+ ---
830
+
831
+ ### `getUseCase`
832
+
833
+ Retrieve a specific use case by its ID
834
+
835
+ `GET /v1/integrations/{integrationId}/use-cases/{useCaseId}`
836
+
837
+ ```ts
838
+ const { data } = await client.getUseCase({
839
+ integrationId: 'example',
840
+ useCaseId: 'example',
841
+ })
842
+ ```
843
+
844
+ <details>
845
+ <summary>Response</summary>
846
+
847
+ ```json
848
+ {
849
+ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
850
+ "integrationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
851
+ "name": "string",
852
+ "slug": "string",
853
+ "type": "inbound",
854
+ "enabled": true,
855
+ "change_description": "string",
856
+ "created_at": "1970-01-01T00:00:00.000Z",
857
+ "updated_at": "1970-01-01T00:00:00.000Z",
858
+ "configuration": {
859
+ "entities": [
860
+ {}
861
+ ],
862
+ "meter_readings": [
863
+ {}
864
+ ]
865
+ }
866
+ }
867
+ ```
868
+
869
+ </details>
870
+
871
+ ---
872
+
873
+ ### `updateUseCase`
874
+
875
+ Update an existing use case configuration
876
+
877
+ `PUT /v1/integrations/{integrationId}/use-cases/{useCaseId}`
878
+
879
+ ```ts
880
+ const { data } = await client.updateUseCase(
881
+ {
882
+ integrationId: 'example',
883
+ useCaseId: 'example',
884
+ },
885
+ {
886
+ name: 'string',
887
+ slug: 'string',
888
+ enabled: true,
889
+ change_description: 'string',
890
+ type: 'inbound',
891
+ configuration: {
892
+ entities: [
893
+ { /* ... */ }
894
+ ],
895
+ meter_readings: [
896
+ { /* ... */ }
897
+ ]
898
+ }
899
+ },
900
+ )
901
+ ```
902
+
903
+ <details>
904
+ <summary>Response</summary>
905
+
906
+ ```json
907
+ {
908
+ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
909
+ "integrationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
910
+ "name": "string",
911
+ "slug": "string",
912
+ "type": "inbound",
913
+ "enabled": true,
914
+ "change_description": "string",
915
+ "created_at": "1970-01-01T00:00:00.000Z",
916
+ "updated_at": "1970-01-01T00:00:00.000Z",
917
+ "configuration": {
918
+ "entities": [
919
+ {}
920
+ ],
921
+ "meter_readings": [
922
+ {}
923
+ ]
924
+ }
925
+ }
926
+ ```
927
+
928
+ </details>
929
+
930
+ ---
931
+
932
+ ### `deleteUseCase`
933
+
934
+ Delete a use case from an integration
935
+
936
+ `DELETE /v1/integrations/{integrationId}/use-cases/{useCaseId}`
937
+
938
+ ```ts
939
+ const { data } = await client.deleteUseCase({
940
+ integrationId: 'example',
941
+ useCaseId: 'example',
942
+ })
943
+ ```
944
+
945
+ <details>
946
+ <summary>Response</summary>
947
+
948
+ ```json
949
+ {
950
+ "message": "string"
951
+ }
952
+ ```
953
+
954
+ </details>
955
+
956
+ ---
957
+
958
+ ### `listUseCaseHistory`
959
+
960
+ Retrieve historical versions of a use case's configuration.
961
+ History entries are returned in reverse chronological order (newest first).
962
+ Use the 'cursor' parameter for pagination to fetch additional en
963
+
964
+ `GET /v1/integrations/{integrationId}/use-cases/{useCaseId}/history`
965
+
966
+ ```ts
967
+ const { data } = await client.listUseCaseHistory({
968
+ integrationId: 'example',
969
+ useCaseId: 'example',
970
+ cursor: 'example',
971
+ })
972
+ ```
973
+
974
+ <details>
975
+ <summary>Response</summary>
976
+
977
+ ```json
978
+ {
979
+ "history": [
980
+ {
981
+ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
982
+ "useCaseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
983
+ "integrationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
984
+ "name": "string",
985
+ "slug": "string",
986
+ "enabled": true,
987
+ "change_description": "string",
988
+ "created_at": "1970-01-01T00:00:00.000Z",
989
+ "updated_at": "1970-01-01T00:00:00.000Z",
990
+ "history_created_at": "1970-01-01T00:00:00.000Z",
991
+ "type": "inbound",
992
+ "configuration": {}
993
+ }
994
+ ],
995
+ "next_cursor": "string"
996
+ }
997
+ ```
998
+
999
+ </details>
1000
+
1001
+ ---
1002
+
1003
+ ### `listIntegrationsV2`
1004
+
1005
+ Retrieve all integrations with embedded use cases for the authenticated organization
1006
+
1007
+ `GET /v2/integrations`
1008
+
1009
+ ```ts
1010
+ const { data } = await client.listIntegrationsV2()
1011
+ ```
1012
+
1013
+ <details>
1014
+ <summary>Response</summary>
1015
+
1016
+ ```json
1017
+ {
1018
+ "integrations": [
1019
+ {
1020
+ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1021
+ "orgId": "string",
1022
+ "created_at": "1970-01-01T00:00:00.000Z",
1023
+ "updated_at": "1970-01-01T00:00:00.000Z",
1024
+ "name": "string",
1025
+ "description": "string",
1026
+ "access_token_ids": ["string"],
1027
+ "app_ids": ["string"],
1028
+ "environment_config": [],
1029
+ "settings": {},
1030
+ "use_cases": []
1031
+ }
1032
+ ]
1033
+ }
1034
+ ```
1035
+
1036
+ </details>
1037
+
1038
+ ---
1039
+
1040
+ ### `createIntegrationV2`
1041
+
1042
+ Create a new integration with embedded use cases.
1043
+
1044
+ `POST /v2/integrations`
1045
+
1046
+ ```ts
1047
+ const { data } = await client.createIntegrationV2(
1048
+ null,
1049
+ {
1050
+ name: 'string',
1051
+ description: 'string',
1052
+ access_token_ids: ['string'],
1053
+ app_ids: ['string'],
1054
+ environment_config: [
1055
+ {
1056
+ key: 'string',
1057
+ label: 'string',
1058
+ type: 'String',
1059
+ description: 'string',
1060
+ required: false,
1061
+ order: 0
1062
+ }
1063
+ ],
1064
+ settings: {
1065
+ autoRefresh: {
1066
+ enabled: false,
1067
+ freshnessThresholdMinutes: 1
1068
+ }
1069
+ },
1070
+ use_cases: [
1071
+ {
1072
+ id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
1073
+ name: 'string',
1074
+ slug: 'string',
1075
+ enabled: true,
1076
+ change_description: 'string',
1077
+ type: 'inbound',
1078
+ configuration: { /* ... */ }
1079
+ }
1080
+ ]
1081
+ },
1082
+ )
1083
+ ```
1084
+
1085
+ <details>
1086
+ <summary>Response</summary>
1087
+
1088
+ ```json
1089
+ {
1090
+ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1091
+ "orgId": "string",
1092
+ "created_at": "1970-01-01T00:00:00.000Z",
1093
+ "updated_at": "1970-01-01T00:00:00.000Z",
1094
+ "name": "string",
1095
+ "description": "string",
1096
+ "access_token_ids": ["string"],
1097
+ "app_ids": ["string"],
1098
+ "environment_config": [
1099
+ {
1100
+ "key": "string",
1101
+ "label": "string",
1102
+ "type": "String",
1103
+ "description": "string",
1104
+ "required": false,
1105
+ "order": 0
1106
+ }
1107
+ ],
1108
+ "settings": {
1109
+ "autoRefresh": {
1110
+ "enabled": false,
1111
+ "freshnessThresholdMinutes": 1
1112
+ }
1113
+ },
1114
+ "use_cases": [
1115
+ {
1116
+ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1117
+ "integrationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1118
+ "name": "string",
1119
+ "slug": "string",
1120
+ "type": "inbound",
1121
+ "enabled": true,
1122
+ "change_description": "string",
1123
+ "created_at": "1970-01-01T00:00:00.000Z",
1124
+ "updated_at": "1970-01-01T00:00:00.000Z",
1125
+ "configuration": {}
1126
+ }
1127
+ ]
1128
+ }
1129
+ ```
1130
+
1131
+ </details>
1132
+
1133
+ ---
1134
+
1135
+ ### `getIntegrationV2`
1136
+
1137
+ Retrieve a specific integration with all its embedded use cases
1138
+
1139
+ `GET /v2/integrations/{integrationId}`
1140
+
1141
+ ```ts
1142
+ const { data } = await client.getIntegrationV2({
1143
+ integrationId: 'example',
1144
+ })
1145
+ ```
1146
+
1147
+ <details>
1148
+ <summary>Response</summary>
1149
+
1150
+ ```json
1151
+ {
1152
+ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1153
+ "orgId": "string",
1154
+ "created_at": "1970-01-01T00:00:00.000Z",
1155
+ "updated_at": "1970-01-01T00:00:00.000Z",
1156
+ "name": "string",
1157
+ "description": "string",
1158
+ "access_token_ids": ["string"],
1159
+ "app_ids": ["string"],
1160
+ "environment_config": [
1161
+ {
1162
+ "key": "string",
1163
+ "label": "string",
1164
+ "type": "String",
1165
+ "description": "string",
1166
+ "required": false,
1167
+ "order": 0
1168
+ }
1169
+ ],
1170
+ "settings": {
1171
+ "autoRefresh": {
1172
+ "enabled": false,
1173
+ "freshnessThresholdMinutes": 1
1174
+ }
1175
+ },
1176
+ "use_cases": [
1177
+ {
1178
+ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1179
+ "integrationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1180
+ "name": "string",
1181
+ "slug": "string",
1182
+ "type": "inbound",
1183
+ "enabled": true,
1184
+ "change_description": "string",
1185
+ "created_at": "1970-01-01T00:00:00.000Z",
1186
+ "updated_at": "1970-01-01T00:00:00.000Z",
1187
+ "configuration": {}
1188
+ }
1189
+ ]
1190
+ }
1191
+ ```
1192
+
1193
+ </details>
1194
+
1195
+ ---
1196
+
1197
+ ### `updateIntegrationV2`
1198
+
1199
+ Update an existing integration with embedded use cases.
1200
+ The integration must already exist.
1201
+ Use cases are updated declaratively:
1202
+ - Use cases in the request with matching IDs are updated
1203
+ - Use cases in
1204
+
1205
+ `PUT /v2/integrations/{integrationId}`
1206
+
1207
+ ```ts
1208
+ const { data } = await client.updateIntegrationV2(
1209
+ {
1210
+ integrationId: 'example',
1211
+ },
1212
+ {
1213
+ name: 'string',
1214
+ description: 'string',
1215
+ access_token_ids: ['string'],
1216
+ app_ids: ['string'],
1217
+ environment_config: [
1218
+ {
1219
+ key: 'string',
1220
+ label: 'string',
1221
+ type: 'String',
1222
+ description: 'string',
1223
+ required: false,
1224
+ order: 0
1225
+ }
1226
+ ],
1227
+ settings: {
1228
+ autoRefresh: {
1229
+ enabled: false,
1230
+ freshnessThresholdMinutes: 1
1231
+ }
1232
+ },
1233
+ use_cases: [
1234
+ {
1235
+ id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
1236
+ name: 'string',
1237
+ slug: 'string',
1238
+ enabled: true,
1239
+ change_description: 'string',
1240
+ type: 'inbound',
1241
+ configuration: { /* ... */ }
1242
+ }
1243
+ ]
1244
+ },
1245
+ )
1246
+ ```
1247
+
1248
+ <details>
1249
+ <summary>Response</summary>
1250
+
1251
+ ```json
1252
+ {
1253
+ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1254
+ "orgId": "string",
1255
+ "created_at": "1970-01-01T00:00:00.000Z",
1256
+ "updated_at": "1970-01-01T00:00:00.000Z",
1257
+ "name": "string",
1258
+ "description": "string",
1259
+ "access_token_ids": ["string"],
1260
+ "app_ids": ["string"],
1261
+ "environment_config": [
1262
+ {
1263
+ "key": "string",
1264
+ "label": "string",
1265
+ "type": "String",
1266
+ "description": "string",
1267
+ "required": false,
1268
+ "order": 0
1269
+ }
1270
+ ],
1271
+ "settings": {
1272
+ "autoRefresh": {
1273
+ "enabled": false,
1274
+ "freshnessThresholdMinutes": 1
1275
+ }
1276
+ },
1277
+ "use_cases": [
1278
+ {
1279
+ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1280
+ "integrationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1281
+ "name": "string",
1282
+ "slug": "string",
1283
+ "type": "inbound",
1284
+ "enabled": true,
1285
+ "change_description": "string",
1286
+ "created_at": "1970-01-01T00:00:00.000Z",
1287
+ "updated_at": "1970-01-01T00:00:00.000Z",
1288
+ "configuration": {}
1289
+ }
1290
+ ]
1291
+ }
1292
+ ```
1293
+
1294
+ </details>
1295
+
1296
+ ---
1297
+
1298
+ ### `deleteIntegrationV2`
1299
+
1300
+ Delete an integration and all its use cases
1301
+
1302
+ `DELETE /v2/integrations/{integrationId}`
1303
+
1304
+ ```ts
1305
+ const { data } = await client.deleteIntegrationV2({
1306
+ integrationId: 'example',
1307
+ })
1308
+ ```
1309
+
1310
+ <details>
1311
+ <summary>Response</summary>
1312
+
1313
+ ```json
1314
+ {
1315
+ "message": "string"
1316
+ }
1317
+ ```
1318
+
1319
+ </details>
1320
+
1321
+ ---
1322
+
1323
+ ### `setIntegrationAppMapping`
1324
+
1325
+ Creates or updates a mapping from an app/component to an integration.
1326
+ This allows ERP updates sent via app_id and component_id to be associated
1327
+ with a specific integration configuration.
1328
+
1329
+ `PUT /v1/integrations/{integrationId}/app-mapping`
1330
+
1331
+ ```ts
1332
+ const { data } = await client.setIntegrationAppMapping(
1333
+ {
1334
+ integrationId: 'example',
1335
+ },
1336
+ {
1337
+ app_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
1338
+ component_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
1339
+ overwrite: false
1340
+ },
1341
+ )
1342
+ ```
1343
+
1344
+ <details>
1345
+ <summary>Response</summary>
1346
+
1347
+ ```json
1348
+ {
1349
+ "integration_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
1350
+ }
1351
+ ```
1352
+
1353
+ </details>
1354
+
1355
+ ---
1356
+
1357
+ ### `deleteIntegrationAppMapping`
1358
+
1359
+ Removes a mapping from an app/component to an integration.
1360
+
1361
+ `DELETE /v1/integrations/{integrationId}/app-mapping`
1362
+
1363
+ ```ts
1364
+ const { data } = await client.deleteIntegrationAppMapping(
1365
+ {
1366
+ integrationId: 'example',
1367
+ },
1368
+ {
1369
+ app_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
1370
+ component_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6'
1371
+ },
1372
+ )
1373
+ ```
1374
+
1375
+ <details>
1376
+ <summary>Response</summary>
1377
+
1378
+ ```json
1379
+ {
1380
+ "message": "string"
1381
+ }
1382
+ ```
1383
+
1384
+ </details>
1385
+
1386
+ ---
1387
+
1388
+ ### `queryInboundMonitoringEvents`
1389
+
1390
+ Query inbound monitoring events for a specific integration.
1391
+ Returns detailed information about inbound sync events from ERP systems,
1392
+ including success rates, error breakdowns, and processing metrics.
1393
+
1394
+ `POST /v1/integrations/{integrationId}/monitoring/inbound-events`
1395
+
1396
+ ```ts
1397
+ const { data } = await client.queryInboundMonitoringEvents(
1398
+ {
1399
+ integrationId: 'example',
1400
+ },
1401
+ {
1402
+ use_case_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
1403
+ event_type: 'CREATE',
1404
+ sync_type: 'entity',
1405
+ status: 'success',
1406
+ error_category: 'validation',
1407
+ correlation_id: 'string',
1408
+ object_type: 'string',
1409
+ event_name: 'string',
1410
+ event_id: 'string',
1411
+ from_date: '2025-01-01T00:00:00Z',
1412
+ to_date: '2025-01-31T23:59:59Z',
1413
+ limit: 50,
1414
+ cursor: {
1415
+ completed_at: '1970-01-01T00:00:00.000Z',
1416
+ event_id: 'string'
1417
+ }
1418
+ },
1419
+ )
1420
+ ```
1421
+
1422
+ <details>
1423
+ <summary>Response</summary>
1424
+
1425
+ ```json
1426
+ {
1427
+ "data": [
1428
+ {
1429
+ "org_id": "string",
1430
+ "event_id": "string",
1431
+ "correlation_id": "string",
1432
+ "integration_id": "string",
1433
+ "use_case_id": "string",
1434
+ "event_type": "CREATE",
1435
+ "object_type": "string",
1436
+ "sync_type": "entity",
1437
+ "status": "success",
1438
+ "error_code": "string",
1439
+ "error_message": "string",
1440
+ "error_category": "validation",
1441
+ "processing_duration_ms": 0,
1442
+ "received_at": "1970-01-01T00:00:00.000Z",
1443
+ "completed_at": "1970-01-01T00:00:00.000Z"
1444
+ }
1445
+ ],
1446
+ "next_cursor": {
1447
+ "completed_at": "1970-01-01T00:00:00.000Z",
1448
+ "event_id": "string"
1449
+ },
1450
+ "has_more": true
1451
+ }
1452
+ ```
1453
+
1454
+ </details>
1455
+
1456
+ ---
1457
+
1458
+ ### `getMonitoringStats`
1459
+
1460
+ Get aggregated statistics for both inbound and outbound monitoring events for a specific integration.
1461
+ Returns summary metrics for inbound (ERP sync) and outbound (webhook delivery) events,
1462
+ including s
1463
+
1464
+ `POST /v1/integrations/{integrationId}/monitoring/stats`
1465
+
1466
+ ```ts
1467
+ const { data } = await client.getMonitoringStats(
1468
+ {
1469
+ integrationId: 'example',
1470
+ },
1471
+ {
1472
+ from_date: '2025-01-01T00:00:00Z',
1473
+ to_date: '2025-01-31T23:59:59Z',
1474
+ inbound_group_by: ['use_case_id', 'status'],
1475
+ outbound_group_by: ['event_name', 'status']
1476
+ },
1477
+ )
1478
+ ```
1479
+
1480
+ <details>
1481
+ <summary>Response</summary>
1482
+
1483
+ ```json
1484
+ {
1485
+ "inbound": {
1486
+ "total_events": 0,
1487
+ "total_correlations": 0,
1488
+ "success_count": 0,
1489
+ "error_count": 0,
1490
+ "skipped_count": 0,
1491
+ "warning_count": 0,
1492
+ "success_rate": 0,
1493
+ "last_error_at": "1970-01-01T00:00:00.000Z",
1494
+ "breakdown": [
1495
+ {}
1496
+ ]
1497
+ },
1498
+ "outbound": {
1499
+ "total_events": 0,
1500
+ "success_count": 0,
1501
+ "error_count": 0,
1502
+ "pending_count": 0,
1503
+ "success_rate": 0,
1504
+ "last_error_at": "1970-01-01T00:00:00.000Z",
1505
+ "breakdown": [
1506
+ {}
1507
+ ]
1508
+ }
1509
+ }
1510
+ ```
1511
+
1512
+ </details>
1513
+
1514
+ ---
1515
+
1516
+ ### `getMonitoringTimeSeries`
1517
+
1518
+ Get time-series aggregated event counts for monitoring charts.
1519
+ Returns pre-bucketed counts at configurable intervals for both inbound and outbound events.
1520
+ Maximum of 200 buckets per request. Returns 4
1521
+
1522
+ `POST /v1/integrations/{integrationId}/monitoring/timeseries`
1523
+
1524
+ ```ts
1525
+ const { data } = await client.getMonitoringTimeSeries(
1526
+ {
1527
+ integrationId: 'example',
1528
+ },
1529
+ {
1530
+ from_date: '2025-01-01T00:00:00Z',
1531
+ to_date: '2025-01-31T23:59:59Z',
1532
+ interval: '1h',
1533
+ direction: 'both'
1534
+ },
1535
+ )
1536
+ ```
1537
+
1538
+ <details>
1539
+ <summary>Response</summary>
1540
+
1541
+ ```json
1542
+ {
1543
+ "interval": "5m",
1544
+ "from_date": "1970-01-01T00:00:00.000Z",
1545
+ "to_date": "1970-01-01T00:00:00.000Z",
1546
+ "buckets": [
1547
+ {
1548
+ "timestamp": "1970-01-01T00:00:00.000Z",
1549
+ "inbound": {
1550
+ "success_count": 0,
1551
+ "error_count": 0,
1552
+ "warning_count": 0,
1553
+ "skipped_count": 0,
1554
+ "total_count": 0
1555
+ },
1556
+ "outbound": {
1557
+ "success_count": 0,
1558
+ "error_count": 0,
1559
+ "pending_count": 0,
1560
+ "total_count": 0
1561
+ }
1562
+ }
1563
+ ]
1564
+ }
1565
+ ```
1566
+
1567
+ </details>
1568
+
1569
+ ---
1570
+
1571
+ ### `getOutboundStatus`
1572
+
1573
+ Get the status of all outbound use cases for a specific integration.
1574
+ Returns conflict information when events or webhooks are disabled but the use case is enabled.
1575
+
1576
+ `GET /v1/integrations/{integrationId}/outbound-status`
1577
+
1578
+ ```ts
1579
+ const { data } = await client.getOutboundStatus({
1580
+ integrationId: 'example',
1581
+ })
1582
+ ```
1583
+
1584
+ <details>
1585
+ <summary>Response</summary>
1586
+
1587
+ ```json
1588
+ {
1589
+ "useCases": [
1590
+ {
1591
+ "useCaseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1592
+ "name": "string",
1593
+ "useCaseEnabled": true,
1594
+ "eventCatalogEvent": "contract.created",
1595
+ "eventEnabled": true,
1596
+ "webhooks": [
1597
+ {
1598
+ "webhookId": "string",
1599
+ "webhookName": "string",
1600
+ "enabled": true
1601
+ }
1602
+ ],
1603
+ "status": "ok",
1604
+ "conflicts": [
1605
+ {
1606
+ "type": "event_disabled",
1607
+ "webhookId": "string",
1608
+ "message": "string"
1609
+ }
1610
+ ]
1611
+ }
1612
+ ]
1613
+ }
1614
+ ```
1615
+
1616
+ </details>
1617
+
1618
+ ---
1619
+
1620
+ ### `queryAccessLogs`
1621
+
1622
+ Query API access logs for a specific integration's organization.
1623
+ Returns access token usage analytics filtered by user_id (access token).
1624
+ Supports infinite scroll pagination with cursor-based navigati
1625
+
1626
+ `POST /v1/integrations/{integrationId}/monitoring/access-logs`
1627
+
1628
+ ```ts
1629
+ const { data } = await client.queryAccessLogs(
1630
+ {
1631
+ integrationId: 'example',
1632
+ },
1633
+ {
1634
+ token_id: 'api_5ZugdRXasLfWBypHi93Fk',
1635
+ service: 'entity',
1636
+ method: 'GET',
1637
+ path: '/v1/entity',
1638
+ status: 200,
1639
+ from_date: '2025-01-01T00:00:00Z',
1640
+ to_date: '2025-01-31T23:59:59Z',
1641
+ limit: 50,
1642
+ cursor: {
1643
+ timestamp: '1970-01-01T00:00:00.000Z',
1644
+ request_id: 'string'
1645
+ }
1646
+ },
1647
+ )
1648
+ ```
1649
+
1650
+ <details>
1651
+ <summary>Response</summary>
1652
+
1653
+ ```json
1654
+ {
1655
+ "data": [
1656
+ {
1657
+ "timestamp": "1970-01-01T00:00:00.000Z",
1658
+ "environment": "string",
1659
+ "service": "string",
1660
+ "request_id": "string",
1661
+ "method": "string",
1662
+ "path": "string",
1663
+ "status": 0,
1664
+ "response_latency_ms": 0,
1665
+ "response_length": 0,
1666
+ "token_id": "string",
1667
+ "org_id": "string",
1668
+ "origin": "string",
1669
+ "source_ip": "string"
1670
+ }
1671
+ ],
1672
+ "next_cursor": {
1673
+ "timestamp": "1970-01-01T00:00:00.000Z",
1674
+ "request_id": "string"
1675
+ },
1676
+ "has_more": true
1677
+ }
1678
+ ```
1679
+
1680
+ </details>
1681
+
1682
+ ---
1683
+
1684
+ ### `queryOutboundMonitoringEvents`
1685
+
1686
+ Query outbound monitoring events for a specific integration.
1687
+ Returns detailed information about outbound event deliveries,
1688
+ filtered by event_name (event_catalog_event) linked to the integration's outb
1689
+
1690
+ `POST /v1/integrations/{integrationId}/monitoring/outbound-events`
1691
+
1692
+ ```ts
1693
+ const { data } = await client.queryOutboundMonitoringEvents(
1694
+ {
1695
+ integrationId: 'example',
1696
+ },
1697
+ {
1698
+ event_name: 'automation_flow_target',
1699
+ status: 'succeeded',
1700
+ webhook_config_id: 'string',
1701
+ from_date: '2025-01-01T00:00:00Z',
1702
+ to_date: '2025-01-31T23:59:59Z',
1703
+ limit: 50,
1704
+ cursor: {
1705
+ created_at: '1970-01-01T00:00:00.000Z',
1706
+ event_id: 'string'
1707
+ }
1708
+ },
1709
+ )
1710
+ ```
1711
+
1712
+ <details>
1713
+ <summary>Response</summary>
1714
+
1715
+ ```json
1716
+ {
1717
+ "data": [
1718
+ {
1719
+ "org_id": "string",
1720
+ "event_id": "string",
1721
+ "event_name": "string",
1722
+ "status": "succeeded",
1723
+ "url": "string",
1724
+ "http_method": "string",
1725
+ "http_response": {},
1726
+ "webhook_config_id": "string",
1727
+ "metadata": {},
1728
+ "execution_context": {},
1729
+ "payload": {},
1730
+ "created_at": "1970-01-01T00:00:00.000Z",
1731
+ "updated_at": "1970-01-01T00:00:00.000Z"
1732
+ }
1733
+ ],
1734
+ "next_cursor": {
1735
+ "created_at": "1970-01-01T00:00:00.000Z",
1736
+ "event_id": "string"
1737
+ },
1738
+ "has_more": true
1739
+ }
1740
+ ```
1741
+
1742
+ </details>
1743
+
1744
+ ---
1745
+
1746
+ ### `listSecureProxies`
1747
+
1748
+ List all secure proxy use cases
1749
+
1750
+ `GET /v1/integrations/secure-proxies`
1751
+
1752
+ ```ts
1753
+ const { data } = await client.listSecureProxies()
1754
+ ```
1755
+
1756
+ <details>
1757
+ <summary>Response</summary>
1758
+
1759
+ ```json
1760
+ {
1761
+ "secure_proxies": [
1762
+ {
1763
+ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1764
+ "name": "string",
1765
+ "slug": "string",
1766
+ "enabled": true,
1767
+ "vpc_mode": "static_ip",
1768
+ "allowed_domains": ["string"],
1769
+ "integration_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1770
+ "integration_name": "string"
1771
+ }
1772
+ ]
1773
+ }
1774
+ ```
1775
+
1776
+ </details>
1777
+
1778
+ ---
1779
+
1780
+ ### `secureProxy`
1781
+
1782
+ Proxy HTTP request through secure VPC
1783
+
1784
+ `POST /v1/secure-proxy`
1785
+
1786
+ ```ts
1787
+ const { data } = await client.secureProxy(
1788
+ null,
1789
+ {
1790
+ integration_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
1791
+ use_case_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
1792
+ use_case_slug: 'string',
1793
+ url: 'https://example.com/path',
1794
+ method: 'GET',
1795
+ headers: {},
1796
+ body: {},
1797
+ response_type: 'json'
1798
+ },
1799
+ )
1800
+ ```
1801
+
1802
+ <details>
1803
+ <summary>Response</summary>
1804
+
1805
+ ```json
1806
+ {
1807
+ "status_code": 0,
1808
+ "headers": {},
1809
+ "body": {}
1810
+ }
1811
+ ```
1812
+
1813
+ </details>
1814
+
1815
+ ---
1816
+
1817
+ ## Schemas
1818
+
1819
+ ### `ErrorResponseBase`
1820
+
1821
+ ```ts
1822
+ type ErrorResponseBase = {
1823
+ code?: string
1824
+ message?: string
1825
+ }
1826
+ ```
1827
+
1828
+ ### `ErpEvent`
1829
+
1830
+ ```ts
1831
+ type ErpEvent = {
1832
+ event_type: "CREATE" | "UPDATE" | "DELETE"
1833
+ object_type: string
1834
+ timestamp: string // date-time
1835
+ format: "json" | "xml"
1836
+ payload: string | Record<string, unknown>
1837
+ deduplication_id?: string
1838
+ }
1839
+ ```
1840
+
1841
+ ### `ErpUpdatesEventsV2Request`
1842
+
1843
+ ```ts
1844
+ type ErpUpdatesEventsV2Request = {
1845
+ integration_id: string // uuid
1846
+ correlation_id?: string
1847
+ events: Array<{
1848
+ event_type: "CREATE" | "UPDATE" | "DELETE"
1849
+ object_type: string
1850
+ timestamp: string // date-time
1851
+ format: "json" | "xml"
1852
+ payload: string | Record<string, unknown>
1853
+ deduplication_id?: string
1854
+ }>
1855
+ }
1856
+ ```
1857
+
1858
+ ### `ErpEventV3`
1859
+
1860
+ ```ts
1861
+ type ErpEventV3 = unknown | unknown
1862
+ ```
1863
+
1864
+ ### `ErpUpdatesEventsV3Request`
1865
+
1866
+ ```ts
1867
+ type ErpUpdatesEventsV3Request = {
1868
+ integration_id: string // uuid
1869
+ correlation_id?: string
1870
+ events: unknown | unknown[]
1871
+ }
1872
+ ```
1873
+
1874
+ ### `TriggerErpActionRequest`
1875
+
1876
+ ```ts
1877
+ type TriggerErpActionRequest = {
1878
+ execution_id: string
1879
+ org_id: string
1880
+ webhook_id: string
1881
+ flow_id: string
1882
+ created_at: string // date-time
1883
+ action_id: string
1884
+ flow_action_id: string
1885
+ flow_name: string
1886
+ activity_id: string
1887
+ entity_id: string
1888
+ }
1889
+ ```
1890
+
1891
+ ### `TriggerWebhookResp`
1892
+
1893
+ ```ts
1894
+ type TriggerWebhookResp = {
1895
+ status_code?: string
1896
+ message?: string
1897
+ body?: object
1898
+ code?: string
1899
+ status?: "succeeded" | "failed"
1900
+ start_date?: string
1901
+ end_date?: string
1902
+ event_id?: string
1903
+ }
1904
+ ```
1905
+
1906
+ ### `IntegrationEditableFields`
1907
+
1908
+ ```ts
1909
+ type IntegrationEditableFields = {
1910
+ name?: string
1911
+ description?: string
1912
+ access_token_ids?: string[]
1913
+ app_ids?: string[]
1914
+ environment_config?: Array<{
1915
+ key: string
1916
+ label: string
1917
+ type: "String" | "SecretString"
1918
+ description?: string
1919
+ required?: boolean
1920
+ order?: number
1921
+ }>
1922
+ settings?: {
1923
+ autoRefresh?: {
1924
+ enabled?: { ... }
1925
+ freshnessThresholdMinutes?: { ... }
1926
+ }
1927
+ }
1928
+ }
1929
+ ```
1930
+
1931
+ ### `Integration`
1932
+
1933
+ ```ts
1934
+ type Integration = {
1935
+ id: string // uuid
1936
+ orgId: string
1937
+ created_at: string // date-time
1938
+ updated_at: string // date-time
1939
+ name: string
1940
+ description?: string
1941
+ access_token_ids?: string[]
1942
+ app_ids?: string[]
1943
+ environment_config?: Array<{
1944
+ key: string
1945
+ label: string
1946
+ type: "String" | "SecretString"
1947
+ description?: string
1948
+ required?: boolean
1949
+ order?: number
1950
+ }>
1951
+ settings?: {
1952
+ autoRefresh?: {
1953
+ enabled?: { ... }
1954
+ freshnessThresholdMinutes?: { ... }
1955
+ }
1956
+ }
1957
+ }
1958
+ ```
1959
+
1960
+ ### `CreateIntegrationRequest`
1961
+
1962
+ ```ts
1963
+ type CreateIntegrationRequest = {
1964
+ name: string
1965
+ description?: string
1966
+ access_token_ids?: string[]
1967
+ app_ids?: string[]
1968
+ environment_config?: Array<{
1969
+ key: string
1970
+ label: string
1971
+ type: "String" | "SecretString"
1972
+ description?: string
1973
+ required?: boolean
1974
+ order?: number
1975
+ }>
1976
+ settings?: {
1977
+ autoRefresh?: {
1978
+ enabled?: { ... }
1979
+ freshnessThresholdMinutes?: { ... }
1980
+ }
1981
+ }
1982
+ }
1983
+ ```
1984
+
1985
+ ### `UpdateIntegrationRequest`
1986
+
1987
+ ```ts
1988
+ type UpdateIntegrationRequest = {
1989
+ name?: string
1990
+ description?: string
1991
+ access_token_ids?: string[]
1992
+ app_ids?: string[]
1993
+ environment_config?: Array<{
1994
+ key: string
1995
+ label: string
1996
+ type: "String" | "SecretString"
1997
+ description?: string
1998
+ required?: boolean
1999
+ order?: number
2000
+ }>
2001
+ settings?: {
2002
+ autoRefresh?: {
2003
+ enabled?: { ... }
2004
+ freshnessThresholdMinutes?: { ... }
2005
+ }
2006
+ }
2007
+ }
2008
+ ```
2009
+
2010
+ ### `EnvironmentFieldConfig`
2011
+
2012
+ ```ts
2013
+ type EnvironmentFieldConfig = {
2014
+ key: string
2015
+ label: string
2016
+ type: "String" | "SecretString"
2017
+ description?: string
2018
+ required?: boolean
2019
+ order?: number
2020
+ }
2021
+ ```
2022
+
2023
+ ### `IntegrationSettings`
2024
+
2025
+ Settings for the integration
2026
+
2027
+ ```ts
2028
+ type IntegrationSettings = {
2029
+ autoRefresh?: {
2030
+ enabled?: boolean
2031
+ freshnessThresholdMinutes?: number
2032
+ }
2033
+ }
2034
+ ```
2035
+
2036
+ ### `AutoRefreshSettings`
2037
+
2038
+ Auto-refresh settings for keeping integration data fresh
2039
+
2040
+ ```ts
2041
+ type AutoRefreshSettings = {
2042
+ enabled?: boolean
2043
+ freshnessThresholdMinutes?: number
2044
+ }
2045
+ ```
2046
+
2047
+ ### `SetIntegrationAppMappingRequest`
2048
+
2049
+ ```ts
2050
+ type SetIntegrationAppMappingRequest = {
2051
+ app_id: string // uuid
2052
+ component_id: string // uuid
2053
+ overwrite?: boolean
2054
+ }
2055
+ ```
2056
+
2057
+ ### `DeleteIntegrationAppMappingRequest`
2058
+
2059
+ ```ts
2060
+ type DeleteIntegrationAppMappingRequest = {
2061
+ app_id: string // uuid
2062
+ component_id: string // uuid
2063
+ }
2064
+ ```
2065
+
2066
+ ### `IntegrationAppMapping`
2067
+
2068
+ ```ts
2069
+ type IntegrationAppMapping = {
2070
+ integration_id: string // uuid
2071
+ }
2072
+ ```
2073
+
2074
+ ### `IntegrationWithUseCases`
2075
+
2076
+ ```ts
2077
+ type IntegrationWithUseCases = {
2078
+ use_cases: Array<{
2079
+ id: string // uuid
2080
+ integrationId: string // uuid
2081
+ name: string
2082
+ slug?: string
2083
+ type: "inbound"
2084
+ enabled: boolean
2085
+ change_description?: string
2086
+ created_at: string // date-time
2087
+ updated_at: string // date-time
2088
+ configuration?: {
2089
+ entities?: { ... }
2090
+ meter_readings?: { ... }
2091
+ }
2092
+ } | {
2093
+ id: string // uuid
2094
+ integrationId: string // uuid
2095
+ name: string
2096
+ slug?: string
2097
+ type: "outbound"
2098
+ enabled: boolean
2099
+ change_description?: string
2100
+ created_at: string // date-time
2101
+ updated_at: string // date-time
2102
+ configuration?: {
2103
+ event_catalog_event: { ... }
2104
+ mappings: { ... }
2105
+ }
2106
+ } | {
2107
+ id: string // uuid
2108
+ integrationId: string // uuid
2109
+ name: string
2110
+ slug?: string
2111
+ type: "file_proxy"
2112
+ enabled: boolean
2113
+ change_description?: string
2114
+ created_at: string // date-time
2115
+ updated_at: string // date-time
2116
+ configuration?: {
2117
+ secure_proxy?: { ... }
2118
+ auth?: { ... }
2119
+ params?: { ... }
2120
+ steps: { ... }
2121
+ response: { ... }
2122
+ }
2123
+ } | {
2124
+ id: string // uuid
2125
+ integrationId: string // uuid
2126
+ name: string
2127
+ slug?: string
2128
+ type: "secure_proxy"
2129
+ enabled: boolean
2130
+ change_description?: string
2131
+ created_at: string // date-time
2132
+ updated_at: string // date-time
2133
+ configuration?: {
2134
+ vpc_mode: { ... }
2135
+ allowed_domains?: { ... }
2136
+ }
2137
+ }>
2138
+ }
2139
+ ```
2140
+
2141
+ ### `UpsertIntegrationWithUseCasesRequest`
2142
+
2143
+ ```ts
2144
+ type UpsertIntegrationWithUseCasesRequest = {
2145
+ name: string
2146
+ description?: string
2147
+ access_token_ids?: string[]
2148
+ app_ids?: string[]
2149
+ environment_config?: Array<{
2150
+ key: string
2151
+ label: string
2152
+ type: "String" | "SecretString"
2153
+ description?: string
2154
+ required?: boolean
2155
+ order?: number
2156
+ }>
2157
+ settings?: {
2158
+ autoRefresh?: {
2159
+ enabled?: { ... }
2160
+ freshnessThresholdMinutes?: { ... }
2161
+ }
2162
+ }
2163
+ use_cases?: Array<{
2164
+ id?: string // uuid
2165
+ name: string
2166
+ slug?: string
2167
+ enabled: boolean
2168
+ change_description?: string
2169
+ type: "inbound"
2170
+ configuration?: {
2171
+ entities?: { ... }
2172
+ meter_readings?: { ... }
2173
+ }
2174
+ } | {
2175
+ id?: string // uuid
2176
+ name: string
2177
+ slug?: string
2178
+ enabled: boolean
2179
+ change_description?: string
2180
+ type: "outbound"
2181
+ configuration?: {
2182
+ event_catalog_event: { ... }
2183
+ mappings: { ... }
2184
+ }
2185
+ } | {
2186
+ id?: string // uuid
2187
+ name: string
2188
+ slug?: string
2189
+ enabled: boolean
2190
+ change_description?: string
2191
+ type: "file_proxy"
2192
+ configuration?: {
2193
+ secure_proxy?: { ... }
2194
+ auth?: { ... }
2195
+ params?: { ... }
2196
+ steps: { ... }
2197
+ response: { ... }
2198
+ }
2199
+ } | {
2200
+ id?: string // uuid
2201
+ name: string
2202
+ slug?: string
2203
+ enabled: boolean
2204
+ change_description?: string
2205
+ type: "secure_proxy"
2206
+ configuration?: {
2207
+ vpc_mode: { ... }
2208
+ allowed_domains?: { ... }
2209
+ }
2210
+ }>
2211
+ }
2212
+ ```
2213
+
2214
+ ### `InboundIntegrationEventConfiguration`
2215
+
2216
+ Configuration for inbound use cases (ERP to epilot)
2217
+
2218
+ ```ts
2219
+ type InboundIntegrationEventConfiguration = {
2220
+ entities?: Array<{
2221
+ entity_schema: string
2222
+ unique_ids: string[]
2223
+ jsonataExpression?: string
2224
+ enabled?: boolean | string
2225
+ mode?: "upsert" | "delete" | "purge" | "upsert-prune-scope-purge" | "upsert-prune-scope-delete"
2226
+ scope?: {
2227
+ scope_mode: { ... }
2228
+ schema?: { ... }
2229
+ unique_ids?: { ... }
2230
+ query?: { ... }
2231
+ }
2232
+ fields: Array<{
2233
+ attribute: { ... }
2234
+ field?: { ... }
2235
+ jsonataExpression?: { ... }
2236
+ constant?: { ... }
2237
+ _type?: { ... }
2238
+ enabled?: { ... }
2239
+ relations?: { ... }
2240
+ relation_refs?: { ... }
2241
+ file_proxy_url?: { ... }
2242
+ }>
2243
+ }>
2244
+ meter_readings?: Array<{
2245
+ jsonataExpression?: string
2246
+ reading_matching?: "external_id" | "strict-date"
2247
+ mode?: "upsert" | "delete" | "upsert-prune-scope"
2248
+ scope?: {
2249
+ source?: { ... }
2250
+ }
2251
+ meter: {
2252
+ unique_ids: { ... }
2253
+ }
2254
+ meter_counter?: {
2255
+ unique_ids: { ... }
2256
+ }
2257
+ fields: Array<{
2258
+ attribute: { ... }
2259
+ field?: { ... }
2260
+ jsonataExpression?: { ... }
2261
+ constant?: { ... }
2262
+ _type?: { ... }
2263
+ enabled?: { ... }
2264
+ relations?: { ... }
2265
+ relation_refs?: { ... }
2266
+ file_proxy_url?: { ... }
2267
+ }>
2268
+ }>
2269
+ }
2270
+ ```
2271
+
2272
+ ### `OutboundIntegrationEventConfiguration`
2273
+
2274
+ Configuration for outbound use cases. Defines the event that triggers the flow and the webhook mappings.
2275
+
2276
+ ```ts
2277
+ type OutboundIntegrationEventConfiguration = {
2278
+ event_catalog_event: string
2279
+ mappings: Array<{
2280
+ id?: string // uuid
2281
+ name: string
2282
+ jsonata_expression: string
2283
+ enabled: boolean
2284
+ delivery: {
2285
+ type: { ... }
2286
+ webhook_id: { ... }
2287
+ webhook_name?: { ... }
2288
+ webhook_url?: { ... }
2289
+ }
2290
+ created_at?: string // date-time
2291
+ updated_at?: string // date-time
2292
+ }>
2293
+ }
2294
+ ```
2295
+
2296
+ ### `IntegrationEntity`
2297
+
2298
+ ```ts
2299
+ type IntegrationEntity = {
2300
+ entity_schema: string
2301
+ unique_ids: string[]
2302
+ jsonataExpression?: string
2303
+ enabled?: boolean | string
2304
+ mode?: "upsert" | "delete" | "purge" | "upsert-prune-scope-purge" | "upsert-prune-scope-delete"
2305
+ scope?: {
2306
+ scope_mode: "relations" | "query"
2307
+ schema?: string
2308
+ unique_ids?: Array<{
2309
+ attribute: { ... }
2310
+ _type?: { ... }
2311
+ field?: { ... }
2312
+ jsonataExpression?: { ... }
2313
+ constant?: { ... }
2314
+ }>
2315
+ query?: Array<{
2316
+ attribute: { ... }
2317
+ _type?: { ... }
2318
+ field?: { ... }
2319
+ jsonataExpression?: { ... }
2320
+ constant?: { ... }
2321
+ }>
2322
+ }
2323
+ fields: Array<{
2324
+ attribute: string
2325
+ field?: string
2326
+ jsonataExpression?: string
2327
+ constant?: unknown
2328
+ _type?: "email" | "phone"
2329
+ enabled?: boolean | string
2330
+ relations?: {
2331
+ operation: { ... }
2332
+ items?: { ... }
2333
+ jsonataExpression?: { ... }
2334
+ }
2335
+ relation_refs?: {
2336
+ operation: { ... }
2337
+ items?: { ... }
2338
+ jsonataExpression?: { ... }
2339
+ }
2340
+ file_proxy_url?: {
2341
+ use_case_slug: { ... }
2342
+ params?: { ... }
2343
+ } | {
2344
+ use_case_id: { ... }
2345
+ params?: { ... }
2346
+ }
2347
+ }>
2348
+ }
2349
+ ```
2350
+
2351
+ ### `IntegrationMeterReading`
2352
+
2353
+ ```ts
2354
+ type IntegrationMeterReading = {
2355
+ jsonataExpression?: string
2356
+ reading_matching?: "external_id" | "strict-date"
2357
+ mode?: "upsert" | "delete" | "upsert-prune-scope"
2358
+ scope?: {
2359
+ source?: string
2360
+ }
2361
+ meter: {
2362
+ unique_ids: Array<{
2363
+ attribute: { ... }
2364
+ _type?: { ... }
2365
+ field?: { ... }
2366
+ jsonataExpression?: { ... }
2367
+ constant?: { ... }
2368
+ }>
2369
+ }
2370
+ meter_counter?: {
2371
+ unique_ids: Array<{
2372
+ attribute: { ... }
2373
+ _type?: { ... }
2374
+ field?: { ... }
2375
+ jsonataExpression?: { ... }
2376
+ constant?: { ... }
2377
+ }>
2378
+ }
2379
+ fields: Array<{
2380
+ attribute: string
2381
+ field?: string
2382
+ jsonataExpression?: string
2383
+ constant?: unknown
2384
+ _type?: "email" | "phone"
2385
+ enabled?: boolean | string
2386
+ relations?: {
2387
+ operation: { ... }
2388
+ items?: { ... }
2389
+ jsonataExpression?: { ... }
2390
+ }
2391
+ relation_refs?: {
2392
+ operation: { ... }
2393
+ items?: { ... }
2394
+ jsonataExpression?: { ... }
2395
+ }
2396
+ file_proxy_url?: {
2397
+ use_case_slug: { ... }
2398
+ params?: { ... }
2399
+ } | {
2400
+ use_case_id: { ... }
2401
+ params?: { ... }
2402
+ }
2403
+ }>
2404
+ }
2405
+ ```
2406
+
2407
+ ### `PruneScopeConfig`
2408
+
2409
+ Scope configuration for upsert-prune-scope modes.
2410
+ Defines how to find entities that should be pruned if not in the upsert payload.
2411
+ The scope is resolved against the original event payload (not individual array items).
2412
+
2413
+
2414
+ ```ts
2415
+ type PruneScopeConfig = {
2416
+ scope_mode: "relations" | "query"
2417
+ schema?: string
2418
+ unique_ids?: Array<{
2419
+ attribute: string
2420
+ _type?: "email" | "phone"
2421
+ field?: string
2422
+ jsonataExpression?: string
2423
+ constant?: unknown
2424
+ }>
2425
+ query?: Array<{
2426
+ attribute: string
2427
+ _type?: "email" | "phone"
2428
+ field?: string
2429
+ jsonataExpression?: string
2430
+ constant?: unknown
2431
+ }>
2432
+ }
2433
+ ```
2434
+
2435
+ ### `MeterReadingPruneScopeConfig`
2436
+
2437
+ Scope configuration for meter reading upsert-prune-scope mode.
2438
+ The scope is all readings for the same meter + counter.
2439
+
2440
+
2441
+ ```ts
2442
+ type MeterReadingPruneScopeConfig = {
2443
+ source?: string
2444
+ }
2445
+ ```
2446
+
2447
+ ### `MeterUniqueIdsConfig`
2448
+
2449
+ ```ts
2450
+ type MeterUniqueIdsConfig = {
2451
+ unique_ids: Array<{
2452
+ attribute: string
2453
+ _type?: "email" | "phone"
2454
+ field?: string
2455
+ jsonataExpression?: string
2456
+ constant?: unknown
2457
+ }>
2458
+ }
2459
+ ```
2460
+
2461
+ ### `IntegrationEntityField`
2462
+
2463
+ ```ts
2464
+ type IntegrationEntityField = {
2465
+ attribute: string
2466
+ field?: string
2467
+ jsonataExpression?: string
2468
+ constant?: unknown
2469
+ _type?: "email" | "phone"
2470
+ enabled?: boolean | string
2471
+ relations?: {
2472
+ operation: "_set" | "_append" | "_append_all"
2473
+ items?: Array<{
2474
+ entity_schema: { ... }
2475
+ _tags?: { ... }
2476
+ unique_ids: { ... }
2477
+ }>
2478
+ jsonataExpression?: string
2479
+ }
2480
+ relation_refs?: {
2481
+ operation: "_set" | "_append" | "_append_all"
2482
+ items?: Array<{
2483
+ entity_schema: { ... }
2484
+ unique_ids: { ... }
2485
+ path: { ... }
2486
+ value: { ... }
2487
+ }>
2488
+ jsonataExpression?: string
2489
+ }
2490
+ file_proxy_url?: {
2491
+ use_case_slug: string
2492
+ params?: Record<string, {
2493
+ field: { ... }
2494
+ } | {
2495
+ constant: { ... }
2496
+ } | {
2497
+ jsonataExpression: { ... }
2498
+ }>
2499
+ } | {
2500
+ use_case_id: string
2501
+ params?: Record<string, {
2502
+ field: { ... }
2503
+ } | {
2504
+ constant: { ... }
2505
+ } | {
2506
+ jsonataExpression: { ... }
2507
+ }>
2508
+ }
2509
+ }
2510
+ ```
2511
+
2512
+ ### `FileProxyUrlParam`
2513
+
2514
+ Parameter for file proxy URL. Exactly one of field, constant, or jsonataExpression must be set.
2515
+
2516
+ ```ts
2517
+ type FileProxyUrlParam = {
2518
+ field: string
2519
+ } | {
2520
+ constant: unknown
2521
+ } | {
2522
+ jsonataExpression: string
2523
+ }
2524
+ ```
2525
+
2526
+ ### `FileProxyUrlParams`
2527
+
2528
+ Custom query parameters. Keys become URL param names, values resolved from payload.
2529
+
2530
+ ```ts
2531
+ type FileProxyUrlParams = Record<string, {
2532
+ field: string
2533
+ } | {
2534
+ constant: unknown
2535
+ } | {
2536
+ jsonataExpression: string
2537
+ }>
2538
+ ```
2539
+
2540
+ ### `FileProxyUrlConfig`
2541
+
2542
+ Auto-constructs a file proxy download URL. orgId and integrationId are injected from context. Exactly one of use_case_id or use_case_slug must be provided. Using use_case_slug is recommended as it is portable across environments.
2543
+
2544
+
2545
+ ```ts
2546
+ type FileProxyUrlConfig = {
2547
+ use_case_slug: string
2548
+ params?: Record<string, {
2549
+ field: string
2550
+ } | {
2551
+ constant: unknown
2552
+ } | {
2553
+ jsonataExpression: string
2554
+ }>
2555
+ } | {
2556
+ use_case_id: string
2557
+ params?: Record<string, {
2558
+ field: string
2559
+ } | {
2560
+ constant: unknown
2561
+ } | {
2562
+ jsonataExpression: string
2563
+ }>
2564
+ }
2565
+ ```
2566
+
2567
+ ### `EmbeddedUseCaseRequest`
2568
+
2569
+ ```ts
2570
+ type EmbeddedUseCaseRequest = {
2571
+ id?: string // uuid
2572
+ name: string
2573
+ slug?: string
2574
+ enabled: boolean
2575
+ change_description?: string
2576
+ type: "inbound"
2577
+ configuration?: {
2578
+ entities?: Array<{
2579
+ entity_schema: { ... }
2580
+ unique_ids: { ... }
2581
+ jsonataExpression?: { ... }
2582
+ enabled?: { ... }
2583
+ mode?: { ... }
2584
+ scope?: { ... }
2585
+ fields: { ... }
2586
+ }>
2587
+ meter_readings?: Array<{
2588
+ jsonataExpression?: { ... }
2589
+ reading_matching?: { ... }
2590
+ mode?: { ... }
2591
+ scope?: { ... }
2592
+ meter: { ... }
2593
+ meter_counter?: { ... }
2594
+ fields: { ... }
2595
+ }>
2596
+ }
2597
+ } | {
2598
+ id?: string // uuid
2599
+ name: string
2600
+ slug?: string
2601
+ enabled: boolean
2602
+ change_description?: string
2603
+ type: "outbound"
2604
+ configuration?: {
2605
+ event_catalog_event: string
2606
+ mappings: Array<{
2607
+ id?: { ... }
2608
+ name: { ... }
2609
+ jsonata_expression: { ... }
2610
+ enabled: { ... }
2611
+ delivery: { ... }
2612
+ created_at?: { ... }
2613
+ updated_at?: { ... }
2614
+ }>
2615
+ }
2616
+ } | {
2617
+ id?: string // uuid
2618
+ name: string
2619
+ slug?: string
2620
+ enabled: boolean
2621
+ change_description?: string
2622
+ type: "file_proxy"
2623
+ configuration?: {
2624
+ secure_proxy?: {
2625
+ use_case_slug: { ... }
2626
+ }
2627
+ auth?: {
2628
+ type: { ... }
2629
+ token_url: { ... }
2630
+ client_id: { ... }
2631
+ client_secret: { ... }
2632
+ scope?: { ... }
2633
+ audience?: { ... }
2634
+ resource?: { ... }
2635
+ username?: { ... }
2636
+ password?: { ... }
2637
+ body_params?: { ... }
2638
+ headers?: { ... }
2639
+ query_params?: { ... }
2640
+ }
2641
+ params?: Array<{
2642
+ name: { ... }
2643
+ required: { ... }
2644
+ description?: { ... }
2645
+ }>
2646
+ steps: Array<{
2647
+ url: { ... }
2648
+ method: { ... }
2649
+ headers?: { ... }
2650
+ body?: { ... }
2651
+ response_type: { ... }
2652
+ }>
2653
+ response: {
2654
+ body: { ... }
2655
+ encoding: { ... }
2656
+ filename?: { ... }
2657
+ content_type?: { ... }
2658
+ }
2659
+ }
2660
+ } | {
2661
+ id?: string // uuid
2662
+ name: string
2663
+ slug?: string
2664
+ enabled: boolean
2665
+ change_description?: string
2666
+ type: "secure_proxy"
2667
+ configuration?: {
2668
+ vpc_mode: "static_ip" | "secure_link"
2669
+ allowed_domains?: string[]
2670
+ // ...
2671
+ }
2672
+ ```
2673
+
2674
+ ### `EmbeddedUseCaseRequestBase`
2675
+
2676
+ ```ts
2677
+ type EmbeddedUseCaseRequestBase = {
2678
+ id?: string // uuid
2679
+ name: string
2680
+ slug?: string
2681
+ enabled: boolean
2682
+ change_description?: string
2683
+ }
2684
+ ```
2685
+
2686
+ ### `EmbeddedInboundUseCaseRequest`
2687
+
2688
+ ```ts
2689
+ type EmbeddedInboundUseCaseRequest = {
2690
+ id?: string // uuid
2691
+ name: string
2692
+ slug?: string
2693
+ enabled: boolean
2694
+ change_description?: string
2695
+ type: "inbound"
2696
+ configuration?: {
2697
+ entities?: Array<{
2698
+ entity_schema: { ... }
2699
+ unique_ids: { ... }
2700
+ jsonataExpression?: { ... }
2701
+ enabled?: { ... }
2702
+ mode?: { ... }
2703
+ scope?: { ... }
2704
+ fields: { ... }
2705
+ }>
2706
+ meter_readings?: Array<{
2707
+ jsonataExpression?: { ... }
2708
+ reading_matching?: { ... }
2709
+ mode?: { ... }
2710
+ scope?: { ... }
2711
+ meter: { ... }
2712
+ meter_counter?: { ... }
2713
+ fields: { ... }
2714
+ }>
2715
+ }
2716
+ }
2717
+ ```
2718
+
2719
+ ### `EmbeddedOutboundUseCaseRequest`
2720
+
2721
+ ```ts
2722
+ type EmbeddedOutboundUseCaseRequest = {
2723
+ id?: string // uuid
2724
+ name: string
2725
+ slug?: string
2726
+ enabled: boolean
2727
+ change_description?: string
2728
+ type: "outbound"
2729
+ configuration?: {
2730
+ event_catalog_event: string
2731
+ mappings: Array<{
2732
+ id?: { ... }
2733
+ name: { ... }
2734
+ jsonata_expression: { ... }
2735
+ enabled: { ... }
2736
+ delivery: { ... }
2737
+ created_at?: { ... }
2738
+ updated_at?: { ... }
2739
+ }>
2740
+ }
2741
+ }
2742
+ ```
2743
+
2744
+ ### `EmbeddedFileProxyUseCaseRequest`
2745
+
2746
+ ```ts
2747
+ type EmbeddedFileProxyUseCaseRequest = {
2748
+ id?: string // uuid
2749
+ name: string
2750
+ slug?: string
2751
+ enabled: boolean
2752
+ change_description?: string
2753
+ type: "file_proxy"
2754
+ configuration?: {
2755
+ secure_proxy?: {
2756
+ use_case_slug: { ... }
2757
+ }
2758
+ auth?: {
2759
+ type: { ... }
2760
+ token_url: { ... }
2761
+ client_id: { ... }
2762
+ client_secret: { ... }
2763
+ scope?: { ... }
2764
+ audience?: { ... }
2765
+ resource?: { ... }
2766
+ username?: { ... }
2767
+ password?: { ... }
2768
+ body_params?: { ... }
2769
+ headers?: { ... }
2770
+ query_params?: { ... }
2771
+ }
2772
+ params?: Array<{
2773
+ name: { ... }
2774
+ required: { ... }
2775
+ description?: { ... }
2776
+ }>
2777
+ steps: Array<{
2778
+ url: { ... }
2779
+ method: { ... }
2780
+ headers?: { ... }
2781
+ body?: { ... }
2782
+ response_type: { ... }
2783
+ }>
2784
+ response: {
2785
+ body: { ... }
2786
+ encoding: { ... }
2787
+ filename?: { ... }
2788
+ content_type?: { ... }
2789
+ }
2790
+ }
2791
+ }
2792
+ ```
2793
+
2794
+ ### `EmbeddedSecureProxyUseCaseRequest`
2795
+
2796
+ ```ts
2797
+ type EmbeddedSecureProxyUseCaseRequest = {
2798
+ id?: string // uuid
2799
+ name: string
2800
+ slug?: string
2801
+ enabled: boolean
2802
+ change_description?: string
2803
+ type: "secure_proxy"
2804
+ configuration?: {
2805
+ vpc_mode: "static_ip" | "secure_link"
2806
+ allowed_domains?: string[]
2807
+ }
2808
+ }
2809
+ ```
2810
+
2811
+ ### `UseCaseBase`
2812
+
2813
+ ```ts
2814
+ type UseCaseBase = {
2815
+ id: string // uuid
2816
+ integrationId: string // uuid
2817
+ name: string
2818
+ slug?: string
2819
+ type: "inbound" | "outbound" | "file_proxy" | "secure_proxy"
2820
+ enabled: boolean
2821
+ change_description?: string
2822
+ created_at: string // date-time
2823
+ updated_at: string // date-time
2824
+ }
2825
+ ```
2826
+
2827
+ ### `InboundUseCase`
2828
+
2829
+ ```ts
2830
+ type InboundUseCase = {
2831
+ id: string // uuid
2832
+ integrationId: string // uuid
2833
+ name: string
2834
+ slug?: string
2835
+ type: "inbound"
2836
+ enabled: boolean
2837
+ change_description?: string
2838
+ created_at: string // date-time
2839
+ updated_at: string // date-time
2840
+ configuration?: {
2841
+ entities?: Array<{
2842
+ entity_schema: { ... }
2843
+ unique_ids: { ... }
2844
+ jsonataExpression?: { ... }
2845
+ enabled?: { ... }
2846
+ mode?: { ... }
2847
+ scope?: { ... }
2848
+ fields: { ... }
2849
+ }>
2850
+ meter_readings?: Array<{
2851
+ jsonataExpression?: { ... }
2852
+ reading_matching?: { ... }
2853
+ mode?: { ... }
2854
+ scope?: { ... }
2855
+ meter: { ... }
2856
+ meter_counter?: { ... }
2857
+ fields: { ... }
2858
+ }>
2859
+ }
2860
+ }
2861
+ ```
2862
+
2863
+ ### `OutboundUseCase`
2864
+
2865
+ ```ts
2866
+ type OutboundUseCase = {
2867
+ id: string // uuid
2868
+ integrationId: string // uuid
2869
+ name: string
2870
+ slug?: string
2871
+ type: "outbound"
2872
+ enabled: boolean
2873
+ change_description?: string
2874
+ created_at: string // date-time
2875
+ updated_at: string // date-time
2876
+ configuration?: {
2877
+ event_catalog_event: string
2878
+ mappings: Array<{
2879
+ id?: { ... }
2880
+ name: { ... }
2881
+ jsonata_expression: { ... }
2882
+ enabled: { ... }
2883
+ delivery: { ... }
2884
+ created_at?: { ... }
2885
+ updated_at?: { ... }
2886
+ }>
2887
+ }
2888
+ }
2889
+ ```
2890
+
2891
+ ### `FileProxyUseCase`
2892
+
2893
+ ```ts
2894
+ type FileProxyUseCase = {
2895
+ id: string // uuid
2896
+ integrationId: string // uuid
2897
+ name: string
2898
+ slug?: string
2899
+ type: "file_proxy"
2900
+ enabled: boolean
2901
+ change_description?: string
2902
+ created_at: string // date-time
2903
+ updated_at: string // date-time
2904
+ configuration?: {
2905
+ secure_proxy?: {
2906
+ use_case_slug: { ... }
2907
+ }
2908
+ auth?: {
2909
+ type: { ... }
2910
+ token_url: { ... }
2911
+ client_id: { ... }
2912
+ client_secret: { ... }
2913
+ scope?: { ... }
2914
+ audience?: { ... }
2915
+ resource?: { ... }
2916
+ username?: { ... }
2917
+ password?: { ... }
2918
+ body_params?: { ... }
2919
+ headers?: { ... }
2920
+ query_params?: { ... }
2921
+ }
2922
+ params?: Array<{
2923
+ name: { ... }
2924
+ required: { ... }
2925
+ description?: { ... }
2926
+ }>
2927
+ steps: Array<{
2928
+ url: { ... }
2929
+ method: { ... }
2930
+ headers?: { ... }
2931
+ body?: { ... }
2932
+ response_type: { ... }
2933
+ }>
2934
+ response: {
2935
+ body: { ... }
2936
+ encoding: { ... }
2937
+ filename?: { ... }
2938
+ content_type?: { ... }
2939
+ }
2940
+ }
2941
+ }
2942
+ ```
2943
+
2944
+ ### `SecureProxyUseCase`
2945
+
2946
+ ```ts
2947
+ type SecureProxyUseCase = {
2948
+ id: string // uuid
2949
+ integrationId: string // uuid
2950
+ name: string
2951
+ slug?: string
2952
+ type: "secure_proxy"
2953
+ enabled: boolean
2954
+ change_description?: string
2955
+ created_at: string // date-time
2956
+ updated_at: string // date-time
2957
+ configuration?: {
2958
+ vpc_mode: "static_ip" | "secure_link"
2959
+ allowed_domains?: string[]
2960
+ }
2961
+ }
2962
+ ```
2963
+
2964
+ ### `UseCase`
2965
+
2966
+ ```ts
2967
+ type UseCase = {
2968
+ id: string // uuid
2969
+ integrationId: string // uuid
2970
+ name: string
2971
+ slug?: string
2972
+ type: "inbound"
2973
+ enabled: boolean
2974
+ change_description?: string
2975
+ created_at: string // date-time
2976
+ updated_at: string // date-time
2977
+ configuration?: {
2978
+ entities?: Array<{
2979
+ entity_schema: { ... }
2980
+ unique_ids: { ... }
2981
+ jsonataExpression?: { ... }
2982
+ enabled?: { ... }
2983
+ mode?: { ... }
2984
+ scope?: { ... }
2985
+ fields: { ... }
2986
+ }>
2987
+ meter_readings?: Array<{
2988
+ jsonataExpression?: { ... }
2989
+ reading_matching?: { ... }
2990
+ mode?: { ... }
2991
+ scope?: { ... }
2992
+ meter: { ... }
2993
+ meter_counter?: { ... }
2994
+ fields: { ... }
2995
+ }>
2996
+ }
2997
+ } | {
2998
+ id: string // uuid
2999
+ integrationId: string // uuid
3000
+ name: string
3001
+ slug?: string
3002
+ type: "outbound"
3003
+ enabled: boolean
3004
+ change_description?: string
3005
+ created_at: string // date-time
3006
+ updated_at: string // date-time
3007
+ configuration?: {
3008
+ event_catalog_event: string
3009
+ mappings: Array<{
3010
+ id?: { ... }
3011
+ name: { ... }
3012
+ jsonata_expression: { ... }
3013
+ enabled: { ... }
3014
+ delivery: { ... }
3015
+ created_at?: { ... }
3016
+ updated_at?: { ... }
3017
+ }>
3018
+ }
3019
+ } | {
3020
+ id: string // uuid
3021
+ integrationId: string // uuid
3022
+ name: string
3023
+ slug?: string
3024
+ type: "file_proxy"
3025
+ enabled: boolean
3026
+ change_description?: string
3027
+ created_at: string // date-time
3028
+ updated_at: string // date-time
3029
+ configuration?: {
3030
+ secure_proxy?: {
3031
+ use_case_slug: { ... }
3032
+ }
3033
+ auth?: {
3034
+ type: { ... }
3035
+ token_url: { ... }
3036
+ client_id: { ... }
3037
+ client_secret: { ... }
3038
+ scope?: { ... }
3039
+ audience?: { ... }
3040
+ resource?: { ... }
3041
+ username?: { ... }
3042
+ password?: { ... }
3043
+ body_params?: { ... }
3044
+ headers?: { ... }
3045
+ query_params?: { ... }
3046
+ }
3047
+ params?: Array<{
3048
+ name: { ... }
3049
+ required: { ... }
3050
+ description?: { ... }
3051
+ }>
3052
+ steps: Array<{
3053
+ url: { ... }
3054
+ method: { ... }
3055
+ headers?: { ... }
3056
+ body?: { ... }
3057
+ response_type: { ... }
3058
+ }>
3059
+ response: {
3060
+ body: { ... }
3061
+ encoding: { ... }
3062
+ filename?: { ... }
3063
+ content_type?: { ... }
3064
+ }
3065
+ }
3066
+ } | {
3067
+ // ...
3068
+ }
3069
+ ```
3070
+
3071
+ ### `CreateUseCaseRequest`
3072
+
3073
+ ```ts
3074
+ type CreateUseCaseRequest = {
3075
+ name: string
3076
+ slug?: string
3077
+ enabled: boolean
3078
+ type: "inbound"
3079
+ configuration?: {
3080
+ entities?: Array<{
3081
+ entity_schema: { ... }
3082
+ unique_ids: { ... }
3083
+ jsonataExpression?: { ... }
3084
+ enabled?: { ... }
3085
+ mode?: { ... }
3086
+ scope?: { ... }
3087
+ fields: { ... }
3088
+ }>
3089
+ meter_readings?: Array<{
3090
+ jsonataExpression?: { ... }
3091
+ reading_matching?: { ... }
3092
+ mode?: { ... }
3093
+ scope?: { ... }
3094
+ meter: { ... }
3095
+ meter_counter?: { ... }
3096
+ fields: { ... }
3097
+ }>
3098
+ }
3099
+ } | {
3100
+ name: string
3101
+ slug?: string
3102
+ enabled: boolean
3103
+ type: "outbound"
3104
+ configuration?: {
3105
+ event_catalog_event: string
3106
+ mappings: Array<{
3107
+ id?: { ... }
3108
+ name: { ... }
3109
+ jsonata_expression: { ... }
3110
+ enabled: { ... }
3111
+ delivery: { ... }
3112
+ created_at?: { ... }
3113
+ updated_at?: { ... }
3114
+ }>
3115
+ }
3116
+ } | {
3117
+ name: string
3118
+ slug?: string
3119
+ enabled: boolean
3120
+ type: "file_proxy"
3121
+ configuration?: {
3122
+ secure_proxy?: {
3123
+ use_case_slug: { ... }
3124
+ }
3125
+ auth?: {
3126
+ type: { ... }
3127
+ token_url: { ... }
3128
+ client_id: { ... }
3129
+ client_secret: { ... }
3130
+ scope?: { ... }
3131
+ audience?: { ... }
3132
+ resource?: { ... }
3133
+ username?: { ... }
3134
+ password?: { ... }
3135
+ body_params?: { ... }
3136
+ headers?: { ... }
3137
+ query_params?: { ... }
3138
+ }
3139
+ params?: Array<{
3140
+ name: { ... }
3141
+ required: { ... }
3142
+ description?: { ... }
3143
+ }>
3144
+ steps: Array<{
3145
+ url: { ... }
3146
+ method: { ... }
3147
+ headers?: { ... }
3148
+ body?: { ... }
3149
+ response_type: { ... }
3150
+ }>
3151
+ response: {
3152
+ body: { ... }
3153
+ encoding: { ... }
3154
+ filename?: { ... }
3155
+ content_type?: { ... }
3156
+ }
3157
+ }
3158
+ } | {
3159
+ name: string
3160
+ slug?: string
3161
+ enabled: boolean
3162
+ type: "secure_proxy"
3163
+ configuration?: {
3164
+ vpc_mode: "static_ip" | "secure_link"
3165
+ allowed_domains?: string[]
3166
+ }
3167
+ }
3168
+ ```
3169
+
3170
+ ### `CreateUseCaseRequestBase`
3171
+
3172
+ ```ts
3173
+ type CreateUseCaseRequestBase = {
3174
+ name: string
3175
+ slug?: string
3176
+ enabled: boolean
3177
+ }
3178
+ ```
3179
+
3180
+ ### `CreateInboundUseCaseRequest`
3181
+
3182
+ ```ts
3183
+ type CreateInboundUseCaseRequest = {
3184
+ name: string
3185
+ slug?: string
3186
+ enabled: boolean
3187
+ type: "inbound"
3188
+ configuration?: {
3189
+ entities?: Array<{
3190
+ entity_schema: { ... }
3191
+ unique_ids: { ... }
3192
+ jsonataExpression?: { ... }
3193
+ enabled?: { ... }
3194
+ mode?: { ... }
3195
+ scope?: { ... }
3196
+ fields: { ... }
3197
+ }>
3198
+ meter_readings?: Array<{
3199
+ jsonataExpression?: { ... }
3200
+ reading_matching?: { ... }
3201
+ mode?: { ... }
3202
+ scope?: { ... }
3203
+ meter: { ... }
3204
+ meter_counter?: { ... }
3205
+ fields: { ... }
3206
+ }>
3207
+ }
3208
+ }
3209
+ ```
3210
+
3211
+ ### `CreateOutboundUseCaseRequest`
3212
+
3213
+ ```ts
3214
+ type CreateOutboundUseCaseRequest = {
3215
+ name: string
3216
+ slug?: string
3217
+ enabled: boolean
3218
+ type: "outbound"
3219
+ configuration?: {
3220
+ event_catalog_event: string
3221
+ mappings: Array<{
3222
+ id?: { ... }
3223
+ name: { ... }
3224
+ jsonata_expression: { ... }
3225
+ enabled: { ... }
3226
+ delivery: { ... }
3227
+ created_at?: { ... }
3228
+ updated_at?: { ... }
3229
+ }>
3230
+ }
3231
+ }
3232
+ ```
3233
+
3234
+ ### `CreateFileProxyUseCaseRequest`
3235
+
3236
+ ```ts
3237
+ type CreateFileProxyUseCaseRequest = {
3238
+ name: string
3239
+ slug?: string
3240
+ enabled: boolean
3241
+ type: "file_proxy"
3242
+ configuration?: {
3243
+ secure_proxy?: {
3244
+ use_case_slug: { ... }
3245
+ }
3246
+ auth?: {
3247
+ type: { ... }
3248
+ token_url: { ... }
3249
+ client_id: { ... }
3250
+ client_secret: { ... }
3251
+ scope?: { ... }
3252
+ audience?: { ... }
3253
+ resource?: { ... }
3254
+ username?: { ... }
3255
+ password?: { ... }
3256
+ body_params?: { ... }
3257
+ headers?: { ... }
3258
+ query_params?: { ... }
3259
+ }
3260
+ params?: Array<{
3261
+ name: { ... }
3262
+ required: { ... }
3263
+ description?: { ... }
3264
+ }>
3265
+ steps: Array<{
3266
+ url: { ... }
3267
+ method: { ... }
3268
+ headers?: { ... }
3269
+ body?: { ... }
3270
+ response_type: { ... }
3271
+ }>
3272
+ response: {
3273
+ body: { ... }
3274
+ encoding: { ... }
3275
+ filename?: { ... }
3276
+ content_type?: { ... }
3277
+ }
3278
+ }
3279
+ }
3280
+ ```
3281
+
3282
+ ### `CreateSecureProxyUseCaseRequest`
3283
+
3284
+ ```ts
3285
+ type CreateSecureProxyUseCaseRequest = {
3286
+ name: string
3287
+ slug?: string
3288
+ enabled: boolean
3289
+ type: "secure_proxy"
3290
+ configuration?: {
3291
+ vpc_mode: "static_ip" | "secure_link"
3292
+ allowed_domains?: string[]
3293
+ }
3294
+ }
3295
+ ```
3296
+
3297
+ ### `UpdateUseCaseRequest`
3298
+
3299
+ ```ts
3300
+ type UpdateUseCaseRequest = {
3301
+ name?: string
3302
+ slug?: string
3303
+ enabled?: boolean
3304
+ change_description?: string
3305
+ type?: "inbound"
3306
+ configuration?: {
3307
+ entities?: Array<{
3308
+ entity_schema: { ... }
3309
+ unique_ids: { ... }
3310
+ jsonataExpression?: { ... }
3311
+ enabled?: { ... }
3312
+ mode?: { ... }
3313
+ scope?: { ... }
3314
+ fields: { ... }
3315
+ }>
3316
+ meter_readings?: Array<{
3317
+ jsonataExpression?: { ... }
3318
+ reading_matching?: { ... }
3319
+ mode?: { ... }
3320
+ scope?: { ... }
3321
+ meter: { ... }
3322
+ meter_counter?: { ... }
3323
+ fields: { ... }
3324
+ }>
3325
+ }
3326
+ } | {
3327
+ name?: string
3328
+ slug?: string
3329
+ enabled?: boolean
3330
+ change_description?: string
3331
+ type?: "outbound"
3332
+ configuration?: {
3333
+ event_catalog_event: string
3334
+ mappings: Array<{
3335
+ id?: { ... }
3336
+ name: { ... }
3337
+ jsonata_expression: { ... }
3338
+ enabled: { ... }
3339
+ delivery: { ... }
3340
+ created_at?: { ... }
3341
+ updated_at?: { ... }
3342
+ }>
3343
+ }
3344
+ } | {
3345
+ name?: string
3346
+ slug?: string
3347
+ enabled?: boolean
3348
+ change_description?: string
3349
+ type?: "file_proxy"
3350
+ configuration?: {
3351
+ secure_proxy?: {
3352
+ use_case_slug: { ... }
3353
+ }
3354
+ auth?: {
3355
+ type: { ... }
3356
+ token_url: { ... }
3357
+ client_id: { ... }
3358
+ client_secret: { ... }
3359
+ scope?: { ... }
3360
+ audience?: { ... }
3361
+ resource?: { ... }
3362
+ username?: { ... }
3363
+ password?: { ... }
3364
+ body_params?: { ... }
3365
+ headers?: { ... }
3366
+ query_params?: { ... }
3367
+ }
3368
+ params?: Array<{
3369
+ name: { ... }
3370
+ required: { ... }
3371
+ description?: { ... }
3372
+ }>
3373
+ steps: Array<{
3374
+ url: { ... }
3375
+ method: { ... }
3376
+ headers?: { ... }
3377
+ body?: { ... }
3378
+ response_type: { ... }
3379
+ }>
3380
+ response: {
3381
+ body: { ... }
3382
+ encoding: { ... }
3383
+ filename?: { ... }
3384
+ content_type?: { ... }
3385
+ }
3386
+ }
3387
+ } | {
3388
+ name?: string
3389
+ slug?: string
3390
+ enabled?: boolean
3391
+ change_description?: string
3392
+ type?: "secure_proxy"
3393
+ configuration?: {
3394
+ vpc_mode: "static_ip" | "secure_link"
3395
+ allowed_domains?: string[]
3396
+ }
3397
+ }
3398
+ ```
3399
+
3400
+ ### `UpdateUseCaseRequestBase`
3401
+
3402
+ ```ts
3403
+ type UpdateUseCaseRequestBase = {
3404
+ name?: string
3405
+ slug?: string
3406
+ enabled?: boolean
3407
+ change_description?: string
3408
+ }
3409
+ ```
3410
+
3411
+ ### `UpdateInboundUseCaseRequest`
3412
+
3413
+ ```ts
3414
+ type UpdateInboundUseCaseRequest = {
3415
+ name?: string
3416
+ slug?: string
3417
+ enabled?: boolean
3418
+ change_description?: string
3419
+ type?: "inbound"
3420
+ configuration?: {
3421
+ entities?: Array<{
3422
+ entity_schema: { ... }
3423
+ unique_ids: { ... }
3424
+ jsonataExpression?: { ... }
3425
+ enabled?: { ... }
3426
+ mode?: { ... }
3427
+ scope?: { ... }
3428
+ fields: { ... }
3429
+ }>
3430
+ meter_readings?: Array<{
3431
+ jsonataExpression?: { ... }
3432
+ reading_matching?: { ... }
3433
+ mode?: { ... }
3434
+ scope?: { ... }
3435
+ meter: { ... }
3436
+ meter_counter?: { ... }
3437
+ fields: { ... }
3438
+ }>
3439
+ }
3440
+ }
3441
+ ```
3442
+
3443
+ ### `UpdateOutboundUseCaseRequest`
3444
+
3445
+ ```ts
3446
+ type UpdateOutboundUseCaseRequest = {
3447
+ name?: string
3448
+ slug?: string
3449
+ enabled?: boolean
3450
+ change_description?: string
3451
+ type?: "outbound"
3452
+ configuration?: {
3453
+ event_catalog_event: string
3454
+ mappings: Array<{
3455
+ id?: { ... }
3456
+ name: { ... }
3457
+ jsonata_expression: { ... }
3458
+ enabled: { ... }
3459
+ delivery: { ... }
3460
+ created_at?: { ... }
3461
+ updated_at?: { ... }
3462
+ }>
3463
+ }
3464
+ }
3465
+ ```
3466
+
3467
+ ### `UpdateFileProxyUseCaseRequest`
3468
+
3469
+ ```ts
3470
+ type UpdateFileProxyUseCaseRequest = {
3471
+ name?: string
3472
+ slug?: string
3473
+ enabled?: boolean
3474
+ change_description?: string
3475
+ type?: "file_proxy"
3476
+ configuration?: {
3477
+ secure_proxy?: {
3478
+ use_case_slug: { ... }
3479
+ }
3480
+ auth?: {
3481
+ type: { ... }
3482
+ token_url: { ... }
3483
+ client_id: { ... }
3484
+ client_secret: { ... }
3485
+ scope?: { ... }
3486
+ audience?: { ... }
3487
+ resource?: { ... }
3488
+ username?: { ... }
3489
+ password?: { ... }
3490
+ body_params?: { ... }
3491
+ headers?: { ... }
3492
+ query_params?: { ... }
3493
+ }
3494
+ params?: Array<{
3495
+ name: { ... }
3496
+ required: { ... }
3497
+ description?: { ... }
3498
+ }>
3499
+ steps: Array<{
3500
+ url: { ... }
3501
+ method: { ... }
3502
+ headers?: { ... }
3503
+ body?: { ... }
3504
+ response_type: { ... }
3505
+ }>
3506
+ response: {
3507
+ body: { ... }
3508
+ encoding: { ... }
3509
+ filename?: { ... }
3510
+ content_type?: { ... }
3511
+ }
3512
+ }
3513
+ }
3514
+ ```
3515
+
3516
+ ### `UpdateSecureProxyUseCaseRequest`
3517
+
3518
+ ```ts
3519
+ type UpdateSecureProxyUseCaseRequest = {
3520
+ name?: string
3521
+ slug?: string
3522
+ enabled?: boolean
3523
+ change_description?: string
3524
+ type?: "secure_proxy"
3525
+ configuration?: {
3526
+ vpc_mode: "static_ip" | "secure_link"
3527
+ allowed_domains?: string[]
3528
+ }
3529
+ }
3530
+ ```
3531
+
3532
+ ### `UseCaseHistoryEntry`
3533
+
3534
+ ```ts
3535
+ type UseCaseHistoryEntry = {
3536
+ id: string // uuid
3537
+ useCaseId: string // uuid
3538
+ integrationId: string // uuid
3539
+ name: string
3540
+ slug?: string
3541
+ enabled: boolean
3542
+ change_description?: string
3543
+ created_at: string // date-time
3544
+ updated_at: string // date-time
3545
+ history_created_at: string // date-time
3546
+ type: "inbound"
3547
+ configuration?: {
3548
+ entities?: Array<{
3549
+ entity_schema: { ... }
3550
+ unique_ids: { ... }
3551
+ jsonataExpression?: { ... }
3552
+ enabled?: { ... }
3553
+ mode?: { ... }
3554
+ scope?: { ... }
3555
+ fields: { ... }
3556
+ }>
3557
+ meter_readings?: Array<{
3558
+ jsonataExpression?: { ... }
3559
+ reading_matching?: { ... }
3560
+ mode?: { ... }
3561
+ scope?: { ... }
3562
+ meter: { ... }
3563
+ meter_counter?: { ... }
3564
+ fields: { ... }
3565
+ }>
3566
+ }
3567
+ } | {
3568
+ id: string // uuid
3569
+ useCaseId: string // uuid
3570
+ integrationId: string // uuid
3571
+ name: string
3572
+ slug?: string
3573
+ enabled: boolean
3574
+ change_description?: string
3575
+ created_at: string // date-time
3576
+ updated_at: string // date-time
3577
+ history_created_at: string // date-time
3578
+ type: "outbound"
3579
+ configuration?: {
3580
+ event_catalog_event: string
3581
+ mappings: Array<{
3582
+ id?: { ... }
3583
+ name: { ... }
3584
+ jsonata_expression: { ... }
3585
+ enabled: { ... }
3586
+ delivery: { ... }
3587
+ created_at?: { ... }
3588
+ updated_at?: { ... }
3589
+ }>
3590
+ }
3591
+ } | {
3592
+ id: string // uuid
3593
+ useCaseId: string // uuid
3594
+ integrationId: string // uuid
3595
+ name: string
3596
+ slug?: string
3597
+ enabled: boolean
3598
+ change_description?: string
3599
+ created_at: string // date-time
3600
+ updated_at: string // date-time
3601
+ history_created_at: string // date-time
3602
+ type: "file_proxy"
3603
+ configuration?: {
3604
+ secure_proxy?: {
3605
+ use_case_slug: { ... }
3606
+ }
3607
+ auth?: {
3608
+ type: { ... }
3609
+ token_url: { ... }
3610
+ client_id: { ... }
3611
+ client_secret: { ... }
3612
+ scope?: { ... }
3613
+ audience?: { ... }
3614
+ resource?: { ... }
3615
+ username?: { ... }
3616
+ password?: { ... }
3617
+ body_params?: { ... }
3618
+ headers?: { ... }
3619
+ query_params?: { ... }
3620
+ }
3621
+ params?: Array<{
3622
+ name: { ... }
3623
+ required: { ... }
3624
+ description?: { ... }
3625
+ }>
3626
+ steps: Array<{
3627
+ url: { ... }
3628
+ method: { ... }
3629
+ headers?: { ... }
3630
+ body?: { ... }
3631
+ response_type: { ... }
3632
+ }>
3633
+ response: {
3634
+ body: { ... }
3635
+ // ...
3636
+ }
3637
+ ```
3638
+
3639
+ ### `UseCaseHistoryEntryBase`
3640
+
3641
+ ```ts
3642
+ type UseCaseHistoryEntryBase = {
3643
+ id: string // uuid
3644
+ useCaseId: string // uuid
3645
+ integrationId: string // uuid
3646
+ name: string
3647
+ slug?: string
3648
+ enabled: boolean
3649
+ change_description?: string
3650
+ created_at: string // date-time
3651
+ updated_at: string // date-time
3652
+ history_created_at: string // date-time
3653
+ }
3654
+ ```
3655
+
3656
+ ### `InboundUseCaseHistoryEntry`
3657
+
3658
+ ```ts
3659
+ type InboundUseCaseHistoryEntry = {
3660
+ id: string // uuid
3661
+ useCaseId: string // uuid
3662
+ integrationId: string // uuid
3663
+ name: string
3664
+ slug?: string
3665
+ enabled: boolean
3666
+ change_description?: string
3667
+ created_at: string // date-time
3668
+ updated_at: string // date-time
3669
+ history_created_at: string // date-time
3670
+ type: "inbound"
3671
+ configuration?: {
3672
+ entities?: Array<{
3673
+ entity_schema: { ... }
3674
+ unique_ids: { ... }
3675
+ jsonataExpression?: { ... }
3676
+ enabled?: { ... }
3677
+ mode?: { ... }
3678
+ scope?: { ... }
3679
+ fields: { ... }
3680
+ }>
3681
+ meter_readings?: Array<{
3682
+ jsonataExpression?: { ... }
3683
+ reading_matching?: { ... }
3684
+ mode?: { ... }
3685
+ scope?: { ... }
3686
+ meter: { ... }
3687
+ meter_counter?: { ... }
3688
+ fields: { ... }
3689
+ }>
3690
+ }
3691
+ }
3692
+ ```
3693
+
3694
+ ### `OutboundUseCaseHistoryEntry`
3695
+
3696
+ ```ts
3697
+ type OutboundUseCaseHistoryEntry = {
3698
+ id: string // uuid
3699
+ useCaseId: string // uuid
3700
+ integrationId: string // uuid
3701
+ name: string
3702
+ slug?: string
3703
+ enabled: boolean
3704
+ change_description?: string
3705
+ created_at: string // date-time
3706
+ updated_at: string // date-time
3707
+ history_created_at: string // date-time
3708
+ type: "outbound"
3709
+ configuration?: {
3710
+ event_catalog_event: string
3711
+ mappings: Array<{
3712
+ id?: { ... }
3713
+ name: { ... }
3714
+ jsonata_expression: { ... }
3715
+ enabled: { ... }
3716
+ delivery: { ... }
3717
+ created_at?: { ... }
3718
+ updated_at?: { ... }
3719
+ }>
3720
+ }
3721
+ }
3722
+ ```
3723
+
3724
+ ### `FileProxyUseCaseHistoryEntry`
3725
+
3726
+ ```ts
3727
+ type FileProxyUseCaseHistoryEntry = {
3728
+ id: string // uuid
3729
+ useCaseId: string // uuid
3730
+ integrationId: string // uuid
3731
+ name: string
3732
+ slug?: string
3733
+ enabled: boolean
3734
+ change_description?: string
3735
+ created_at: string // date-time
3736
+ updated_at: string // date-time
3737
+ history_created_at: string // date-time
3738
+ type: "file_proxy"
3739
+ configuration?: {
3740
+ secure_proxy?: {
3741
+ use_case_slug: { ... }
3742
+ }
3743
+ auth?: {
3744
+ type: { ... }
3745
+ token_url: { ... }
3746
+ client_id: { ... }
3747
+ client_secret: { ... }
3748
+ scope?: { ... }
3749
+ audience?: { ... }
3750
+ resource?: { ... }
3751
+ username?: { ... }
3752
+ password?: { ... }
3753
+ body_params?: { ... }
3754
+ headers?: { ... }
3755
+ query_params?: { ... }
3756
+ }
3757
+ params?: Array<{
3758
+ name: { ... }
3759
+ required: { ... }
3760
+ description?: { ... }
3761
+ }>
3762
+ steps: Array<{
3763
+ url: { ... }
3764
+ method: { ... }
3765
+ headers?: { ... }
3766
+ body?: { ... }
3767
+ response_type: { ... }
3768
+ }>
3769
+ response: {
3770
+ body: { ... }
3771
+ encoding: { ... }
3772
+ filename?: { ... }
3773
+ content_type?: { ... }
3774
+ }
3775
+ }
3776
+ }
3777
+ ```
3778
+
3779
+ ### `SecureProxyUseCaseHistoryEntry`
3780
+
3781
+ ```ts
3782
+ type SecureProxyUseCaseHistoryEntry = {
3783
+ id: string // uuid
3784
+ useCaseId: string // uuid
3785
+ integrationId: string // uuid
3786
+ name: string
3787
+ slug?: string
3788
+ enabled: boolean
3789
+ change_description?: string
3790
+ created_at: string // date-time
3791
+ updated_at: string // date-time
3792
+ history_created_at: string // date-time
3793
+ type: "secure_proxy"
3794
+ configuration?: {
3795
+ vpc_mode: "static_ip" | "secure_link"
3796
+ allowed_domains?: string[]
3797
+ }
3798
+ }
3799
+ ```
3800
+
3801
+ ### `SecureProxyUseCaseConfiguration`
3802
+
3803
+ Configuration for secure_proxy use cases. Defines how to route requests through a secure VPC.
3804
+
3805
+
3806
+ ```ts
3807
+ type SecureProxyUseCaseConfiguration = {
3808
+ vpc_mode: "static_ip" | "secure_link"
3809
+ allowed_domains?: string[]
3810
+ }
3811
+ ```
3812
+
3813
+ ### `SecureProxySummary`
3814
+
3815
+ ```ts
3816
+ type SecureProxySummary = {
3817
+ id: string // uuid
3818
+ name: string
3819
+ slug?: string
3820
+ enabled: boolean
3821
+ vpc_mode: "static_ip" | "secure_link"
3822
+ allowed_domains?: string[]
3823
+ integration_id: string // uuid
3824
+ integration_name: string
3825
+ }
3826
+ ```
3827
+
3828
+ ### `SecureProxyRequest`
3829
+
3830
+ ```ts
3831
+ type SecureProxyRequest = {
3832
+ integration_id: string // uuid
3833
+ use_case_id?: string // uuid
3834
+ use_case_slug?: string
3835
+ url: string // uri
3836
+ method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE"
3837
+ headers?: Record<string, string>
3838
+ body?: unknown
3839
+ response_type?: "json" | "binary"
3840
+ }
3841
+ ```
3842
+
3843
+ ### `SecureProxyResponse`
3844
+
3845
+ ```ts
3846
+ type SecureProxyResponse = {
3847
+ status_code?: number
3848
+ headers?: Record<string, string>
3849
+ body?: unknown
3850
+ }
3851
+ ```
3852
+
3853
+ ### `FileProxyUseCaseConfiguration`
3854
+
3855
+ Configuration for file_proxy use cases. Defines how to authenticate and fetch files from external document systems.
3856
+
3857
+ The file proxy download URL always requires `orgId`, `integrationId`, and either `useCaseSlug` (recommended) or `useCaseId` (legacy UUID) as query parameters.
3858
+ The `orgId` is included
3859
+
3860
+ ```ts
3861
+ type FileProxyUseCaseConfiguration = {
3862
+ secure_proxy?: {
3863
+ use_case_slug: string
3864
+ }
3865
+ auth?: {
3866
+ type: "oauth2_client_credentials" | "oauth2_password"
3867
+ token_url: string
3868
+ client_id: string
3869
+ client_secret: string
3870
+ scope?: string
3871
+ audience?: string
3872
+ resource?: string
3873
+ username?: string
3874
+ password?: string
3875
+ body_params?: Record<string, string>
3876
+ headers?: Record<string, string>
3877
+ query_params?: Record<string, string>
3878
+ }
3879
+ params?: Array<{
3880
+ name: string
3881
+ required: boolean
3882
+ description?: string
3883
+ }>
3884
+ steps: Array<{
3885
+ url: string
3886
+ method: "GET" | "POST"
3887
+ headers?: Record<string, string>
3888
+ body?: string
3889
+ response_type: "json" | "binary"
3890
+ }>
3891
+ response: {
3892
+ body: string
3893
+ encoding: "base64" | "binary"
3894
+ filename?: string
3895
+ content_type?: string
3896
+ }
3897
+ }
3898
+ ```
3899
+
3900
+ ### `FileProxySecureProxyAttachment`
3901
+
3902
+ ```ts
3903
+ type FileProxySecureProxyAttachment = {
3904
+ use_case_slug: string
3905
+ }
3906
+ ```
3907
+
3908
+ ### `FileProxyAuth`
3909
+
3910
+ ```ts
3911
+ type FileProxyAuth = {
3912
+ type: "oauth2_client_credentials" | "oauth2_password"
3913
+ token_url: string
3914
+ client_id: string
3915
+ client_secret: string
3916
+ scope?: string
3917
+ audience?: string
3918
+ resource?: string
3919
+ username?: string
3920
+ password?: string
3921
+ body_params?: Record<string, string>
3922
+ headers?: Record<string, string>
3923
+ query_params?: Record<string, string>
3924
+ }
3925
+ ```
3926
+
3927
+ ### `FileProxyParam`
3928
+
3929
+ ```ts
3930
+ type FileProxyParam = {
3931
+ name: string
3932
+ required: boolean
3933
+ description?: string
3934
+ }
3935
+ ```
3936
+
3937
+ ### `FileProxyStep`
3938
+
3939
+ ```ts
3940
+ type FileProxyStep = {
3941
+ url: string
3942
+ method: "GET" | "POST"
3943
+ headers?: Record<string, string>
3944
+ body?: string
3945
+ response_type: "json" | "binary"
3946
+ }
3947
+ ```
3948
+
3949
+ ### `FileProxyResponseConfig`
3950
+
3951
+ ```ts
3952
+ type FileProxyResponseConfig = {
3953
+ body: string
3954
+ encoding: "base64" | "binary"
3955
+ filename?: string
3956
+ content_type?: string
3957
+ }
3958
+ ```
3959
+
3960
+ ### `MappingSimulationRequest`
3961
+
3962
+ ```ts
3963
+ type MappingSimulationRequest = {
3964
+ mapping_configuration: {
3965
+ version?: "1.0"
3966
+ mapping: {
3967
+ objects: { ... }
3968
+ }
3969
+ } | {
3970
+ version: "2.0"
3971
+ mapping: {
3972
+ events: { ... }
3973
+ }
3974
+ }
3975
+ object_type: string
3976
+ format: "json" | "xml"
3977
+ payload: string | Record<string, unknown>
3978
+ }
3979
+ ```
3980
+
3981
+ ### `MappingSimulationV2Request`
3982
+
3983
+ Request for v2 mapping simulation. Uses the same configuration format stored in integration use case resources,
3984
+ making it easier to test configurations before saving them.
3985
+
3986
+
3987
+ ```ts
3988
+ type MappingSimulationV2Request = {
3989
+ event_configuration: {
3990
+ entities?: Array<{
3991
+ entity_schema: { ... }
3992
+ unique_ids: { ... }
3993
+ jsonataExpression?: { ... }
3994
+ enabled?: { ... }
3995
+ mode?: { ... }
3996
+ scope?: { ... }
3997
+ fields: { ... }
3998
+ }>
3999
+ meter_readings?: Array<{
4000
+ jsonataExpression?: { ... }
4001
+ reading_matching?: { ... }
4002
+ mode?: { ... }
4003
+ scope?: { ... }
4004
+ meter: { ... }
4005
+ meter_counter?: { ... }
4006
+ fields: { ... }
4007
+ }>
4008
+ }
4009
+ format: "json" | "xml"
4010
+ payload: string | Record<string, unknown>
4011
+ }
4012
+ ```
4013
+
4014
+ ### `MappingSimulationResponse`
4015
+
4016
+ ```ts
4017
+ type MappingSimulationResponse = {
4018
+ entity_updates: Array<{
4019
+ entity_slug: string
4020
+ unique_identifiers: Record<string, unknown>
4021
+ attributes: Record<string, unknown>
4022
+ }>
4023
+ meter_readings_updates?: Array<{
4024
+ meter: {
4025
+ $entity_unique_ids: { ... }
4026
+ }
4027
+ meter_counter?: {
4028
+ $entity_unique_ids?: { ... }
4029
+ }
4030
+ attributes: Record<string, unknown>
4031
+ }>
4032
+ warnings?: Array<{
4033
+ entity_schema: string
4034
+ field: string
4035
+ message: string
4036
+ }>
4037
+ }
4038
+ ```
4039
+
4040
+ ### `MappingSimulationWarning`
4041
+
4042
+ ```ts
4043
+ type MappingSimulationWarning = {
4044
+ entity_schema: string
4045
+ field: string
4046
+ message: string
4047
+ }
4048
+ ```
4049
+
4050
+ ### `EntityUpdate`
4051
+
4052
+ ```ts
4053
+ type EntityUpdate = {
4054
+ entity_slug: string
4055
+ unique_identifiers: Record<string, unknown>
4056
+ attributes: Record<string, unknown>
4057
+ }
4058
+ ```
4059
+
4060
+ ### `MeterReadingUpdate`
4061
+
4062
+ ```ts
4063
+ type MeterReadingUpdate = {
4064
+ meter: {
4065
+ $entity_unique_ids: Record<string, unknown>
4066
+ }
4067
+ meter_counter?: {
4068
+ $entity_unique_ids?: Record<string, unknown>
4069
+ }
4070
+ attributes: Record<string, unknown>
4071
+ }
4072
+ ```
4073
+
4074
+ ### `IntegrationConfigurationV1`
4075
+
4076
+ ```ts
4077
+ type IntegrationConfigurationV1 = {
4078
+ version?: "1.0"
4079
+ mapping: {
4080
+ objects: Record<string, {
4081
+ unique_ids: { ... }
4082
+ fields: { ... }
4083
+ }>
4084
+ }
4085
+ }
4086
+ ```
4087
+
4088
+ ### `IntegrationObjectV1`
4089
+
4090
+ ```ts
4091
+ type IntegrationObjectV1 = {
4092
+ unique_ids: Record<string, string[] | Record<string, string>>
4093
+ fields: Array<{
4094
+ entity: string
4095
+ attribute: string
4096
+ field?: string
4097
+ jsonataExpression?: string
4098
+ }>
4099
+ }
4100
+ ```
4101
+
4102
+ ### `IntegrationFieldV1`
4103
+
4104
+ ```ts
4105
+ type IntegrationFieldV1 = {
4106
+ entity: string
4107
+ attribute: string
4108
+ field?: string
4109
+ jsonataExpression?: string
4110
+ }
4111
+ ```
4112
+
4113
+ ### `IntegrationConfigurationV2`
4114
+
4115
+ ```ts
4116
+ type IntegrationConfigurationV2 = {
4117
+ version: "2.0"
4118
+ mapping: {
4119
+ events: Record<string, {
4120
+ entities?: { ... }
4121
+ meter_readings?: { ... }
4122
+ }>
4123
+ }
4124
+ }
4125
+ ```
4126
+
4127
+ ### `OutboundMapping`
4128
+
4129
+ A mapping that transforms an event and delivers it to a webhook
4130
+
4131
+ ```ts
4132
+ type OutboundMapping = {
4133
+ id?: string // uuid
4134
+ name: string
4135
+ jsonata_expression: string
4136
+ enabled: boolean
4137
+ delivery: {
4138
+ type: "webhook"
4139
+ webhook_id: string
4140
+ webhook_name?: string
4141
+ webhook_url?: string
4142
+ }
4143
+ created_at?: string // date-time
4144
+ updated_at?: string // date-time
4145
+ }
4146
+ ```
4147
+
4148
+ ### `DeliveryConfig`
4149
+
4150
+ Configuration for how the transformed event should be delivered
4151
+
4152
+ ```ts
4153
+ type DeliveryConfig = {
4154
+ type: "webhook"
4155
+ webhook_id: string
4156
+ webhook_name?: string
4157
+ webhook_url?: string
4158
+ }
4159
+ ```
4160
+
4161
+ ### `OutboundStatusResponse`
4162
+
4163
+ ```ts
4164
+ type OutboundStatusResponse = {
4165
+ useCases: Array<{
4166
+ useCaseId: string // uuid
4167
+ name: string
4168
+ useCaseEnabled: boolean
4169
+ eventCatalogEvent?: string
4170
+ eventEnabled?: boolean
4171
+ webhooks?: Array<{
4172
+ webhookId: { ... }
4173
+ webhookName?: { ... }
4174
+ enabled?: { ... }
4175
+ }>
4176
+ status: "ok" | "conflict" | "disabled"
4177
+ conflicts?: Array<{
4178
+ type: { ... }
4179
+ webhookId?: { ... }
4180
+ message: { ... }
4181
+ }>
4182
+ }>
4183
+ }
4184
+ ```
4185
+
4186
+ ### `OutboundUseCaseStatus`
4187
+
4188
+ ```ts
4189
+ type OutboundUseCaseStatus = {
4190
+ useCaseId: string // uuid
4191
+ name: string
4192
+ useCaseEnabled: boolean
4193
+ eventCatalogEvent?: string
4194
+ eventEnabled?: boolean
4195
+ webhooks?: Array<{
4196
+ webhookId: string
4197
+ webhookName?: string
4198
+ enabled?: boolean
4199
+ }>
4200
+ status: "ok" | "conflict" | "disabled"
4201
+ conflicts?: Array<{
4202
+ type: "event_disabled" | "all_webhooks_disabled" | "event_enabled_while_disabled" | "webhook_enabled_while_disabled"
4203
+ webhookId?: string
4204
+ message: string
4205
+ }>
4206
+ }
4207
+ ```
4208
+
4209
+ ### `WebhookStatus`
4210
+
4211
+ ```ts
4212
+ type WebhookStatus = {
4213
+ webhookId: string
4214
+ webhookName?: string
4215
+ enabled?: boolean
4216
+ }
4217
+ ```
4218
+
4219
+ ### `OutboundConflict`
4220
+
4221
+ ```ts
4222
+ type OutboundConflict = {
4223
+ type: "event_disabled" | "all_webhooks_disabled" | "event_enabled_while_disabled" | "webhook_enabled_while_disabled"
4224
+ webhookId?: string
4225
+ message: string
4226
+ }
4227
+ ```
4228
+
4229
+ ### `RelationConfig`
4230
+
4231
+ ```ts
4232
+ type RelationConfig = {
4233
+ operation: "_set" | "_append" | "_append_all"
4234
+ items?: Array<{
4235
+ entity_schema: string
4236
+ _tags?: string[]
4237
+ unique_ids: Array<{
4238
+ attribute: { ... }
4239
+ _type?: { ... }
4240
+ field?: { ... }
4241
+ jsonataExpression?: { ... }
4242
+ constant?: { ... }
4243
+ }>
4244
+ }>
4245
+ jsonataExpression?: string
4246
+ }
4247
+ ```
4248
+
4249
+ ### `RelationItemConfig`
4250
+
4251
+ ```ts
4252
+ type RelationItemConfig = {
4253
+ entity_schema: string
4254
+ _tags?: string[]
4255
+ unique_ids: Array<{
4256
+ attribute: string
4257
+ _type?: "email" | "phone"
4258
+ field?: string
4259
+ jsonataExpression?: string
4260
+ constant?: unknown
4261
+ }>
4262
+ }
4263
+ ```
4264
+
4265
+ ### `RelationUniqueIdField`
4266
+
4267
+ ```ts
4268
+ type RelationUniqueIdField = {
4269
+ attribute: string
4270
+ _type?: "email" | "phone"
4271
+ field?: string
4272
+ jsonataExpression?: string
4273
+ constant?: unknown
4274
+ }
4275
+ ```
4276
+
4277
+ ### `RelationRefsConfig`
4278
+
4279
+ Configuration for relation references ($relation_ref).
4280
+ Relation references link to a specific item within a repeatable attribute on a related entity.
4281
+ Common use case: referencing a specific address within a contact's address list.
4282
+
4283
+
4284
+ ```ts
4285
+ type RelationRefsConfig = {
4286
+ operation: "_set" | "_append" | "_append_all"
4287
+ items?: Array<{
4288
+ entity_schema: string
4289
+ unique_ids: Array<{
4290
+ attribute: { ... }
4291
+ _type?: { ... }
4292
+ field?: { ... }
4293
+ jsonataExpression?: { ... }
4294
+ constant?: { ... }
4295
+ }>
4296
+ path: string
4297
+ value: {
4298
+ attribute: { ... }
4299
+ operation?: { ... }
4300
+ field?: { ... }
4301
+ jsonataExpression?: { ... }
4302
+ constant?: { ... }
4303
+ }
4304
+ }>
4305
+ jsonataExpression?: string
4306
+ }
4307
+ ```
4308
+
4309
+ ### `RelationRefItemConfig`
4310
+
4311
+ Configuration for a single relation reference item
4312
+
4313
+ ```ts
4314
+ type RelationRefItemConfig = {
4315
+ entity_schema: string
4316
+ unique_ids: Array<{
4317
+ attribute: string
4318
+ _type?: "email" | "phone"
4319
+ field?: string
4320
+ jsonataExpression?: string
4321
+ constant?: unknown
4322
+ }>
4323
+ path: string
4324
+ value: {
4325
+ attribute: string
4326
+ operation?: "_set" | "_append" | "_append_all"
4327
+ field?: string
4328
+ jsonataExpression?: string
4329
+ constant?: unknown
4330
+ }
4331
+ }
4332
+ ```
4333
+
4334
+ ### `RelationRefValueConfig`
4335
+
4336
+ Configuration for the value to set on the related entity's attribute
4337
+
4338
+ ```ts
4339
+ type RelationRefValueConfig = {
4340
+ attribute: string
4341
+ operation?: "_set" | "_append" | "_append_all"
4342
+ field?: string
4343
+ jsonataExpression?: string
4344
+ constant?: unknown
4345
+ }
4346
+ ```
4347
+
4348
+ ### `RepeatableFieldType`
4349
+
4350
+ Type hint for repeatable fields that require special search handling.
4351
+ These fields are stored as arrays of objects (e.g., email: [{ email: "value" }]).
4352
+
4353
+
4354
+ ```ts
4355
+ type RepeatableFieldType = "email" | "phone"
4356
+ ```
4357
+
4358
+ ### `ReplayEventsRequest`
4359
+
4360
+ ```ts
4361
+ type ReplayEventsRequest = {
4362
+ event_ids: string[]
4363
+ }
4364
+ ```
4365
+
4366
+ ### `QueryEventsRequest`
4367
+
4368
+ ```ts
4369
+ type QueryEventsRequest = {
4370
+ event_id?: string
4371
+ event_type?: "CREATE" | "UPDATE" | "DELETE"
4372
+ correlation_id?: string
4373
+ object_type?: string
4374
+ event_name?: string
4375
+ limit?: number
4376
+ cursor?: {
4377
+ event_time?: string // date-time
4378
+ event_id?: string
4379
+ }
4380
+ }
4381
+ ```
4382
+
4383
+ ### `QueryInboundMonitoringEventsRequest`
4384
+
4385
+ ```ts
4386
+ type QueryInboundMonitoringEventsRequest = {
4387
+ use_case_id?: string // uuid
4388
+ event_type?: "CREATE" | "UPDATE" | "DELETE" | "TRIGGER"
4389
+ sync_type?: "entity" | "meter_reading" | "webhook" | "api_deprecation"
4390
+ status?: "success" | "error" | "skipped" | "warning"
4391
+ error_category?: "validation" | "configuration" | "downstream_api" | "timeout" | "system"
4392
+ correlation_id?: string
4393
+ object_type?: string
4394
+ event_name?: string
4395
+ event_id?: string
4396
+ from_date?: string // date-time
4397
+ to_date?: string // date-time
4398
+ limit?: number
4399
+ cursor?: {
4400
+ completed_at?: string // date-time
4401
+ event_id?: string
4402
+ }
4403
+ }
4404
+ ```
4405
+
4406
+ ### `QueryAccessLogsRequest`
4407
+
4408
+ ```ts
4409
+ type QueryAccessLogsRequest = {
4410
+ token_id?: string
4411
+ service?: string
4412
+ method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD"
4413
+ path?: string
4414
+ status?: number
4415
+ from_date?: string // date-time
4416
+ to_date?: string // date-time
4417
+ limit?: number
4418
+ cursor?: {
4419
+ timestamp?: string // date-time
4420
+ request_id?: string
4421
+ }
4422
+ }
4423
+ ```
4424
+
4425
+ ### `AccessLogEntry`
4426
+
4427
+ ```ts
4428
+ type AccessLogEntry = {
4429
+ timestamp?: string // date-time
4430
+ environment?: string
4431
+ service?: string
4432
+ request_id?: string
4433
+ method?: string
4434
+ path?: string
4435
+ status?: number
4436
+ response_latency_ms?: number
4437
+ response_length?: number
4438
+ token_id?: string
4439
+ org_id?: string
4440
+ origin?: string
4441
+ source_ip?: string
4442
+ }
4443
+ ```
4444
+
4445
+ ### `GetMonitoringStatsRequest`
4446
+
4447
+ ```ts
4448
+ type GetMonitoringStatsRequest = {
4449
+ from_date?: string // date-time
4450
+ to_date?: string // date-time
4451
+ inbound_group_by?: "use_case_id" | "sync_type" | "status" | "error_category" | "object_type" | "event_name" | "date"[]
4452
+ outbound_group_by?: "event_name" | "status" | "webhook_config_id" | "date"[]
4453
+ }
4454
+ ```
4455
+
4456
+ ### `GetMonitoringTimeSeriesRequest`
4457
+
4458
+ ```ts
4459
+ type GetMonitoringTimeSeriesRequest = {
4460
+ from_date: string // date-time
4461
+ to_date?: string // date-time
4462
+ interval: "5m" | "10m" | "30m" | "1h" | "3h" | "1d"
4463
+ direction?: "inbound" | "outbound" | "both"
4464
+ }
4465
+ ```
4466
+
4467
+ ### `TimeSeriesBucket`
4468
+
4469
+ ```ts
4470
+ type TimeSeriesBucket = {
4471
+ timestamp: string // date-time
4472
+ inbound?: {
4473
+ success_count?: number
4474
+ error_count?: number
4475
+ warning_count?: number
4476
+ skipped_count?: number
4477
+ total_count?: number
4478
+ }
4479
+ outbound?: {
4480
+ success_count?: number
4481
+ error_count?: number
4482
+ pending_count?: number
4483
+ total_count?: number
4484
+ }
4485
+ }
4486
+ ```
4487
+
4488
+ ### `QueryOutboundMonitoringEventsRequest`
4489
+
4490
+ ```ts
4491
+ type QueryOutboundMonitoringEventsRequest = {
4492
+ event_name?: string
4493
+ status?: "succeeded" | "failed" | "pending"
4494
+ webhook_config_id?: string
4495
+ from_date?: string // date-time
4496
+ to_date?: string // date-time
4497
+ limit?: number
4498
+ cursor?: {
4499
+ created_at?: string // date-time
4500
+ event_id?: string
4501
+ }
4502
+ }
4503
+ ```
4504
+
4505
+ ### `OutboundMonitoringEvent`
4506
+
4507
+ ```ts
4508
+ type OutboundMonitoringEvent = {
4509
+ org_id: string
4510
+ event_id: string
4511
+ event_name: string
4512
+ status: "succeeded" | "failed" | "pending"
4513
+ url?: string
4514
+ http_method?: string
4515
+ http_response?: Record<string, unknown>
4516
+ webhook_config_id?: string
4517
+ metadata?: Record<string, unknown>
4518
+ execution_context?: Record<string, unknown>
4519
+ payload?: Record<string, unknown>
4520
+ created_at: string // date-time
4521
+ updated_at?: string // date-time
4522
+ }
4523
+ ```
4524
+
4525
+ ### `MonitoringStats`
4526
+
4527
+ ```ts
4528
+ type MonitoringStats = {
4529
+ inbound: {
4530
+ total_events: number
4531
+ total_correlations?: number
4532
+ success_count: number
4533
+ error_count: number
4534
+ skipped_count: number
4535
+ warning_count?: number
4536
+ success_rate?: number
4537
+ last_error_at?: string // date-time
4538
+ breakdown?: Record<string, unknown>[]
4539
+ }
4540
+ outbound: {
4541
+ total_events: number
4542
+ success_count: number
4543
+ error_count: number
4544
+ pending_count?: number
4545
+ success_rate?: number
4546
+ last_error_at?: string // date-time
4547
+ breakdown?: Record<string, unknown>[]
4548
+ }
4549
+ }
4550
+ ```
4551
+
4552
+ ### `InboundMonitoringEvent`
4553
+
4554
+ ```ts
4555
+ type InboundMonitoringEvent = {
4556
+ org_id: string
4557
+ event_id: string
4558
+ correlation_id?: string
4559
+ integration_id?: string
4560
+ use_case_id?: string
4561
+ event_type?: "CREATE" | "UPDATE" | "DELETE" | "TRIGGER"
4562
+ object_type: string
4563
+ sync_type: "entity" | "meter_reading" | "webhook" | "api_deprecation"
4564
+ status: "success" | "error" | "skipped" | "warning"
4565
+ error_code?: string
4566
+ error_message?: string
4567
+ error_category?: "validation" | "configuration" | "downstream_api" | "timeout" | "system"
4568
+ processing_duration_ms?: number
4569
+ received_at: string // date-time
4570
+ completed_at: string // date-time
4571
+ }
4572
+ ```