@epilot/sdk 2.1.0-rc.0 → 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 (357) 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 -13
  30. package/dist/apis/access-token.js +7 -10
  31. package/dist/apis/address-suggestions.cjs +10 -13
  32. package/dist/apis/address-suggestions.js +7 -10
  33. package/dist/apis/address.cjs +10 -13
  34. package/dist/apis/address.js +7 -10
  35. package/dist/apis/ai-agents.cjs +10 -13
  36. package/dist/apis/ai-agents.js +7 -10
  37. package/dist/apis/app.cjs +10 -13
  38. package/dist/apis/app.js +7 -10
  39. package/dist/apis/audit-logs.cjs +10 -13
  40. package/dist/apis/audit-logs.js +7 -10
  41. package/dist/apis/automation.cjs +10 -13
  42. package/dist/apis/automation.js +7 -10
  43. package/dist/apis/billing.cjs +10 -13
  44. package/dist/apis/billing.js +7 -10
  45. package/dist/apis/blueprint-manifest.cjs +10 -13
  46. package/dist/apis/blueprint-manifest.js +7 -10
  47. package/dist/apis/consent.cjs +10 -13
  48. package/dist/apis/consent.js +7 -10
  49. package/dist/apis/customer-portal.cjs +10 -13
  50. package/dist/apis/customer-portal.js +7 -10
  51. package/dist/apis/dashboard.cjs +10 -13
  52. package/dist/apis/dashboard.js +7 -10
  53. package/dist/apis/data-management.cjs +10 -13
  54. package/dist/apis/data-management.js +7 -10
  55. package/dist/apis/deduplication.cjs +10 -13
  56. package/dist/apis/deduplication.js +7 -10
  57. package/dist/apis/design.cjs +10 -13
  58. package/dist/apis/design.js +7 -10
  59. package/dist/apis/document.cjs +10 -13
  60. package/dist/apis/document.js +7 -10
  61. package/dist/apis/email-settings.cjs +10 -13
  62. package/dist/apis/email-settings.js +7 -10
  63. package/dist/apis/email-template.cjs +10 -13
  64. package/dist/apis/email-template.js +7 -10
  65. package/dist/apis/entity-mapping.cjs +10 -13
  66. package/dist/apis/entity-mapping.js +7 -10
  67. package/dist/apis/entity.cjs +10 -13
  68. package/dist/apis/entity.js +7 -10
  69. package/dist/apis/environments.cjs +10 -13
  70. package/dist/apis/environments.js +7 -10
  71. package/dist/apis/erp-integration.cjs +10 -13
  72. package/dist/apis/erp-integration.js +7 -10
  73. package/dist/apis/event-catalog.cjs +10 -13
  74. package/dist/apis/event-catalog.js +7 -10
  75. package/dist/apis/file.cjs +10 -13
  76. package/dist/apis/file.js +7 -10
  77. package/dist/apis/iban.cjs +10 -13
  78. package/dist/apis/iban.js +7 -10
  79. package/dist/apis/journey.cjs +10 -13
  80. package/dist/apis/journey.js +7 -10
  81. package/dist/apis/kanban.cjs +10 -13
  82. package/dist/apis/kanban.js +7 -10
  83. package/dist/apis/message.cjs +10 -13
  84. package/dist/apis/message.js +7 -10
  85. package/dist/apis/metering.cjs +10 -13
  86. package/dist/apis/metering.js +7 -10
  87. package/dist/apis/notes.cjs +10 -13
  88. package/dist/apis/notes.js +7 -10
  89. package/dist/apis/notification.cjs +10 -13
  90. package/dist/apis/notification.js +7 -10
  91. package/dist/apis/organization.cjs +10 -13
  92. package/dist/apis/organization.d.cts +2 -2
  93. package/dist/apis/organization.d.ts +2 -2
  94. package/dist/apis/organization.js +7 -10
  95. package/dist/apis/partner-directory.cjs +10 -13
  96. package/dist/apis/partner-directory.js +7 -10
  97. package/dist/apis/permissions.cjs +10 -13
  98. package/dist/apis/permissions.js +7 -10
  99. package/dist/apis/pricing-tier.cjs +10 -13
  100. package/dist/apis/pricing-tier.js +7 -10
  101. package/dist/apis/pricing.cjs +10 -13
  102. package/dist/apis/pricing.js +7 -10
  103. package/dist/apis/purpose.cjs +10 -13
  104. package/dist/apis/purpose.js +7 -10
  105. package/dist/apis/sandbox.cjs +10 -13
  106. package/dist/apis/sandbox.js +7 -10
  107. package/dist/apis/submission.cjs +10 -13
  108. package/dist/apis/submission.js +7 -10
  109. package/dist/apis/targeting.cjs +10 -13
  110. package/dist/apis/targeting.js +7 -10
  111. package/dist/apis/template-variables.cjs +10 -13
  112. package/dist/apis/template-variables.js +7 -10
  113. package/dist/apis/user.cjs +10 -13
  114. package/dist/apis/user.js +7 -10
  115. package/dist/apis/validation-rules.cjs +10 -13
  116. package/dist/apis/validation-rules.js +7 -10
  117. package/dist/apis/webhooks.cjs +10 -13
  118. package/dist/apis/webhooks.js +7 -10
  119. package/dist/apis/workflow-definition.cjs +10 -13
  120. package/dist/apis/workflow-definition.js +7 -10
  121. package/dist/apis/workflow.cjs +10 -13
  122. package/dist/apis/workflow.js +7 -10
  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-2HOJWFQ4.js +14 -0
  134. package/dist/chunk-372VUPHN.js +14 -0
  135. package/dist/chunk-3HJEWWPS.cjs +14 -0
  136. package/dist/chunk-3N67SSL3.js +14 -0
  137. package/dist/chunk-3XEP56SV.cjs +204 -0
  138. package/dist/chunk-3ZZ57K3S.cjs +14 -0
  139. package/dist/chunk-4SWC43JO.cjs +14 -0
  140. package/dist/chunk-4VFQTSJQ.js +14 -0
  141. package/dist/chunk-57QIBYDN.js +14 -0
  142. package/dist/chunk-5SNJAD6F.cjs +14 -0
  143. package/dist/chunk-73H6TVKN.js +14 -0
  144. package/dist/chunk-A6JOROUC.cjs +14 -0
  145. package/dist/chunk-AJKH25H2.cjs +14 -0
  146. package/dist/chunk-ARWMTXJV.cjs +14 -0
  147. package/dist/chunk-B3ZGAG7B.js +14 -0
  148. package/dist/chunk-BH5ZXK4J.cjs +14 -0
  149. package/dist/chunk-BWFXLUK5.cjs +14 -0
  150. package/dist/chunk-C6UTZEHH.js +14 -0
  151. package/dist/chunk-CPKBR34V.js +14 -0
  152. package/dist/chunk-CWSHYFVZ.js +14 -0
  153. package/dist/chunk-DJKSULPK.js +14 -0
  154. package/dist/chunk-DNJ54L2G.js +14 -0
  155. package/dist/chunk-DY2D2IW5.cjs +14 -0
  156. package/dist/chunk-E26ZO7QM.cjs +14 -0
  157. package/dist/chunk-EBCHCYUO.js +14 -0
  158. package/dist/chunk-EPAIOB5U.cjs +14 -0
  159. package/dist/chunk-EQZMT2HF.cjs +14 -0
  160. package/dist/chunk-F376L6PP.cjs +14 -0
  161. package/dist/chunk-F472YLJG.cjs +14 -0
  162. package/dist/chunk-FXOX3X7E.cjs +14 -0
  163. package/dist/chunk-G2REP2VZ.cjs +14 -0
  164. package/dist/chunk-GLO477NZ.js +14 -0
  165. package/dist/chunk-H4VSK4KF.js +14 -0
  166. package/dist/chunk-HPSGM6QP.js +14 -0
  167. package/dist/chunk-HPYHWTTA.cjs +14 -0
  168. package/dist/chunk-IH4CMOML.js +14 -0
  169. package/dist/chunk-IMT3IE5M.cjs +14 -0
  170. package/dist/chunk-IP2WWEOU.js +14 -0
  171. package/dist/chunk-IS2VB342.js +14 -0
  172. package/dist/chunk-ITX53XAZ.js +14 -0
  173. package/dist/chunk-JXBXDTFG.cjs +14 -0
  174. package/dist/chunk-K62XK7KU.js +14 -0
  175. package/dist/chunk-KA3TGFJP.js +14 -0
  176. package/dist/chunk-KBOVBUBM.js +14 -0
  177. package/dist/chunk-KPGC2D6E.js +14 -0
  178. package/dist/chunk-KSXTBGIV.js +14 -0
  179. package/dist/chunk-LCIJ4TJ4.cjs +14 -0
  180. package/dist/chunk-LQOLYXGQ.cjs +14 -0
  181. package/dist/chunk-LSIWCIQV.js +14 -0
  182. package/dist/chunk-MHNSZ4HE.js +14 -0
  183. package/dist/chunk-MKX4CKAB.cjs +14 -0
  184. package/dist/chunk-MRTAFRO7.js +14 -0
  185. package/dist/chunk-MRZ7LGKZ.js +14 -0
  186. package/dist/chunk-MSASBR2Y.js +14 -0
  187. package/dist/chunk-NAWLLC3T.cjs +14 -0
  188. package/dist/chunk-NJK5F5TF.cjs +21 -0
  189. package/dist/chunk-NLSZVGHK.cjs +14 -0
  190. package/dist/chunk-O4LRVGOY.js +14 -0
  191. package/dist/chunk-OG2DMGU6.cjs +14 -0
  192. package/dist/chunk-OGQKJTXF.js +14 -0
  193. package/dist/chunk-PETLAONH.js +14 -0
  194. package/dist/chunk-PVSS2WPM.cjs +14 -0
  195. package/dist/chunk-PXITFTJA.cjs +14 -0
  196. package/dist/chunk-QDVPPRWI.cjs +14 -0
  197. package/dist/chunk-QKERXNJJ.cjs +14 -0
  198. package/dist/chunk-QLML3IP5.cjs +14 -0
  199. package/dist/chunk-QVAJ5JP4.js +14 -0
  200. package/dist/chunk-RD7E4OSJ.cjs +14 -0
  201. package/dist/chunk-RWSA3LXE.cjs +14 -0
  202. package/dist/chunk-RXSS67VI.cjs +14 -0
  203. package/dist/chunk-S3ZNESMC.cjs +14 -0
  204. package/dist/chunk-S7NDMDRX.js +14 -0
  205. package/dist/chunk-SK3VYIZ6.cjs +14 -0
  206. package/dist/chunk-SMGHAG5C.cjs +14 -0
  207. package/dist/chunk-T46LODOF.js +14 -0
  208. package/dist/chunk-TIJWJVKZ.js +14 -0
  209. package/dist/chunk-TLWCYLNA.js +14 -0
  210. package/dist/chunk-TRJLYZHD.js +14 -0
  211. package/dist/chunk-UKKJMCNH.js +14 -0
  212. package/dist/chunk-ULBEEHG4.js +204 -0
  213. package/dist/chunk-VGTUK3QD.cjs +14 -0
  214. package/dist/chunk-VQ7R36AC.js +14 -0
  215. package/dist/chunk-VVQB5W7U.cjs +14 -0
  216. package/dist/chunk-VVVATFGK.cjs +14 -0
  217. package/dist/chunk-WMTYO5OX.cjs +14 -0
  218. package/dist/chunk-WOSSSFXB.js +14 -0
  219. package/dist/chunk-WOXXNKTE.js +14 -0
  220. package/dist/chunk-XKI2OAYV.cjs +14 -0
  221. package/dist/chunk-XR4QF6KQ.cjs +14 -0
  222. package/dist/chunk-XYHTQ523.cjs +14 -0
  223. package/dist/chunk-XZYZLSUO.cjs +14 -0
  224. package/dist/chunk-YPSWSI3M.js +21 -0
  225. package/dist/chunk-YYBIU5BQ.js +14 -0
  226. package/dist/chunk-YZA5WZUS.js +14 -0
  227. package/dist/chunk-Z4LUE424.cjs +14 -0
  228. package/dist/chunk-ZV6XYUXS.js +14 -0
  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 +199 -58
  262. package/dist/index.d.cts +17 -2
  263. package/dist/index.d.ts +17 -2
  264. package/dist/index.js +197 -56
  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-XE25WERA.js +0 -125
  357. package/dist/chunk-XEQMAKGA.cjs +0 -125
@@ -0,0 +1,7 @@
1
+ import "./chunk-YPSWSI3M.js";
2
+
3
+ // src/docs/app.json
4
+ var app_default = '# App API\n\n- **Base URL:** `https://app.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/app](https://docs.epilot.io/api/app)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.app.getPublicFacingComponent(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/app\'\n\nconst appClient = getClient()\nauthorize(appClient, () => \'<token>\')\nconst { data } = await appClient.getPublicFacingComponent(...)\n```\n\n## Operations\n\n**App Installation**\n- [`getPublicFacingComponent`](#getpublicfacingcomponent)\n- [`listInstallations`](#listinstallations)\n- [`getInstallation`](#getinstallation)\n- [`install`](#install)\n- [`patchInstallation`](#patchinstallation)\n- [`uninstall`](#uninstall)\n- [`promoteVersion`](#promoteversion)\n\n**App Configuration**\n- [`listConfigurations`](#listconfigurations)\n- [`createConfiguration`](#createconfiguration)\n- [`listPublicConfigurations`](#listpublicconfigurations)\n- [`getPublicConfiguration`](#getpublicconfiguration)\n- [`getConfiguration`](#getconfiguration)\n- [`patchMetadata`](#patchmetadata)\n- [`deleteConfiguration`](#deleteconfiguration)\n- [`createBundleUploadUrl`](#createbundleuploadurl)\n- [`createZipUploadUrl`](#createzipuploadurl)\n- [`createLogoUploadUrl`](#createlogouploadurl)\n- [`deleteLogo`](#deletelogo)\n- [`listVersions`](#listversions)\n- [`getVersion`](#getversion)\n- [`deleteVersion`](#deleteversion)\n- [`patchVersion`](#patchversion)\n- [`getReview`](#getreview)\n- [`createReview`](#createreview)\n- [`createComponent`](#createcomponent)\n- [`patchComponent`](#patchcomponent)\n- [`deleteComponent`](#deletecomponent)\n- [`cloneVersion`](#cloneversion)\n\n**App Analytics**\n- [`queryEvents`](#queryevents)\n- [`ingestEvent`](#ingestevent)\n\n**Schemas**\n- [`Role`](#role)\n- [`Options`](#options)\n- [`Option`](#option)\n- [`OptionsRef`](#optionsref)\n- [`S3Reference`](#s3reference)\n- [`ComponentType`](#componenttype)\n- [`Author`](#author)\n- [`NotificationConfig`](#notificationconfig)\n- [`NotificationEvent`](#notificationevent)\n- [`BaseComponentCommon`](#basecomponentcommon)\n- [`BaseComponent`](#basecomponent)\n- [`CustomCapabilityComponent`](#customcapabilitycomponent)\n- [`CustomPageComponent`](#custompagecomponent)\n- [`CustomPageConfig`](#custompageconfig)\n- [`JourneyBlockComponent`](#journeyblockcomponent)\n- [`PortalBlockComponent`](#portalblockcomponent)\n- [`ErpInformToolkitComponent`](#erpinformtoolkitcomponent)\n- [`CustomFlowActionComponent`](#customflowactioncomponent)\n- [`BaseCustomActionConfig`](#basecustomactionconfig)\n- [`ExternalIntegrationCustomActionConfig`](#externalintegrationcustomactionconfig)\n- [`SandboxCustomActionConfig`](#sandboxcustomactionconfig)\n- [`CustomFlowConfig`](#customflowconfig)\n- [`ExternalProductCatalogComponent`](#externalproductcatalogcomponent)\n- [`ExternalProductCatalogConfig`](#externalproductcatalogconfig)\n- [`ExternalProductCatalogHookProducts`](#externalproductcataloghookproducts)\n- [`ExternalProductCatalogHookProductRecommendations`](#externalproductcataloghookproductrecommendations)\n- [`PortalExtensionComponent`](#portalextensioncomponent)\n- [`PortalExtensionConfig`](#portalextensionconfig)\n- [`PortalExtensionHookRegistrationIdentifiersCheck`](#portalextensionhookregistrationidentifierscheck)\n- [`PortalExtensionHookContractIdentification`](#portalextensionhookcontractidentification)\n- [`PortalExtensionHookMeterReadingPlausibilityCheck`](#portalextensionhookmeterreadingplausibilitycheck)\n- [`PortalExtensionHookPriceDataRetrieval`](#portalextensionhookpricedataretrieval)\n- [`PortalExtensionHookConsumptionDataRetrieval`](#portalextensionhookconsumptiondataretrieval)\n- [`PortalExtensionHookCostDataRetrieval`](#portalextensionhookcostdataretrieval)\n- [`PortalExtensionSeamlessLink`](#portalextensionseamlesslink)\n- [`PortalExtensionAuthBlock`](#portalextensionauthblock)\n- [`PortalExtensionSecureProxy`](#portalextensionsecureproxy)\n- [`ExternalProductCatalogAuthBlock`](#externalproductcatalogauthblock)\n- [`OverrideDevMode`](#overridedevmode)\n- [`JourneyBlockConfig`](#journeyblockconfig)\n- [`PortalBlockConfig`](#portalblockconfig)\n- [`AppBridgeSurfaceConfig`](#appbridgesurfaceconfig)\n- [`PortalBlockSurfaceConfig`](#portalblocksurfaceconfig)\n- [`JourneyBlockComponentArgs`](#journeyblockcomponentargs)\n- [`TextArg`](#textarg)\n- [`BooleanArg`](#booleanarg)\n- [`EnumArg`](#enumarg)\n- [`BillingFrequency`](#billingfrequency)\n- [`Pricing`](#pricing)\n- [`Audit`](#audit)\n- [`Review`](#review)\n- [`ConfigurationMetadata`](#configurationmetadata)\n- [`ConfigurationVersion`](#configurationversion)\n- [`Grants`](#grants)\n- [`BlueprintRef`](#blueprintref)\n- [`Installation`](#installation)\n- [`PublicConfiguration`](#publicconfiguration)\n- [`Configuration`](#configuration)\n- [`TranslatedString`](#translatedstring)\n- [`CallerIdentity`](#calleridentity)\n- [`BatchEventRequest`](#batcheventrequest)\n- [`Actor`](#actor)\n- [`AppEventData`](#appeventdata)\n- [`EventsQuery`](#eventsquery)\n- [`EventsQueryResponse`](#eventsqueryresponse)\n- [`RawEvents`](#rawevents)\n- [`AggregatedEvents`](#aggregatedevents)\n\n### `getPublicFacingComponent`\n\nRetrieve public facing components for an installed app\n\n`GET /v1/public/app/{appId}/components/{componentId}`\n\n```ts\nconst { data } = await client.getPublicFacingComponent({\n appId: \'example\',\n componentId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "component": {\n "component_type": "CUSTOM_JOURNEY_BLOCK",\n "configuration": {\n "override_dev_mode": {\n "override_url": "http://localhost:3000"\n },\n "component_url": "https://cdn.apps.com/123/v1.0.0/bundle.js",\n "component_tag": "string",\n "component_args": [\n {\n "type": "text"\n }\n ],\n "component_size": 0,\n "component_mapping": {}\n }\n }\n}\n```\n\n</details>\n\n---\n\n### `listConfigurations`\n\nList all app configuration metadata owned by an organization. To get full app configuration details, use the /v1/app-configurations/{appId} endpoint.\n\n`GET /v1/app-configurations`\n\n```ts\nconst { data } = await client.listConfigurations({\n page: 1,\n pageSize: 1,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "configurations": [\n {\n "app_id": "string",\n "name": "string",\n "author": {\n "name": "string",\n "company": "string",\n "email": "string"\n },\n "dev_mode": true,\n "versions": ["string"],\n "public_versions": ["string"],\n "support_email": "string",\n "latest_version": "string",\n "category": "string",\n "icon_url": "string",\n "documentation_url": "string",\n "description": {\n "en": "string",\n "de": "string"\n },\n "notifications": {\n "email": "developer@example.com",\n "events": ["app.installed"]\n },\n "owner_org_id": "string",\n "internal": false,\n "pricing": {\n "pricing_type": "FREE",\n "billing_frequency": "MONTHLY"\n },\n "configuration_audit": {\n "created_at": "string",\n "created_by": "string",\n "updated_at": "string",\n "updated_by": "string"\n }\n }\n ],\n "pagination": {\n "total": 0,\n "page": 0,\n "pageSize": 0\n }\n}\n```\n\n</details>\n\n---\n\n### `createConfiguration`\n\nCreate a new private app configuration. To make it public a verification process needs to be triggered\n\n`POST /v1/app-configurations`\n\n```ts\nconst { data } = await client.createConfiguration(\n null,\n {\n name: \'string\',\n description: {\n en: \'string\',\n de: \'string\'\n },\n category: \'string\',\n logo_url_key: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "app_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `listPublicConfigurations`\n\nList all publicly available app configurations that can be installed. This endpoint returns apps that have at least one public version.\n\n`GET /v1/app-configurations/public`\n\n```ts\nconst { data } = await client.listPublicConfigurations({\n page: 1,\n pageSize: 1,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "configurations": [\n {\n "app_id": "string",\n "name": "string",\n "author": {\n "name": "string",\n "company": "string",\n "email": "string"\n },\n "dev_mode": true,\n "versions": ["string"],\n "public_versions": ["string"],\n "support_email": "string",\n "latest_version": "string",\n "category": "string",\n "icon_url": "string",\n "documentation_url": "string",\n "description": {\n "en": "string",\n "de": "string"\n },\n "notifications": {\n "email": "developer@example.com",\n "events": ["app.installed"]\n },\n "owner_org_id": "string",\n "internal": false,\n "pricing": {\n "pricing_type": "FREE",\n "billing_frequency": "MONTHLY"\n },\n "configuration_audit": {\n "created_at": "string",\n "created_by": "string",\n "updated_at": "string",\n "updated_by": "string"\n }\n }\n ],\n "pagination": {\n "total": 0,\n "page": 0,\n "pageSize": 0\n }\n}\n```\n\n</details>\n\n---\n\n### `getPublicConfiguration`\n\nRetrieve the public configuration of an app to install in your tenant\n\n`GET /v1/app-configurations/public/{appId}`\n\n```ts\nconst { data } = await client.getPublicConfiguration({\n appId: \'example\',\n version: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "app_id": "string",\n "support_email": "string",\n "owner_org_id": "string",\n "name": "string",\n "author": {\n "name": "string",\n "company": "string",\n "email": "string"\n },\n "dev_mode": true,\n "category": "string",\n "icon_url": "string",\n "documentation_url": "string",\n "description": {\n "en": "string",\n "de": "string"\n },\n "pricing": {\n "pricing_type": "FREE",\n "billing_frequency": "MONTHLY"\n },\n "components": [\n {\n "component_type": "CUSTOM_JOURNEY_BLOCK",\n "configuration": {}\n }\n ],\n "is_beta": true,\n "deprecated_at": "string",\n "version": "string",\n "role": {\n "id": "string",\n "grants": [\n {}\n ]\n },\n "blueprint_ref": {\n "manifest_id": "string",\n "job_id": "string"\n },\n "latest_version": "string",\n "public": true,\n "versions": [\n {\n "app_id": "string",\n "owner_org_id": "string",\n "components": [],\n "visibility": "private",\n "public": false,\n "pending": false,\n "version": "string",\n "is_beta": true,\n "deprecated_at": "string",\n "changelog": "string",\n "review_status": "approved",\n "role": {},\n "blueprint_ref": {},\n "version_audit": {}\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getConfiguration`\n\nRetrieve a specific app configuration\n\n`GET /v1/app-configurations/{appId}`\n\n```ts\nconst { data } = await client.getConfiguration({\n appId: \'example\',\n version: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "app_id": "string",\n "name": "string",\n "author": {\n "name": "string",\n "company": "string",\n "email": "string"\n },\n "dev_mode": true,\n "versions": ["string"],\n "public_versions": ["string"],\n "support_email": "string",\n "latest_version": "string",\n "category": "string",\n "icon_url": "string",\n "documentation_url": "string",\n "description": {\n "en": "string",\n "de": "string"\n },\n "notifications": {\n "email": "developer@example.com",\n "events": ["app.installed"]\n },\n "owner_org_id": "string",\n "internal": false,\n "pricing": {\n "pricing_type": "FREE",\n "billing_frequency": "MONTHLY"\n },\n "configuration_audit": {\n "created_at": "string",\n "created_by": "string",\n "updated_at": "string",\n "updated_by": "string"\n },\n "components": [\n {\n "component_type": "CUSTOM_JOURNEY_BLOCK",\n "configuration": {\n "override_dev_mode": {\n "override_url": "http://localhost:3000"\n },\n "component_url": "https://cdn.apps.com/123/v1.0.0/bundle.js",\n "component_tag": "string",\n "component_args": [\n {\n "type": "text"\n }\n ],\n "component_size": 0,\n "component_mapping": {}\n }\n }\n ],\n "visibility": "private",\n "public": false,\n "pending": false,\n "version": "string",\n "is_beta": true,\n "deprecated_at": "string",\n "changelog": "string",\n "review_status": "approved",\n "role": {\n "id": "string",\n "grants": [\n {\n "action": "string",\n "resource": "string"\n }\n ]\n },\n "blueprint_ref": {\n "manifest_id": "string",\n "job_id": "string"\n },\n "version_audit": {\n "created_at": "string",\n "created_by": "string",\n "updated_at": "string",\n "updated_by": "string",\n "versioned_at": "string",\n "versioned_by": "string"\n }\n}\n```\n\n</details>\n\n---\n\n### `patchMetadata`\n\nPatch non-versioned configuration metadata of a given app configuration.\n\n`PATCH /v1/app-configurations/{appId}`\n\n```ts\nconst { data } = await client.patchMetadata(\n {\n appId: \'example\',\n },\n {\n name: \'string\',\n description: {\n en: \'string\',\n de: \'string\'\n },\n category: \'string\',\n documentation_url: \'string\',\n notifications: {\n email: \'developer@example.com\',\n events: [\'app.installed\']\n },\n pricing: {\n pricing_type: \'FREE\',\n billing_frequency: \'MONTHLY\'\n },\n logo_url_key: \'string\',\n support_email: \'string\',\n dev_mode: true\n },\n)\n```\n\n---\n\n### `deleteConfiguration`\n\nDelete app configuration\n\n`DELETE /v1/app-configurations/{appId}`\n\n```ts\nconst { data } = await client.deleteConfiguration({\n appId: \'example\',\n})\n```\n\n---\n\n### `queryEvents`\n\nQuery analytics events for a specific app with flexible filtering\n\n`POST /v1/app-configurations/{appId}/events`\n\n```ts\nconst { data } = await client.queryEvents(\n {\n appId: \'example\',\n },\n {\n time_range: {\n start: \'1970-01-01T00:00:00.000Z\',\n end: \'1970-01-01T00:00:00.000Z\',\n preset: \'1h\'\n },\n filters: {\n source: [\'CUSTOM_JOURNEY_BLOCK\'],\n component_id: [\'string\'],\n event_type: [\'ERROR\'],\n correlation_id: \'string\'\n },\n aggregation: {\n group_by: [\'source\'],\n metrics: [\'count\']\n },\n pagination: {\n page: 1,\n page_size: 100\n },\n sort: {\n field: \'timestamp\',\n order: \'desc\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "query": {\n "time_range": {\n "start": "1970-01-01T00:00:00.000Z",\n "end": "1970-01-01T00:00:00.000Z",\n "preset": "1h"\n },\n "filters": {\n "source": ["CUSTOM_JOURNEY_BLOCK"],\n "component_id": ["string"],\n "event_type": ["ERROR"],\n "correlation_id": "string"\n },\n "aggregation": {\n "group_by": ["source"],\n "metrics": ["count"]\n },\n "pagination": {\n "page": 1,\n "page_size": 100\n },\n "sort": {\n "field": "timestamp",\n "order": "desc"\n }\n },\n "results": {\n "type": "raw",\n "events": [\n {\n "app_id": "string",\n "version": "string",\n "event_id": "string",\n "component_id": "string",\n "timestamp": "string",\n "correlation_id": "string",\n "event_type": "ERROR",\n "source": "CUSTOM_JOURNEY_BLOCK",\n "actor": {\n "org_id": "string",\n "user_id": "string",\n "type": "user"\n },\n "details": {}\n }\n ]\n },\n "pagination": {\n "page": 0,\n "page_size": 0,\n "total_items": 0,\n "has_next": true\n }\n}\n```\n\n</details>\n\n---\n\n### `createBundleUploadUrl`\n\nGenerate a presigned URL for uploading app bundle to /``<app-id>``/bundle.js path\n\n`POST /v1/app-configurations/{appId}/bundle`\n\n```ts\nconst { data } = await client.createBundleUploadUrl(\n {\n appId: \'example\',\n },\n {\n version: \'string\',\n component_id: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "component_id": "string",\n "component_url": "string",\n "upload_url": "string",\n "s3ref": {\n "bucket": "my-bucket",\n "key": "manifest.json"\n },\n "expires_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `createZipUploadUrl`\n\nGenerate a presigned URL to upload a zip file with artifacts that will be unpacked in a new directory under the /``<app-id>``/ path\n\n`POST /v1/app-configurations/{appId}/zip`\n\n```ts\nconst { data } = await client.createZipUploadUrl(\n {\n appId: \'example\',\n },\n {\n version: \'1.0.0\',\n component_id: \'string\',\n filename: \'dist.zip\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "component_id": "string",\n "upload_url": "string",\n "artifact_url": "string",\n "s3ref": {\n "bucket": "my-bucket",\n "key": "manifest.json"\n },\n "expires_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `createLogoUploadUrl`\n\nGenerate a presigned URL for uploading app logo to /``<app-id>``/logo.png path\n\n`POST /v1/app-configurations/{appId}/logo`\n\n```ts\nconst { data } = await client.createLogoUploadUrl(\n {\n appId: \'example\',\n },\n {\n filename: \'company-logo.png\',\n mime_type: \'image/png\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "upload_url": "string",\n "s3ref": {\n "bucket": "my-bucket",\n "key": "manifest.json"\n },\n "expires_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteLogo`\n\nDelete the app logo from /``<app-id>``/logo.png path\n\n`DELETE /v1/app-configurations/{appId}/logo`\n\n```ts\nconst { data } = await client.deleteLogo({\n appId: \'example\',\n})\n```\n\n---\n\n### `listVersions`\n\nRetrieve a list of versions for an app configuration\n\n`GET /v1/app-configurations/{appId}/versions`\n\n```ts\nconst { data } = await client.listVersions({\n appId: \'example\',\n page: 1,\n pageSize: 1,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "versions": [\n {\n "app_id": "string",\n "owner_org_id": "string",\n "components": [\n {\n "component_type": "CUSTOM_JOURNEY_BLOCK",\n "configuration": {\n "override_dev_mode": {\n "override_url": "http://localhost:3000"\n },\n "component_url": "https://cdn.apps.com/123/v1.0.0/bundle.js",\n "component_tag": "string",\n "component_args": [\n {\n "type": "text"\n }\n ],\n "component_size": 0,\n "component_mapping": {}\n }\n }\n ],\n "visibility": "private",\n "public": false,\n "pending": false,\n "version": "string",\n "is_beta": true,\n "deprecated_at": "string",\n "changelog": "string",\n "review_status": "approved",\n "role": {\n "id": "string",\n "grants": [\n {\n "action": "string",\n "resource": "string"\n }\n ]\n },\n "blueprint_ref": {\n "manifest_id": "string",\n "job_id": "string"\n },\n "version_audit": {\n "created_at": "string",\n "created_by": "string",\n "updated_at": "string",\n "updated_by": "string",\n "versioned_at": "string",\n "versioned_by": "string"\n }\n }\n ],\n "pagination": {\n "total": 0,\n "page": 0,\n "pageSize": 0\n }\n}\n```\n\n</details>\n\n---\n\n### `getVersion`\n\nRetrieve a specific version of an app configuration\n\n`GET /v1/app-configurations/{appId}/versions/{version}`\n\n```ts\nconst { data } = await client.getVersion({\n appId: \'example\',\n version: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "app_id": "string",\n "name": "string",\n "author": {\n "name": "string",\n "company": "string",\n "email": "string"\n },\n "dev_mode": true,\n "versions": ["string"],\n "public_versions": ["string"],\n "support_email": "string",\n "latest_version": "string",\n "category": "string",\n "icon_url": "string",\n "documentation_url": "string",\n "description": {\n "en": "string",\n "de": "string"\n },\n "notifications": {\n "email": "developer@example.com",\n "events": ["app.installed"]\n },\n "owner_org_id": "string",\n "internal": false,\n "pricing": {\n "pricing_type": "FREE",\n "billing_frequency": "MONTHLY"\n },\n "configuration_audit": {\n "created_at": "string",\n "created_by": "string",\n "updated_at": "string",\n "updated_by": "string"\n },\n "components": [\n {\n "component_type": "CUSTOM_JOURNEY_BLOCK",\n "configuration": {\n "override_dev_mode": {\n "override_url": "http://localhost:3000"\n },\n "component_url": "https://cdn.apps.com/123/v1.0.0/bundle.js",\n "component_tag": "string",\n "component_args": [\n {\n "type": "text"\n }\n ],\n "component_size": 0,\n "component_mapping": {}\n }\n }\n ],\n "visibility": "private",\n "public": false,\n "pending": false,\n "version": "string",\n "is_beta": true,\n "deprecated_at": "string",\n "changelog": "string",\n "review_status": "approved",\n "role": {\n "id": "string",\n "grants": [\n {\n "action": "string",\n "resource": "string"\n }\n ]\n },\n "blueprint_ref": {\n "manifest_id": "string",\n "job_id": "string"\n },\n "version_audit": {\n "created_at": "string",\n "created_by": "string",\n "updated_at": "string",\n "updated_by": "string",\n "versioned_at": "string",\n "versioned_by": "string"\n }\n}\n```\n\n</details>\n\n---\n\n### `deleteVersion`\n\nDelete a specific version of an app configuration\n\n`DELETE /v1/app-configurations/{appId}/versions/{version}`\n\n```ts\nconst { data } = await client.deleteVersion({\n appId: \'example\',\n version: \'example\',\n})\n```\n\n---\n\n### `patchVersion`\n\nPatch an existing app version\n\n`PATCH /v1/app-configurations/{appId}/versions/{version}`\n\n```ts\nconst { data } = await client.patchVersion(\n {\n appId: \'example\',\n version: \'example\',\n },\n {\n manifest_id: \'string\',\n role_id: \'string\',\n grants: [\n {\n action: \'string\',\n resource: \'string\'\n }\n ]\n },\n)\n```\n\n---\n\n### `getReview`\n\nRetrieve the review status of a specific app version\n\n`GET /v1/app-configurations/{appId}/versions/{version}/review`\n\n```ts\nconst { data } = await client.getReview({\n appId: \'example\',\n version: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "review": {\n "version": "string",\n "review_status": "approved",\n "requested_at": "string",\n "requested_by": "string",\n "technical_contact": "string",\n "marketing_contact": "string",\n "demo_url": "string"\n }\n}\n```\n\n</details>\n\n---\n\n### `createReview`\n\nSubmit an app version for review to make it public\n\n`POST /v1/app-configurations/{appId}/versions/{version}/review`\n\n```ts\nconst { data } = await client.createReview(\n {\n appId: \'example\',\n version: \'example\',\n },\n {\n technical_contact: \'string\',\n marketing_contact: \'string\',\n demo_url: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "review": {\n "version": "string",\n "review_status": "approved",\n "requested_at": "string",\n "requested_by": "string",\n "technical_contact": "string",\n "marketing_contact": "string",\n "demo_url": "string"\n }\n}\n```\n\n</details>\n\n---\n\n### `createComponent`\n\nPatch an existing app version to create/add a component\n\n`POST /v1/app-configurations/{appId}/versions/{version}/components`\n\n```ts\nconst { data } = await client.createComponent(\n {\n appId: \'example\',\n version: \'example\',\n },\n {\n component_type: \'CUSTOM_JOURNEY_BLOCK\',\n configuration: {\n override_dev_mode: {\n override_url: \'http://localhost:3000\'\n },\n component_url: \'https://cdn.apps.com/123/v1.0.0/bundle.js\',\n component_tag: \'string\',\n component_args: [\n {\n type: \'text\'\n }\n ],\n component_size: 0,\n component_mapping: {}\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "component": {\n "component_type": "CUSTOM_JOURNEY_BLOCK",\n "configuration": {\n "override_dev_mode": {\n "override_url": "http://localhost:3000"\n },\n "component_url": "https://cdn.apps.com/123/v1.0.0/bundle.js",\n "component_tag": "string",\n "component_args": [\n {\n "type": "text"\n }\n ],\n "component_size": 0,\n "component_mapping": {}\n }\n }\n}\n```\n\n</details>\n\n---\n\n### `patchComponent`\n\nPatch an existing app version to update its components\n\n`PATCH /v1/app-configurations/{appId}/versions/{version}/components/{componentId}`\n\n```ts\nconst { data } = await client.patchComponent(\n {\n appId: \'example\',\n version: \'example\',\n componentId: \'example\',\n },\n {\n component_type: \'CUSTOM_JOURNEY_BLOCK\',\n configuration: {\n override_dev_mode: {\n override_url: \'http://localhost:3000\'\n },\n component_url: \'https://cdn.apps.com/123/v1.0.0/bundle.js\',\n component_tag: \'string\',\n component_args: [\n {\n type: \'text\'\n }\n ],\n component_size: 0,\n component_mapping: {}\n }\n },\n)\n```\n\n---\n\n### `deleteComponent`\n\nDelete a specific component from an app version\n\n`DELETE /v1/app-configurations/{appId}/versions/{version}/components/{componentId}`\n\n```ts\nconst { data } = await client.deleteComponent({\n appId: \'example\',\n version: \'example\',\n componentId: \'example\',\n})\n```\n\n---\n\n### `cloneVersion`\n\nClone an existing app version to create a new version\n\n`POST /v1/app-configurations/{appId}/versions/{sourceVersion}/clone-to/{targetVersion}`\n\n```ts\nconst { data } = await client.cloneVersion({\n appId: \'example\',\n sourceVersion: \'example\',\n targetVersion: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "app_id": "string",\n "version": "string",\n "status": "pending"\n}\n```\n\n</details>\n\n---\n\n### `listInstallations`\n\nRetrieve a list of installed apps for the organization.\n\n`GET /v1/app`\n\n```ts\nconst { data } = await client.listInstallations({\n componentType: \'example\',\n enabled: true,\n page: 1,\n pageSize: 1,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "apps": [\n {\n "app_id": "string",\n "installer_org_id": "string",\n "owner_org_id": "string",\n "enabled": true,\n "name": "string",\n "option_values": [\n {\n "component_id": "string",\n "options": [\n {\n "key": "string",\n "value": {}\n }\n ]\n }\n ],\n "components": [\n {\n "component_type": "CUSTOM_JOURNEY_BLOCK",\n "configuration": {\n "override_dev_mode": {\n "override_url": "http://localhost:3000"\n },\n "component_url": "https://cdn.apps.com/123/v1.0.0/bundle.js",\n "component_tag": "string",\n "component_args": [\n {\n "type": "text"\n }\n ],\n "component_size": 0,\n "component_mapping": {}\n }\n }\n ],\n "installed_version": "string",\n "role": "string",\n "blueprint_ref": {\n "manifest_id": "string",\n "job_id": "string"\n },\n "installation_audit": {\n "created_at": "string",\n "created_by": "string",\n "updated_at": "string",\n "updated_by": "string"\n },\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"]\n }\n ],\n "pagination": {\n "total": 0,\n "page": 0,\n "pageSize": 0\n }\n}\n```\n\n</details>\n\n---\n\n### `getInstallation`\n\nRetrieve details of an installed app by its ID.\n\n`GET /v1/app/{appId}`\n\n```ts\nconst { data } = await client.getInstallation({\n appId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "app_id": "string",\n "installer_org_id": "string",\n "owner_org_id": "string",\n "enabled": true,\n "name": "string",\n "option_values": [\n {\n "component_id": "string",\n "options": [\n {\n "key": "string",\n "value": {}\n }\n ]\n }\n ],\n "components": [\n {\n "component_type": "CUSTOM_JOURNEY_BLOCK",\n "configuration": {\n "override_dev_mode": {\n "override_url": "http://localhost:3000"\n },\n "component_url": "https://cdn.apps.com/123/v1.0.0/bundle.js",\n "component_tag": "string",\n "component_args": [\n {\n "type": "text"\n }\n ],\n "component_size": 0,\n "component_mapping": {}\n }\n }\n ],\n "installed_version": "string",\n "role": "string",\n "blueprint_ref": {\n "manifest_id": "string",\n "job_id": "string"\n },\n "installation_audit": {\n "created_at": "string",\n "created_by": "string",\n "updated_at": "string",\n "updated_by": "string"\n },\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"]\n}\n```\n\n</details>\n\n---\n\n### `install`\n\nUpsert app installation by its ID.\n\n`POST /v1/app/{appId}`\n\n```ts\nconst { data } = await client.install(\n {\n appId: \'example\',\n },\n {\n version: \'string\',\n option_values: [\n {\n component_id: \'string\',\n options: [\n {\n key: \'string\',\n value: {}\n }\n ]\n }\n ],\n _manifest: [\'123e4567-e89b-12d3-a456-426614174000\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "app_id": "string",\n "installer_org_id": "string",\n "owner_org_id": "string",\n "enabled": true,\n "name": "string",\n "option_values": [\n {\n "component_id": "string",\n "options": [\n {\n "key": "string",\n "value": {}\n }\n ]\n }\n ],\n "components": [\n {\n "component_type": "CUSTOM_JOURNEY_BLOCK",\n "configuration": {\n "override_dev_mode": {\n "override_url": "http://localhost:3000"\n },\n "component_url": "https://cdn.apps.com/123/v1.0.0/bundle.js",\n "component_tag": "string",\n "component_args": [\n {\n "type": "text"\n }\n ],\n "component_size": 0,\n "component_mapping": {}\n }\n }\n ],\n "installed_version": "string",\n "role": "string",\n "blueprint_ref": {\n "manifest_id": "string",\n "job_id": "string"\n },\n "installation_audit": {\n "created_at": "string",\n "created_by": "string",\n "updated_at": "string",\n "updated_by": "string"\n },\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"]\n}\n```\n\n</details>\n\n---\n\n### `patchInstallation`\n\nPatch an installed app by its ID.\n\n`PATCH /v1/app/{appId}`\n\n```ts\nconst { data } = await client.patchInstallation(\n {\n appId: \'example\',\n },\n {\n version: \'string\',\n option_values: [\n {\n component_id: \'string\',\n options: [\n {\n key: \'string\',\n value: {}\n }\n ]\n }\n ],\n _manifest: [\'123e4567-e89b-12d3-a456-426614174000\']\n },\n)\n```\n\n---\n\n### `uninstall`\n\nUninstall an app by its ID.\n\n`DELETE /v1/app/{appId}`\n\n```ts\nconst { data } = await client.uninstall({\n appId: \'example\',\n})\n```\n\n---\n\n### `promoteVersion`\n\nUpdate an installed app to a new version\n\n`POST /v1/app/{appId}/promote-to/{version}`\n\n```ts\nconst { data } = await client.promoteVersion({\n appId: \'example\',\n version: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "app_id": "string",\n "installer_org_id": "string",\n "owner_org_id": "string",\n "enabled": true,\n "name": "string",\n "option_values": [\n {\n "component_id": "string",\n "options": [\n {\n "key": "string",\n "value": {}\n }\n ]\n }\n ],\n "components": [\n {\n "component_type": "CUSTOM_JOURNEY_BLOCK",\n "configuration": {\n "override_dev_mode": {\n "override_url": "http://localhost:3000"\n },\n "component_url": "https://cdn.apps.com/123/v1.0.0/bundle.js",\n "component_tag": "string",\n "component_args": [\n {\n "type": "text"\n }\n ],\n "component_size": 0,\n "component_mapping": {}\n }\n }\n ],\n "installed_version": "string",\n "role": "string",\n "blueprint_ref": {\n "manifest_id": "string",\n "job_id": "string"\n },\n "installation_audit": {\n "created_at": "string",\n "created_by": "string",\n "updated_at": "string",\n "updated_by": "string"\n },\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"]\n}\n```\n\n</details>\n\n---\n\n### `ingestEvent`\n\nInternal endpoint for services to submit app events for analytic purposes\n\n`POST /v1/app-events`\n\n```ts\nconst { data } = await client.ingestEvent(\n null,\n {\n app_id: \'string\',\n version: \'string\',\n event_id: \'string\',\n component_id: \'string\',\n timestamp: \'string\',\n correlation_id: \'string\',\n event_type: \'ERROR\',\n source: \'CUSTOM_JOURNEY_BLOCK\',\n actor: {\n org_id: \'string\',\n user_id: \'string\',\n type: \'user\'\n },\n details: {}\n },\n)\n```\n\n---\n\n## Schemas\n\n### `Role`\n\n```ts\ntype Role = {\n id?: string\n grants?: Array<{\n action: string\n resource?: string\n }>\n}\n```\n\n### `Options`\n\nOptions for the component configuration\n\n```ts\ntype Options = {\n key: string\n label?: string\n required?: boolean\n description?: string\n value?: unknown\n type: "text" | "number" | "boolean" | "secret"\n}\n```\n\n### `Option`\n\n```ts\ntype Option = {\n key: string\n value: unknown\n}\n```\n\n### `OptionsRef`\n\n```ts\ntype OptionsRef = {\n component_id: string\n options: Array<{\n key: string\n value: unknown\n }>\n}\n```\n\n### `S3Reference`\n\n```ts\ntype S3Reference = {\n bucket: string\n key: string\n}\n```\n\n### `ComponentType`\n\nType of app component\n\n```ts\ntype ComponentType = "CUSTOM_JOURNEY_BLOCK" | "CUSTOM_PORTAL_BLOCK" | "PORTAL_EXTENSION" | "CUSTOM_FLOW_ACTION" | "ERP_INFORM_TOOLKIT" | "CUSTOM_CAPABILITY" | "EXTERNAL_PRODUCT_CATALOG" | "CUSTOM_PAGE"\n```\n\n### `Author`\n\n```ts\ntype Author = {\n name?: string\n company: string\n email?: string\n}\n```\n\n### `NotificationConfig`\n\n```ts\ntype NotificationConfig = {\n email?: string // email\n events?: "app.installed" | "app.uninstalled"[]\n}\n```\n\n### `NotificationEvent`\n\n```ts\ntype NotificationEvent = "app.installed" | "app.uninstalled"\n```\n\n### `BaseComponentCommon`\n\n```ts\ntype BaseComponentCommon = {\n id: string\n name?: {\n en?: string\n de: string\n }\n description?: {\n en?: string\n de: string\n }\n options?: Array<{\n key: string\n label?: string\n required?: boolean\n description?: string\n value?: unknown\n type: "text" | "number" | "boolean" | "secret"\n }>\n surfaces?: object\n}\n```\n\n### `BaseComponent`\n\n```ts\ntype BaseComponent = {\n id: string\n name?: {\n en?: string\n de: string\n }\n description?: {\n en?: string\n de: string\n }\n options?: Array<{\n key: string\n label?: string\n required?: boolean\n description?: string\n value?: unknown\n type: "text" | "number" | "boolean" | "secret"\n }>\n surfaces?: object\n}\n```\n\n### `CustomCapabilityComponent`\n\n```ts\ntype CustomCapabilityComponent = {\n component_type: "CUSTOM_CAPABILITY"\n configuration: {\n type?: "tab" | "group"\n allowed_schemas?: string[]\n }\n surfaces?: {\n capability_config?: {\n app_url?: { ... }\n zip_url?: { ... }\n override_url?: { ... }\n }\n }\n}\n```\n\n### `CustomPageComponent`\n\n```ts\ntype CustomPageComponent = {\n component_type: "CUSTOM_PAGE"\n configuration: {\n slug: string\n nav_label?: string\n nav_icon?: string\n nav_description?: string\n }\n surfaces?: {\n page?: {\n app_url?: { ... }\n zip_url?: { ... }\n override_url?: { ... }\n }\n }\n}\n```\n\n### `CustomPageConfig`\n\n```ts\ntype CustomPageConfig = {\n slug: string\n nav_label?: string\n nav_icon?: string\n nav_description?: string\n}\n```\n\n### `JourneyBlockComponent`\n\n```ts\ntype JourneyBlockComponent = {\n component_type: "CUSTOM_JOURNEY_BLOCK"\n configuration: {\n override_dev_mode?: {\n override_url?: { ... }\n }\n component_url: string\n component_tag: string\n component_args?: Array<{\n key: { ... }\n type: { ... }\n required?: { ... }\n description?: { ... }\n label: { ... }\n }>\n component_size?: number\n component_mapping?: Record<string, "string" | "boolean" | "date" | "datetime" | "link" | "number">\n }\n}\n```\n\n### `PortalBlockComponent`\n\n```ts\ntype PortalBlockComponent = {\n component_type: "CUSTOM_PORTAL_BLOCK"\n configuration: object\n surfaces?: {\n portal_block?: {\n app_url?: { ... }\n zip_url?: { ... }\n override_url?: { ... }\n section?: { ... }\n }\n }\n}\n```\n\n### `ErpInformToolkitComponent`\n\n```ts\ntype ErpInformToolkitComponent = {\n component_type: "ERP_INFORM_TOOLKIT"\n configuration: {\n type: "inbound" | "outbound"\n }\n}\n```\n\n### `CustomFlowActionComponent`\n\n```ts\ntype CustomFlowActionComponent = {\n component_type: "CUSTOM_FLOW_ACTION"\n configuration: {\n name?: string\n description?: string\n wait_for_callback?: boolean\n type: "external_integration"\n external_integration_settings?: {\n url?: { ... }\n headers?: { ... }\n }\n } | {\n name?: string\n description?: string\n wait_for_callback?: boolean\n type: "sandbox"\n sandbox_settings?: {\n code?: { ... }\n }\n }\n surfaces?: {\n flow_action_config?: {\n app_url?: { ... }\n zip_url?: { ... }\n override_url?: { ... }\n }\n }\n}\n```\n\n### `BaseCustomActionConfig`\n\n```ts\ntype BaseCustomActionConfig = {\n name?: string\n description?: string\n wait_for_callback?: boolean\n}\n```\n\n### `ExternalIntegrationCustomActionConfig`\n\n```ts\ntype ExternalIntegrationCustomActionConfig = {\n name?: string\n description?: string\n wait_for_callback?: boolean\n type: "external_integration"\n external_integration_settings?: {\n url?: string\n headers?: Record<string, unknown>\n }\n}\n```\n\n### `SandboxCustomActionConfig`\n\n```ts\ntype SandboxCustomActionConfig = {\n name?: string\n description?: string\n wait_for_callback?: boolean\n type: "sandbox"\n sandbox_settings?: {\n code?: string\n }\n}\n```\n\n### `CustomFlowConfig`\n\n```ts\ntype CustomFlowConfig = {\n name?: string\n description?: string\n wait_for_callback?: boolean\n type: "external_integration"\n external_integration_settings?: {\n url?: string\n headers?: Record<string, unknown>\n }\n} | {\n name?: string\n description?: string\n wait_for_callback?: boolean\n type: "sandbox"\n sandbox_settings?: {\n code?: string\n }\n}\n```\n\n### `ExternalProductCatalogComponent`\n\n```ts\ntype ExternalProductCatalogComponent = {\n component_type: "EXTERNAL_PRODUCT_CATALOG"\n configuration: {\n hooks?: Array<{\n id: { ... }\n name?: { ... }\n type: { ... }\n auth?: { ... }\n call: { ... }\n } | {\n id: { ... }\n name?: { ... }\n type: { ... }\n auth?: { ... }\n call: { ... }\n }>\n }\n}\n```\n\n### `ExternalProductCatalogConfig`\n\n```ts\ntype ExternalProductCatalogConfig = {\n hooks?: Array<{\n id: string\n name?: {\n en?: { ... }\n de: { ... }\n }\n type: "products"\n auth?: {\n method?: { ... }\n url: { ... }\n params?: { ... }\n headers?: { ... }\n body?: { ... }\n }\n call: {\n method?: { ... }\n url: { ... }\n params?: { ... }\n headers?: { ... }\n body?: { ... }\n }\n } | {\n id: string\n name?: {\n en?: { ... }\n de: { ... }\n }\n type: "product-recommendations"\n auth?: {\n method?: { ... }\n url: { ... }\n params?: { ... }\n headers?: { ... }\n body?: { ... }\n }\n call: {\n method?: { ... }\n url: { ... }\n params?: { ... }\n headers?: { ... }\n body?: { ... }\n }\n }>\n}\n```\n\n### `ExternalProductCatalogHookProducts`\n\nHook for getting products from an external catalog. This hook makes a call to retrieve product data from an external source. Check the docs or the response API call contract https://docs.api.epilot.io/pricing-api-external-catalog for more details.\n\n\n```ts\ntype ExternalProductCatalogHookProducts = {\n id: string\n name?: {\n en?: string\n de: string\n }\n type: "products"\n auth?: {\n method?: string\n url: string\n params?: Record<string, string>\n headers?: Record<string, string>\n body?: Record<string, unknown>\n }\n call: {\n method?: string\n url: string\n params?: Record<string, string>\n headers?: Record<string, string>\n body?: Record<string, unknown>\n }\n}\n```\n\n### `ExternalProductCatalogHookProductRecommendations`\n\nHook for getting product recommendations from an external catalog. This hook makes a call to retrieve product recommendations from an external source. Check the docs or the response API call contract https://docs.api.epilot.io/pricing-api-external-catalog for more details.\n\n\n```ts\ntype ExternalProductCatalogHookProductRecommendations = {\n id: string\n name?: {\n en?: string\n de: string\n }\n type: "product-recommendations"\n auth?: {\n method?: string\n url: string\n params?: Record<string, string>\n headers?: Record<string, string>\n body?: Record<string, unknown>\n }\n call: {\n method?: string\n url: string\n params?: Record<string, string>\n headers?: Record<string, string>\n body?: Record<string, unknown>\n }\n}\n```\n\n### `PortalExtensionComponent`\n\n```ts\ntype PortalExtensionComponent = {\n component_type: "PORTAL_EXTENSION"\n configuration: {\n hooks?: Array<{\n id: { ... }\n name?: { ... }\n type: { ... }\n auth?: { ... }\n call: { ... }\n use_static_ips?: { ... }\n secure_proxy?: { ... }\n } | {\n id: { ... }\n name?: { ... }\n type: { ... }\n auth?: { ... }\n call: { ... }\n assignment_mode?: { ... }\n contact_relation_attribute?: { ... }\n explanation?: { ... }\n use_static_ips?: { ... }\n secure_proxy?: { ... }\n } | {\n id: { ... }\n name?: { ... }\n type: { ... }\n intervals?: { ... }\n auth?: { ... }\n call: { ... }\n resolved?: { ... }\n use_static_ips?: { ... }\n secure_proxy?: { ... }\n } | {\n id: { ... }\n name?: { ... }\n type: { ... }\n intervals?: { ... }\n auth?: { ... }\n call: { ... }\n resolved?: { ... }\n use_static_ips?: { ... }\n secure_proxy?: { ... }\n } | {\n id: { ... }\n name?: { ... }\n type: { ... }\n intervals?: { ... }\n auth?: { ... }\n call: { ... }\n resolved?: { ... }\n use_static_ips?: { ... }\n secure_proxy?: { ... }\n } | {\n id: { ... }\n name?: { ... }\n type: { ... }\n plausibility_mode?: { ... }\n auth?: { ... }\n call: { ... }\n resolved: { ... }\n use_static_ips?: { ... }\n secure_proxy?: { ... }\n }>\n links?: Array<{\n id: { ... }\n name: { ... }\n description?: { ... }\n type: { ... }\n condition?: { ... }\n auth?: { ... }\n redirect: { ... }\n }>\n }\n}\n```\n\n### `PortalExtensionConfig`\n\n```ts\ntype PortalExtensionConfig = {\n hooks?: Array<{\n id: string\n name?: {\n en?: { ... }\n de: { ... }\n }\n type: "registrationIdentifiersCheck"\n auth?: {\n method?: { ... }\n url: { ... }\n params?: { ... }\n headers?: { ... }\n body?: { ... }\n cache?: { ... }\n }\n call: {\n method?: { ... }\n url: { ... }\n params?: { ... }\n headers: { ... }\n body?: { ... }\n result: { ... }\n }\n use_static_ips?: boolean\n secure_proxy?: {\n integration_id: { ... }\n use_case_slug: { ... }\n }\n } | {\n id: string\n name?: {\n en?: { ... }\n de: { ... }\n }\n type: "contractIdentification"\n auth?: {\n method?: { ... }\n url: { ... }\n params?: { ... }\n headers?: { ... }\n body?: { ... }\n cache?: { ... }\n }\n call: {\n method?: { ... }\n url: { ... }\n params?: { ... }\n headers: { ... }\n body?: { ... }\n result?: { ... }\n }\n assignment_mode?: "contracts" | "contact_to_contracts" | "contact_to_portal_user"\n contact_relation_attribute?: string\n explanation?: {\n en: { ... }\n }\n use_static_ips?: boolean\n secure_proxy?: {\n integration_id: { ... }\n use_case_slug: { ... }\n }\n } | {\n id: string\n name?: {\n en?: { ... }\n de: { ... }\n }\n type: "priceDataRetrieval"\n intervals?: "PT15M" | "PT1H" | "P1D" | "P1M"[]\n auth?: {\n method?: { ... }\n url: { ... }\n params?: { ... }\n headers?: { ... }\n body?: { ... }\n cache?: { ... }\n }\n call: {\n method?: { ... }\n url: { ... }\n params?: { ... }\n headers?: { ... }\n body?: { ... }\n }\n resolved?: {\n dataPath?: { ... }\n }\n use_static_ips?: boolean\n secure_proxy?: {\n integration_id: { ... }\n use_case_slug: { ... }\n }\n } | {\n id: string\n name?: {\n en?: { ... }\n de: { ... }\n }\n type: "consumptionDataRetrieval"\n // ...\n}\n```\n\n### `PortalExtensionHookRegistrationIdentifiersCheck`\n\nHook that replaces the built-in registration identifiers check. This hook makes a POST call whenever a user is trying to register to find the corresponding contact. The expected response to the call is:\n - 200 with contact id if exactly one contact is found\n - 404 if no contact is found or more th\n\n```ts\ntype PortalExtensionHookRegistrationIdentifiersCheck = {\n id: string\n name?: {\n en?: string\n de: string\n }\n type: "registrationIdentifiersCheck"\n auth?: {\n method?: string\n url: string\n params?: Record<string, string>\n headers?: Record<string, string>\n body?: Record<string, unknown>\n cache?: {\n key: { ... }\n ttl: { ... }\n }\n }\n call: {\n method?: string\n url: string\n params?: Record<string, string>\n headers: Record<string, string>\n body?: object\n result: string\n }\n use_static_ips?: boolean\n secure_proxy?: {\n integration_id: string // uuid\n use_case_slug: string\n }\n}\n```\n\n### `PortalExtensionHookContractIdentification`\n\nHook that replaces the built-in Contract identification for self-assignment. This hook involves an HTTP request whenever a user is trying to self-assign Contract(s).\nThe expected response http status code to the call is:\n - 200 if found\n - 404 if not found\n\nThe following assignment modes are suppo\n\n```ts\ntype PortalExtensionHookContractIdentification = {\n id: string\n name?: {\n en?: string\n de: string\n }\n type: "contractIdentification"\n auth?: {\n method?: string\n url: string\n params?: Record<string, string>\n headers?: Record<string, string>\n body?: Record<string, unknown>\n cache?: {\n key: { ... }\n ttl: { ... }\n }\n }\n call: {\n method?: string\n url: string\n params?: Record<string, string>\n headers: Record<string, string>\n body?: object\n result?: string\n }\n assignment_mode?: "contracts" | "contact_to_contracts" | "contact_to_portal_user"\n contact_relation_attribute?: string\n explanation?: {\n en: string\n }\n use_static_ips?: boolean\n secure_proxy?: {\n integration_id: string // uuid\n use_case_slug: string\n }\n}\n```\n\n### `PortalExtensionHookMeterReadingPlausibilityCheck`\n\nHook that checks the plausibility of meter readings before they are saved. This hook makes a POST call whenever a user is trying to save a meter reading. The expected response to the call is:\n - 200:\n If meter reading is plausible, the response should contain:\n - valid: true\n If meter re\n\n```ts\ntype PortalExtensionHookMeterReadingPlausibilityCheck = {\n id: string\n name?: {\n en?: string\n de: string\n }\n type: "meterReadingPlausibilityCheck"\n plausibility_mode?: "check" | "range"\n auth?: {\n method?: string\n url: string\n params?: Record<string, string>\n headers?: Record<string, string>\n body?: Record<string, unknown>\n cache?: {\n key: { ... }\n ttl: { ... }\n }\n }\n call: {\n url: string\n body: Record<string, unknown>\n headers: Record<string, string>\n }\n resolved: {\n dataPath?: string\n counter_identifiers?: Record<string, string>\n valid?: string\n upper_limit?: string\n lower_limit?: string\n }\n use_static_ips?: boolean\n secure_proxy?: {\n integration_id: string // uuid\n use_case_slug: string\n }\n}\n```\n\n### `PortalExtensionHookPriceDataRetrieval`\n\nHook that will allow using the specified source as data for price visualizations. This hook is triggered to fetch the data. Format of the request and response has to follow the following specification: TBD. The expected response to the call is:\n - 200 with the time series data\n\n\n```ts\ntype PortalExtensionHookPriceDataRetrieval = {\n id: string\n name?: {\n en?: string\n de: string\n }\n type: "priceDataRetrieval"\n intervals?: "PT15M" | "PT1H" | "P1D" | "P1M"[]\n auth?: {\n method?: string\n url: string\n params?: Record<string, string>\n headers?: Record<string, string>\n body?: Record<string, unknown>\n cache?: {\n key: { ... }\n ttl: { ... }\n }\n }\n call: {\n method?: string\n url: string\n params?: Record<string, string>\n headers?: Record<string, string>\n body?: Record<string, unknown>\n }\n resolved?: {\n dataPath?: string\n }\n use_static_ips?: boolean\n secure_proxy?: {\n integration_id: string // uuid\n use_case_slug: string\n }\n}\n```\n\n### `PortalExtensionHookConsumptionDataRetrieval`\n\nHook that will allow using the specified source as data for consumption visualizations. This hook is triggered to fetch the data. Format of the request and response has to follow the following specification: TBD. The expected response to the call is:\n - 200 with the time series data\n\n\n```ts\ntype PortalExtensionHookConsumptionDataRetrieval = {\n id: string\n name?: {\n en?: string\n de: string\n }\n type: "consumptionDataRetrieval"\n intervals?: "PT15M" | "PT1H" | "P1D" | "P1M"[]\n auth?: {\n method?: string\n url: string\n params?: Record<string, string>\n headers?: Record<string, string>\n body?: Record<string, unknown>\n cache?: {\n key: { ... }\n ttl: { ... }\n }\n }\n call: {\n method?: string\n url: string\n params?: Record<string, string>\n headers?: Record<string, string>\n body?: Record<string, unknown>\n }\n resolved?: {\n dataPath?: string\n }\n use_static_ips?: boolean\n secure_proxy?: {\n integration_id: string // uuid\n use_case_slug: string\n }\n}\n```\n\n### `PortalExtensionHookCostDataRetrieval`\n\nHook that will allow using the specified source as data for consumption visualizations. This hook is triggered to fetch the data. Format of the request and response has to follow the following specification: TBD. The expected response to the call is:\n - 200 with the time series data\n\n\n```ts\ntype PortalExtensionHookCostDataRetrieval = {\n id: string\n name?: {\n en?: string\n de: string\n }\n type: "costDataRetrieval"\n intervals?: "PT15M" | "PT1H" | "P1D" | "P1M"[]\n auth?: {\n method?: string\n url: string\n params?: Record<string, string>\n headers?: Record<string, string>\n body?: Record<string, unknown>\n cache?: {\n key: { ... }\n ttl: { ... }\n }\n }\n call: {\n method?: string\n url: string\n params?: Record<string, string>\n headers?: Record<string, string>\n body?: Record<string, unknown>\n }\n resolved?: {\n dataPath?: string\n }\n use_static_ips?: boolean\n secure_proxy?: {\n integration_id: string // uuid\n use_case_slug: string\n }\n}\n```\n\n### `PortalExtensionSeamlessLink`\n\n```ts\ntype PortalExtensionSeamlessLink = {\n id: string\n name: {\n en?: string\n de: string\n }\n description?: {\n en?: string\n de: string\n }\n type: "seamless"\n condition?: string\n auth?: {\n method?: string\n url: string\n params?: Record<string, string>\n headers?: Record<string, string>\n body?: Record<string, unknown>\n cache?: {\n key: { ... }\n ttl: { ... }\n }\n }\n redirect: {\n url?: string\n params?: Record<string, string>\n }\n}\n```\n\n### `PortalExtensionAuthBlock`\n\n```ts\ntype PortalExtensionAuthBlock = {\n method?: string\n url: string\n params?: Record<string, string>\n headers?: Record<string, string>\n body?: Record<string, unknown>\n cache?: {\n key: string\n ttl: string\n }\n}\n```\n\n### `PortalExtensionSecureProxy`\n\nIf set, requests are routed through the ERP Integration secure proxy. Mutually exclusive with use_static_ips.\n\n```ts\ntype PortalExtensionSecureProxy = {\n integration_id: string // uuid\n use_case_slug: string\n}\n```\n\n### `ExternalProductCatalogAuthBlock`\n\n```ts\ntype ExternalProductCatalogAuthBlock = {\n method?: string\n url: string\n params?: Record<string, string>\n headers?: Record<string, string>\n body?: Record<string, unknown>\n}\n```\n\n### `OverrideDevMode`\n\nOverride URL when app is in dev mode\n\n```ts\ntype OverrideDevMode = {\n override_url?: string\n}\n```\n\n### `JourneyBlockConfig`\n\n```ts\ntype JourneyBlockConfig = {\n override_dev_mode?: {\n override_url?: string\n }\n component_url: string\n component_tag: string\n component_args?: Array<{\n key: string\n type: "text" | "boolean" | "enum"\n required?: boolean\n description?: {\n en?: { ... }\n de: { ... }\n }\n label: {\n en?: { ... }\n de: { ... }\n }\n }>\n component_size?: number\n component_mapping?: Record<string, "string" | "boolean" | "date" | "datetime" | "link" | "number">\n}\n```\n\n### `PortalBlockConfig`\n\n```ts\ntype PortalBlockConfig = object\n```\n\n### `AppBridgeSurfaceConfig`\n\n```ts\ntype AppBridgeSurfaceConfig = {\n app_url?: string\n zip_url?: string\n override_url?: string\n}\n```\n\n### `PortalBlockSurfaceConfig`\n\n```ts\ntype PortalBlockSurfaceConfig = {\n app_url?: string\n zip_url?: string\n override_url?: string\n section?: "main" | "footer"\n}\n```\n\n### `JourneyBlockComponentArgs`\n\n```ts\ntype JourneyBlockComponentArgs = {\n key: string\n type: "text" | "boolean" | "enum"\n required?: boolean\n description?: {\n en?: string\n de: string\n }\n label: {\n en?: string\n de: string\n }\n}\n```\n\n### `TextArg`\n\n```ts\ntype TextArg = {\n type?: "text"\n}\n```\n\n### `BooleanArg`\n\n```ts\ntype BooleanArg = {\n type?: "boolean"\n}\n```\n\n### `EnumArg`\n\n```ts\ntype EnumArg = {\n type?: "enum"\n isMulti?: boolean\n options: Array<{\n id: string\n label: {\n en?: { ... }\n de: { ... }\n }\n }>\n}\n```\n\n### `BillingFrequency`\n\nHow often the subscription is billed\n\n```ts\ntype BillingFrequency = "MONTHLY" | "QUARTERLY" | "YEARLY" | "CUSTOM"\n```\n\n### `Pricing`\n\n```ts\ntype Pricing = {\n pricing_type?: "FREE" | "SUBSCRIPTION" | "USAGE_BASED" | "ONE_TIME" | "CUSTOM" | "UNKNOWN"\n billing_frequency?: "MONTHLY" | "QUARTERLY" | "YEARLY" | "CUSTOM"\n}\n```\n\n### `Audit`\n\n```ts\ntype Audit = {\n created_at?: string\n created_by?: string\n updated_at?: string\n updated_by?: string\n}\n```\n\n### `Review`\n\n```ts\ntype Review = {\n version?: string\n review_status?: "approved" | "rejected" | "pending"\n requested_at?: string\n requested_by?: string\n technical_contact?: string\n marketing_contact?: string\n demo_url?: string\n}\n```\n\n### `ConfigurationMetadata`\n\nBasic metadata about your app configuration which does not get versioned\n\n```ts\ntype ConfigurationMetadata = {\n app_id: string\n name: string\n author?: {\n name?: string\n company: string\n email?: string\n }\n dev_mode?: boolean\n versions: string[]\n public_versions?: string[]\n support_email?: string\n latest_version: string\n category?: string\n icon_url?: string\n documentation_url?: string\n description: {\n en?: string\n de: string\n }\n notifications?: {\n email?: string // email\n events?: "app.installed" | "app.uninstalled"[]\n }\n owner_org_id: string\n internal?: boolean\n pricing?: {\n pricing_type?: "FREE" | "SUBSCRIPTION" | "USAGE_BASED" | "ONE_TIME" | "CUSTOM" | "UNKNOWN"\n billing_frequency?: "MONTHLY" | "QUARTERLY" | "YEARLY" | "CUSTOM"\n }\n configuration_audit?: {\n created_at?: string\n created_by?: string\n updated_at?: string\n updated_by?: string\n }\n}\n```\n\n### `ConfigurationVersion`\n\nConfiguration data about your app which is versionable\n\n```ts\ntype ConfigurationVersion = {\n app_id: string\n owner_org_id: string\n components: Array<{\n id: string\n name?: {\n en?: { ... }\n de: { ... }\n }\n description?: {\n en?: { ... }\n de: { ... }\n }\n options?: Array<{\n key: { ... }\n label?: { ... }\n required?: { ... }\n description?: { ... }\n value?: { ... }\n type: { ... }\n }>\n surfaces?: object\n }>\n visibility?: "public" | "private"\n public?: boolean\n pending?: boolean\n version: string\n is_beta?: boolean\n deprecated_at?: string\n changelog?: string\n review_status?: "approved" | "rejected" | "pending"\n role?: {\n id?: string\n grants?: Array<{\n action: { ... }\n resource?: { ... }\n }>\n }\n blueprint_ref?: {\n manifest_id?: string\n job_id?: string\n }\n version_audit: {\n created_at?: string\n created_by?: string\n updated_at?: string\n updated_by?: string\n versioned_at?: string\n versioned_by?: string\n }\n}\n```\n\n### `Grants`\n\nRequired grants for the app in order to call APIs for the installing tenant\n\n```ts\ntype Grants = Array<{\n action: string\n resource?: string\n}>\n```\n\n### `BlueprintRef`\n\n```ts\ntype BlueprintRef = {\n manifest_id?: string\n job_id?: string\n}\n```\n\n### `Installation`\n\nInformation about the installed app. Has configuration data of the installed version\n\n```ts\ntype Installation = {\n app_id: string\n installer_org_id: string\n owner_org_id?: string\n enabled: boolean\n name: string\n option_values?: Array<{\n component_id: string\n options: Array<{\n key: { ... }\n value: { ... }\n }>\n }>\n components: Array<{\n id: string\n name?: {\n en?: { ... }\n de: { ... }\n }\n description?: {\n en?: { ... }\n de: { ... }\n }\n options?: Array<{\n key: { ... }\n label?: { ... }\n required?: { ... }\n description?: { ... }\n value?: { ... }\n type: { ... }\n }>\n surfaces?: object\n }>\n installed_version: string\n role?: string\n blueprint_ref?: {\n manifest_id?: string\n job_id?: string\n }\n installation_audit?: {\n created_at?: string\n created_by?: string\n updated_at?: string\n updated_by?: string\n }\n _manifest?: string // uuid[]\n}\n```\n\n### `PublicConfiguration`\n\nPublic configuration of the published app\n\n```ts\ntype PublicConfiguration = {\n app_id: string\n support_email?: string\n owner_org_id: string\n name: string\n author?: {\n name?: string\n company: string\n email?: string\n }\n dev_mode?: boolean\n category?: string\n icon_url?: string\n documentation_url?: string\n description?: {\n en?: string\n de: string\n }\n pricing?: {\n pricing_type?: "FREE" | "SUBSCRIPTION" | "USAGE_BASED" | "ONE_TIME" | "CUSTOM" | "UNKNOWN"\n billing_frequency?: "MONTHLY" | "QUARTERLY" | "YEARLY" | "CUSTOM"\n }\n components: Array<{\n id: string\n name?: {\n en?: { ... }\n de: { ... }\n }\n description?: {\n en?: { ... }\n de: { ... }\n }\n options?: Array<{\n key: { ... }\n label?: { ... }\n required?: { ... }\n description?: { ... }\n value?: { ... }\n type: { ... }\n }>\n surfaces?: object\n }>\n is_beta?: boolean\n deprecated_at?: string\n version: string\n role?: {\n id?: string\n grants?: Array<{\n action: { ... }\n resource?: { ... }\n }>\n }\n blueprint_ref?: {\n manifest_id?: string\n job_id?: string\n }\n latest_version?: string\n public?: boolean\n versions?: Array<{\n app_id: string\n owner_org_id: string\n components: Array<{\n id: { ... }\n name?: { ... }\n description?: { ... }\n options?: { ... }\n surfaces?: { ... }\n }>\n visibility?: "public" | "private"\n public?: boolean\n pending?: boolean\n version: string\n is_beta?: boolean\n deprecated_at?: string\n changelog?: string\n review_status?: "approved" | "rejected" | "pending"\n role?: {\n id?: { ... }\n grants?: { ... }\n }\n blueprint_ref?: {\n manifest_id?: { ... }\n job_id?: { ... }\n }\n version_audit: {\n created_at?: { ... }\n created_by?: { ... }\n updated_at?: { ... }\n updated_by?: { ... }\n versioned_at?: { ... }\n versioned_by?: { ... }\n }\n }>\n}\n```\n\n### `Configuration`\n\nConfiguration of the published app\n\n```ts\ntype Configuration = {\n app_id: string\n name: string\n author?: {\n name?: string\n company: string\n email?: string\n }\n dev_mode?: boolean\n versions: string[]\n public_versions?: string[]\n support_email?: string\n latest_version: string\n category?: string\n icon_url?: string\n documentation_url?: string\n description: {\n en?: string\n de: string\n }\n notifications?: {\n email?: string // email\n events?: "app.installed" | "app.uninstalled"[]\n }\n owner_org_id: string\n internal?: boolean\n pricing?: {\n pricing_type?: "FREE" | "SUBSCRIPTION" | "USAGE_BASED" | "ONE_TIME" | "CUSTOM" | "UNKNOWN"\n billing_frequency?: "MONTHLY" | "QUARTERLY" | "YEARLY" | "CUSTOM"\n }\n configuration_audit?: {\n created_at?: string\n created_by?: string\n updated_at?: string\n updated_by?: string\n }\n components: Array<{\n id: string\n name?: {\n en?: { ... }\n de: { ... }\n }\n description?: {\n en?: { ... }\n de: { ... }\n }\n options?: Array<{\n key: { ... }\n label?: { ... }\n required?: { ... }\n description?: { ... }\n value?: { ... }\n type: { ... }\n }>\n surfaces?: object\n }>\n visibility?: "public" | "private"\n public?: boolean\n pending?: boolean\n version: string\n is_beta?: boolean\n deprecated_at?: string\n changelog?: string\n review_status?: "approved" | "rejected" | "pending"\n role?: {\n id?: string\n grants?: Array<{\n action: { ... }\n resource?: { ... }\n }>\n }\n blueprint_ref?: {\n manifest_id?: string\n job_id?: string\n }\n version_audit: {\n created_at?: string\n created_by?: string\n updated_at?: string\n updated_by?: string\n versioned_at?: string\n versioned_by?: string\n }\n}\n```\n\n### `TranslatedString`\n\n```ts\ntype TranslatedString = {\n en?: string\n de: string\n}\n```\n\n### `CallerIdentity`\n\n```ts\ntype CallerIdentity = {\n name?: unknown\n org_id: string\n user_id?: string\n token_id?: string\n}\n```\n\n### `BatchEventRequest`\n\n```ts\ntype BatchEventRequest = {\n events: Array<{\n app_id: string\n version: string\n event_id?: string\n component_id: string\n timestamp?: string\n correlation_id?: string\n event_type: "ERROR" | "WARNING" | "INFO"\n source: "CUSTOM_JOURNEY_BLOCK" | "CUSTOM_PORTAL_BLOCK" | "PORTAL_EXTENSION" | "CUSTOM_FLOW_ACTION" | "ERP_INFORM_TOOLKIT" | "CUSTOM_CAPABILITY" | "EXTERNAL_PRODUCT_CATALOG" | "CUSTOM_PAGE"\n actor: {\n org_id?: { ... }\n user_id?: { ... }\n type: { ... }\n }\n details?: Record<string, unknown>\n }>\n}\n```\n\n### `Actor`\n\n```ts\ntype Actor = {\n org_id?: string\n user_id?: string\n type: "user" | "system"\n}\n```\n\n### `AppEventData`\n\n```ts\ntype AppEventData = {\n app_id: string\n version: string\n event_id?: string\n component_id: string\n timestamp?: string\n correlation_id?: string\n event_type: "ERROR" | "WARNING" | "INFO"\n source: "CUSTOM_JOURNEY_BLOCK" | "CUSTOM_PORTAL_BLOCK" | "PORTAL_EXTENSION" | "CUSTOM_FLOW_ACTION" | "ERP_INFORM_TOOLKIT" | "CUSTOM_CAPABILITY" | "EXTERNAL_PRODUCT_CATALOG" | "CUSTOM_PAGE"\n actor: {\n org_id?: string\n user_id?: string\n type: "user" | "system"\n }\n details?: Record<string, unknown>\n}\n```\n\n### `EventsQuery`\n\n```ts\ntype EventsQuery = {\n time_range?: {\n start?: string // date-time\n end?: string // date-time\n preset?: "1h" | "6h" | "24h" | "7d" | "30d"\n }\n filters?: {\n source?: "CUSTOM_JOURNEY_BLOCK" | "CUSTOM_PORTAL_BLOCK" | "PORTAL_EXTENSION" | "CUSTOM_FLOW_ACTION" | "ERP_INFORM_TOOLKIT" | "CUSTOM_CAPABILITY" | "EXTERNAL_PRODUCT_CATALOG" | "CUSTOM_PAGE"[]\n component_id?: string[]\n event_type?: "ERROR" | "WARNING" | "INFO"[]\n correlation_id?: string\n }\n aggregation?: {\n group_by?: "source" | "component_id" | "event_type" | "hour" | "day"[]\n metrics?: "count" | "error_rate" | "unique_users"[]\n }\n pagination?: {\n page?: number\n page_size?: number\n }\n sort?: {\n field?: "timestamp" | "event_type" | "component_id"\n order?: "asc" | "desc"\n }\n}\n```\n\n### `EventsQueryResponse`\n\n```ts\ntype EventsQueryResponse = {\n query?: {\n time_range?: {\n start?: { ... }\n end?: { ... }\n preset?: { ... }\n }\n filters?: {\n source?: { ... }\n component_id?: { ... }\n event_type?: { ... }\n correlation_id?: { ... }\n }\n aggregation?: {\n group_by?: { ... }\n metrics?: { ... }\n }\n pagination?: {\n page?: { ... }\n page_size?: { ... }\n }\n sort?: {\n field?: { ... }\n order?: { ... }\n }\n }\n results?: {\n type?: "raw"\n events?: Array<{\n app_id: { ... }\n version: { ... }\n event_id?: { ... }\n component_id: { ... }\n timestamp?: { ... }\n correlation_id?: { ... }\n event_type: { ... }\n source: { ... }\n actor: { ... }\n details?: { ... }\n }>\n } | {\n type?: "aggregated"\n groups?: Array<{\n dimensions?: { ... }\n metrics?: { ... }\n }>\n }\n pagination?: {\n page?: number\n page_size?: number\n total_items?: number\n has_next?: boolean\n }\n}\n```\n\n### `RawEvents`\n\n```ts\ntype RawEvents = {\n type?: "raw"\n events?: Array<{\n app_id: string\n version: string\n event_id?: string\n component_id: string\n timestamp?: string\n correlation_id?: string\n event_type: "ERROR" | "WARNING" | "INFO"\n source: "CUSTOM_JOURNEY_BLOCK" | "CUSTOM_PORTAL_BLOCK" | "PORTAL_EXTENSION" | "CUSTOM_FLOW_ACTION" | "ERP_INFORM_TOOLKIT" | "CUSTOM_CAPABILITY" | "EXTERNAL_PRODUCT_CATALOG" | "CUSTOM_PAGE"\n actor: {\n org_id?: { ... }\n user_id?: { ... }\n type: { ... }\n }\n details?: Record<string, unknown>\n }>\n}\n```\n\n### `AggregatedEvents`\n\n```ts\ntype AggregatedEvents = {\n type?: "aggregated"\n groups?: Array<{\n dimensions?: Record<string, unknown>\n metrics?: {\n count?: { ... }\n error_rate?: { ... }\n }\n }>\n}\n```\n';
5
+ export {
6
+ app_default as default
7
+ };
@@ -0,0 +1,7 @@
1
+ import "./chunk-YPSWSI3M.js";
2
+
3
+ // src/docs/audit-logs.json
4
+ var audit_logs_default = '# Audit Log\n\n- **Base URL:** `https://audit-logs.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/audit-logs](https://docs.epilot.io/api/audit-logs)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.auditLogs.getLogs(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/audit-logs\'\n\nconst auditLogsClient = getClient()\nauthorize(auditLogsClient, () => \'<token>\')\nconst { data } = await auditLogsClient.getLogs(...)\n```\n\n## Operations\n\n**Events**\n- [`getLogs`](#getlogs)\n\n**Audit Log**\n- [`getLogById`](#getlogbyid)\n\n**Schemas**\n- [`SearchOptions`](#searchoptions)\n- [`HttpContext`](#httpcontext)\n- [`Caller`](#caller)\n- [`Event`](#event)\n\n### `getLogs`\n\nRetrieve Audit Log events. Optionally, you can filter them by organization.\n\n`POST /v1/logs`\n\n```ts\nconst { data } = await client.getLogs(\n null,\n {\n limit: 50,\n page: 0,\n timestamp: \'2021-06-01T12:00:00Z\',\n service_name: \'workflows\',\n event_name: \'deleteWorkflow\',\n outcome: \'success\',\n method: \'POST\',\n user: {\n email: \'max.mustermann@mail.com\',\n user_id: 123456\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "logs": [\n {\n "id": "2843c005-c5b0-4df2-94ee-1ca2ddd998ac",\n "org_id": 123456,\n "service_name": "workflows",\n "event_name": "deleteWorkflow",\n "status_code": 200,\n "timestamp": "2021-06-01T12:00:00Z",\n "caller": {\n "user_email": "max.mustermann@mail.com",\n "user_id": 123456,\n "trigger_type": "user"\n },\n "http": {\n "method": "GET",\n "ip": null,\n "headers": {\n "Authorization": "Bearer token"\n },\n "query": {\n "limit": 50,\n "page": 0\n },\n "pathParams": {\n "eventId": "2843c005-c5b0-4df2-94ee-1ca2ddd998ac"\n },\n "path": "/v1/logs",\n "domainName": "audit-logs.sls.epilot.io"\n },\n "detail": "{\\"workflow_id\\": \\"123456\\"}",\n "activity": "Workflow with ID 123456 was deleted",\n "source_url": "string"\n }\n ],\n "total": 1\n}\n```\n\n</details>\n\n---\n\n### `getLogById`\n\nRetrieve Audit Log events\n\n`GET /v1/logs/{logId}`\n\n```ts\nconst { data } = await client.getLogById({\n logId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "log": {\n "id": "2843c005-c5b0-4df2-94ee-1ca2ddd998ac",\n "org_id": 123456,\n "service_name": "workflows",\n "event_name": "deleteWorkflow",\n "status_code": 200,\n "timestamp": "2021-06-01T12:00:00Z",\n "caller": {\n "user_email": "max.mustermann@mail.com",\n "user_id": 123456,\n "trigger_type": "user"\n },\n "http": {\n "method": "GET",\n "ip": null,\n "headers": {\n "Authorization": "Bearer token"\n },\n "query": {\n "limit": 50,\n "page": 0\n },\n "pathParams": {\n "eventId": "2843c005-c5b0-4df2-94ee-1ca2ddd998ac"\n },\n "path": "/v1/logs",\n "domainName": "audit-logs.sls.epilot.io"\n },\n "detail": "{\\"workflow_id\\": \\"123456\\"}",\n "activity": "Workflow with ID 123456 was deleted",\n "source_url": "string"\n }\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `SearchOptions`\n\n```ts\ntype SearchOptions = {\n limit?: number\n page?: number\n timestamp?: {\n from?: string\n to?: string\n }\n service_name?: string\n event_name?: string\n outcome?: "success" | "failure"\n method?: string\n user?: {\n email?: string\n user_id?: string\n }\n}\n```\n\n### `HttpContext`\n\n```ts\ntype HttpContext = {\n method?: string\n ip?: string\n headers?: object\n query?: object\n pathParams?: object\n path?: string\n domainName?: string\n}\n```\n\n### `Caller`\n\n```ts\ntype Caller = {\n user_email?: string\n user_id?: string\n trigger_type?: "user" | "api" | "automation"\n}\n```\n\n### `Event`\n\n```ts\ntype Event = {\n id?: string // uuid\n org_id?: string\n service_name?: string\n event_name?: string\n status_code?: number\n timestamp?: string\n caller?: {\n user_email?: string\n user_id?: string\n trigger_type?: "user" | "api" | "automation"\n }\n http?: {\n method?: string\n ip?: string\n headers?: object\n query?: object\n pathParams?: object\n path?: string\n domainName?: string\n }\n detail?: string\n activity?: string\n source_url?: string\n}\n```\n';
5
+ export {
6
+ audit_logs_default as default
7
+ };
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
2
+
3
+ // src/docs/audit-logs.json
4
+ var audit_logs_default = '# Audit Log\n\n- **Base URL:** `https://audit-logs.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/audit-logs](https://docs.epilot.io/api/audit-logs)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.auditLogs.getLogs(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/audit-logs\'\n\nconst auditLogsClient = getClient()\nauthorize(auditLogsClient, () => \'<token>\')\nconst { data } = await auditLogsClient.getLogs(...)\n```\n\n## Operations\n\n**Events**\n- [`getLogs`](#getlogs)\n\n**Audit Log**\n- [`getLogById`](#getlogbyid)\n\n**Schemas**\n- [`SearchOptions`](#searchoptions)\n- [`HttpContext`](#httpcontext)\n- [`Caller`](#caller)\n- [`Event`](#event)\n\n### `getLogs`\n\nRetrieve Audit Log events. Optionally, you can filter them by organization.\n\n`POST /v1/logs`\n\n```ts\nconst { data } = await client.getLogs(\n null,\n {\n limit: 50,\n page: 0,\n timestamp: \'2021-06-01T12:00:00Z\',\n service_name: \'workflows\',\n event_name: \'deleteWorkflow\',\n outcome: \'success\',\n method: \'POST\',\n user: {\n email: \'max.mustermann@mail.com\',\n user_id: 123456\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "logs": [\n {\n "id": "2843c005-c5b0-4df2-94ee-1ca2ddd998ac",\n "org_id": 123456,\n "service_name": "workflows",\n "event_name": "deleteWorkflow",\n "status_code": 200,\n "timestamp": "2021-06-01T12:00:00Z",\n "caller": {\n "user_email": "max.mustermann@mail.com",\n "user_id": 123456,\n "trigger_type": "user"\n },\n "http": {\n "method": "GET",\n "ip": null,\n "headers": {\n "Authorization": "Bearer token"\n },\n "query": {\n "limit": 50,\n "page": 0\n },\n "pathParams": {\n "eventId": "2843c005-c5b0-4df2-94ee-1ca2ddd998ac"\n },\n "path": "/v1/logs",\n "domainName": "audit-logs.sls.epilot.io"\n },\n "detail": "{\\"workflow_id\\": \\"123456\\"}",\n "activity": "Workflow with ID 123456 was deleted",\n "source_url": "string"\n }\n ],\n "total": 1\n}\n```\n\n</details>\n\n---\n\n### `getLogById`\n\nRetrieve Audit Log events\n\n`GET /v1/logs/{logId}`\n\n```ts\nconst { data } = await client.getLogById({\n logId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "log": {\n "id": "2843c005-c5b0-4df2-94ee-1ca2ddd998ac",\n "org_id": 123456,\n "service_name": "workflows",\n "event_name": "deleteWorkflow",\n "status_code": 200,\n "timestamp": "2021-06-01T12:00:00Z",\n "caller": {\n "user_email": "max.mustermann@mail.com",\n "user_id": 123456,\n "trigger_type": "user"\n },\n "http": {\n "method": "GET",\n "ip": null,\n "headers": {\n "Authorization": "Bearer token"\n },\n "query": {\n "limit": 50,\n "page": 0\n },\n "pathParams": {\n "eventId": "2843c005-c5b0-4df2-94ee-1ca2ddd998ac"\n },\n "path": "/v1/logs",\n "domainName": "audit-logs.sls.epilot.io"\n },\n "detail": "{\\"workflow_id\\": \\"123456\\"}",\n "activity": "Workflow with ID 123456 was deleted",\n "source_url": "string"\n }\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `SearchOptions`\n\n```ts\ntype SearchOptions = {\n limit?: number\n page?: number\n timestamp?: {\n from?: string\n to?: string\n }\n service_name?: string\n event_name?: string\n outcome?: "success" | "failure"\n method?: string\n user?: {\n email?: string\n user_id?: string\n }\n}\n```\n\n### `HttpContext`\n\n```ts\ntype HttpContext = {\n method?: string\n ip?: string\n headers?: object\n query?: object\n pathParams?: object\n path?: string\n domainName?: string\n}\n```\n\n### `Caller`\n\n```ts\ntype Caller = {\n user_email?: string\n user_id?: string\n trigger_type?: "user" | "api" | "automation"\n}\n```\n\n### `Event`\n\n```ts\ntype Event = {\n id?: string // uuid\n org_id?: string\n service_name?: string\n event_name?: string\n status_code?: number\n timestamp?: string\n caller?: {\n user_email?: string\n user_id?: string\n trigger_type?: "user" | "api" | "automation"\n }\n http?: {\n method?: string\n ip?: string\n headers?: object\n query?: object\n pathParams?: object\n path?: string\n domainName?: string\n }\n detail?: string\n activity?: string\n source_url?: string\n}\n```\n';
5
+
6
+
7
+ exports.default = audit_logs_default;
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
2
+
3
+ // src/docs/automation.json
4
+ var automation_default = '# Automation API\n\n- **Base URL:** `https://automation.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/automation](https://docs.epilot.io/api/automation)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.automation.searchFlows(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/automation\'\n\nconst automationClient = getClient()\nauthorize(automationClient, () => \'<token>\')\nconst { data } = await automationClient.searchFlows(...)\n```\n\n## Operations\n\n**flows**\n- [`searchFlows`](#searchflows)\n- [`createFlow`](#createflow)\n- [`batchGetFlows`](#batchgetflows)\n- [`getFlow`](#getflow)\n- [`putFlow`](#putflow)\n- [`deleteFlow`](#deleteflow)\n\n**executions**\n- [`getExecutions`](#getexecutions)\n- [`startExecution`](#startexecution)\n- [`getExecution`](#getexecution)\n- [`cancelExecution`](#cancelexecution)\n- [`retriggerAction`](#retriggeraction)\n- [`resumeExecutionWithToken`](#resumeexecutionwithtoken)\n- [`cancelSchedule`](#cancelschedule)\n\n**bulk**\n- [`bulkTriggerExecutions`](#bulktriggerexecutions)\n- [`getBulkJob`](#getbulkjob)\n- [`patchBulkJob`](#patchbulkjob)\n\n**Schemas**\n- [`AutomationFlowId`](#automationflowid)\n- [`AutomationActionId`](#automationactionid)\n- [`AutomationFlow`](#automationflow)\n- [`WorkflowContextRole`](#workflowcontextrole)\n- [`SearchAutomationsResp`](#searchautomationsresp)\n- [`AnyTrigger`](#anytrigger)\n- [`AnyAction`](#anyaction)\n- [`AnyActionConfig`](#anyactionconfig)\n- [`AutomationActionConfig`](#automationactionconfig)\n- [`AutomationActionExecutionState`](#automationactionexecutionstate)\n- [`RetryStrategy`](#retrystrategy)\n- [`AutomationAction`](#automationaction)\n- [`ErrorOutput`](#erroroutput)\n- [`ErrorCode`](#errorcode)\n- [`ErrorDetail`](#errordetail)\n- [`CartCheckoutActionConfig`](#cartcheckoutactionconfig)\n- [`CartCheckoutAction`](#cartcheckoutaction)\n- [`CartCheckoutConfig`](#cartcheckoutconfig)\n- [`MapEntityActionConfig`](#mapentityactionconfig)\n- [`MapEntityAction`](#mapentityaction)\n- [`MapEntityConfig`](#mapentityconfig)\n- [`MappingConfigRef`](#mappingconfigref)\n- [`RelationAttribute`](#relationattribute)\n- [`MappingAttributeV2`](#mappingattributev2)\n- [`OperationNode`](#operationnode)\n- [`OperationObjectNode`](#operationobjectnode)\n- [`PrimitiveJSONValue`](#primitivejsonvalue)\n- [`MappingAttribute`](#mappingattribute)\n- [`MappingAttributeMode`](#mappingattributemode)\n- [`SetValueMapper`](#setvaluemapper)\n- [`CopyValueMapper`](#copyvaluemapper)\n- [`AppendValueMapper`](#appendvaluemapper)\n- [`MoveThreadAction`](#movethreadaction)\n- [`AssignThreadAction`](#assignthreadaction)\n- [`MoveThreadConfig`](#movethreadconfig)\n- [`AssignThreadConfig`](#assignthreadconfig)\n- [`SendEmailActionConfig`](#sendemailactionconfig)\n- [`SendEmailAction`](#sendemailaction)\n- [`SendEmailConfig`](#sendemailconfig)\n- [`SendEmailCondition`](#sendemailcondition)\n- [`CreateDocumentActionConfig`](#createdocumentactionconfig)\n- [`CreateDocumentAction`](#createdocumentaction)\n- [`CreateDocumentConfig`](#createdocumentconfig)\n- [`TriggerWorkflowActionConfig`](#triggerworkflowactionconfig)\n- [`TriggerWorkflowAction`](#triggerworkflowaction)\n- [`TriggerWorkflowConfig`](#triggerworkflowconfig)\n- [`TriggerWorkflowCondition`](#triggerworkflowcondition)\n- [`TriggerShareEntityActionConfig`](#triggershareentityactionconfig)\n- [`TriggerShareEntityAction`](#triggershareentityaction)\n- [`TriggerShareEntityConfig`](#triggershareentityconfig)\n- [`AssignUsersToStep`](#assignuserstostep)\n- [`CustomAction`](#customaction)\n- [`TriggerWebhookActionConfig`](#triggerwebhookactionconfig)\n- [`TriggerWebhookAction`](#triggerwebhookaction)\n- [`TriggerWebhookConfig`](#triggerwebhookconfig)\n- [`InformERPActionConfig`](#informerpactionconfig)\n- [`InformERPAction`](#informerpaction)\n- [`InformERPConfig`](#informerpconfig)\n- [`TriggerEventActionConfig`](#triggereventactionconfig)\n- [`TriggerEventAction`](#triggereventaction)\n- [`TriggerEventConfig`](#triggereventconfig)\n- [`FlowExecutionCancelActionConfig`](#flowexecutioncancelactionconfig)\n- [`FlowExecutionCancelAction`](#flowexecutioncancelaction)\n- [`FlowExecutionCancelConfig`](#flowexecutioncancelconfig)\n- [`CancellationReason`](#cancellationreason)\n- [`ConditionStatement`](#conditionstatement)\n- [`ActionCondition`](#actioncondition)\n- [`ActionScheduleSource`](#actionschedulesource)\n- [`ActionSchedule`](#actionschedule)\n- [`AutomationExecutionId`](#automationexecutionid)\n- [`AutomationExecution`](#automationexecution)\n- [`WorkflowExecutionContext`](#workflowexecutioncontext)\n- [`ExecutionChain`](#executionchain)\n- [`TriggerEventManual`](#triggereventmanual)\n- [`TriggerEventFlowAutomationTask`](#triggereventflowautomationtask)\n- [`TriggerEventEntityActivity`](#triggerevententityactivity)\n- [`TriggerEventMessaging`](#triggereventmessaging)\n- [`TriggerEventEntityOperation`](#triggerevententityoperation)\n- [`ApiCallerContext`](#apicallercontext)\n- [`ExecutionStatus`](#executionstatus)\n- [`GetExecutionsResp`](#getexecutionsresp)\n- [`StartExecutionRequest`](#startexecutionrequest)\n- [`PatchBulkJobRequest`](#patchbulkjobrequest)\n- [`BulkTriggerRequest`](#bulktriggerrequest)\n- [`EntityRef`](#entityref)\n- [`BulkTriggerJob`](#bulktriggerjob)\n- [`ExecItem`](#execitem)\n- [`JobId`](#jobid)\n- [`EntityId`](#entityid)\n- [`ActivityId`](#activityid)\n- [`OrganizationId`](#organizationid)\n- [`TriggerContext`](#triggercontext)\n- [`AutomationTrigger`](#automationtrigger)\n- [`FlowsTrigger`](#flowstrigger)\n- [`JourneySubmitTrigger`](#journeysubmittrigger)\n- [`FrontendSubmitTrigger`](#frontendsubmittrigger)\n- [`ApiSubmissionTrigger`](#apisubmissiontrigger)\n- [`NewEmailThreadTrigger`](#newemailthreadtrigger)\n- [`ReceivedEmailTrigger`](#receivedemailtrigger)\n- [`EntityOperationTrigger`](#entityoperationtrigger)\n- [`ActivityTrigger`](#activitytrigger)\n- [`EntityOperation`](#entityoperation)\n- [`EntitySearchFilter`](#entitysearchfilter)\n- [`EntitySearchFilterValue`](#entitysearchfiltervalue)\n- [`EntityManualTrigger`](#entitymanualtrigger)\n- [`TriggerCondition`](#triggercondition)\n- [`Comparison`](#comparison)\n- [`FilterConditionOnEvent`](#filterconditiononevent)\n- [`EqualsIgnoreCaseCondition`](#equalsignorecasecondition)\n- [`AnythingButCondition`](#anythingbutcondition)\n- [`NumericCondition`](#numericcondition)\n- [`ExistsCondition`](#existscondition)\n- [`PrefixCondition`](#prefixcondition)\n- [`SuffixCondition`](#suffixcondition)\n- [`WildcardCondition`](#wildcardcondition)\n- [`OrCondition`](#orcondition)\n- [`DiffAdded`](#diffadded)\n- [`DiffUpdated`](#diffupdated)\n- [`DiffDeleted`](#diffdeleted)\n- [`OrConditionForDiff`](#orconditionfordiff)\n- [`EntityItemSnapshot`](#entityitemsnapshot)\n- [`RetryReq`](#retryreq)\n- [`ResumeToken`](#resumetoken)\n- [`ResumeReq`](#resumereq)\n- [`ResumeResp`](#resumeresp)\n- [`ErrorObject`](#errorobject)\n\n### `searchFlows`\n\nSearch available automation flows\n\n`GET /v1/automation/flows`\n\n```ts\nconst { data } = await client.searchFlows({\n schema: \'example\',\n size: 1,\n from: 1,\n trigger_source_id: \'example\',\n include_flows: true,\n})\n```\n\n---\n\n### `createFlow`\n\nCreate new automation flow\n\n`POST /v1/automation/flows`\n\n```ts\nconst { data } = await client.createFlow()\n```\n\n---\n\n### `batchGetFlows`\n\nGet multiple automation flows by their IDs\n\n`POST /v1/automation/flows:batchGet`\n\n```ts\nconst { data } = await client.batchGetFlows(\n null,\n {\n ids: [\'7791b04a-16d2-44a2-9af9-2d59c25c512f\']\n },\n)\n```\n\n---\n\n### `getFlow`\n\nList available automation flows\n\n`GET /v1/automation/flows/{flow_id}`\n\n```ts\nconst { data } = await client.getFlow({\n flow_id: \'example\',\n})\n```\n\n---\n\n### `putFlow`\n\nUpdate automation flow by id\n\n`PUT /v1/automation/flows/{flow_id}`\n\n```ts\nconst { data } = await client.putFlow({\n flow_id: \'example\',\n})\n```\n\n---\n\n### `deleteFlow`\n\nUpdate automation flow by id\n\n`DELETE /v1/automation/flows/{flow_id}`\n\n```ts\nconst { data } = await client.deleteFlow({\n flow_id: \'example\',\n})\n```\n\n---\n\n### `getExecutions`\n\nList automation executions\n\n`GET /v1/automation/executions`\n\n```ts\nconst { data } = await client.getExecutions({\n entity_id: \'example\',\n size: 1,\n from: 1,\n include_flows: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "total": 0,\n "results": [\n {\n "id": "9baf184f-bc81-4128-bca3-d974c90a12c4",\n "execution_status": "pending",\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "activity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "entity_snapshot": {},\n "org_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "flow_id": "7791b04a-16d2-44a2-9af9-2d59c25c512f",\n "flow_name": "Handle contact form",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "current_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "conditions": [],\n "schedules": [],\n "actions": [],\n "resume_token": "eyJraWQiOiJrZXkifQ==",\n "trigger_context": {},\n "version": 2,\n "trigger_event": {},\n "workflow_context": {}\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `startExecution`\n\nStart new automation execution\n\n`POST /v1/automation/executions`\n\n```ts\nconst { data } = await client.startExecution(\n null,\n {\n entity_id: \'e3d3ebac-baab-4395-abf4-50b5bf1f8b74\',\n flow_id: \'7791b04a-16d2-44a2-9af9-2d59c25c512f\',\n workflow_context: {\n workflow_exec_id: \'string\',\n workflow_exec_task_id: \'string\',\n workflow_role: \'trigger_workflow\',\n _execution_chain: {\n parent_execution_id: \'string\',\n parent_task_id: \'string\',\n depth: 0\n }\n },\n flow_execution_id: \'string\',\n flow_automation_task_id: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "9baf184f-bc81-4128-bca3-d974c90a12c4",\n "execution_status": "pending",\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "activity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "entity_snapshot": {\n "_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "_title": "string",\n "_org": "string",\n "_schema": "string",\n "_tags": ["string"],\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n },\n "org_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "flow_id": "7791b04a-16d2-44a2-9af9-2d59c25c512f",\n "flow_name": "Handle contact form",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "current_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "conditions": [\n {\n "id": "string",\n "schedule_id": "string",\n "evaluationResult": true,\n "statements": []\n }\n ],\n "schedules": [\n {\n "id": "string",\n "scheduleApiId": "string",\n "numberOfUnits": 0,\n "timePeriod": "minutes",\n "timeRelation": "after",\n "source": {}\n }\n ],\n "actions": [\n {\n "id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "flow_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "name": "string",\n "type": "map-entity",\n "config": {},\n "allow_failure": true,\n "created_automatically": true,\n "is_bulk_action": true,\n "reason": {},\n "condition_id": "string",\n "schedule_id": "string",\n "execution_status": "pending",\n "started_at": "string",\n "updated_at": "string",\n "outputs": {},\n "error_output": {},\n "retry_strategy": "RETRY_AND_RESUME"\n },\n {\n "id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "flow_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "name": "string",\n "type": "trigger-workflow",\n "config": {},\n "allow_failure": true,\n "created_automatically": true,\n "is_bulk_action": true,\n "reason": {},\n "condition_id": "string",\n "schedule_id": "string",\n "execution_status": "pending",\n "started_at": "string",\n "updated_at": "string",\n "outputs": {},\n "error_output": {},\n "retry_strategy": "RETRY_AND_RESUME"\n }\n ],\n "resume_token": "eyJraWQiOiJrZXkifQ==",\n "trigger_context": {\n "entity_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef"\n },\n "version": 2,\n "trigger_event": {\n "type": "manual",\n "org_id": "123",\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "caller": {\n "EpilotAuth": {}\n }\n },\n "workflow_context": {\n "workflow_exec_id": "string",\n "workflow_exec_task_id": "string",\n "workflow_role": "trigger_workflow",\n "_execution_chain": {\n "parent_execution_id": "string",\n "parent_task_id": "string",\n "depth": 0\n }\n }\n}\n```\n\n</details>\n\n---\n\n### `bulkTriggerExecutions`\n\nCreate a bulk job that triggers multiple automation executions\n\n`POST /v1/automation/executions/bulk-jobs`\n\n```ts\nconst { data } = await client.bulkTriggerExecutions(\n null,\n {\n flow_id: \'7791b04a-16d2-44a2-9af9-2d59c25c512f\',\n entities_refs: [\n {\n entity_id: \'e3d3ebac-baab-4395-abf4-50b5bf1f8b74\',\n entity_schema: \'string\'\n }\n ],\n trigger_context: {\n entity_id: \'a1b2c3d4-e5f6-7890-1234-567890abcdef\'\n }\n },\n)\n```\n\n---\n\n### `getBulkJob`\n\nGet the status of a bulk job that triggers multiple automation executions\n\n`GET /v1/automation/executions/bulk-jobs/{job_id}`\n\n```ts\nconst { data } = await client.getBulkJob({\n job_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "job_id": "8c086140-f33e-4bb7-a993-50c0f2402c7b",\n "org_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "flow_id": "7791b04a-16d2-44a2-9af9-2d59c25c512f",\n "status": "approval",\n "created_by": "1234",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "approved_at": "1970-01-01T00:00:00.000Z",\n "trigger_context": {\n "entity_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef"\n },\n "task_token": "8c086140-f33e-4bb7-a993-50c0f2402c7b",\n "report_file_entity_id": "string",\n "entity_query": {\n "type": "refs",\n "data": [\n {\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "entity_schema": "string"\n }\n ]\n },\n "pagination_state": {\n "page_size": 0,\n "pages_processed": 0,\n "total_processed": 0,\n "stable_query_id": "string",\n "search_after": ["string"],\n "has_more": true\n },\n "execution_summary": [\n {\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "entity_schema": "string",\n "execution_id": "9baf184f-bc81-4128-bca3-d974c90a12c4",\n "execution_status": "pending",\n "timestamp": "2025-10-30T15:56:47.842Z",\n "error": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `patchBulkJob`\n\nApprove / Cancel bulk job that triggers multiple automation executions\n\n`PATCH /v1/automation/executions/bulk-jobs/{job_id}`\n\n```ts\nconst { data } = await client.patchBulkJob(\n {\n job_id: \'example\',\n },\n {\n action: \'APPROVE\',\n task_token: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "job_id": "8c086140-f33e-4bb7-a993-50c0f2402c7b",\n "org_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "flow_id": "7791b04a-16d2-44a2-9af9-2d59c25c512f",\n "status": "approval",\n "created_by": "1234",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "approved_at": "1970-01-01T00:00:00.000Z",\n "trigger_context": {\n "entity_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef"\n },\n "task_token": "8c086140-f33e-4bb7-a993-50c0f2402c7b",\n "report_file_entity_id": "string",\n "entity_query": {\n "type": "refs",\n "data": [\n {\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "entity_schema": "string"\n }\n ]\n },\n "pagination_state": {\n "page_size": 0,\n "pages_processed": 0,\n "total_processed": 0,\n "stable_query_id": "string",\n "search_after": ["string"],\n "has_more": true\n },\n "execution_summary": [\n {\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "entity_schema": "string",\n "execution_id": "9baf184f-bc81-4128-bca3-d974c90a12c4",\n "execution_status": "pending",\n "timestamp": "2025-10-30T15:56:47.842Z",\n "error": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getExecution`\n\nGet automation execution\n\n`GET /v1/automation/executions/{execution_id}`\n\n```ts\nconst { data } = await client.getExecution({\n execution_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "9baf184f-bc81-4128-bca3-d974c90a12c4",\n "execution_status": "pending",\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "activity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "entity_snapshot": {\n "_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "_title": "string",\n "_org": "string",\n "_schema": "string",\n "_tags": ["string"],\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n },\n "org_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "flow_id": "7791b04a-16d2-44a2-9af9-2d59c25c512f",\n "flow_name": "Handle contact form",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "current_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "conditions": [\n {\n "id": "string",\n "schedule_id": "string",\n "evaluationResult": true,\n "statements": []\n }\n ],\n "schedules": [\n {\n "id": "string",\n "scheduleApiId": "string",\n "numberOfUnits": 0,\n "timePeriod": "minutes",\n "timeRelation": "after",\n "source": {}\n }\n ],\n "actions": [\n {\n "id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "flow_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "name": "string",\n "type": "map-entity",\n "config": {},\n "allow_failure": true,\n "created_automatically": true,\n "is_bulk_action": true,\n "reason": {},\n "condition_id": "string",\n "schedule_id": "string",\n "execution_status": "pending",\n "started_at": "string",\n "updated_at": "string",\n "outputs": {},\n "error_output": {},\n "retry_strategy": "RETRY_AND_RESUME"\n },\n {\n "id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "flow_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "name": "string",\n "type": "trigger-workflow",\n "config": {},\n "allow_failure": true,\n "created_automatically": true,\n "is_bulk_action": true,\n "reason": {},\n "condition_id": "string",\n "schedule_id": "string",\n "execution_status": "pending",\n "started_at": "string",\n "updated_at": "string",\n "outputs": {},\n "error_output": {},\n "retry_strategy": "RETRY_AND_RESUME"\n }\n ],\n "resume_token": "eyJraWQiOiJrZXkifQ==",\n "trigger_context": {\n "entity_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef"\n },\n "version": 2,\n "trigger_event": {\n "type": "manual",\n "org_id": "123",\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "caller": {\n "EpilotAuth": {}\n }\n },\n "workflow_context": {\n "workflow_exec_id": "string",\n "workflow_exec_task_id": "string",\n "workflow_role": "trigger_workflow",\n "_execution_chain": {\n "parent_execution_id": "string",\n "parent_task_id": "string",\n "depth": 0\n }\n }\n}\n```\n\n</details>\n\n---\n\n### `cancelExecution`\n\nCancel automation execution\n\n`DELETE /v1/automation/executions/{execution_id}`\n\n```ts\nconst { data } = await client.cancelExecution({\n execution_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "9baf184f-bc81-4128-bca3-d974c90a12c4",\n "execution_status": "pending",\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "activity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "entity_snapshot": {\n "_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "_title": "string",\n "_org": "string",\n "_schema": "string",\n "_tags": ["string"],\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n },\n "org_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "flow_id": "7791b04a-16d2-44a2-9af9-2d59c25c512f",\n "flow_name": "Handle contact form",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "current_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "conditions": [\n {\n "id": "string",\n "schedule_id": "string",\n "evaluationResult": true,\n "statements": []\n }\n ],\n "schedules": [\n {\n "id": "string",\n "scheduleApiId": "string",\n "numberOfUnits": 0,\n "timePeriod": "minutes",\n "timeRelation": "after",\n "source": {}\n }\n ],\n "actions": [\n {\n "id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "flow_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "name": "string",\n "type": "map-entity",\n "config": {},\n "allow_failure": true,\n "created_automatically": true,\n "is_bulk_action": true,\n "reason": {},\n "condition_id": "string",\n "schedule_id": "string",\n "execution_status": "pending",\n "started_at": "string",\n "updated_at": "string",\n "outputs": {},\n "error_output": {},\n "retry_strategy": "RETRY_AND_RESUME"\n },\n {\n "id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "flow_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "name": "string",\n "type": "trigger-workflow",\n "config": {},\n "allow_failure": true,\n "created_automatically": true,\n "is_bulk_action": true,\n "reason": {},\n "condition_id": "string",\n "schedule_id": "string",\n "execution_status": "pending",\n "started_at": "string",\n "updated_at": "string",\n "outputs": {},\n "error_output": {},\n "retry_strategy": "RETRY_AND_RESUME"\n }\n ],\n "resume_token": "eyJraWQiOiJrZXkifQ==",\n "trigger_context": {\n "entity_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef"\n },\n "version": 2,\n "trigger_event": {\n "type": "manual",\n "org_id": "123",\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "caller": {\n "EpilotAuth": {}\n }\n },\n "workflow_context": {\n "workflow_exec_id": "string",\n "workflow_exec_task_id": "string",\n "workflow_role": "trigger_workflow",\n "_execution_chain": {\n "parent_execution_id": "string",\n "parent_task_id": "string",\n "depth": 0\n }\n }\n}\n```\n\n</details>\n\n---\n\n### `retriggerAction`\n\nRetry a specific automation execution action which failed / is stuck.\n\n`POST /v1/automation/executions/{execution_id}/{action_id}/retrigger`\n\n```ts\nconst { data } = await client.retriggerAction(\n {\n execution_id: \'example\',\n action_id: \'example\',\n },\n {\n condition_id: \'string\',\n retry_strategy: \'RETRY_AND_RESUME\'\n },\n)\n```\n\n---\n\n### `resumeExecutionWithToken`\n\nResume a paused automation execution using a unique resume token.\n\n`POST /v1/automation/public/executions:resume`\n\n```ts\nconst { data } = await client.resumeExecutionWithToken(\n null,\n {\n resume_token: \'eyJraWQiOiJrZXkifQ==\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "execution": {\n "id": "9baf184f-bc81-4128-bca3-d974c90a12c4",\n "execution_status": "pending",\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "activity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "entity_snapshot": {\n "_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "_title": "string",\n "_org": "string",\n "_schema": "string",\n "_tags": ["string"],\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_updated_at": "1970-01-01T00:00:00.000Z"\n },\n "org_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "flow_id": "7791b04a-16d2-44a2-9af9-2d59c25c512f",\n "flow_name": "Handle contact form",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "current_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "conditions": [\n {}\n ],\n "schedules": [\n {}\n ],\n "actions": [\n {},\n {}\n ],\n "resume_token": "eyJraWQiOiJrZXkifQ==",\n "trigger_context": {\n "entity_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef"\n },\n "version": 2,\n "trigger_event": {\n "type": "manual",\n "org_id": "123",\n "entity_id": "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",\n "caller": {}\n },\n "workflow_context": {\n "workflow_exec_id": "string",\n "workflow_exec_task_id": "string",\n "workflow_role": "trigger_workflow",\n "_execution_chain": {}\n }\n },\n "resumedAction": {\n "id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "flow_action_id": "9ec3711b-db63-449c-b894-54d5bb622a8f",\n "name": "string",\n "type": "map-entity",\n "config": {\n "mapping_config": {},\n "target_schema": "string",\n "target_unique": ["string"],\n "mapping_attributes": [],\n "relation_attributes": [],\n "linkback_relation_attribute": "mapped_entities",\n "linkback_relation_tags": ["string"]\n },\n "allow_failure": true,\n "created_automatically": true,\n "is_bulk_action": true,\n "reason": {\n "message": "There are no registered portal users for the given emails, hence skipping the action",\n "payload": {}\n },\n "condition_id": "string",\n "schedule_id": "string",\n "execution_status": "pending",\n "started_at": "string",\n "updated_at": "string",\n "outputs": {},\n "error_output": {\n "error_code": "MAPPING_ERROR",\n "error_reason": "string",\n "error_info": {}\n },\n "retry_strategy": "RETRY_AND_RESUME"\n }\n}\n```\n\n</details>\n\n---\n\n### `cancelSchedule`\n\nCancel a scheduled automation\n\n`DELETE /v1/automation/executions/{execution_id}/schedules/{schedule_id}`\n\n```ts\nconst { data } = await client.cancelSchedule({\n execution_id: \'example\',\n schedule_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "scheduleApiId": "string",\n "numberOfUnits": 0,\n "timePeriod": "minutes",\n "timeRelation": "after",\n "source": {\n "id": "string",\n "origin": "trigger",\n "schema": "string",\n "attribute": "string"\n }\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `AutomationFlowId`\n\nID of the Automation Flow\n\n```ts\ntype AutomationFlowId = string\n```\n\n### `AutomationActionId`\n\n```ts\ntype AutomationActionId = string\n```\n\n### `AutomationFlow`\n\n```ts\ntype AutomationFlow = {\n id?: string\n flow_name: string\n enabled?: boolean\n disable_details?: {\n disabled_at: string // date-time\n disabled_by: "system" | "user"\n blame?: string\n }\n triggers: Array<{\n id?: string // uuid\n type: "frontend_submission"\n configuration: {\n source_id?: { ... }\n }\n } | {\n id?: string // uuid\n type: "journey_submission"\n configuration: {\n source_id: { ... }\n }\n } | {\n id?: string // uuid\n type: "api_submission"\n configuration: {\n source_id?: { ... }\n }\n } | {\n id?: string // uuid\n type: "entity_operation"\n configuration: {\n schema?: { ... }\n operations?: { ... }\n include_activities?: { ... }\n exclude_activities?: { ... }\n filter_config?: { ... }\n ecp_config?: { ... }\n }\n } | {\n id?: string // uuid\n type: "activity"\n configuration: {\n schema?: { ... }\n types?: { ... }\n }\n } | {\n id?: string // uuid\n type: "entity_manual"\n configuration: {\n schema?: { ... }\n }\n } | {\n id?: string // uuid\n type: "received_email"\n configuration: {\n message_type?: { ... }\n }\n } | {\n id?: string // uuid\n type: "new_email_thread"\n configuration: {\n shared_inbox_ids?: { ... }\n direction: { ... }\n }\n } | {\n id?: string // uuid\n type: "flows_trigger"\n configuration?: {\n journey_id?: { ... }\n }\n }>\n trigger_conditions?: Array<{\n source: string\n comparison: "equals" | "any_of" | "not_empty" | "is_empty"\n value?: string | number | string[] | number[]\n }>\n entity_schema?: string\n conditions?: Array<{\n id?: string\n schedule_id?: string\n evaluationResult?: boolean\n statements?: Array<{\n id?: { ... }\n source?: { ... }\n operation?: { ... }\n values?: { ... }\n }>\n }>\n schedules?: Array<{\n id: string\n scheduleApiId?: string\n numberOfUnits?: number\n timePeriod?: "minutes" | "hours" | "days" | "weeks" | "months"\n timeRelation?: "after" | "before"\n source: {\n id: { ... }\n origin: { ... }\n schema?: { ... }\n attribute?: { ... }\n }\n // ...\n}\n```\n\n### `WorkflowContextRole`\n\nThe role this automation plays in the workflow.\n\n```ts\ntype WorkflowContextRole = "trigger_workflow" | "run_task_automation"\n```\n\n### `SearchAutomationsResp`\n\n```ts\ntype SearchAutomationsResp = {\n total: number\n results: Array<{\n id?: string\n flow_name: string\n enabled?: boolean\n disable_details?: {\n disabled_at: { ... }\n disabled_by: { ... }\n blame?: { ... }\n }\n triggers: Array<{\n id?: { ... }\n type: { ... }\n configuration: { ... }\n } | {\n id?: { ... }\n type: { ... }\n configuration: { ... }\n } | {\n id?: { ... }\n type: { ... }\n configuration: { ... }\n } | {\n id?: { ... }\n type: { ... }\n configuration: { ... }\n } | {\n id?: { ... }\n type: { ... }\n configuration: { ... }\n } | {\n id?: { ... }\n type: { ... }\n configuration: { ... }\n } | {\n id?: { ... }\n type: { ... }\n configuration: { ... }\n } | {\n id?: { ... }\n type: { ... }\n configuration: { ... }\n } | {\n id?: { ... }\n type: { ... }\n configuration?: { ... }\n }>\n trigger_conditions?: Array<{\n source: { ... }\n comparison: { ... }\n value?: { ... }\n }>\n entity_schema?: string\n conditions?: Array<{\n id?: { ... }\n schedule_id?: { ... }\n evaluationResult?: { ... }\n statements?: { ... }\n }>\n schedules?: Array<{\n id: { ... }\n scheduleApiId?: { ... }\n numberOfUnits?: { ... }\n timePeriod?: { ... }\n timeRelation?: { ... }\n source: { ... }\n }>\n actions: Array<{\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n id?: { ... }\n // ...\n}\n```\n\n### `AnyTrigger`\n\n```ts\ntype AnyTrigger = {\n id?: string // uuid\n type: "frontend_submission"\n configuration: {\n source_id?: string\n }\n} | {\n id?: string // uuid\n type: "journey_submission"\n configuration: {\n source_id: string // uuid\n }\n} | {\n id?: string // uuid\n type: "api_submission"\n configuration: {\n source_id?: string\n }\n} | {\n id?: string // uuid\n type: "entity_operation"\n configuration: {\n schema?: string\n operations?: "createEntity" | "updateEntity" | "deleteEntity" | "softDeleteEntity" | "restoreEntity"[]\n include_activities?: string[]\n exclude_activities?: string[]\n filter_config?: {\n operation?: { ... }\n activity?: { ... }\n }\n ecp_config?: {\n origin?: { ... }\n portal_id?: { ... }\n file_config?: { ... }\n }\n }\n} | {\n id?: string // uuid\n type: "activity"\n configuration: {\n schema?: string\n types?: "CreateMeterReading" | "UpdateMeterReading" | "DocDownloadedFromPortal" | "PortalUserResetPassword" | "PortalUserResetForgotPassword" | "SelfAssignmentFromPortal" | string[]\n }\n} | {\n id?: string // uuid\n type: "entity_manual"\n configuration: {\n schema?: string\n }\n} | {\n id?: string // uuid\n type: "received_email"\n configuration: {\n message_type?: "RECEIVED"\n }\n} | {\n id?: string // uuid\n type: "new_email_thread"\n configuration: {\n shared_inbox_ids?: string[]\n direction: "INBOUND" | "OUTBOUND" | "BOTH"\n }\n} | {\n id?: string // uuid\n type: "flows_trigger"\n configuration?: {\n journey_id?: string // uuid\n }\n}\n```\n\n### `AnyAction`\n\n```ts\ntype AnyAction = {\n type?: "map-entity"\n config?: {\n mapping_config?: {\n config_id: { ... }\n target_id: { ... }\n version?: { ... }\n }\n target_schema: string\n target_unique?: string[]\n mapping_attributes?: Array<{\n target?: { ... }\n operation: { ... }\n } | {\n mode: { ... }\n target: { ... }\n value: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source?: { ... }\n value_json: { ... }\n target_unique?: { ... }\n }>\n relation_attributes?: Array<{\n target: { ... }\n target_tags?: { ... }\n target_tags_include_source?: { ... }\n source_filter?: { ... }\n related_to?: { ... }\n mode: { ... }\n }>\n linkback_relation_attribute?: string\n linkback_relation_tags?: string[]\n }\n} | {\n type?: "trigger-workflow"\n config?: {\n target_workflow?: string\n conditions?: Array<{\n source: { ... }\n comparison: { ... }\n value?: { ... }\n schema?: { ... }\n }>\n assignees?: string[]\n assign_steps?: Array<{\n step_id?: { ... }\n step_name?: { ... }\n user_ids?: { ... }\n }>\n filter_with_purposes?: boolean\n }\n} | {\n type?: "trigger-share-entity"\n config?: {\n partner_org_ids?: string[]\n }\n} | {\n type?: "trigger-webhook"\n config?: {\n event_id?: string\n entity_sources?: string[]\n target_webhook_id?: string\n sync?: boolean\n }\n} | {\n type?: "inform-erp"\n config?: {\n entity_sources?: string[]\n target_webhook_id?: string\n sync?: boolean\n }\n} | {\n type?: "trigger-event"\n config?: {\n event_name: string\n event_inputs?: Record<string, unknown>\n }\n} | {\n type?: "create-document"\n config?: {\n template_id?: string\n filename?: string\n }\n} | {\n type?: "send-email"\n config?: {\n email_template_id?: string\n language_code?: "de" | "en"\n notify_portal_user_only?: boolean\n skip_creating_entities?: boolean\n wait_for_confirmation?: boolean\n attachments?: Array<{\n source_filter?: { ... }\n }>\n // ...\n}\n```\n\n### `AnyActionConfig`\n\n```ts\ntype AnyActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "map-entity"\n config?: {\n mapping_config?: {\n config_id: { ... }\n target_id: { ... }\n version?: { ... }\n }\n target_schema: string\n target_unique?: string[]\n mapping_attributes?: Array<{\n target?: { ... }\n operation: { ... }\n } | {\n mode: { ... }\n target: { ... }\n value: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source?: { ... }\n value_json: { ... }\n target_unique?: { ... }\n }>\n relation_attributes?: Array<{\n target: { ... }\n target_tags?: { ... }\n target_tags_include_source?: { ... }\n source_filter?: { ... }\n related_to?: { ... }\n mode: { ... }\n }>\n linkback_relation_attribute?: string\n linkback_relation_tags?: string[]\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n} | {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "trigger-workflow"\n config?: {\n target_workflow?: string\n conditions?: Array<{\n source: { ... }\n comparison: { ... }\n value?: { ... }\n schema?: { ... }\n }>\n assignees?: string[]\n assign_steps?: Array<{\n step_id?: { ... }\n step_name?: { ... }\n user_ids?: { ... }\n }>\n filter_with_purposes?: boolean\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n} | {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "trigger-workflow"\n config?: {\n partner_org_ids?: string[]\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n} | {\n id?: string\n // ...\n}\n```\n\n### `AutomationActionConfig`\n\n```ts\ntype AutomationActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: string\n config?: Record<string, unknown>\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n}\n```\n\n### `AutomationActionExecutionState`\n\n```ts\ntype AutomationActionExecutionState = {\n execution_status?: "pending" | "starting" | "in_progress" | "paused" | "success" | "failed" | "cancelled" | "skipped" | "scheduled" | "hot"\n started_at?: string\n updated_at?: string\n outputs?: Record<string, unknown>\n error_output?: {\n error_code: "MAPPING_ERROR" | "REFRESH_RELATIONS_ERROR" | "DUPLICATE_ENTITY_ERROR" | "TRIGGER_WORKFLOW_ERROR" | "TIMEOUT_ERROR" | "BAD_CONFIG" | "INTERNAL_ERROR" | "TRIGGER_WEBHOOK_ERROR" | "TEMPLATE_ERROR" | "INVALID_PAYLOAD" | "INVALID_SCHEDULE_CONFIG" | "CUSTOM_ACTION_ERROR" | "ORDER_CREATION_ERROR" | "DOCUMENT_GENERATION_ERROR" | "BULK_EMAIL_ERROR" | "SHARING_ERROR" | "CANCEL_FLOW_EXECUTION_ERROR" | "METER_READING_NOT_FOUND" | "ENTITY_NOT_FOUND"\n error_reason: string\n error_info?: {\n details?: { ... }\n }\n }\n retry_strategy?: "RETRY_AND_RESUME" | "RETRY_AND_STOP" | "RETRY_ALL_PARENT_CONDITION_ACTIONS"\n}\n```\n\n### `RetryStrategy`\n\ndifferent behaviors for retrying failed execution actions.\n\n```ts\ntype RetryStrategy = "RETRY_AND_RESUME" | "RETRY_AND_STOP" | "RETRY_ALL_PARENT_CONDITION_ACTIONS"\n```\n\n### `AutomationAction`\n\n```ts\ntype AutomationAction = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: string\n config?: Record<string, unknown>\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n execution_status?: "pending" | "starting" | "in_progress" | "paused" | "success" | "failed" | "cancelled" | "skipped" | "scheduled" | "hot"\n started_at?: string\n updated_at?: string\n outputs?: Record<string, unknown>\n error_output?: {\n error_code: "MAPPING_ERROR" | "REFRESH_RELATIONS_ERROR" | "DUPLICATE_ENTITY_ERROR" | "TRIGGER_WORKFLOW_ERROR" | "TIMEOUT_ERROR" | "BAD_CONFIG" | "INTERNAL_ERROR" | "TRIGGER_WEBHOOK_ERROR" | "TEMPLATE_ERROR" | "INVALID_PAYLOAD" | "INVALID_SCHEDULE_CONFIG" | "CUSTOM_ACTION_ERROR" | "ORDER_CREATION_ERROR" | "DOCUMENT_GENERATION_ERROR" | "BULK_EMAIL_ERROR" | "SHARING_ERROR" | "CANCEL_FLOW_EXECUTION_ERROR" | "METER_READING_NOT_FOUND" | "ENTITY_NOT_FOUND"\n error_reason: string\n error_info?: {\n details?: { ... }\n }\n }\n retry_strategy?: "RETRY_AND_RESUME" | "RETRY_AND_STOP" | "RETRY_ALL_PARENT_CONDITION_ACTIONS"\n}\n```\n\n### `ErrorOutput`\n\n```ts\ntype ErrorOutput = {\n error_code: "MAPPING_ERROR" | "REFRESH_RELATIONS_ERROR" | "DUPLICATE_ENTITY_ERROR" | "TRIGGER_WORKFLOW_ERROR" | "TIMEOUT_ERROR" | "BAD_CONFIG" | "INTERNAL_ERROR" | "TRIGGER_WEBHOOK_ERROR" | "TEMPLATE_ERROR" | "INVALID_PAYLOAD" | "INVALID_SCHEDULE_CONFIG" | "CUSTOM_ACTION_ERROR" | "ORDER_CREATION_ERROR" | "DOCUMENT_GENERATION_ERROR" | "BULK_EMAIL_ERROR" | "SHARING_ERROR" | "CANCEL_FLOW_EXECUTION_ERROR" | "METER_READING_NOT_FOUND" | "ENTITY_NOT_FOUND"\n error_reason: string\n error_info?: {\n details?: Array<{\n explanation: { ... }\n context?: { ... }\n id?: { ... }\n }>\n }\n}\n```\n\n### `ErrorCode`\n\n```ts\ntype ErrorCode = "MAPPING_ERROR" | "REFRESH_RELATIONS_ERROR" | "DUPLICATE_ENTITY_ERROR" | "TRIGGER_WORKFLOW_ERROR" | "TIMEOUT_ERROR" | "BAD_CONFIG" | "INTERNAL_ERROR" | "TRIGGER_WEBHOOK_ERROR" | "TEMPLATE_ERROR" | "INVALID_PAYLOAD" | "INVALID_SCHEDULE_CONFIG" | "CUSTOM_ACTION_ERROR" | "ORDER_CREATION_ERROR" | "DOCUMENT_GENERATION_ERROR" | "BULK_EMAIL_ERROR" | "SHARING_ERROR" | "CANCEL_FLOW_EXECUTION_ERROR" | "METER_READING_NOT_FOUND" | "ENTITY_NOT_FOUND"\n```\n\n### `ErrorDetail`\n\n```ts\ntype ErrorDetail = {\n explanation: string\n context?: string\n id?: string\n}\n```\n\n### `CartCheckoutActionConfig`\n\n```ts\ntype CartCheckoutActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "cart-checkout"\n config?: {\n version?: string\n mapping_config?: {\n config_id: { ... }\n target_id: { ... }\n version?: { ... }\n }\n relation_attributes?: Array<{\n target: { ... }\n target_tags?: { ... }\n target_tags_include_source?: { ... }\n source_filter?: { ... }\n related_to?: { ... }\n mode: { ... }\n }>\n mapping_attributes?: Array<{\n target?: { ... }\n operation: { ... }\n } | {\n mode: { ... }\n target: { ... }\n value: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source?: { ... }\n value_json: { ... }\n target_unique?: { ... }\n }>\n linkback_relation_attribute?: string\n linkback_relation_tags?: string[]\n target_unique?: string[]\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n}\n```\n\n### `CartCheckoutAction`\n\n```ts\ntype CartCheckoutAction = {\n type?: "cart-checkout"\n config?: {\n version?: string\n mapping_config?: {\n config_id: { ... }\n target_id: { ... }\n version?: { ... }\n }\n relation_attributes?: Array<{\n target: { ... }\n target_tags?: { ... }\n target_tags_include_source?: { ... }\n source_filter?: { ... }\n related_to?: { ... }\n mode: { ... }\n }>\n mapping_attributes?: Array<{\n target?: { ... }\n operation: { ... }\n } | {\n mode: { ... }\n target: { ... }\n value: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source?: { ... }\n value_json: { ... }\n target_unique?: { ... }\n }>\n linkback_relation_attribute?: string\n linkback_relation_tags?: string[]\n target_unique?: string[]\n }\n}\n```\n\n### `CartCheckoutConfig`\n\n```ts\ntype CartCheckoutConfig = {\n version?: string\n mapping_config?: {\n config_id: string\n target_id: string\n version?: number\n }\n relation_attributes?: Array<{\n target: string\n target_tags?: string[]\n target_tags_include_source?: boolean\n source_filter?: {\n limit?: { ... }\n schema?: { ... }\n attribute?: { ... }\n relation_tag?: { ... }\n tag?: { ... }\n self?: { ... }\n }\n related_to?: Record<string, unknown>\n mode: "append" | "prepend" | "set"\n }>\n mapping_attributes?: Array<{\n target?: string\n operation: {\n _set?: { ... }\n _append?: { ... }\n _uniq?: { ... }\n _copy?: { ... }\n } | unknown\n } | {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n value: unknown\n } | {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n source: string\n } | {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n source?: string\n value_json: string\n target_unique?: string[]\n }>\n linkback_relation_attribute?: string\n linkback_relation_tags?: string[]\n target_unique?: string[]\n}\n```\n\n### `MapEntityActionConfig`\n\n```ts\ntype MapEntityActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "map-entity"\n config?: {\n mapping_config?: {\n config_id: { ... }\n target_id: { ... }\n version?: { ... }\n }\n target_schema: string\n target_unique?: string[]\n mapping_attributes?: Array<{\n target?: { ... }\n operation: { ... }\n } | {\n mode: { ... }\n target: { ... }\n value: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source?: { ... }\n value_json: { ... }\n target_unique?: { ... }\n }>\n relation_attributes?: Array<{\n target: { ... }\n target_tags?: { ... }\n target_tags_include_source?: { ... }\n source_filter?: { ... }\n related_to?: { ... }\n mode: { ... }\n }>\n linkback_relation_attribute?: string\n linkback_relation_tags?: string[]\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n}\n```\n\n### `MapEntityAction`\n\n```ts\ntype MapEntityAction = {\n type?: "map-entity"\n config?: {\n mapping_config?: {\n config_id: { ... }\n target_id: { ... }\n version?: { ... }\n }\n target_schema: string\n target_unique?: string[]\n mapping_attributes?: Array<{\n target?: { ... }\n operation: { ... }\n } | {\n mode: { ... }\n target: { ... }\n value: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source: { ... }\n } | {\n mode: { ... }\n target: { ... }\n source?: { ... }\n value_json: { ... }\n target_unique?: { ... }\n }>\n relation_attributes?: Array<{\n target: { ... }\n target_tags?: { ... }\n target_tags_include_source?: { ... }\n source_filter?: { ... }\n related_to?: { ... }\n mode: { ... }\n }>\n linkback_relation_attribute?: string\n linkback_relation_tags?: string[]\n }\n}\n```\n\n### `MapEntityConfig`\n\n```ts\ntype MapEntityConfig = {\n mapping_config?: {\n config_id: string\n target_id: string\n version?: number\n }\n target_schema: string\n target_unique?: string[]\n mapping_attributes?: Array<{\n target?: string\n operation: {\n _set?: { ... }\n _append?: { ... }\n _uniq?: { ... }\n _copy?: { ... }\n } | unknown\n } | {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n value: unknown\n } | {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n source: string\n } | {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n source?: string\n value_json: string\n target_unique?: string[]\n }>\n relation_attributes?: Array<{\n target: string\n target_tags?: string[]\n target_tags_include_source?: boolean\n source_filter?: {\n limit?: { ... }\n schema?: { ... }\n attribute?: { ... }\n relation_tag?: { ... }\n tag?: { ... }\n self?: { ... }\n }\n related_to?: Record<string, unknown>\n mode: "append" | "prepend" | "set"\n }>\n linkback_relation_attribute?: string\n linkback_relation_tags?: string[]\n}\n```\n\n### `MappingConfigRef`\n\n```ts\ntype MappingConfigRef = {\n config_id: string\n target_id: string\n version?: number\n}\n```\n\n### `RelationAttribute`\n\n```ts\ntype RelationAttribute = {\n target: string\n target_tags?: string[]\n target_tags_include_source?: boolean\n source_filter?: {\n limit?: number\n schema?: string\n attribute?: string\n relation_tag?: string\n tag?: string\n self?: boolean\n }\n related_to?: Record<string, unknown>\n mode: "append" | "prepend" | "set"\n}\n```\n\n### `MappingAttributeV2`\n\n```ts\ntype MappingAttributeV2 = {\n target?: string\n operation: {\n _set?: unknown\n _append?: unknown\n _uniq?: boolean | string[]\n _copy?: string\n } | unknown\n}\n```\n\n### `OperationNode`\n\nMapping operation nodes are either primitive values or operation node objects\n\n```ts\ntype OperationNode = {\n _set?: unknown\n _append?: unknown\n _uniq?: boolean | string[]\n _copy?: string\n} | unknown\n```\n\n### `OperationObjectNode`\n\n```ts\ntype OperationObjectNode = {\n _set?: unknown\n _append?: unknown\n _uniq?: boolean | string[]\n _copy?: string\n}\n```\n\n### `PrimitiveJSONValue`\n\n```ts\ntype PrimitiveJSONValue = unknown\n```\n\n### `MappingAttribute`\n\n```ts\ntype MappingAttribute = {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n value: unknown\n} | {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n source: string\n} | {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n source?: string\n value_json: string\n target_unique?: string[]\n}\n```\n\n### `MappingAttributeMode`\n\n- copy_if_exists - it replaces the target attribute with the source value - append_if_exists - it currently replaces target attribute with array like values. Useful when you have multiple values to be added into one attribute. - set_value - it sets a value to a predefined value. Must be used togethe\n\n```ts\ntype MappingAttributeMode = "copy_if_exists" | "append_if_exists" | "set_value"\n```\n\n### `SetValueMapper`\n\n```ts\ntype SetValueMapper = {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n value: unknown\n}\n```\n\n### `CopyValueMapper`\n\n```ts\ntype CopyValueMapper = {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n source: string\n}\n```\n\n### `AppendValueMapper`\n\n```ts\ntype AppendValueMapper = {\n mode: "copy_if_exists" | "append_if_exists" | "set_value"\n target: string\n source?: string\n value_json: string\n target_unique?: string[]\n}\n```\n\n### `MoveThreadAction`\n\n```ts\ntype MoveThreadAction = {\n type?: "move-thread"\n config?: {\n target_inbox_id?: string\n }\n}\n```\n\n### `AssignThreadAction`\n\n```ts\ntype AssignThreadAction = {\n type?: "assign-thread"\n config?: {\n remove?: string[]\n add?: string[]\n }\n}\n```\n\n### `MoveThreadConfig`\n\n```ts\ntype MoveThreadConfig = {\n target_inbox_id?: string\n}\n```\n\n### `AssignThreadConfig`\n\n```ts\ntype AssignThreadConfig = {\n remove?: string[]\n add?: string[]\n}\n```\n\n### `SendEmailActionConfig`\n\n```ts\ntype SendEmailActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "send-email"\n config?: {\n email_template_id?: string\n language_code?: "de" | "en"\n notify_portal_user_only?: boolean\n skip_creating_entities?: boolean\n wait_for_confirmation?: boolean\n attachments?: Array<{\n source_filter?: { ... }\n }>\n conditions?: Array<{\n _equals?: { ... }\n }>\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n}\n```\n\n### `SendEmailAction`\n\n```ts\ntype SendEmailAction = {\n type?: "send-email"\n config?: {\n email_template_id?: string\n language_code?: "de" | "en"\n notify_portal_user_only?: boolean\n skip_creating_entities?: boolean\n wait_for_confirmation?: boolean\n attachments?: Array<{\n source_filter?: { ... }\n }>\n conditions?: Array<{\n _equals?: { ... }\n }>\n }\n}\n```\n\n### `SendEmailConfig`\n\n```ts\ntype SendEmailConfig = {\n email_template_id?: string\n language_code?: "de" | "en"\n notify_portal_user_only?: boolean\n skip_creating_entities?: boolean\n wait_for_confirmation?: boolean\n attachments?: Array<{\n source_filter?: {\n limit?: { ... }\n filename_regex?: { ... }\n attribute?: { ... }\n relation_tag?: { ... }\n tag?: { ... }\n document_type?: { ... }\n self?: { ... }\n }\n }>\n conditions?: Array<{\n _equals?: {\n source?: { ... }\n value?: { ... }\n }\n }>\n}\n```\n\n### `SendEmailCondition`\n\n```ts\ntype SendEmailCondition = {\n _equals?: {\n source?: string\n value?: string\n }\n}\n```\n\n### `CreateDocumentActionConfig`\n\n```ts\ntype CreateDocumentActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "create-document"\n config?: {\n template_id?: string\n filename?: string\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n}\n```\n\n### `CreateDocumentAction`\n\n```ts\ntype CreateDocumentAction = {\n type?: "create-document"\n config?: {\n template_id?: string\n filename?: string\n }\n}\n```\n\n### `CreateDocumentConfig`\n\n```ts\ntype CreateDocumentConfig = {\n template_id?: string\n filename?: string\n}\n```\n\n### `TriggerWorkflowActionConfig`\n\n```ts\ntype TriggerWorkflowActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "trigger-workflow"\n config?: {\n target_workflow?: string\n conditions?: Array<{\n source: { ... }\n comparison: { ... }\n value?: { ... }\n schema?: { ... }\n }>\n assignees?: string[]\n assign_steps?: Array<{\n step_id?: { ... }\n step_name?: { ... }\n user_ids?: { ... }\n }>\n filter_with_purposes?: boolean\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n}\n```\n\n### `TriggerWorkflowAction`\n\n```ts\ntype TriggerWorkflowAction = {\n type?: "trigger-workflow"\n config?: {\n target_workflow?: string\n conditions?: Array<{\n source: { ... }\n comparison: { ... }\n value?: { ... }\n schema?: { ... }\n }>\n assignees?: string[]\n assign_steps?: Array<{\n step_id?: { ... }\n step_name?: { ... }\n user_ids?: { ... }\n }>\n filter_with_purposes?: boolean\n }\n}\n```\n\n### `TriggerWorkflowConfig`\n\n```ts\ntype TriggerWorkflowConfig = {\n target_workflow?: string\n conditions?: Array<{\n source: string\n comparison: "equals" | "any_of" | "not_empty" | "is_empty"\n value?: string | number | string[] | number[]\n schema?: string\n }>\n assignees?: string[]\n assign_steps?: Array<{\n step_id?: string\n step_name?: string\n user_ids?: number[]\n }>\n filter_with_purposes?: boolean\n}\n```\n\n### `TriggerWorkflowCondition`\n\n```ts\ntype TriggerWorkflowCondition = {\n source: string\n comparison: "equals" | "any_of" | "not_empty" | "is_empty"\n value?: string | number | string[] | number[]\n schema?: string\n}\n```\n\n### `TriggerShareEntityActionConfig`\n\n```ts\ntype TriggerShareEntityActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "trigger-workflow"\n config?: {\n partner_org_ids?: string[]\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n}\n```\n\n### `TriggerShareEntityAction`\n\n```ts\ntype TriggerShareEntityAction = {\n type?: "trigger-share-entity"\n config?: {\n partner_org_ids?: string[]\n }\n}\n```\n\n### `TriggerShareEntityConfig`\n\n```ts\ntype TriggerShareEntityConfig = {\n partner_org_ids?: string[]\n}\n```\n\n### `AssignUsersToStep`\n\n```ts\ntype AssignUsersToStep = {\n step_id?: string\n step_name?: string\n user_ids?: number[]\n}\n```\n\n### `CustomAction`\n\n```ts\ntype CustomAction = {\n type?: "custom-action"\n config?: {\n name?: string\n description?: string\n app_id?: string\n component_id?: string\n wait_for_callback?: boolean\n }\n}\n```\n\n### `TriggerWebhookActionConfig`\n\n```ts\ntype TriggerWebhookActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "trigger-webhook"\n config?: {\n event_id?: string\n entity_sources?: string[]\n target_webhook_id?: string\n sync?: boolean\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n}\n```\n\n### `TriggerWebhookAction`\n\n```ts\ntype TriggerWebhookAction = {\n type?: "trigger-webhook"\n config?: {\n event_id?: string\n entity_sources?: string[]\n target_webhook_id?: string\n sync?: boolean\n }\n}\n```\n\n### `TriggerWebhookConfig`\n\n```ts\ntype TriggerWebhookConfig = {\n event_id?: string\n entity_sources?: string[]\n target_webhook_id?: string\n sync?: boolean\n}\n```\n\n### `InformERPActionConfig`\n\n```ts\ntype InformERPActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "inform-erp"\n config?: {\n entity_sources?: string[]\n target_webhook_id?: string\n sync?: boolean\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n}\n```\n\n### `InformERPAction`\n\n```ts\ntype InformERPAction = {\n type?: "inform-erp"\n config?: {\n entity_sources?: string[]\n target_webhook_id?: string\n sync?: boolean\n }\n}\n```\n\n### `InformERPConfig`\n\n```ts\ntype InformERPConfig = {\n entity_sources?: string[]\n target_webhook_id?: string\n sync?: boolean\n}\n```\n\n### `TriggerEventActionConfig`\n\n```ts\ntype TriggerEventActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "trigger-event"\n config?: {\n event_name: string\n event_inputs?: Record<string, unknown>\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n}\n```\n\n### `TriggerEventAction`\n\n```ts\ntype TriggerEventAction = {\n type?: "trigger-event"\n config?: {\n event_name: string\n event_inputs?: Record<string, unknown>\n }\n}\n```\n\n### `TriggerEventConfig`\n\nConfiguration for triggering an event catalog event\n\n```ts\ntype TriggerEventConfig = {\n event_name: string\n event_inputs?: Record<string, unknown>\n}\n```\n\n### `FlowExecutionCancelActionConfig`\n\n```ts\ntype FlowExecutionCancelActionConfig = {\n id?: string\n flow_action_id?: string\n name?: string\n type?: "cancel-flow-execution"\n config?: {\n selected_reasons?: Array<{\n id: { ... }\n title: { ... }\n }>\n extra_description?: string\n }\n allow_failure?: boolean\n created_automatically?: boolean\n is_bulk_action?: boolean\n reason?: {\n message?: string\n payload?: Record<string, unknown>\n }\n condition_id?: string\n schedule_id?: string\n}\n```\n\n### `FlowExecutionCancelAction`\n\n```ts\ntype FlowExecutionCancelAction = {\n type?: "cancel-flow-execution"\n config?: {\n selected_reasons?: Array<{\n id: { ... }\n title: { ... }\n }>\n extra_description?: string\n }\n}\n```\n\n### `FlowExecutionCancelConfig`\n\nConfiguration for cancelling a flow execution with selected reasons\n\n```ts\ntype FlowExecutionCancelConfig = {\n selected_reasons?: Array<{\n id: string\n title: string\n }>\n extra_description?: string\n}\n```\n\n### `CancellationReason`\n\nA reason for cancelling a flow execution\n\n```ts\ntype CancellationReason = {\n id: string\n title: string\n}\n```\n\n### `ConditionStatement`\n\n```ts\ntype ConditionStatement = {\n id?: string // uuid\n source?: {\n id?: string\n origin?: "trigger" | "action"\n originType?: "entity" | "workflow" | "journey_block"\n schema?: string\n attribute?: string\n attributeType?: "string" | "text" | "number" | "boolean" | "date" | "datetime" | "tags" | "country" | "email" | "phone" | "product" | "price" | "status" | "relation" | "multiselect" | "select" | "radio" | "relation_user" | "purpose" | "label" | "payment" | "relation_payment_method"\n attributeRepeatable?: boolean\n repeatableItemOp?: boolean\n attributeOperation?: "all" | "updated" | "added" | "deleted"\n }\n operation?: "equals" | "not_equals" | "any_of" | "none_of" | "contains" | "not_contains" | "starts_with" | "ends_with" | "greater_than" | "less_than" | "greater_than_or_equals" | "less_than_or_equals" | "is_empty" | "is_not_empty" | "entity_exists" | "entity_does_not_exist"\n values?: string[]\n}\n```\n\n### `ActionCondition`\n\n```ts\ntype ActionCondition = {\n id?: string\n schedule_id?: string\n evaluationResult?: boolean\n statements?: Array<{\n id?: string // uuid\n source?: {\n id?: { ... }\n origin?: { ... }\n originType?: { ... }\n schema?: { ... }\n attribute?: { ... }\n attributeType?: { ... }\n attributeRepeatable?: { ... }\n repeatableItemOp?: { ... }\n attributeOperation?: { ... }\n }\n operation?: "equals" | "not_equals" | "any_of" | "none_of" | "contains" | "not_contains" | "starts_with" | "ends_with" | "greater_than" | "less_than" | "greater_than_or_equals" | "less_than_or_equals" | "is_empty" | "is_not_empty" | "entity_exists" | "entity_does_not_exist"\n values?: string[]\n }>\n}\n```\n\n### `ActionScheduleSource`\n\nThe source of the schedule_at timestamp that will be used to schedule the action\n\n```ts\ntype ActionScheduleSource = {\n id: string\n origin: "trigger" | "action" | "action_task" | "automation"\n schema?: string\n attribute?: string\n}\n```\n\n### `ActionSchedule`\n\n```ts\ntype ActionSchedule = {\n id: string\n scheduleApiId?: string\n numberOfUnits?: number\n timePeriod?: "minutes" | "hours" | "days" | "weeks" | "months"\n timeRelation?: "after" | "before"\n source: {\n id: string\n origin: "trigger" | "action" | "action_task" | "automation"\n schema?: string\n attribute?: string\n }\n}\n```\n\n### `AutomationExecutionId`\n\n```ts\ntype AutomationExecutionId = string\n```\n\n### `AutomationExecution`\n\n```ts\ntype AutomationExecution = {\n id: string\n execution_status?: "pending" | "starting" | "in_progress" | "paused" | "success" | "failed" | "cancelled" | "skipped" | "scheduled" | "hot"\n entity_id: string\n activity_id?: string\n entity_snapshot?: {\n _id: string\n _title: string\n _org: string\n _schema: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n }\n org_id: string\n flow_id: string\n flow_name?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n current_action_id?: string\n conditions?: Array<{\n id?: string\n schedule_id?: string\n evaluationResult?: boolean\n statements?: Array<{\n id?: { ... }\n source?: { ... }\n operation?: { ... }\n values?: { ... }\n }>\n }>\n schedules?: Array<{\n id: string\n scheduleApiId?: string\n numberOfUnits?: number\n timePeriod?: "minutes" | "hours" | "days" | "weeks" | "months"\n timeRelation?: "after" | "before"\n source: {\n id: { ... }\n origin: { ... }\n schema?: { ... }\n attribute?: { ... }\n }\n }>\n actions: Array<{\n type?: "map-entity"\n config?: {\n mapping_config?: { ... }\n target_schema: { ... }\n target_unique?: { ... }\n mapping_attributes?: { ... }\n relation_attributes?: { ... }\n linkback_relation_attribute?: { ... }\n linkback_relation_tags?: { ... }\n }\n } | {\n type?: "trigger-workflow"\n config?: {\n target_workflow?: { ... }\n conditions?: { ... }\n assignees?: { ... }\n assign_steps?: { ... }\n filter_with_purposes?: { ... }\n }\n } | {\n type?: "trigger-share-entity"\n config?: {\n partner_org_ids?: { ... }\n }\n } | {\n type?: "trigger-webhook"\n config?: {\n event_id?: { ... }\n entity_sources?: { ... }\n target_webhook_id?: { ... }\n sync?: { ... }\n }\n } | {\n type?: "inform-erp"\n config?: {\n entity_sources?: { ... }\n target_webhook_id?: { ... }\n sync?: { ... }\n }\n } | {\n type?: "trigger-event"\n config?: {\n event_name: { ... }\n event_inputs?: { ... }\n }\n } | {\n type?: "create-document"\n config?: {\n template_id?: { ... }\n filename?: { ... }\n }\n } | {\n type?: "send-email"\n config?: {\n email_template_id?: { ... }\n // ...\n}\n```\n\n### `WorkflowExecutionContext`\n\n```ts\ntype WorkflowExecutionContext = {\n workflow_exec_id: string\n workflow_exec_task_id?: string\n workflow_role: "trigger_workflow" | "run_task_automation"\n _execution_chain?: {\n parent_execution_id?: string\n parent_task_id?: string\n depth?: number\n }\n}\n```\n\n### `ExecutionChain`\n\n[Internal] Tracks execution chain for infinite loop prevention. This is an internal property and should not be used by external consumers.\n\n```ts\ntype ExecutionChain = {\n parent_execution_id?: string\n parent_task_id?: string\n depth?: number\n}\n```\n\n### `TriggerEventManual`\n\n```ts\ntype TriggerEventManual = {\n type?: "manual"\n org_id: string\n entity_id: string\n caller?: {\n EpilotAuth?: {\n claims?: { ... }\n userId?: { ... }\n organizationId?: { ... }\n token?: { ... }\n }\n }\n}\n```\n\n### `TriggerEventFlowAutomationTask`\n\n```ts\ntype TriggerEventFlowAutomationTask = {\n type?: "flow_automation_task"\n org_id: string\n entity_id: string\n flow_execution_id: string\n flow_automation_task_id: string // UUID\n caller?: {\n EpilotAuth?: {\n claims?: { ... }\n userId?: { ... }\n organizationId?: { ... }\n token?: { ... }\n }\n }\n}\n```\n\n### `TriggerEventEntityActivity`\n\n```ts\ntype TriggerEventEntityActivity = {\n type?: "entity_activity"\n org_id: string\n activity_id: string\n activity_type: string\n entity_id?: string\n}\n```\n\n### `TriggerEventMessaging`\n\n```ts\ntype TriggerEventMessaging = {\n type?: "new_email_thread"\n org_id: string\n thread_id: string\n message_id: string\n entity_id: string\n}\n```\n\n### `TriggerEventEntityOperation`\n\n```ts\ntype TriggerEventEntityOperation = {\n type?: "entity_operation"\n entity_id: string\n org_id: string\n activity_id: string\n operation_type: "createEntity" | "updateEntity" | "deleteEntity" | "softDeleteEntity" | "restoreEntity"\n}\n```\n\n### `ApiCallerContext`\n\n```ts\ntype ApiCallerContext = {\n EpilotAuth?: {\n claims?: {\n userId?: { ... }\n sub?: { ... }\n email?: { ... }\n cognito:username?: { ... }\n custom:ivy_user_id?: { ... }\n }\n userId?: string\n organizationId?: string\n token?: string\n }\n}\n```\n\n### `ExecutionStatus`\n\n```ts\ntype ExecutionStatus = "pending" | "starting" | "in_progress" | "paused" | "success" | "failed" | "cancelled" | "skipped" | "scheduled" | "hot"\n```\n\n### `GetExecutionsResp`\n\n```ts\ntype GetExecutionsResp = {\n total: number\n results: Array<{\n id: string\n execution_status?: "pending" | "starting" | "in_progress" | "paused" | "success" | "failed" | "cancelled" | "skipped" | "scheduled" | "hot"\n entity_id: string\n activity_id?: string\n entity_snapshot?: {\n _id: { ... }\n _title: { ... }\n _org: { ... }\n _schema: { ... }\n _tags?: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n }\n org_id: string\n flow_id: string\n flow_name?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n current_action_id?: string\n conditions?: Array<{\n id?: { ... }\n schedule_id?: { ... }\n evaluationResult?: { ... }\n statements?: { ... }\n }>\n schedules?: Array<{\n id: { ... }\n scheduleApiId?: { ... }\n numberOfUnits?: { ... }\n timePeriod?: { ... }\n timeRelation?: { ... }\n source: { ... }\n }>\n actions: Array<{\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n id?: { ... }\n flow_action_id?: { ... }\n name?: { ... }\n type?: { ... }\n config?: { ... }\n allow_failure?: { ... }\n created_automatically?: { ... }\n is_bulk_action?: { ... }\n reason?: { ... }\n condition_id?: { ... }\n schedule_id?: { ... }\n execution_status?: { ... }\n started_at?: { ... }\n updated_at?: { ... }\n outputs?: { ... }\n error_output?: { ... }\n retry_strategy?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n }>\n resume_token?: string\n trigger_context?: Record<string, string>\n version?: number\n trigger_event?: {\n type?: { ... }\n org_id: { ... }\n entity_id: { ... }\n caller?: { ... }\n } | {\n type?: { ... }\n org_id: { ... }\n activity_id: { ... }\n // ...\n}\n```\n\n### `StartExecutionRequest`\n\n```ts\ntype StartExecutionRequest = {\n entity_id: string\n flow_id: string\n workflow_context?: {\n workflow_exec_id: string\n workflow_exec_task_id?: string\n workflow_role: "trigger_workflow" | "run_task_automation"\n _execution_chain?: {\n parent_execution_id?: { ... }\n parent_task_id?: { ... }\n depth?: { ... }\n }\n }\n flow_execution_id?: string\n flow_automation_task_id?: string\n}\n```\n\n### `PatchBulkJobRequest`\n\n```ts\ntype PatchBulkJobRequest = {\n action: "APPROVE" | "CANCEL"\n task_token: string\n}\n```\n\n### `BulkTriggerRequest`\n\n```ts\ntype BulkTriggerRequest = {\n flow_id: string\n entities_refs: Array<{\n entity_id: string\n entity_schema: string\n }>\n trigger_context?: Record<string, string>\n} | {\n flow_id: string\n entities_query: string\n trigger_context?: Record<string, string>\n} | {\n flow_id: string\n entities_filter: Array<{\n term?: Record<string, string | number | boolean>\n terms?: Record<string, string | number | boolean[]>\n ids?: {\n values?: { ... }\n }\n range?: Record<string, {\n gt?: { ... }\n gte?: { ... }\n lt?: { ... }\n lte?: { ... }\n format?: { ... }\n relation?: { ... }\n time_zone?: { ... }\n }>\n exists?: {\n field: { ... }\n }\n $and?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n $or?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n $not?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n }>\n trigger_context?: Record<string, string>\n}\n```\n\n### `EntityRef`\n\n```ts\ntype EntityRef = {\n entity_id: string\n entity_schema: string\n}\n```\n\n### `BulkTriggerJob`\n\n```ts\ntype BulkTriggerJob = {\n job_id: string\n org_id: string\n flow_id: string\n status: "approval" | "querying_entities" | "entities_loaded" | "executing" | "monitoring" | "send_report" | "finished" | "failed" | "cancelled"\n created_by: string\n created_at: string // date-time\n updated_at: string // date-time\n approved_at?: string // date-time\n trigger_context?: Record<string, string>\n task_token?: string\n report_file_entity_id?: string\n entity_query?: {\n type: "refs" | "query" | "filter"\n data: Array<{\n entity_id: { ... }\n entity_schema: { ... }\n }> | string | Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n }\n pagination_state?: {\n page_size?: number\n pages_processed?: number\n total_processed?: number\n stable_query_id?: string\n search_after?: string | number[]\n has_more?: boolean\n }\n execution_summary?: Array<{\n entity_id: string\n entity_schema?: string\n execution_id?: string\n execution_status: "pending" | "starting" | "in_progress" | "paused" | "success" | "failed" | "cancelled" | "skipped" | "scheduled" | "hot"\n timestamp?: string // date-time\n error?: string\n }>\n}\n```\n\n### `ExecItem`\n\nExecution item for bulk trigger automation. It maps each entity to its automation execution id & status\n\n```ts\ntype ExecItem = {\n entity_id: string\n entity_schema?: string\n execution_id?: string\n execution_status: "pending" | "starting" | "in_progress" | "paused" | "success" | "failed" | "cancelled" | "skipped" | "scheduled" | "hot"\n timestamp?: string // date-time\n error?: string\n}\n```\n\n### `JobId`\n\nJob ID for tracking the status of bulk trigger automation executions\n\n```ts\ntype JobId = string\n```\n\n### `EntityId`\n\n```ts\ntype EntityId = string\n```\n\n### `ActivityId`\n\n```ts\ntype ActivityId = string\n```\n\n### `OrganizationId`\n\n```ts\ntype OrganizationId = string\n```\n\n### `TriggerContext`\n\nAdditional contextual data for a bulk trigger automation. This would normally include additional entity IDs you\'d need after a listener picks up an event.\n\n```ts\ntype TriggerContext = Record<string, string>\n```\n\n### `AutomationTrigger`\n\n```ts\ntype AutomationTrigger = {\n id?: string // uuid\n}\n```\n\n### `FlowsTrigger`\n\n```ts\ntype FlowsTrigger = {\n id?: string // uuid\n type: "flows_trigger"\n configuration?: {\n journey_id?: string // uuid\n }\n}\n```\n\n### `JourneySubmitTrigger`\n\n```ts\ntype JourneySubmitTrigger = {\n id?: string // uuid\n type: "journey_submission"\n configuration: {\n source_id: string // uuid\n }\n}\n```\n\n### `FrontendSubmitTrigger`\n\n```ts\ntype FrontendSubmitTrigger = {\n id?: string // uuid\n type: "frontend_submission"\n configuration: {\n source_id?: string\n }\n}\n```\n\n### `ApiSubmissionTrigger`\n\n```ts\ntype ApiSubmissionTrigger = {\n id?: string // uuid\n type: "api_submission"\n configuration: {\n source_id?: string\n }\n}\n```\n\n### `NewEmailThreadTrigger`\n\n```ts\ntype NewEmailThreadTrigger = {\n id?: string // uuid\n type: "new_email_thread"\n configuration: {\n shared_inbox_ids?: string[]\n direction: "INBOUND" | "OUTBOUND" | "BOTH"\n }\n}\n```\n\n### `ReceivedEmailTrigger`\n\n```ts\ntype ReceivedEmailTrigger = {\n id?: string // uuid\n type: "received_email"\n configuration: {\n message_type?: "RECEIVED"\n }\n}\n```\n\n### `EntityOperationTrigger`\n\n- If provides filter_config, executes an automation based on the filtered configuration when an entity event occurs.\n- The conditions on a filter follows the event bridge patterns - `https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html`\n | Comparison | Example\n\n```ts\ntype EntityOperationTrigger = {\n id?: string // uuid\n type: "entity_operation"\n configuration: {\n schema?: string\n operations?: "createEntity" | "updateEntity" | "deleteEntity" | "softDeleteEntity" | "restoreEntity"[]\n include_activities?: string[]\n exclude_activities?: string[]\n filter_config?: {\n operation?: { ... }\n activity?: { ... }\n }\n ecp_config?: {\n origin?: { ... }\n portal_id?: { ... }\n file_config?: { ... }\n }\n }\n}\n```\n\n### `ActivityTrigger`\n\n```ts\ntype ActivityTrigger = {\n id?: string // uuid\n type: "activity"\n configuration: {\n schema?: string\n types?: "CreateMeterReading" | "UpdateMeterReading" | "DocDownloadedFromPortal" | "PortalUserResetPassword" | "PortalUserResetForgotPassword" | "SelfAssignmentFromPortal" | string[]\n }\n}\n```\n\n### `EntityOperation`\n\n```ts\ntype EntityOperation = "createEntity" | "updateEntity" | "deleteEntity" | "softDeleteEntity" | "restoreEntity"\n```\n\n### `EntitySearchFilter`\n\nA subset of simplified Elasticsearch query clauses. The default operator is a logical AND. Use nested $and, $or, $not to combine filters using different logical operators.\n\n```ts\ntype EntitySearchFilter = Array<{\n term?: Record<string, string | number | boolean>\n terms?: Record<string, string | number | boolean[]>\n ids?: {\n values?: string[]\n }\n range?: Record<string, {\n gt?: string | number | boolean\n gte?: string | number | boolean\n lt?: string | number | boolean\n lte?: string | number | boolean\n format?: string\n relation?: "INTERSECTS" | "CONTAINS" | "WITHIN"\n time_zone?: string\n }>\n exists?: {\n field: string\n }\n $and?: Array<{\n term?: Record<string, string | number | boolean>\n terms?: Record<string, string | number | boolean[]>\n ids?: {\n values?: { ... }\n }\n range?: Record<string, {\n gt?: { ... }\n gte?: { ... }\n lt?: { ... }\n lte?: { ... }\n format?: { ... }\n relation?: { ... }\n time_zone?: { ... }\n }>\n exists?: {\n field: { ... }\n }\n $and?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n $or?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n $not?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n }>\n $or?: Array<{\n term?: Record<string, string | number | boolean>\n terms?: Record<string, string | number | boolean[]>\n ids?: {\n values?: { ... }\n }\n range?: Record<string, {\n gt?: { ... }\n gte?: { ... }\n lt?: { ... }\n lte?: { ... }\n format?: { ... }\n relation?: { ... }\n time_zone?: { ... }\n }>\n exists?: {\n field: { ... }\n }\n $and?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n $or?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n // ...\n}\n```\n\n### `EntitySearchFilterValue`\n\nA filter field value.\n\n```ts\ntype EntitySearchFilterValue = string | number | boolean\n```\n\n### `EntityManualTrigger`\n\n```ts\ntype EntityManualTrigger = {\n id?: string // uuid\n type: "entity_manual"\n configuration: {\n schema?: string\n }\n}\n```\n\n### `TriggerCondition`\n\n```ts\ntype TriggerCondition = {\n source: string\n comparison: "equals" | "any_of" | "not_empty" | "is_empty"\n value?: string | number | string[] | number[]\n}\n```\n\n### `Comparison`\n\n```ts\ntype Comparison = "equals" | "any_of" | "not_empty" | "is_empty"\n```\n\n### `FilterConditionOnEvent`\n\n```ts\ntype FilterConditionOnEvent = {\n $or?: Array<{\n $or?: Array<{\n $or?: { ... }\n } | Record<string, Array<string | {\n equals-ignore-case?: { ... }\n } | {\n anything-but?: { ... }\n } | {\n numeric?: { ... }\n } | {\n exists?: { ... }\n } | {\n prefix?: { ... }\n } | {\n suffix?: { ... }\n } | {\n wildcard?: { ... }\n }>>>\n } | Record<string, Array<string | {\n equals-ignore-case?: string\n } | {\n anything-but?: string[]\n } | {\n numeric?: string | number[]\n } | {\n exists?: boolean\n } | {\n prefix?: string\n } | {\n suffix?: string\n } | {\n wildcard?: string\n }>>>\n} | Record<string, Array<string | {\n equals-ignore-case?: string\n} | {\n anything-but?: string[]\n} | {\n numeric?: string | number[]\n} | {\n exists?: boolean\n} | {\n prefix?: string\n} | {\n suffix?: string\n} | {\n wildcard?: string\n}>>\n```\n\n### `EqualsIgnoreCaseCondition`\n\n```ts\ntype EqualsIgnoreCaseCondition = {\n equals-ignore-case?: string\n}\n```\n\n### `AnythingButCondition`\n\n```ts\ntype AnythingButCondition = {\n anything-but?: string[]\n}\n```\n\n### `NumericCondition`\n\n```ts\ntype NumericCondition = {\n numeric?: string | number[]\n}\n```\n\n### `ExistsCondition`\n\n```ts\ntype ExistsCondition = {\n exists?: boolean\n}\n```\n\n### `PrefixCondition`\n\n```ts\ntype PrefixCondition = {\n prefix?: string\n}\n```\n\n### `SuffixCondition`\n\n```ts\ntype SuffixCondition = {\n suffix?: string\n}\n```\n\n### `WildcardCondition`\n\n```ts\ntype WildcardCondition = {\n wildcard?: string\n}\n```\n\n### `OrCondition`\n\n```ts\ntype OrCondition = {\n $or?: Array<{\n $or?: Array<{\n $or?: { ... }\n } | Record<string, Array<string | {\n equals-ignore-case?: { ... }\n } | {\n anything-but?: { ... }\n } | {\n numeric?: { ... }\n } | {\n exists?: { ... }\n } | {\n prefix?: { ... }\n } | {\n suffix?: { ... }\n } | {\n wildcard?: { ... }\n }>>>\n } | Record<string, Array<string | {\n equals-ignore-case?: string\n } | {\n anything-but?: string[]\n } | {\n numeric?: string | number[]\n } | {\n exists?: boolean\n } | {\n prefix?: string\n } | {\n suffix?: string\n } | {\n wildcard?: string\n }>>>\n}\n```\n\n### `DiffAdded`\n\n```ts\ntype DiffAdded = {\n $or?: Array<{\n $or?: Array<{\n $or?: { ... }\n } | Record<string, Array<string | {\n equals-ignore-case?: { ... }\n } | {\n anything-but?: { ... }\n } | {\n numeric?: { ... }\n } | {\n exists?: { ... }\n } | {\n prefix?: { ... }\n } | {\n suffix?: { ... }\n } | {\n wildcard?: { ... }\n }>>>\n } | Record<string, Array<string | {\n equals-ignore-case?: string\n } | {\n anything-but?: string[]\n } | {\n numeric?: string | number[]\n } | {\n exists?: boolean\n } | {\n prefix?: string\n } | {\n suffix?: string\n } | {\n wildcard?: string\n }>>>\n} | Record<string, Array<string | {\n equals-ignore-case?: string\n} | {\n anything-but?: string[]\n} | {\n numeric?: string | number[]\n} | {\n exists?: boolean\n} | {\n prefix?: string\n} | {\n suffix?: string\n} | {\n wildcard?: string\n}>>\n```\n\n### `DiffUpdated`\n\n```ts\ntype DiffUpdated = {\n $or?: Array<{\n $or?: Array<{\n $or?: { ... }\n } | Record<string, Array<string | {\n equals-ignore-case?: { ... }\n } | {\n anything-but?: { ... }\n } | {\n numeric?: { ... }\n } | {\n exists?: { ... }\n } | {\n prefix?: { ... }\n } | {\n suffix?: { ... }\n } | {\n wildcard?: { ... }\n }>>>\n } | Record<string, Array<string | {\n equals-ignore-case?: string\n } | {\n anything-but?: string[]\n } | {\n numeric?: string | number[]\n } | {\n exists?: boolean\n } | {\n prefix?: string\n } | {\n suffix?: string\n } | {\n wildcard?: string\n }>>>\n} | Record<string, Array<string | {\n equals-ignore-case?: string\n} | {\n anything-but?: string[]\n} | {\n numeric?: string | number[]\n} | {\n exists?: boolean\n} | {\n prefix?: string\n} | {\n suffix?: string\n} | {\n wildcard?: string\n}>>\n```\n\n### `DiffDeleted`\n\n```ts\ntype DiffDeleted = {\n $or?: Array<{\n $or?: Array<{\n $or?: { ... }\n } | Record<string, Array<string | {\n equals-ignore-case?: { ... }\n } | {\n anything-but?: { ... }\n } | {\n numeric?: { ... }\n } | {\n exists?: { ... }\n } | {\n prefix?: { ... }\n } | {\n suffix?: { ... }\n } | {\n wildcard?: { ... }\n }>>>\n } | Record<string, Array<string | {\n equals-ignore-case?: string\n } | {\n anything-but?: string[]\n } | {\n numeric?: string | number[]\n } | {\n exists?: boolean\n } | {\n prefix?: string\n } | {\n suffix?: string\n } | {\n wildcard?: string\n }>>>\n} | Record<string, Array<string | {\n equals-ignore-case?: string\n} | {\n anything-but?: string[]\n} | {\n numeric?: string | number[]\n} | {\n exists?: boolean\n} | {\n prefix?: string\n} | {\n suffix?: string\n} | {\n wildcard?: string\n}>>\n```\n\n### `OrConditionForDiff`\n\n```ts\ntype OrConditionForDiff = {\n $or?: unknown | unknown | unknown[]\n}\n```\n\n### `EntityItemSnapshot`\n\n```ts\ntype EntityItemSnapshot = {\n _id: string\n _title: string\n _org: string\n _schema: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n}\n```\n\n### `RetryReq`\n\n```ts\ntype RetryReq = {\n condition_id?: string\n retry_strategy?: "RETRY_AND_RESUME" | "RETRY_AND_STOP" | "RETRY_ALL_PARENT_CONDITION_ACTIONS"\n}\n```\n\n### `ResumeToken`\n\nA unique token to resume a paused automation execution\n\n```ts\ntype ResumeToken = string\n```\n\n### `ResumeReq`\n\n```ts\ntype ResumeReq = {\n resume_token: string\n}\n```\n\n### `ResumeResp`\n\n```ts\ntype ResumeResp = {\n execution: {\n id: string\n execution_status?: "pending" | "starting" | "in_progress" | "paused" | "success" | "failed" | "cancelled" | "skipped" | "scheduled" | "hot"\n entity_id: string\n activity_id?: string\n entity_snapshot?: {\n _id: { ... }\n _title: { ... }\n _org: { ... }\n _schema: { ... }\n _tags?: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n }\n org_id: string\n flow_id: string\n flow_name?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n current_action_id?: string\n conditions?: Array<{\n id?: { ... }\n schedule_id?: { ... }\n evaluationResult?: { ... }\n statements?: { ... }\n }>\n schedules?: Array<{\n id: { ... }\n scheduleApiId?: { ... }\n numberOfUnits?: { ... }\n timePeriod?: { ... }\n timeRelation?: { ... }\n source: { ... }\n }>\n actions: Array<{\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n } | {\n id?: { ... }\n flow_action_id?: { ... }\n name?: { ... }\n type?: { ... }\n config?: { ... }\n allow_failure?: { ... }\n created_automatically?: { ... }\n is_bulk_action?: { ... }\n reason?: { ... }\n condition_id?: { ... }\n schedule_id?: { ... }\n execution_status?: { ... }\n started_at?: { ... }\n updated_at?: { ... }\n outputs?: { ... }\n error_output?: { ... }\n retry_strategy?: { ... }\n } | {\n type?: { ... }\n config?: { ... }\n }>\n resume_token?: string\n trigger_context?: Record<string, string>\n version?: number\n trigger_event?: {\n type?: { ... }\n org_id: { ... }\n entity_id: { ... }\n caller?: { ... }\n } | {\n type?: { ... }\n org_id: { ... }\n activity_id: { ... }\n activity_type: { ... }\n // ...\n}\n```\n\n### `ErrorObject`\n\n```ts\ntype ErrorObject = {\n status?: number\n error?: string\n}\n```\n';
5
+
6
+
7
+ exports.default = automation_default;