@epilot/sdk 2.1.0 → 2.1.2

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 (490) hide show
  1. package/README.md +24 -0
  2. package/definitions/environments-runtime.json +1 -1
  3. package/definitions/partner-directory-runtime.json +1 -1
  4. package/definitions/partner-directory.json +795 -229
  5. package/dist/{README-W4B35MRN.cjs → README-6OOYWQYJ.cjs} +1 -1
  6. package/dist/{README-VG67PX4R.js → README-JUWX7KNV.js} +1 -1
  7. package/dist/{_index-S6LFD3ER.js → _index-NWNYWBIF.js} +48 -1
  8. package/dist/{_index-AMVZBT2K.cjs → _index-ONGE545F.cjs} +48 -1
  9. package/dist/access-token-2O6ULCCN.js +633 -0
  10. package/dist/access-token-RKP2A2F7.cjs +633 -0
  11. package/dist/access-token-runtime-KCKGT4O7.js +5 -0
  12. package/dist/access-token-runtime-NZWZJPWV.cjs +5 -0
  13. package/dist/address-HLBX47SQ.cjs +567 -0
  14. package/dist/address-IJF4N2UV.js +567 -0
  15. package/dist/address-runtime-2MNO2YRD.cjs +5 -0
  16. package/dist/address-runtime-YFCNBJBW.js +5 -0
  17. package/dist/address-suggestions-BYUTV7OU.js +574 -0
  18. package/dist/address-suggestions-ERVGGO6Z.cjs +574 -0
  19. package/dist/address-suggestions-runtime-NIMC2J32.js +5 -0
  20. package/dist/address-suggestions-runtime-ZNGLDADE.cjs +5 -0
  21. package/dist/ai-agents-6VHVYRCC.cjs +1612 -0
  22. package/dist/ai-agents-PKCHKKJS.js +1612 -0
  23. package/dist/ai-agents-runtime-25YRUJHI.js +5 -0
  24. package/dist/ai-agents-runtime-TILIO3UM.cjs +5 -0
  25. package/dist/apis/access-token.cjs +8 -8
  26. package/dist/apis/access-token.d.cts +2 -2
  27. package/dist/apis/access-token.d.ts +2 -2
  28. package/dist/apis/access-token.js +4 -4
  29. package/dist/apis/address-suggestions.cjs +8 -8
  30. package/dist/apis/address-suggestions.d.cts +2 -2
  31. package/dist/apis/address-suggestions.d.ts +2 -2
  32. package/dist/apis/address-suggestions.js +4 -4
  33. package/dist/apis/address.cjs +8 -8
  34. package/dist/apis/address.d.cts +2 -2
  35. package/dist/apis/address.d.ts +2 -2
  36. package/dist/apis/address.js +4 -4
  37. package/dist/apis/ai-agents.cjs +8 -8
  38. package/dist/apis/ai-agents.d.cts +2 -2
  39. package/dist/apis/ai-agents.d.ts +2 -2
  40. package/dist/apis/ai-agents.js +4 -4
  41. package/dist/apis/app.cjs +8 -8
  42. package/dist/apis/app.d.cts +2 -2
  43. package/dist/apis/app.d.ts +2 -2
  44. package/dist/apis/app.js +4 -4
  45. package/dist/apis/audit-logs.cjs +8 -8
  46. package/dist/apis/audit-logs.d.cts +2 -2
  47. package/dist/apis/audit-logs.d.ts +2 -2
  48. package/dist/apis/audit-logs.js +4 -4
  49. package/dist/apis/automation.cjs +8 -8
  50. package/dist/apis/automation.d.cts +2 -2
  51. package/dist/apis/automation.d.ts +2 -2
  52. package/dist/apis/automation.js +4 -4
  53. package/dist/apis/billing.cjs +8 -8
  54. package/dist/apis/billing.d.cts +2 -2
  55. package/dist/apis/billing.d.ts +2 -2
  56. package/dist/apis/billing.js +4 -4
  57. package/dist/apis/blueprint-manifest.cjs +8 -8
  58. package/dist/apis/blueprint-manifest.d.cts +2 -2
  59. package/dist/apis/blueprint-manifest.d.ts +2 -2
  60. package/dist/apis/blueprint-manifest.js +4 -4
  61. package/dist/apis/consent.cjs +8 -8
  62. package/dist/apis/consent.d.cts +2 -2
  63. package/dist/apis/consent.d.ts +2 -2
  64. package/dist/apis/consent.js +4 -4
  65. package/dist/apis/customer-portal.cjs +8 -8
  66. package/dist/apis/customer-portal.d.cts +2 -2
  67. package/dist/apis/customer-portal.d.ts +2 -2
  68. package/dist/apis/customer-portal.js +4 -4
  69. package/dist/apis/dashboard.cjs +8 -8
  70. package/dist/apis/dashboard.d.cts +2 -2
  71. package/dist/apis/dashboard.d.ts +2 -2
  72. package/dist/apis/dashboard.js +4 -4
  73. package/dist/apis/data-management.cjs +8 -8
  74. package/dist/apis/data-management.d.cts +2 -2
  75. package/dist/apis/data-management.d.ts +2 -2
  76. package/dist/apis/data-management.js +4 -4
  77. package/dist/apis/deduplication.cjs +8 -8
  78. package/dist/apis/deduplication.d.cts +2 -2
  79. package/dist/apis/deduplication.d.ts +2 -2
  80. package/dist/apis/deduplication.js +4 -4
  81. package/dist/apis/design.cjs +8 -8
  82. package/dist/apis/design.d.cts +2 -2
  83. package/dist/apis/design.d.ts +2 -2
  84. package/dist/apis/design.js +4 -4
  85. package/dist/apis/document.cjs +8 -8
  86. package/dist/apis/document.d.cts +2 -2
  87. package/dist/apis/document.d.ts +2 -2
  88. package/dist/apis/document.js +4 -4
  89. package/dist/apis/email-settings.cjs +8 -8
  90. package/dist/apis/email-settings.d.cts +2 -2
  91. package/dist/apis/email-settings.d.ts +2 -2
  92. package/dist/apis/email-settings.js +4 -4
  93. package/dist/apis/email-template.cjs +8 -8
  94. package/dist/apis/email-template.d.cts +2 -2
  95. package/dist/apis/email-template.d.ts +2 -2
  96. package/dist/apis/email-template.js +4 -4
  97. package/dist/apis/entity-mapping.cjs +8 -8
  98. package/dist/apis/entity-mapping.d.cts +2 -2
  99. package/dist/apis/entity-mapping.d.ts +2 -2
  100. package/dist/apis/entity-mapping.js +4 -4
  101. package/dist/apis/entity.cjs +8 -8
  102. package/dist/apis/entity.d.cts +2 -2
  103. package/dist/apis/entity.d.ts +2 -2
  104. package/dist/apis/entity.js +4 -4
  105. package/dist/apis/environments.cjs +8 -8
  106. package/dist/apis/environments.d.cts +2 -2
  107. package/dist/apis/environments.d.ts +2 -2
  108. package/dist/apis/environments.js +4 -4
  109. package/dist/apis/erp-integration.cjs +8 -8
  110. package/dist/apis/erp-integration.d.cts +2 -2
  111. package/dist/apis/erp-integration.d.ts +2 -2
  112. package/dist/apis/erp-integration.js +4 -4
  113. package/dist/apis/event-catalog.cjs +8 -8
  114. package/dist/apis/event-catalog.d.cts +2 -2
  115. package/dist/apis/event-catalog.d.ts +2 -2
  116. package/dist/apis/event-catalog.js +4 -4
  117. package/dist/apis/file.cjs +8 -8
  118. package/dist/apis/file.d.cts +2 -2
  119. package/dist/apis/file.d.ts +2 -2
  120. package/dist/apis/file.js +4 -4
  121. package/dist/apis/iban.cjs +8 -8
  122. package/dist/apis/iban.d.cts +2 -2
  123. package/dist/apis/iban.d.ts +2 -2
  124. package/dist/apis/iban.js +4 -4
  125. package/dist/apis/journey.cjs +8 -8
  126. package/dist/apis/journey.d.cts +2 -2
  127. package/dist/apis/journey.d.ts +2 -2
  128. package/dist/apis/journey.js +4 -4
  129. package/dist/apis/kanban.cjs +8 -8
  130. package/dist/apis/kanban.d.cts +2 -2
  131. package/dist/apis/kanban.d.ts +2 -2
  132. package/dist/apis/kanban.js +4 -4
  133. package/dist/apis/message.cjs +8 -8
  134. package/dist/apis/message.d.cts +2 -2
  135. package/dist/apis/message.d.ts +2 -2
  136. package/dist/apis/message.js +4 -4
  137. package/dist/apis/metering.cjs +8 -8
  138. package/dist/apis/metering.d.cts +2 -2
  139. package/dist/apis/metering.d.ts +2 -2
  140. package/dist/apis/metering.js +4 -4
  141. package/dist/apis/notes.cjs +8 -8
  142. package/dist/apis/notes.d.cts +2 -2
  143. package/dist/apis/notes.d.ts +2 -2
  144. package/dist/apis/notes.js +4 -4
  145. package/dist/apis/notification.cjs +8 -8
  146. package/dist/apis/notification.d.cts +2 -2
  147. package/dist/apis/notification.d.ts +2 -2
  148. package/dist/apis/notification.js +4 -4
  149. package/dist/apis/organization.cjs +8 -8
  150. package/dist/apis/organization.d.cts +2 -2
  151. package/dist/apis/organization.d.ts +2 -2
  152. package/dist/apis/organization.js +4 -4
  153. package/dist/apis/partner-directory.cjs +8 -8
  154. package/dist/apis/partner-directory.d.cts +4 -4
  155. package/dist/apis/partner-directory.d.ts +4 -4
  156. package/dist/apis/partner-directory.js +4 -4
  157. package/dist/apis/permissions.cjs +8 -8
  158. package/dist/apis/permissions.d.cts +2 -2
  159. package/dist/apis/permissions.d.ts +2 -2
  160. package/dist/apis/permissions.js +4 -4
  161. package/dist/apis/pricing-tier.cjs +8 -8
  162. package/dist/apis/pricing-tier.d.cts +2 -2
  163. package/dist/apis/pricing-tier.d.ts +2 -2
  164. package/dist/apis/pricing-tier.js +4 -4
  165. package/dist/apis/pricing.cjs +8 -8
  166. package/dist/apis/pricing.d.cts +2 -2
  167. package/dist/apis/pricing.d.ts +2 -2
  168. package/dist/apis/pricing.js +4 -4
  169. package/dist/apis/purpose.cjs +8 -8
  170. package/dist/apis/purpose.d.cts +2 -2
  171. package/dist/apis/purpose.d.ts +2 -2
  172. package/dist/apis/purpose.js +4 -4
  173. package/dist/apis/sandbox.cjs +8 -8
  174. package/dist/apis/sandbox.d.cts +2 -2
  175. package/dist/apis/sandbox.d.ts +2 -2
  176. package/dist/apis/sandbox.js +4 -4
  177. package/dist/apis/submission.cjs +8 -8
  178. package/dist/apis/submission.d.cts +2 -2
  179. package/dist/apis/submission.d.ts +2 -2
  180. package/dist/apis/submission.js +4 -4
  181. package/dist/apis/targeting.cjs +8 -8
  182. package/dist/apis/targeting.d.cts +2 -2
  183. package/dist/apis/targeting.d.ts +2 -2
  184. package/dist/apis/targeting.js +4 -4
  185. package/dist/apis/template-variables.cjs +8 -8
  186. package/dist/apis/template-variables.d.cts +2 -2
  187. package/dist/apis/template-variables.d.ts +2 -2
  188. package/dist/apis/template-variables.js +4 -4
  189. package/dist/apis/user.cjs +8 -8
  190. package/dist/apis/user.d.cts +2 -2
  191. package/dist/apis/user.d.ts +2 -2
  192. package/dist/apis/user.js +4 -4
  193. package/dist/apis/validation-rules.cjs +8 -8
  194. package/dist/apis/validation-rules.d.cts +2 -2
  195. package/dist/apis/validation-rules.d.ts +2 -2
  196. package/dist/apis/validation-rules.js +4 -4
  197. package/dist/apis/webhooks.cjs +8 -8
  198. package/dist/apis/webhooks.d.cts +2 -2
  199. package/dist/apis/webhooks.d.ts +2 -2
  200. package/dist/apis/webhooks.js +4 -4
  201. package/dist/apis/workflow-definition.cjs +8 -8
  202. package/dist/apis/workflow-definition.d.cts +2 -2
  203. package/dist/apis/workflow-definition.d.ts +2 -2
  204. package/dist/apis/workflow-definition.js +4 -4
  205. package/dist/apis/workflow.cjs +8 -8
  206. package/dist/apis/workflow.d.cts +2 -2
  207. package/dist/apis/workflow.d.ts +2 -2
  208. package/dist/apis/workflow.js +4 -4
  209. package/dist/app-5VPBDFW2.cjs +4047 -0
  210. package/dist/app-VJW2KKWE.js +4047 -0
  211. package/dist/app-runtime-SSNHSBR7.cjs +5 -0
  212. package/dist/app-runtime-U7RGV7KT.js +5 -0
  213. package/dist/audit-logs-F2NHDISQ.js +312 -0
  214. package/dist/audit-logs-RFEMBILB.cjs +312 -0
  215. package/dist/audit-logs-runtime-4WMHPWNX.cjs +5 -0
  216. package/dist/audit-logs-runtime-76R6WRAB.js +5 -0
  217. package/dist/automation-HZASSUCS.cjs +4460 -0
  218. package/dist/automation-WEVRW77F.js +4460 -0
  219. package/dist/automation-runtime-L5UKEFLA.js +5 -0
  220. package/dist/automation-runtime-YBGGE5PL.cjs +5 -0
  221. package/dist/billing-3VZPNG6M.cjs +796 -0
  222. package/dist/billing-ASWY7HC3.js +796 -0
  223. package/dist/billing-runtime-C6BMGWCX.js +5 -0
  224. package/dist/billing-runtime-L4Y7MLM3.cjs +5 -0
  225. package/dist/bin/cli.js +1 -1
  226. package/dist/blueprint-manifest-5TNVSDKC.cjs +3169 -0
  227. package/dist/blueprint-manifest-UGGYWGRZ.js +3169 -0
  228. package/dist/blueprint-manifest-runtime-2RTW5C52.js +5 -0
  229. package/dist/blueprint-manifest-runtime-AF3FIDVX.cjs +5 -0
  230. package/dist/{chunk-RXSS67VI.cjs → chunk-BFUNXZRX.cjs} +1 -1
  231. package/dist/{chunk-KPGC2D6E.js → chunk-I2XRA5AM.js} +1 -1
  232. package/dist/chunk-QTU4H6NQ.js +291 -0
  233. package/dist/chunk-T7LQKRUK.cjs +291 -0
  234. package/dist/consent-6SIH4NQS.cjs +342 -0
  235. package/dist/consent-7MNRAINV.js +342 -0
  236. package/dist/consent-runtime-KZ5D4XZU.cjs +5 -0
  237. package/dist/consent-runtime-OAPXBJH2.js +5 -0
  238. package/dist/customer-portal-L5DEQEGC.js +14142 -0
  239. package/dist/customer-portal-MXILX4KH.cjs +14142 -0
  240. package/dist/customer-portal-runtime-MRVZ7JR4.js +5 -0
  241. package/dist/customer-portal-runtime-VGK7RMLC.cjs +5 -0
  242. package/dist/dashboard-RKUQLIME.cjs +483 -0
  243. package/dist/dashboard-UDL26RGG.js +483 -0
  244. package/dist/dashboard-runtime-EXP2AM44.cjs +5 -0
  245. package/dist/dashboard-runtime-PSKSGLCF.js +5 -0
  246. package/dist/data-management-W5JQGGGH.js +925 -0
  247. package/dist/data-management-XFSRLFYA.cjs +925 -0
  248. package/dist/data-management-runtime-PAC7UFGT.cjs +5 -0
  249. package/dist/data-management-runtime-XZ347IUB.js +5 -0
  250. package/dist/deduplication-7RTGTLN5.cjs +193 -0
  251. package/dist/deduplication-RKLRTNZU.js +193 -0
  252. package/dist/deduplication-runtime-BBHG7MJW.cjs +5 -0
  253. package/dist/deduplication-runtime-DLGBF4RN.js +5 -0
  254. package/dist/design-AO6EGLHD.cjs +1352 -0
  255. package/dist/design-VLRA2WGV.js +1352 -0
  256. package/dist/design-runtime-3SKJA7QH.js +5 -0
  257. package/dist/design-runtime-Y3VGTQLP.cjs +5 -0
  258. package/dist/document-OVTR7RVH.cjs +744 -0
  259. package/dist/document-SEZ45XAO.js +744 -0
  260. package/dist/document-runtime-GFEBGNMS.js +5 -0
  261. package/dist/document-runtime-RG3F4R6O.cjs +5 -0
  262. package/dist/email-settings-QGCIUWLC.js +2427 -0
  263. package/dist/email-settings-SEGEKVMF.cjs +2427 -0
  264. package/dist/email-settings-runtime-NS7MU3RB.cjs +5 -0
  265. package/dist/email-settings-runtime-X7F3EPAB.js +5 -0
  266. package/dist/email-template-26SANLRD.cjs +1308 -0
  267. package/dist/email-template-346NDG4D.js +1308 -0
  268. package/dist/email-template-runtime-QBB64BJQ.js +5 -0
  269. package/dist/email-template-runtime-UI2FS4H5.cjs +5 -0
  270. package/dist/entity-HSCBRIOS.js +9411 -0
  271. package/dist/entity-UKAWTND4.cjs +9411 -0
  272. package/dist/entity-mapping-PK2XAARN.cjs +1506 -0
  273. package/dist/entity-mapping-UOGYYCZH.js +1506 -0
  274. package/dist/entity-mapping-runtime-734TTUA2.cjs +5 -0
  275. package/dist/entity-mapping-runtime-HCOJM6DV.js +5 -0
  276. package/dist/entity-runtime-QSFVEFJ6.js +5 -0
  277. package/dist/entity-runtime-XSAICIVR.cjs +5 -0
  278. package/dist/environments-5IS2ZJYQ.cjs +352 -0
  279. package/dist/environments-VCREW73K.js +352 -0
  280. package/dist/environments-runtime-BPR47PW7.js +5 -0
  281. package/dist/environments-runtime-L6TJCVW6.cjs +5 -0
  282. package/dist/erp-integration-735KQ73W.js +5295 -0
  283. package/dist/erp-integration-W7FZDJOB.cjs +5295 -0
  284. package/dist/erp-integration-runtime-FNJXDO75.js +5 -0
  285. package/dist/erp-integration-runtime-WXZIQCLJ.cjs +5 -0
  286. package/dist/event-catalog-MZYFJ23V.cjs +965 -0
  287. package/dist/event-catalog-ZUFXLY7B.js +965 -0
  288. package/dist/event-catalog-runtime-5HQSAJVX.cjs +5 -0
  289. package/dist/event-catalog-runtime-6FA3SCRI.js +5 -0
  290. package/dist/file-637CTR4Y.cjs +2744 -0
  291. package/dist/file-EJJBQEQI.js +2744 -0
  292. package/dist/file-runtime-B6AAGZQF.js +5 -0
  293. package/dist/file-runtime-SFZIKODF.cjs +5 -0
  294. package/dist/iban-ETTCKOHK.cjs +148 -0
  295. package/dist/iban-HXFDAF4I.js +148 -0
  296. package/dist/iban-runtime-EVXLFPPP.js +5 -0
  297. package/dist/iban-runtime-TUM5LVHO.cjs +5 -0
  298. package/dist/index.cjs +105 -100
  299. package/dist/index.d.cts +21 -5
  300. package/dist/index.d.ts +21 -5
  301. package/dist/index.js +56 -51
  302. package/dist/journey-KW3ZFQAL.js +2194 -0
  303. package/dist/journey-XIMSLSZC.cjs +2194 -0
  304. package/dist/journey-runtime-SPBL3F32.cjs +5 -0
  305. package/dist/journey-runtime-YXIAOTMD.js +5 -0
  306. package/dist/{js-yaml-UPZKYVRY.js → js-yaml-DLCVPJ7G.js} +17 -15
  307. package/dist/kanban-M4P7R5TM.cjs +890 -0
  308. package/dist/kanban-QXQEQIF4.js +890 -0
  309. package/dist/kanban-runtime-NHEUWTCG.cjs +5 -0
  310. package/dist/kanban-runtime-R6EWHBFS.js +5 -0
  311. package/dist/message-2VOVRXBB.cjs +2447 -0
  312. package/dist/message-M62W3KP2.js +2447 -0
  313. package/dist/message-runtime-ITR7MPKT.cjs +5 -0
  314. package/dist/message-runtime-YMKW2N3R.js +5 -0
  315. package/dist/metering-KEMILE75.cjs +2198 -0
  316. package/dist/metering-W3TA6ZUQ.js +2198 -0
  317. package/dist/metering-runtime-HAIWXZXJ.cjs +5 -0
  318. package/dist/metering-runtime-NJ6NEUMB.js +5 -0
  319. package/dist/notes-4LVCGLBE.js +1427 -0
  320. package/dist/notes-OBM5POWI.cjs +1427 -0
  321. package/dist/notes-runtime-CVNAVKPP.js +5 -0
  322. package/dist/notes-runtime-E3YYF74V.cjs +5 -0
  323. package/dist/notification-EEYPLPUV.cjs +1381 -0
  324. package/dist/notification-MJQGIBM7.js +1381 -0
  325. package/dist/notification-runtime-7QLZTPHG.cjs +5 -0
  326. package/dist/notification-runtime-KREP32YP.js +5 -0
  327. package/dist/organization-2UK7QZLQ.cjs +615 -0
  328. package/dist/organization-U5HPX627.js +615 -0
  329. package/dist/organization-runtime-LBCVCZ3W.cjs +5 -0
  330. package/dist/organization-runtime-P3WZ2BBU.js +5 -0
  331. package/dist/partner-directory-CG5CYJGB.cjs +1600 -0
  332. package/dist/partner-directory-THI7JEXK.js +7 -0
  333. package/dist/partner-directory-XJ7KI7EX.js +1600 -0
  334. package/dist/partner-directory-ZQIBKD5Q.cjs +7 -0
  335. package/dist/partner-directory-runtime-AUHVA5Q3.cjs +5 -0
  336. package/dist/partner-directory-runtime-GNVT7U7R.js +5 -0
  337. package/dist/partner-directory.d-BCIjHoGs.d.cts +2337 -0
  338. package/dist/partner-directory.d-BCIjHoGs.d.ts +2337 -0
  339. package/dist/permissions-SGPGANEP.js +1415 -0
  340. package/dist/permissions-WCOABHKQ.cjs +1415 -0
  341. package/dist/permissions-runtime-D74HOCVO.js +5 -0
  342. package/dist/permissions-runtime-O5LH7WOU.cjs +5 -0
  343. package/dist/pricing-3RNPCUR6.js +9362 -0
  344. package/dist/pricing-VYHPSVKM.cjs +9362 -0
  345. package/dist/pricing-runtime-6XNS4EOF.cjs +5 -0
  346. package/dist/pricing-runtime-JRR4FWFI.js +5 -0
  347. package/dist/pricing-tier-36WV4P4X.js +121 -0
  348. package/dist/pricing-tier-FKQPW2ND.cjs +121 -0
  349. package/dist/pricing-tier-runtime-32BCKJ7Y.cjs +5 -0
  350. package/dist/pricing-tier-runtime-LEGBNNLA.js +5 -0
  351. package/dist/purpose-JC2E7W3M.cjs +523 -0
  352. package/dist/purpose-QFQ4W255.js +523 -0
  353. package/dist/purpose-runtime-C6IGTUA6.cjs +5 -0
  354. package/dist/purpose-runtime-V5X5ESZV.js +5 -0
  355. package/dist/sandbox-CLZTN7IW.cjs +445 -0
  356. package/dist/sandbox-O2NWMZGJ.js +445 -0
  357. package/dist/sandbox-runtime-4MLOMFPK.js +5 -0
  358. package/dist/sandbox-runtime-GKEK3GQB.cjs +5 -0
  359. package/dist/submission-6FD67HIE.cjs +308 -0
  360. package/dist/submission-MWJU4L32.js +308 -0
  361. package/dist/submission-runtime-5FD4AQSD.cjs +5 -0
  362. package/dist/submission-runtime-JPHKPQ77.js +5 -0
  363. package/dist/targeting-4CQDSEKL.cjs +1369 -0
  364. package/dist/targeting-RB7LBQMX.js +1369 -0
  365. package/dist/targeting-runtime-6JFMP262.cjs +5 -0
  366. package/dist/targeting-runtime-M2VSTKFT.js +5 -0
  367. package/dist/template-variables-JYHE2VCH.cjs +1447 -0
  368. package/dist/template-variables-XLIW4GY6.js +1447 -0
  369. package/dist/template-variables-runtime-62U3ZY5P.js +5 -0
  370. package/dist/template-variables-runtime-LFOA32UM.cjs +5 -0
  371. package/dist/{types-BwBvJkY_.d.ts → types-ChU9Acbv.d.cts} +3 -0
  372. package/dist/{types-BwBvJkY_.d.cts → types-ChU9Acbv.d.ts} +3 -0
  373. package/dist/user-DKA6DDPX.cjs +2265 -0
  374. package/dist/user-O4JDAIRO.js +2265 -0
  375. package/dist/user-runtime-7O2HLFVQ.cjs +5 -0
  376. package/dist/user-runtime-U4HYUWJU.js +5 -0
  377. package/dist/validation-rules-AYCAOVDZ.cjs +1344 -0
  378. package/dist/validation-rules-GCI64B57.js +1344 -0
  379. package/dist/validation-rules-runtime-6MRCS5X2.js +5 -0
  380. package/dist/validation-rules-runtime-X7M3QE5I.cjs +5 -0
  381. package/dist/webhooks-L3FXPRKT.cjs +1431 -0
  382. package/dist/webhooks-XXLU2KWP.js +1431 -0
  383. package/dist/webhooks-runtime-EBM4M3SU.cjs +5 -0
  384. package/dist/webhooks-runtime-XCQYIGQK.js +5 -0
  385. package/dist/workflow-VLNZNE3S.js +3834 -0
  386. package/dist/workflow-YJHUCGVK.cjs +3834 -0
  387. package/dist/workflow-definition-7BA4H6W3.cjs +3100 -0
  388. package/dist/workflow-definition-VFYWBQQ3.js +3100 -0
  389. package/dist/workflow-definition-runtime-S7AZHOU7.js +5 -0
  390. package/dist/workflow-definition-runtime-VRND6VQR.cjs +5 -0
  391. package/dist/workflow-runtime-RLZO2OQB.js +5 -0
  392. package/dist/workflow-runtime-WCJ7NRTH.cjs +5 -0
  393. package/docs/partner-directory.md +295 -127
  394. package/package.json +3 -2
  395. package/dist/chunk-3XEP56SV.cjs +0 -204
  396. package/dist/chunk-ULBEEHG4.js +0 -204
  397. package/dist/partner-directory-2XMPQWWX.js +0 -7
  398. package/dist/partner-directory-WHNTKQ5E.cjs +0 -7
  399. package/dist/partner-directory.d-CRNkDF8q.d.cts +0 -1510
  400. package/dist/partner-directory.d-CRNkDF8q.d.ts +0 -1510
  401. /package/dist/{chunk-CPKBR34V.js → chunk-24T6CJTG.js} +0 -0
  402. /package/dist/{chunk-VQ7R36AC.js → chunk-265TE2OV.js} +0 -0
  403. /package/dist/{chunk-ZV6XYUXS.js → chunk-2BPBDRRO.js} +0 -0
  404. /package/dist/{chunk-KSXTBGIV.js → chunk-3XKBB5AE.js} +0 -0
  405. /package/dist/{chunk-GLO477NZ.js → chunk-3YSEO476.js} +0 -0
  406. /package/dist/{chunk-MKX4CKAB.cjs → chunk-46HU6232.cjs} +0 -0
  407. /package/dist/{chunk-JXBXDTFG.cjs → chunk-4G6LO3JY.cjs} +0 -0
  408. /package/dist/{chunk-Z4LUE424.cjs → chunk-4QCVVDTA.cjs} +0 -0
  409. /package/dist/{chunk-LQOLYXGQ.cjs → chunk-4W22EIRF.cjs} +0 -0
  410. /package/dist/{chunk-372VUPHN.js → chunk-4ZGZDE6D.js} +0 -0
  411. /package/dist/{chunk-IMT3IE5M.cjs → chunk-4ZMLRFDX.cjs} +0 -0
  412. /package/dist/{chunk-S7NDMDRX.js → chunk-5JPM6YUD.js} +0 -0
  413. /package/dist/{chunk-IS2VB342.js → chunk-5MFHAXBT.js} +0 -0
  414. /package/dist/{chunk-WOXXNKTE.js → chunk-5NKXJA43.js} +0 -0
  415. /package/dist/{chunk-S3ZNESMC.cjs → chunk-5WNEYQII.cjs} +0 -0
  416. /package/dist/{chunk-KA3TGFJP.js → chunk-6OYECNL2.js} +0 -0
  417. /package/dist/{chunk-T46LODOF.js → chunk-6UAS2VVG.js} +0 -0
  418. /package/dist/{chunk-PETLAONH.js → chunk-6VWCUZ5M.js} +0 -0
  419. /package/dist/{chunk-YZA5WZUS.js → chunk-75EI2Q64.js} +0 -0
  420. /package/dist/{chunk-2HOJWFQ4.js → chunk-75ZWZM3L.js} +0 -0
  421. /package/dist/{chunk-57QIBYDN.js → chunk-7IKQIVUS.js} +0 -0
  422. /package/dist/{chunk-DJKSULPK.js → chunk-A7AAVJGM.js} +0 -0
  423. /package/dist/{chunk-QLML3IP5.cjs → chunk-ANN2QTMY.cjs} +0 -0
  424. /package/dist/{chunk-A6JOROUC.cjs → chunk-BLNXQAMX.cjs} +0 -0
  425. /package/dist/{chunk-LCIJ4TJ4.cjs → chunk-BM6NCHPL.cjs} +0 -0
  426. /package/dist/{chunk-XR4QF6KQ.cjs → chunk-BPHOGIQM.cjs} +0 -0
  427. /package/dist/{chunk-K62XK7KU.js → chunk-BTTPWE2P.js} +0 -0
  428. /package/dist/{chunk-E26ZO7QM.cjs → chunk-COQMJFAB.cjs} +0 -0
  429. /package/dist/{chunk-QVAJ5JP4.js → chunk-CSK5ZUTS.js} +0 -0
  430. /package/dist/{chunk-3ZZ57K3S.cjs → chunk-D32L2HMX.cjs} +0 -0
  431. /package/dist/{chunk-TIJWJVKZ.js → chunk-D7Q4JGN7.js} +0 -0
  432. /package/dist/{chunk-CWSHYFVZ.js → chunk-DZ3P537S.js} +0 -0
  433. /package/dist/{chunk-MSASBR2Y.js → chunk-E2WMGOM5.js} +0 -0
  434. /package/dist/{chunk-XKI2OAYV.cjs → chunk-FARDEGPH.cjs} +0 -0
  435. /package/dist/{chunk-RWSA3LXE.cjs → chunk-G3VDRMOH.cjs} +0 -0
  436. /package/dist/{chunk-QDVPPRWI.cjs → chunk-G5FKTWUC.cjs} +0 -0
  437. /package/dist/{chunk-WMTYO5OX.cjs → chunk-GWKHOJGD.cjs} +0 -0
  438. /package/dist/{chunk-DNJ54L2G.js → chunk-H45V55VT.js} +0 -0
  439. /package/dist/{chunk-F472YLJG.cjs → chunk-HAZ3WP7V.cjs} +0 -0
  440. /package/dist/{chunk-NAWLLC3T.cjs → chunk-HHMXS5NC.cjs} +0 -0
  441. /package/dist/{chunk-DY2D2IW5.cjs → chunk-IGVVJMX7.cjs} +0 -0
  442. /package/dist/{chunk-KBOVBUBM.js → chunk-IJR3GZKC.js} +0 -0
  443. /package/dist/{chunk-73H6TVKN.js → chunk-IQOCHPWU.js} +0 -0
  444. /package/dist/{chunk-LSIWCIQV.js → chunk-JENQHXFI.js} +0 -0
  445. /package/dist/{chunk-G2REP2VZ.cjs → chunk-JICWF5VI.cjs} +0 -0
  446. /package/dist/{chunk-3HJEWWPS.cjs → chunk-JIUTCNTB.cjs} +0 -0
  447. /package/dist/{chunk-EBCHCYUO.js → chunk-JJWJLY42.js} +0 -0
  448. /package/dist/{chunk-SMGHAG5C.cjs → chunk-JXJC6WEW.cjs} +0 -0
  449. /package/dist/{chunk-HPYHWTTA.cjs → chunk-K2UZPY6U.cjs} +0 -0
  450. /package/dist/{chunk-VGTUK3QD.cjs → chunk-L66IX6GX.cjs} +0 -0
  451. /package/dist/{chunk-NLSZVGHK.cjs → chunk-LKRBFBFN.cjs} +0 -0
  452. /package/dist/{chunk-TLWCYLNA.js → chunk-LLZYRINH.js} +0 -0
  453. /package/dist/{chunk-4SWC43JO.cjs → chunk-M2SSGV7K.cjs} +0 -0
  454. /package/dist/{chunk-PVSS2WPM.cjs → chunk-M2UDF7PY.cjs} +0 -0
  455. /package/dist/{chunk-5SNJAD6F.cjs → chunk-M56QQHVA.cjs} +0 -0
  456. /package/dist/{chunk-QKERXNJJ.cjs → chunk-MB6NKETA.cjs} +0 -0
  457. /package/dist/{chunk-H4VSK4KF.js → chunk-MEUS7LCE.js} +0 -0
  458. /package/dist/{chunk-RD7E4OSJ.cjs → chunk-N5NFJW7Y.cjs} +0 -0
  459. /package/dist/{chunk-FXOX3X7E.cjs → chunk-NEVFKRDU.cjs} +0 -0
  460. /package/dist/{chunk-O4LRVGOY.js → chunk-O4JDWMYD.js} +0 -0
  461. /package/dist/{chunk-IH4CMOML.js → chunk-OEBV2PMV.js} +0 -0
  462. /package/dist/{chunk-VVVATFGK.cjs → chunk-OXJOO2YF.cjs} +0 -0
  463. /package/dist/{chunk-WOSSSFXB.js → chunk-PSQMDY3B.js} +0 -0
  464. /package/dist/{chunk-AJKH25H2.cjs → chunk-QOAWSFXA.cjs} +0 -0
  465. /package/dist/{chunk-UKKJMCNH.js → chunk-QT44OHHL.js} +0 -0
  466. /package/dist/{chunk-B3ZGAG7B.js → chunk-QTR3RH4N.js} +0 -0
  467. /package/dist/{chunk-3N67SSL3.js → chunk-RELUU5QZ.js} +0 -0
  468. /package/dist/{chunk-YYBIU5BQ.js → chunk-RJ3DWFSK.js} +0 -0
  469. /package/dist/{chunk-ARWMTXJV.cjs → chunk-RUZRPIHW.cjs} +0 -0
  470. /package/dist/{chunk-4VFQTSJQ.js → chunk-RW5JOHG7.js} +0 -0
  471. /package/dist/{chunk-EPAIOB5U.cjs → chunk-RXMOHUBP.cjs} +0 -0
  472. /package/dist/{chunk-MRZ7LGKZ.js → chunk-SBSIGQDU.js} +0 -0
  473. /package/dist/{chunk-TRJLYZHD.js → chunk-SITPUXIR.js} +0 -0
  474. /package/dist/{chunk-OGQKJTXF.js → chunk-SZMCMLOQ.js} +0 -0
  475. /package/dist/{chunk-VVQB5W7U.cjs → chunk-T67ZXTVG.cjs} +0 -0
  476. /package/dist/{chunk-HPSGM6QP.js → chunk-TME4YJNP.js} +0 -0
  477. /package/dist/{chunk-MRTAFRO7.js → chunk-TPA4HEAO.js} +0 -0
  478. /package/dist/{chunk-F376L6PP.cjs → chunk-TTNPMFXL.cjs} +0 -0
  479. /package/dist/{chunk-OG2DMGU6.cjs → chunk-TXDVGTQD.cjs} +0 -0
  480. /package/dist/{chunk-XZYZLSUO.cjs → chunk-UNCVJH6J.cjs} +0 -0
  481. /package/dist/{chunk-MHNSZ4HE.js → chunk-UUVJYJHD.js} +0 -0
  482. /package/dist/{chunk-C6UTZEHH.js → chunk-VSZEOCIE.js} +0 -0
  483. /package/dist/{chunk-EQZMT2HF.cjs → chunk-WQBBB6BN.cjs} +0 -0
  484. /package/dist/{chunk-BH5ZXK4J.cjs → chunk-WTMV77T2.cjs} +0 -0
  485. /package/dist/{chunk-BWFXLUK5.cjs → chunk-WWOAKRNG.cjs} +0 -0
  486. /package/dist/{chunk-ITX53XAZ.js → chunk-XSE4CFSM.js} +0 -0
  487. /package/dist/{chunk-SK3VYIZ6.cjs → chunk-YO4M3BZL.cjs} +0 -0
  488. /package/dist/{chunk-XYHTQ523.cjs → chunk-Z5TVWG3I.cjs} +0 -0
  489. /package/dist/{chunk-PXITFTJA.cjs → chunk-ZI33AJQ5.cjs} +0 -0
  490. /package/dist/{chunk-IP2WWEOU.js → chunk-ZKQ573B7.js} +0 -0
@@ -0,0 +1,4460 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
2
+
3
+ // src/definitions/automation.json
4
+ var openapi = "3.0.3";
5
+ var info = {
6
+ title: "Automation API",
7
+ description: "API Backend for epilot Automation Workflows feature",
8
+ version: "1.4.0"
9
+ };
10
+ var tags = [
11
+ {
12
+ name: "flows",
13
+ description: "Automation flows"
14
+ },
15
+ {
16
+ name: "executions",
17
+ description: "Automation executions"
18
+ },
19
+ {
20
+ name: "bulk",
21
+ description: "Bulk job for triggering automation executions"
22
+ }
23
+ ];
24
+ var security = [
25
+ {
26
+ EpilotAuth: []
27
+ }
28
+ ];
29
+ var paths = {
30
+ "/v1/automation/flows": {
31
+ get: {
32
+ operationId: "searchFlows",
33
+ summary: "searchFlows",
34
+ description: "Search available automation flows",
35
+ tags: ["flows"],
36
+ parameters: [
37
+ {
38
+ name: "schema",
39
+ in: "query",
40
+ description: "Entity Schema",
41
+ schema: {
42
+ type: "string",
43
+ example: "submission"
44
+ }
45
+ },
46
+ {
47
+ name: "size",
48
+ in: "query",
49
+ description: "Pagination: max number of results to return",
50
+ schema: {
51
+ type: "integer",
52
+ default: 25
53
+ }
54
+ },
55
+ {
56
+ name: "from",
57
+ in: "query",
58
+ description: "Pagination: starting for results",
59
+ schema: {
60
+ type: "integer",
61
+ default: 0
62
+ }
63
+ },
64
+ {
65
+ name: "trigger_source_id",
66
+ in: "query",
67
+ description: "Trigger source identifier",
68
+ schema: {
69
+ type: "string",
70
+ example: "600945fe-212e-4b97-acf7-391d64648384"
71
+ }
72
+ },
73
+ {
74
+ name: "include_flows",
75
+ in: "query",
76
+ description: "Include flow automations in the response",
77
+ schema: {
78
+ type: "boolean",
79
+ default: false
80
+ }
81
+ }
82
+ ],
83
+ responses: {
84
+ "200": {
85
+ description: "List of automation flows, including total count",
86
+ content: {
87
+ "application/json": {
88
+ schema: {
89
+ $ref: "#/components/schemas/SearchAutomationsResp"
90
+ }
91
+ }
92
+ }
93
+ }
94
+ }
95
+ },
96
+ post: {
97
+ operationId: "createFlow",
98
+ summary: "createFlow",
99
+ description: "Create new automation flow",
100
+ tags: ["flows"],
101
+ requestBody: {
102
+ description: "Automation flow to create",
103
+ content: {
104
+ "application/json": {
105
+ schema: {
106
+ $ref: "#/components/schemas/AutomationFlow"
107
+ }
108
+ }
109
+ }
110
+ },
111
+ responses: {
112
+ "201": {
113
+ description: "The created automation flow",
114
+ content: {
115
+ "application/json": {
116
+ schema: {
117
+ $ref: "#/components/schemas/AutomationFlow"
118
+ }
119
+ }
120
+ }
121
+ },
122
+ "403": {
123
+ $ref: "#/components/responses/ForbiddenError"
124
+ }
125
+ }
126
+ }
127
+ },
128
+ "/v1/automation/flows:batchGet": {
129
+ post: {
130
+ operationId: "batchGetFlows",
131
+ summary: "batchGetFlows",
132
+ description: "Get multiple automation flows by their IDs",
133
+ tags: ["flows"],
134
+ requestBody: {
135
+ description: "List of flow IDs to retrieve",
136
+ content: {
137
+ "application/json": {
138
+ schema: {
139
+ type: "object",
140
+ properties: {
141
+ ids: {
142
+ type: "array",
143
+ items: {
144
+ $ref: "#/components/schemas/AutomationFlowId"
145
+ }
146
+ }
147
+ }
148
+ }
149
+ }
150
+ }
151
+ },
152
+ responses: {
153
+ "200": {
154
+ description: "List of automation flows",
155
+ content: {
156
+ "application/json": {
157
+ schema: {
158
+ $ref: "#/components/schemas/SearchAutomationsResp"
159
+ }
160
+ }
161
+ }
162
+ },
163
+ "403": {
164
+ $ref: "#/components/responses/ForbiddenError"
165
+ }
166
+ }
167
+ }
168
+ },
169
+ "/v1/automation/flows/{flow_id}": {
170
+ get: {
171
+ operationId: "getFlow",
172
+ summary: "getFlow",
173
+ description: "List available automation flows",
174
+ tags: ["flows"],
175
+ parameters: [
176
+ {
177
+ name: "flow_id",
178
+ in: "path",
179
+ required: true,
180
+ description: "Automation Workflow ID",
181
+ schema: {
182
+ $ref: "#/components/schemas/AutomationFlowId"
183
+ }
184
+ }
185
+ ],
186
+ responses: {
187
+ "200": {
188
+ description: "The returned automation flow",
189
+ content: {
190
+ "application/json": {
191
+ schema: {
192
+ $ref: "#/components/schemas/AutomationFlow"
193
+ }
194
+ }
195
+ }
196
+ },
197
+ "403": {
198
+ $ref: "#/components/responses/ForbiddenError"
199
+ },
200
+ "404": {
201
+ $ref: "#/components/responses/NotFoundError"
202
+ }
203
+ }
204
+ },
205
+ put: {
206
+ operationId: "putFlow",
207
+ summary: "putFlow",
208
+ description: "Update automation flow by id",
209
+ tags: ["flows"],
210
+ parameters: [
211
+ {
212
+ name: "flow_id",
213
+ in: "path",
214
+ required: true,
215
+ description: "Automation Workflow ID",
216
+ schema: {
217
+ $ref: "#/components/schemas/AutomationFlowId"
218
+ }
219
+ }
220
+ ],
221
+ requestBody: {
222
+ description: "Automation flow to create",
223
+ content: {
224
+ "application/json": {
225
+ schema: {
226
+ $ref: "#/components/schemas/AutomationFlow"
227
+ }
228
+ }
229
+ }
230
+ },
231
+ responses: {
232
+ "200": {
233
+ description: "The updated automation flow",
234
+ content: {
235
+ "application/json": {
236
+ schema: {
237
+ $ref: "#/components/schemas/AutomationFlow"
238
+ }
239
+ }
240
+ }
241
+ },
242
+ "403": {
243
+ $ref: "#/components/responses/ForbiddenError"
244
+ }
245
+ }
246
+ },
247
+ delete: {
248
+ operationId: "deleteFlow",
249
+ summary: "deleteFlow",
250
+ description: "Update automation flow by id",
251
+ tags: ["flows"],
252
+ parameters: [
253
+ {
254
+ name: "flow_id",
255
+ in: "path",
256
+ required: true,
257
+ description: "Automation Workflow ID",
258
+ schema: {
259
+ $ref: "#/components/schemas/AutomationFlowId"
260
+ }
261
+ }
262
+ ],
263
+ responses: {
264
+ "200": {
265
+ description: "Flow deleted successfully"
266
+ },
267
+ "403": {
268
+ $ref: "#/components/responses/ForbiddenError"
269
+ },
270
+ "404": {
271
+ $ref: "#/components/responses/NotFoundError"
272
+ }
273
+ }
274
+ }
275
+ },
276
+ "/v1/automation/executions": {
277
+ get: {
278
+ operationId: "getExecutions",
279
+ summary: "getExecutions",
280
+ description: "List automation executions",
281
+ parameters: [
282
+ {
283
+ name: "entity_id",
284
+ in: "query",
285
+ schema: {
286
+ $ref: "#/components/schemas/EntityId"
287
+ }
288
+ },
289
+ {
290
+ name: "size",
291
+ in: "query",
292
+ description: "Pagination: max number of results to return",
293
+ schema: {
294
+ type: "integer",
295
+ default: 25
296
+ }
297
+ },
298
+ {
299
+ name: "from",
300
+ in: "query",
301
+ description: "Pagination: starting for results",
302
+ schema: {
303
+ type: "integer",
304
+ default: 0
305
+ }
306
+ },
307
+ {
308
+ name: "include_flows",
309
+ in: "query",
310
+ description: "Include flow automations in the response",
311
+ schema: {
312
+ type: "boolean",
313
+ default: false
314
+ }
315
+ }
316
+ ],
317
+ tags: ["executions"],
318
+ responses: {
319
+ "200": {
320
+ description: "List of automation executions",
321
+ content: {
322
+ "application/json": {
323
+ schema: {
324
+ $ref: "#/components/schemas/GetExecutionsResp"
325
+ },
326
+ examples: {
327
+ manual_trigger: {
328
+ summary: "Manual trigger execution",
329
+ value: {
330
+ total: 1,
331
+ results: [
332
+ {
333
+ id: "9baf184f-bc81-4128-bca3-d974c90a12c4",
334
+ execution_status: "success",
335
+ entity_id: "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",
336
+ org_id: "123",
337
+ flow_id: "7791b04a-16d2-44a2-9af9-2d59c25c512f",
338
+ flow_name: "Handle contact form",
339
+ created_at: "2023-01-01T10:00:00Z",
340
+ updated_at: "2023-01-01T10:05:00Z",
341
+ actions: [],
342
+ version: 1,
343
+ trigger_event: {
344
+ type: "manual",
345
+ org_id: "123",
346
+ entity_id: "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",
347
+ caller: {
348
+ EpilotAuth: {
349
+ claims: {
350
+ userId: "10006129",
351
+ email: "user@epilot.cloud"
352
+ },
353
+ userId: "10006129",
354
+ organizationId: "123"
355
+ }
356
+ }
357
+ }
358
+ }
359
+ ]
360
+ }
361
+ },
362
+ entity_operation_trigger: {
363
+ summary: "Entity operation trigger execution",
364
+ value: {
365
+ total: 1,
366
+ results: [
367
+ {
368
+ id: "8cdf274e-ab70-4029-9ca2-c863b80a11c3",
369
+ execution_status: "in_progress",
370
+ entity_id: "f4e4fcbd-cbcc-4496-bf5f-60c6ce2c621e",
371
+ activity_id: "a1b2c3d4-e5f6-7890-1234-567890abcdef",
372
+ org_id: "123",
373
+ flow_id: "8e2e067e-3c63-4b1a-8e02-6150a3d1fd89",
374
+ flow_name: "Contact updated automation",
375
+ created_at: "2023-01-01T12:00:00Z",
376
+ updated_at: "2023-01-01T12:02:00Z",
377
+ actions: [],
378
+ version: 1,
379
+ trigger_event: {
380
+ type: "entity_operation",
381
+ entity_id: "f4e4fcbd-cbcc-4496-bf5f-60c6ce2c621e",
382
+ org_id: "123",
383
+ activity_id: "a1b2c3d4-e5f6-7890-1234-567890abcdef",
384
+ operation_type: "updateEntity"
385
+ }
386
+ }
387
+ ]
388
+ }
389
+ },
390
+ entity_activity_trigger: {
391
+ summary: "Entity activity trigger execution",
392
+ value: {
393
+ total: 1,
394
+ results: [
395
+ {
396
+ id: "7bde163d-9a5f-3f18-8b92-d752a79a10b2",
397
+ execution_status: "failed",
398
+ entity_id: "c2b1a9d8-7e6f-5040-3029-180716253f4e",
399
+ activity_id: "b3c4d5e6-f7a8-9012-3456-789012bcdef0",
400
+ org_id: "123",
401
+ flow_id: "6d1d956d-2b52-4a0a-9e01-5049a2c0ee78",
402
+ flow_name: "Document upload handler",
403
+ created_at: "2023-01-01T14:00:00Z",
404
+ updated_at: "2023-01-01T14:01:30Z",
405
+ actions: [],
406
+ version: 1,
407
+ trigger_event: {
408
+ type: "entity_activity",
409
+ org_id: "123",
410
+ activity_id: "b3c4d5e6-f7a8-9012-3456-789012bcdef0",
411
+ activity_type: "DocUploadedFromPortal",
412
+ entity_id: "c2b1a9d8-7e6f-5040-3029-180716253f4e"
413
+ }
414
+ }
415
+ ]
416
+ }
417
+ },
418
+ flow_automation_task_trigger: {
419
+ summary: "Flow automation task trigger execution",
420
+ value: {
421
+ total: 1,
422
+ results: [
423
+ {
424
+ id: "5ade051c-8a4e-2e07-7a81-c641968a0fa1",
425
+ execution_status: "paused",
426
+ entity_id: "d3c2b1a0-8f7e-6d5c-4b3a-291807364e5f",
427
+ org_id: "123",
428
+ flow_id: "9f0f178f-4c74-5b2b-af12-6160b3d1ee89",
429
+ flow_name: "Journey completion follow-up",
430
+ created_at: "2023-01-01T16:00:00Z",
431
+ updated_at: "2023-01-01T16:03:00Z",
432
+ actions: [],
433
+ version: 1,
434
+ resume_token: "eyJraWQiOiJrZXkifQ==",
435
+ trigger_event: {
436
+ type: "flow_automation_task",
437
+ org_id: "123",
438
+ entity_id: "d3c2b1a0-8f7e-6d5c-4b3a-291807364e5f",
439
+ flow_execution_id: "wfwAJoT_cK",
440
+ flow_automation_task_id: "2fa221ec-3aac-4655-ab8f-c062eca44a3",
441
+ caller: {
442
+ EpilotAuth: {
443
+ claims: {
444
+ userId: "10006129",
445
+ email: "user@epilot.cloud"
446
+ },
447
+ userId: "10006129",
448
+ organizationId: "123"
449
+ }
450
+ }
451
+ }
452
+ }
453
+ ]
454
+ }
455
+ },
456
+ mixed_execution_statuses: {
457
+ summary: "Multiple executions with different trigger types and statuses",
458
+ value: {
459
+ total: 4,
460
+ results: [
461
+ {
462
+ id: "1aef262e-9b5f-4f29-8c93-e763b90b21d3",
463
+ execution_status: "success",
464
+ entity_id: "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",
465
+ org_id: "123",
466
+ flow_id: "7791b04a-16d2-44a2-9af9-2d59c25c512f",
467
+ flow_name: "Send welcome email",
468
+ created_at: "2023-01-01T09:00:00Z",
469
+ updated_at: "2023-01-01T09:02:00Z",
470
+ actions: [],
471
+ version: 2,
472
+ trigger_event: {
473
+ type: "manual",
474
+ org_id: "123",
475
+ entity_id: "e3d3ebac-baab-4395-abf4-50b5bf1f8b74",
476
+ caller: {
477
+ EpilotAuth: {
478
+ claims: {
479
+ userId: "10006129",
480
+ email: "admin@epilot.cloud"
481
+ },
482
+ userId: "10006129",
483
+ organizationId: "123"
484
+ }
485
+ }
486
+ }
487
+ },
488
+ {
489
+ id: "2bef373f-ac60-5039-9da4-f874ca1c32e4",
490
+ execution_status: "in_progress",
491
+ entity_id: "f4e4fcbd-cbcc-4496-bf5f-60c6ce2c621e",
492
+ activity_id: "a1b2c3d4-e5f6-7890-1234-567890abcdef",
493
+ org_id: "123",
494
+ flow_id: "8e2e067e-3c63-4b1a-8e02-6150a3d1fd89",
495
+ flow_name: "Update CRM system",
496
+ created_at: "2023-01-01T10:30:00Z",
497
+ updated_at: "2023-01-01T10:31:00Z",
498
+ actions: [],
499
+ version: 1,
500
+ trigger_event: {
501
+ type: "entity_operation",
502
+ entity_id: "f4e4fcbd-cbcc-4496-bf5f-60c6ce2c621e",
503
+ org_id: "123",
504
+ activity_id: "a1b2c3d4-e5f6-7890-1234-567890abcdef",
505
+ operation_type: "createEntity"
506
+ }
507
+ },
508
+ {
509
+ id: "3cef484g-bd71-6149-ae04-0985db2d43f5",
510
+ execution_status: "failed",
511
+ entity_id: "c2b1a9d8-7e6f-5040-3029-180716253f4e",
512
+ activity_id: "b3c4d5e6-f7a8-9012-3456-789012bcdef0",
513
+ org_id: "123",
514
+ flow_id: "6d1d956d-2b52-4a0a-9e01-5049a2c0ee78",
515
+ flow_name: "Generate invoice",
516
+ created_at: "2023-01-01T11:15:00Z",
517
+ updated_at: "2023-01-01T11:16:30Z",
518
+ actions: [],
519
+ version: 1,
520
+ trigger_event: {
521
+ type: "entity_activity",
522
+ org_id: "123",
523
+ activity_id: "b3c4d5e6-f7a8-9012-3456-789012bcdef0",
524
+ activity_type: "CreateMeterReading",
525
+ entity_id: "c2b1a9d8-7e6f-5040-3029-180716253f4e"
526
+ }
527
+ },
528
+ {
529
+ id: "4def595h-ce82-7259-bf15-1a96ec3e54g6",
530
+ execution_status: "scheduled",
531
+ entity_id: "d3c2b1a0-8f7e-6d5c-4b3a-291807364e5f",
532
+ org_id: "123",
533
+ flow_id: "9f0f178f-4c74-5b2b-af12-6160b3d1ee89",
534
+ flow_name: "Scheduled reminder",
535
+ created_at: "2023-01-01T12:45:00Z",
536
+ updated_at: "2023-01-01T12:45:00Z",
537
+ actions: [],
538
+ version: 1,
539
+ trigger_event: {
540
+ type: "flow_automation_task",
541
+ org_id: "123",
542
+ entity_id: "d3c2b1a0-8f7e-6d5c-4b3a-291807364e5f",
543
+ flow_execution_id: "xgxBKpU_dL",
544
+ flow_automation_task_id: "3gb332fd-4bbd-5766-bc9g-d173fdb55b4",
545
+ caller: {
546
+ EpilotAuth: {
547
+ claims: {
548
+ userId: "10006130",
549
+ email: "scheduler@epilot.cloud"
550
+ },
551
+ userId: "10006130",
552
+ organizationId: "123"
553
+ }
554
+ }
555
+ }
556
+ }
557
+ ]
558
+ }
559
+ }
560
+ }
561
+ }
562
+ }
563
+ },
564
+ "403": {
565
+ $ref: "#/components/responses/ForbiddenError"
566
+ }
567
+ }
568
+ },
569
+ post: {
570
+ operationId: "startExecution",
571
+ summary: "startExecution",
572
+ description: "Start new automation execution",
573
+ requestBody: {
574
+ description: "Execution parameters",
575
+ content: {
576
+ "application/json": {
577
+ schema: {
578
+ $ref: "#/components/schemas/StartExecutionRequest"
579
+ }
580
+ }
581
+ }
582
+ },
583
+ tags: ["executions"],
584
+ responses: {
585
+ "201": {
586
+ description: "The created execution",
587
+ content: {
588
+ "application/json": {
589
+ schema: {
590
+ $ref: "#/components/schemas/AutomationExecution"
591
+ }
592
+ }
593
+ }
594
+ },
595
+ "403": {
596
+ $ref: "#/components/responses/ForbiddenError"
597
+ }
598
+ }
599
+ }
600
+ },
601
+ "/v1/automation/executions/bulk-jobs": {
602
+ post: {
603
+ operationId: "bulkTriggerExecutions",
604
+ summary: "bulkTriggerExecutions",
605
+ description: "Create a bulk job that triggers multiple automation executions",
606
+ requestBody: {
607
+ description: "Execution parameters",
608
+ content: {
609
+ "application/json": {
610
+ schema: {
611
+ $ref: "#/components/schemas/BulkTriggerRequest"
612
+ },
613
+ example: {
614
+ flow_id: "8e2e067e-3c63-4b1a-8e02-6150a3d1fd89",
615
+ entities_refs: [
616
+ {
617
+ entity_schema: "opportunity",
618
+ entity_id: "7791b04a-16d2-44a2-9af9-2d59c25c512f"
619
+ },
620
+ {
621
+ entity_schema: "opportunity",
622
+ entity_id: "b35a6c51-2a15-4ef1-9623-20db37b0744f"
623
+ }
624
+ ],
625
+ trigger_context: {
626
+ entity_id: "a1b2c3d4-e5f6-7890-1234-567890abcdef"
627
+ }
628
+ }
629
+ }
630
+ }
631
+ },
632
+ tags: ["bulk"],
633
+ responses: {
634
+ "202": {
635
+ description: "Trigger Executions Job Info",
636
+ content: {
637
+ "application/json": {
638
+ schema: {
639
+ $ref: "#/components/schemas/BulkTriggerJob"
640
+ }
641
+ }
642
+ }
643
+ },
644
+ "403": {
645
+ $ref: "#/components/responses/ForbiddenError"
646
+ }
647
+ }
648
+ }
649
+ },
650
+ "/v1/automation/executions/bulk-jobs/{job_id}": {
651
+ get: {
652
+ operationId: "getBulkJob",
653
+ summary: "getBulkJob",
654
+ description: "Get the status of a bulk job that triggers multiple automation executions",
655
+ parameters: [
656
+ {
657
+ name: "job_id",
658
+ in: "path",
659
+ schema: {
660
+ $ref: "#/components/schemas/JobId"
661
+ },
662
+ required: true
663
+ }
664
+ ],
665
+ tags: ["bulk"],
666
+ responses: {
667
+ "200": {
668
+ description: "Bulk Job Info",
669
+ content: {
670
+ "application/json": {
671
+ schema: {
672
+ $ref: "#/components/schemas/BulkTriggerJob"
673
+ }
674
+ }
675
+ }
676
+ },
677
+ "403": {
678
+ $ref: "#/components/responses/ForbiddenError"
679
+ },
680
+ "404": {
681
+ $ref: "#/components/responses/NotFoundError"
682
+ }
683
+ }
684
+ },
685
+ patch: {
686
+ operationId: "patchBulkJob",
687
+ summary: "patchBulkJob",
688
+ description: "Approve / Cancel bulk job that triggers multiple automation executions",
689
+ parameters: [
690
+ {
691
+ name: "job_id",
692
+ in: "path",
693
+ schema: {
694
+ $ref: "#/components/schemas/JobId"
695
+ },
696
+ required: true
697
+ }
698
+ ],
699
+ requestBody: {
700
+ content: {
701
+ "application/json": {
702
+ schema: {
703
+ $ref: "#/components/schemas/PatchBulkJobRequest"
704
+ },
705
+ example: {
706
+ action: "APPROVE",
707
+ task_token: "b35a6c51-2a15-4ef1-9623-20db37b0744f"
708
+ }
709
+ }
710
+ }
711
+ },
712
+ tags: ["bulk"],
713
+ responses: {
714
+ "200": {
715
+ description: "Bulk Job Info",
716
+ content: {
717
+ "application/json": {
718
+ schema: {
719
+ $ref: "#/components/schemas/BulkTriggerJob"
720
+ }
721
+ }
722
+ }
723
+ },
724
+ "403": {
725
+ $ref: "#/components/responses/ForbiddenError"
726
+ },
727
+ "404": {
728
+ $ref: "#/components/responses/NotFoundError"
729
+ }
730
+ }
731
+ }
732
+ },
733
+ "/v1/automation/executions/{execution_id}": {
734
+ get: {
735
+ operationId: "getExecution",
736
+ summary: "getExecution",
737
+ description: "Get automation execution",
738
+ parameters: [
739
+ {
740
+ name: "execution_id",
741
+ in: "path",
742
+ schema: {
743
+ $ref: "#/components/schemas/AutomationExecutionId"
744
+ },
745
+ required: true
746
+ }
747
+ ],
748
+ tags: ["executions"],
749
+ responses: {
750
+ "200": {
751
+ description: "The returned execution",
752
+ content: {
753
+ "application/json": {
754
+ schema: {
755
+ $ref: "#/components/schemas/AutomationExecution"
756
+ }
757
+ }
758
+ }
759
+ },
760
+ "403": {
761
+ $ref: "#/components/responses/ForbiddenError"
762
+ },
763
+ "404": {
764
+ $ref: "#/components/responses/NotFoundError"
765
+ }
766
+ }
767
+ },
768
+ delete: {
769
+ operationId: "cancelExecution",
770
+ summary: "cancelExecution",
771
+ description: "Cancel automation execution",
772
+ parameters: [
773
+ {
774
+ name: "execution_id",
775
+ in: "path",
776
+ schema: {
777
+ $ref: "#/components/schemas/AutomationExecutionId"
778
+ },
779
+ required: true
780
+ }
781
+ ],
782
+ tags: ["executions"],
783
+ responses: {
784
+ "200": {
785
+ description: "The cancelled execution",
786
+ content: {
787
+ "application/json": {
788
+ schema: {
789
+ $ref: "#/components/schemas/AutomationExecution"
790
+ }
791
+ }
792
+ }
793
+ },
794
+ "403": {
795
+ $ref: "#/components/responses/ForbiddenError"
796
+ },
797
+ "404": {
798
+ $ref: "#/components/responses/NotFoundError"
799
+ }
800
+ }
801
+ }
802
+ },
803
+ "/v1/automation/executions/{execution_id}/{action_id}/retrigger": {
804
+ post: {
805
+ operationId: "retriggerAction",
806
+ summary: "retriggerAction",
807
+ description: "Retry a specific automation execution action which failed / is stuck.",
808
+ tags: ["executions"],
809
+ parameters: [
810
+ {
811
+ name: "execution_id",
812
+ in: "path",
813
+ description: "Execution Id",
814
+ schema: {
815
+ $ref: "#/components/schemas/AutomationExecutionId"
816
+ },
817
+ required: true
818
+ },
819
+ {
820
+ name: "action_id",
821
+ in: "path",
822
+ description: "Id of Action to retry.",
823
+ schema: {
824
+ $ref: "#/components/schemas/AutomationActionId"
825
+ },
826
+ required: true
827
+ }
828
+ ],
829
+ requestBody: {
830
+ description: "Retry request details.",
831
+ required: false,
832
+ content: {
833
+ "application/json": {
834
+ schema: {
835
+ $ref: "#/components/schemas/RetryReq"
836
+ }
837
+ }
838
+ }
839
+ },
840
+ responses: {
841
+ "200": {
842
+ description: "action re-triggered with success"
843
+ },
844
+ "403": {
845
+ $ref: "#/components/responses/ForbiddenError"
846
+ },
847
+ "404": {
848
+ $ref: "#/components/responses/NotFoundError"
849
+ }
850
+ }
851
+ }
852
+ },
853
+ "/v1/automation/public/executions:resume": {
854
+ post: {
855
+ operationId: "resumeExecutionWithToken",
856
+ summary: "resumeExecutionWithToken",
857
+ description: "Resume a paused automation execution using a unique resume token.\n\nThis public API is normally called when a user lands on a confirmation page via email link.\n\nExample link: https://automation.epilot.io/confirm-email?token=eyJraWQiOiJrZXkifQ...\n",
858
+ tags: ["executions"],
859
+ security: [],
860
+ requestBody: {
861
+ description: "Retry request details.",
862
+ content: {
863
+ "application/json": {
864
+ schema: {
865
+ $ref: "#/components/schemas/ResumeReq"
866
+ }
867
+ }
868
+ }
869
+ },
870
+ responses: {
871
+ "200": {
872
+ description: "execution resumed with success",
873
+ content: {
874
+ "application/json": {
875
+ schema: {
876
+ $ref: "#/components/schemas/ResumeResp"
877
+ }
878
+ }
879
+ }
880
+ },
881
+ "400": {
882
+ description: "execution could not be resumed"
883
+ },
884
+ "403": {
885
+ $ref: "#/components/responses/ForbiddenError"
886
+ },
887
+ "404": {
888
+ $ref: "#/components/responses/NotFoundError"
889
+ }
890
+ }
891
+ }
892
+ },
893
+ "/v1/automation/executions/{execution_id}/schedules/{schedule_id}": {
894
+ delete: {
895
+ operationId: "cancelSchedule",
896
+ summary: "cancelSchedule",
897
+ description: "Cancel a scheduled automation",
898
+ parameters: [
899
+ {
900
+ name: "execution_id",
901
+ in: "path",
902
+ schema: {
903
+ $ref: "#/components/schemas/AutomationExecutionId"
904
+ },
905
+ required: true
906
+ },
907
+ {
908
+ name: "schedule_id",
909
+ in: "path",
910
+ schema: {
911
+ type: "string"
912
+ },
913
+ required: true,
914
+ description: "ID of the schedule to cancel"
915
+ }
916
+ ],
917
+ tags: ["executions"],
918
+ responses: {
919
+ "200": {
920
+ description: "The schedule was successfully cancelled",
921
+ content: {
922
+ "application/json": {
923
+ schema: {
924
+ $ref: "#/components/schemas/ActionSchedule"
925
+ }
926
+ }
927
+ }
928
+ },
929
+ "403": {
930
+ $ref: "#/components/responses/ForbiddenError"
931
+ },
932
+ "404": {
933
+ $ref: "#/components/responses/NotFoundError"
934
+ }
935
+ }
936
+ }
937
+ }
938
+ };
939
+ var components = {
940
+ securitySchemes: {
941
+ EpilotAuth: {
942
+ type: "http",
943
+ scheme: "bearer",
944
+ description: "Epilot Bearer Token"
945
+ }
946
+ },
947
+ schemas: {
948
+ AutomationFlowId: {
949
+ type: "string",
950
+ description: "ID of the Automation Flow",
951
+ example: "7791b04a-16d2-44a2-9af9-2d59c25c512f",
952
+ readOnly: true
953
+ },
954
+ AutomationActionId: {
955
+ type: "string",
956
+ example: "9ec3711b-db63-449c-b894-54d5bb622a8f"
957
+ },
958
+ AutomationFlow: {
959
+ type: "object",
960
+ properties: {
961
+ id: {
962
+ $ref: "#/components/schemas/AutomationFlowId"
963
+ },
964
+ flow_name: {
965
+ type: "string",
966
+ description: "A descriptive name for the Automation",
967
+ example: "Handle contact form"
968
+ },
969
+ enabled: {
970
+ type: "boolean",
971
+ description: "Whether the automation is enabled or not"
972
+ },
973
+ disable_details: {
974
+ type: "object",
975
+ properties: {
976
+ disabled_at: {
977
+ type: "string",
978
+ format: "date-time",
979
+ description: "When the flow was disabled"
980
+ },
981
+ disabled_by: {
982
+ type: "string",
983
+ enum: ["system", "user"],
984
+ description: "Who disabled the flow (system or user)"
985
+ },
986
+ blame: {
987
+ type: "string",
988
+ description: "The 360 user email that disabled the flow"
989
+ }
990
+ },
991
+ required: ["disabled_at", "disabled_by"]
992
+ },
993
+ triggers: {
994
+ type: "array",
995
+ items: {
996
+ $ref: "#/components/schemas/AnyTrigger"
997
+ }
998
+ },
999
+ trigger_conditions: {
1000
+ type: "array",
1001
+ items: {
1002
+ $ref: "#/components/schemas/TriggerCondition"
1003
+ }
1004
+ },
1005
+ entity_schema: {
1006
+ description: "The triggering entity schema",
1007
+ type: "string",
1008
+ example: "submission"
1009
+ },
1010
+ conditions: {
1011
+ type: "array",
1012
+ items: {
1013
+ $ref: "#/components/schemas/ActionCondition"
1014
+ }
1015
+ },
1016
+ schedules: {
1017
+ type: "array",
1018
+ items: {
1019
+ $ref: "#/components/schemas/ActionSchedule"
1020
+ }
1021
+ },
1022
+ actions: {
1023
+ type: "array",
1024
+ description: "The actions (nodes) of the automation flow",
1025
+ items: {
1026
+ $ref: "#/components/schemas/AnyAction"
1027
+ },
1028
+ readOnly: true
1029
+ },
1030
+ runs: {
1031
+ type: "number",
1032
+ example: 7,
1033
+ description: "Number of automation executions that ran"
1034
+ },
1035
+ max_executions: {
1036
+ type: "object",
1037
+ description: "Customized execution hot flow rate limit. Takes precedence over the default hot flow rate limit if specified.",
1038
+ properties: {
1039
+ count: {
1040
+ type: "number",
1041
+ description: "Maximum number of executions per time window",
1042
+ minimum: 1,
1043
+ example: 100
1044
+ },
1045
+ window: {
1046
+ type: "string",
1047
+ description: "ISO 8601 duration time window for the threshold",
1048
+ example: "PT1M"
1049
+ }
1050
+ }
1051
+ },
1052
+ created_at: {
1053
+ type: "string",
1054
+ format: "date-time",
1055
+ readOnly: true
1056
+ },
1057
+ updated_at: {
1058
+ type: "string",
1059
+ format: "date-time",
1060
+ readOnly: true
1061
+ },
1062
+ created_by: {
1063
+ type: "string",
1064
+ example: "user:123",
1065
+ description: "User / service who created automation flow",
1066
+ readOnly: true
1067
+ },
1068
+ last_updated_by: {
1069
+ type: "string",
1070
+ example: "user:123",
1071
+ description: "User / service who last updated automation flow",
1072
+ readOnly: true
1073
+ },
1074
+ org_id: {
1075
+ type: "string",
1076
+ example: "123",
1077
+ description: "Organization the automation flow belongs to",
1078
+ readOnly: true
1079
+ },
1080
+ system_flow: {
1081
+ type: "boolean",
1082
+ description: "Determines if the flow is a system generated flow"
1083
+ },
1084
+ version: {
1085
+ type: "number",
1086
+ description: "Version of the flow",
1087
+ example: 2
1088
+ },
1089
+ _manifest: {
1090
+ type: "array",
1091
+ description: "Source blueprint/manifest ID used when automation is created via blueprints.",
1092
+ items: {
1093
+ type: "string",
1094
+ format: "uuid",
1095
+ example: "123e4567-e89b-12d3-a456-426614174000"
1096
+ },
1097
+ nullable: true
1098
+ },
1099
+ workflow_context: {
1100
+ $ref: "#/components/schemas/WorkflowContext"
1101
+ }
1102
+ },
1103
+ required: ["flow_name", "triggers", "actions"]
1104
+ },
1105
+ WorkflowContext: {
1106
+ type: "object",
1107
+ description: "For automation that are connected to workflows V2, this field tracks various information about the workflow.",
1108
+ required: ["workflow_id", "workflow_role"],
1109
+ properties: {
1110
+ workflow_id: {
1111
+ type: "string",
1112
+ format: "uuid",
1113
+ description: "The ID of the workflow this automation is connected to"
1114
+ },
1115
+ task_id: {
1116
+ type: "string",
1117
+ format: "uuid",
1118
+ description: "The ID of the task in the workflow that this automation is connected to"
1119
+ },
1120
+ workflow_role: {
1121
+ $ref: "#/components/schemas/WorkflowContextRole"
1122
+ }
1123
+ }
1124
+ },
1125
+ WorkflowContextRole: {
1126
+ type: "string",
1127
+ description: "The role this automation plays in the workflow.",
1128
+ enum: ["trigger_workflow", "run_task_automation"]
1129
+ },
1130
+ SearchAutomationsResp: {
1131
+ type: "object",
1132
+ properties: {
1133
+ total: {
1134
+ type: "number"
1135
+ },
1136
+ results: {
1137
+ type: "array",
1138
+ items: {
1139
+ $ref: "#/components/schemas/AutomationFlow"
1140
+ }
1141
+ }
1142
+ },
1143
+ required: ["total", "results"]
1144
+ },
1145
+ AnyTrigger: {
1146
+ anyOf: [
1147
+ {
1148
+ $ref: "#/components/schemas/FrontendSubmitTrigger"
1149
+ },
1150
+ {
1151
+ $ref: "#/components/schemas/JourneySubmitTrigger"
1152
+ },
1153
+ {
1154
+ $ref: "#/components/schemas/ApiSubmissionTrigger"
1155
+ },
1156
+ {
1157
+ $ref: "#/components/schemas/EntityOperationTrigger"
1158
+ },
1159
+ {
1160
+ $ref: "#/components/schemas/ActivityTrigger"
1161
+ },
1162
+ {
1163
+ $ref: "#/components/schemas/EntityManualTrigger"
1164
+ },
1165
+ {
1166
+ $ref: "#/components/schemas/ReceivedEmailTrigger"
1167
+ },
1168
+ {
1169
+ $ref: "#/components/schemas/NewEmailThreadTrigger"
1170
+ },
1171
+ {
1172
+ $ref: "#/components/schemas/FlowsTrigger"
1173
+ }
1174
+ ]
1175
+ },
1176
+ AnyAction: {
1177
+ anyOf: [
1178
+ {
1179
+ $ref: "#/components/schemas/MapEntityAction"
1180
+ },
1181
+ {
1182
+ $ref: "#/components/schemas/TriggerWorkflowAction"
1183
+ },
1184
+ {
1185
+ $ref: "#/components/schemas/TriggerShareEntityAction"
1186
+ },
1187
+ {
1188
+ $ref: "#/components/schemas/TriggerWebhookAction"
1189
+ },
1190
+ {
1191
+ $ref: "#/components/schemas/InformERPAction"
1192
+ },
1193
+ {
1194
+ $ref: "#/components/schemas/TriggerEventAction"
1195
+ },
1196
+ {
1197
+ $ref: "#/components/schemas/CreateDocumentAction"
1198
+ },
1199
+ {
1200
+ $ref: "#/components/schemas/SendEmailAction"
1201
+ },
1202
+ {
1203
+ $ref: "#/components/schemas/CartCheckoutAction"
1204
+ },
1205
+ {
1206
+ $ref: "#/components/schemas/CustomAction"
1207
+ },
1208
+ {
1209
+ $ref: "#/components/schemas/AutomationAction"
1210
+ },
1211
+ {
1212
+ $ref: "#/components/schemas/FlowExecutionCancelAction"
1213
+ }
1214
+ ]
1215
+ },
1216
+ AnyActionConfig: {
1217
+ anyOf: [
1218
+ {
1219
+ $ref: "#/components/schemas/MapEntityActionConfig"
1220
+ },
1221
+ {
1222
+ $ref: "#/components/schemas/TriggerWorkflowActionConfig"
1223
+ },
1224
+ {
1225
+ $ref: "#/components/schemas/TriggerShareEntityActionConfig"
1226
+ },
1227
+ {
1228
+ $ref: "#/components/schemas/TriggerWebhookActionConfig"
1229
+ },
1230
+ {
1231
+ $ref: "#/components/schemas/InformERPActionConfig"
1232
+ },
1233
+ {
1234
+ $ref: "#/components/schemas/TriggerEventActionConfig"
1235
+ },
1236
+ {
1237
+ $ref: "#/components/schemas/CreateDocumentActionConfig"
1238
+ },
1239
+ {
1240
+ $ref: "#/components/schemas/SendEmailActionConfig"
1241
+ },
1242
+ {
1243
+ $ref: "#/components/schemas/CartCheckoutActionConfig"
1244
+ },
1245
+ {
1246
+ $ref: "#/components/schemas/CustomAction"
1247
+ },
1248
+ {
1249
+ $ref: "#/components/schemas/AutomationActionConfig"
1250
+ },
1251
+ {
1252
+ $ref: "#/components/schemas/FlowExecutionCancelActionConfig"
1253
+ }
1254
+ ]
1255
+ },
1256
+ AutomationActionConfig: {
1257
+ type: "object",
1258
+ properties: {
1259
+ id: {
1260
+ $ref: "#/components/schemas/AutomationActionId"
1261
+ },
1262
+ flow_action_id: {
1263
+ $ref: "#/components/schemas/AutomationActionId"
1264
+ },
1265
+ name: {
1266
+ type: "string"
1267
+ },
1268
+ type: {
1269
+ type: "string"
1270
+ },
1271
+ config: {
1272
+ type: "object",
1273
+ additionalProperties: true
1274
+ },
1275
+ allow_failure: {
1276
+ description: "Whether to stop execution in a failed state if this action fails",
1277
+ type: "boolean"
1278
+ },
1279
+ created_automatically: {
1280
+ description: "Flag indicating whether the action was created automatically or manually",
1281
+ type: "boolean"
1282
+ },
1283
+ is_bulk_action: {
1284
+ description: "Flag indicating whether the same action can be in bulk in a single execution. e.g; send-email / map-entity",
1285
+ type: "boolean"
1286
+ },
1287
+ reason: {
1288
+ type: "object",
1289
+ properties: {
1290
+ message: {
1291
+ type: "string",
1292
+ description: "Why the action has to be skipped/failed",
1293
+ example: "There are no registered portal users for the given emails, hence skipping the action"
1294
+ },
1295
+ payload: {
1296
+ type: "object",
1297
+ additionalProperties: true,
1298
+ description: "Extra metadata about the skipping reason - such as a certain condition not met, etc."
1299
+ }
1300
+ }
1301
+ },
1302
+ condition_id: {
1303
+ type: "string",
1304
+ description: "Condition Id to be checked before executing the action"
1305
+ },
1306
+ schedule_id: {
1307
+ type: "string",
1308
+ description: "Schedule Id which indicates the schedule of the action"
1309
+ }
1310
+ }
1311
+ },
1312
+ AutomationActionExecutionState: {
1313
+ type: "object",
1314
+ properties: {
1315
+ execution_status: {
1316
+ $ref: "#/components/schemas/ExecutionStatus"
1317
+ },
1318
+ started_at: {
1319
+ type: "string"
1320
+ },
1321
+ updated_at: {
1322
+ type: "string"
1323
+ },
1324
+ outputs: {
1325
+ type: "object",
1326
+ additionalProperties: true,
1327
+ example: {}
1328
+ },
1329
+ error_output: {
1330
+ $ref: "#/components/schemas/ErrorOutput"
1331
+ },
1332
+ retry_strategy: {
1333
+ $ref: "#/components/schemas/RetryStrategy"
1334
+ }
1335
+ }
1336
+ },
1337
+ RetryStrategy: {
1338
+ type: "string",
1339
+ description: "different behaviors for retrying failed execution actions.",
1340
+ enum: ["RETRY_AND_RESUME", "RETRY_AND_STOP", "RETRY_ALL_PARENT_CONDITION_ACTIONS"]
1341
+ },
1342
+ AutomationAction: {
1343
+ allOf: [
1344
+ {
1345
+ $ref: "#/components/schemas/AutomationActionConfig"
1346
+ },
1347
+ {
1348
+ $ref: "#/components/schemas/AutomationActionExecutionState"
1349
+ }
1350
+ ]
1351
+ },
1352
+ ErrorOutput: {
1353
+ type: "object",
1354
+ properties: {
1355
+ error_code: {
1356
+ $ref: "#/components/schemas/ErrorCode"
1357
+ },
1358
+ error_reason: {
1359
+ type: "string"
1360
+ },
1361
+ error_info: {
1362
+ type: "object",
1363
+ additionalProperties: true,
1364
+ properties: {
1365
+ details: {
1366
+ type: "array",
1367
+ items: {
1368
+ $ref: "#/components/schemas/ErrorDetail"
1369
+ }
1370
+ }
1371
+ }
1372
+ }
1373
+ },
1374
+ required: ["error_code", "error_reason"]
1375
+ },
1376
+ ErrorCode: {
1377
+ type: "string",
1378
+ enum: [
1379
+ "MAPPING_ERROR",
1380
+ "REFRESH_RELATIONS_ERROR",
1381
+ "DUPLICATE_ENTITY_ERROR",
1382
+ "TRIGGER_WORKFLOW_ERROR",
1383
+ "TIMEOUT_ERROR",
1384
+ "BAD_CONFIG",
1385
+ "INTERNAL_ERROR",
1386
+ "TRIGGER_WEBHOOK_ERROR",
1387
+ "TEMPLATE_ERROR",
1388
+ "INVALID_PAYLOAD",
1389
+ "INVALID_SCHEDULE_CONFIG",
1390
+ "CUSTOM_ACTION_ERROR",
1391
+ "ORDER_CREATION_ERROR",
1392
+ "DOCUMENT_GENERATION_ERROR",
1393
+ "BULK_EMAIL_ERROR",
1394
+ "SHARING_ERROR",
1395
+ "CANCEL_FLOW_EXECUTION_ERROR",
1396
+ "METER_READING_NOT_FOUND",
1397
+ "ENTITY_NOT_FOUND"
1398
+ ]
1399
+ },
1400
+ ErrorDetail: {
1401
+ type: "object",
1402
+ properties: {
1403
+ explanation: {
1404
+ type: "string"
1405
+ },
1406
+ context: {
1407
+ type: "string"
1408
+ },
1409
+ id: {
1410
+ type: "string"
1411
+ }
1412
+ },
1413
+ required: ["explanation"]
1414
+ },
1415
+ CartCheckoutActionConfig: {
1416
+ allOf: [
1417
+ {
1418
+ $ref: "#/components/schemas/AutomationActionConfig"
1419
+ },
1420
+ {
1421
+ type: "object",
1422
+ description: "Creates an order entity with prices from journey",
1423
+ properties: {
1424
+ type: {
1425
+ enum: ["cart-checkout"]
1426
+ },
1427
+ config: {
1428
+ $ref: "#/components/schemas/CartCheckoutConfig"
1429
+ }
1430
+ }
1431
+ }
1432
+ ]
1433
+ },
1434
+ CartCheckoutAction: {
1435
+ allOf: [
1436
+ {
1437
+ $ref: "#/components/schemas/AutomationAction"
1438
+ },
1439
+ {
1440
+ type: "object",
1441
+ description: "Creates an order entity with prices from journey",
1442
+ properties: {
1443
+ type: {
1444
+ enum: ["cart-checkout"]
1445
+ },
1446
+ config: {
1447
+ $ref: "#/components/schemas/CartCheckoutConfig"
1448
+ }
1449
+ }
1450
+ }
1451
+ ]
1452
+ },
1453
+ CartCheckoutConfig: {
1454
+ type: "object",
1455
+ properties: {
1456
+ version: {
1457
+ description: "Version of the config",
1458
+ type: "string",
1459
+ default: "1"
1460
+ },
1461
+ mapping_config: {
1462
+ $ref: "#/components/schemas/MappingConfigRef"
1463
+ },
1464
+ relation_attributes: {
1465
+ type: "array",
1466
+ items: {
1467
+ $ref: "#/components/schemas/RelationAttribute"
1468
+ }
1469
+ },
1470
+ mapping_attributes: {
1471
+ type: "array",
1472
+ items: {
1473
+ anyOf: [
1474
+ {
1475
+ $ref: "#/components/schemas/MappingAttributeV2"
1476
+ },
1477
+ {
1478
+ $ref: "#/components/schemas/MappingAttribute"
1479
+ }
1480
+ ]
1481
+ }
1482
+ },
1483
+ linkback_relation_attribute: {
1484
+ type: "string",
1485
+ default: "mapped_entities",
1486
+ description: "Relation attribute on the main entity where the target entity will be linked. Set to false to disable linkback\n"
1487
+ },
1488
+ linkback_relation_tags: {
1489
+ type: "array",
1490
+ description: "Relation tags (labels) to include in main entity linkback relation attribute",
1491
+ items: {
1492
+ type: "string"
1493
+ }
1494
+ },
1495
+ target_unique: {
1496
+ type: "array",
1497
+ description: "Unique key for target entity (see upsertEntity of Entity API)",
1498
+ items: {
1499
+ type: "string"
1500
+ }
1501
+ }
1502
+ }
1503
+ },
1504
+ MapEntityActionConfig: {
1505
+ allOf: [
1506
+ {
1507
+ $ref: "#/components/schemas/AutomationActionConfig"
1508
+ },
1509
+ {
1510
+ type: "object",
1511
+ properties: {
1512
+ type: {
1513
+ enum: ["map-entity"]
1514
+ },
1515
+ config: {
1516
+ $ref: "#/components/schemas/MapEntityConfig"
1517
+ }
1518
+ }
1519
+ }
1520
+ ],
1521
+ example: {
1522
+ id: "2520gja-2sgmsaga-0asg-822jgal",
1523
+ name: "Map Entity",
1524
+ type: "map-entity",
1525
+ config: {
1526
+ target_schema: "contact",
1527
+ target_unique: ["email.0.email"],
1528
+ relation_attributes: [
1529
+ {
1530
+ target: "company",
1531
+ mode: "append",
1532
+ source_filter: {
1533
+ schema: "account",
1534
+ limit: 1
1535
+ }
1536
+ }
1537
+ ],
1538
+ mapping_attributes: [
1539
+ {
1540
+ target: "_tags",
1541
+ operation: {
1542
+ _append: ["primary", "payer"],
1543
+ _uniq: true
1544
+ }
1545
+ },
1546
+ {
1547
+ target: "email",
1548
+ operation: {
1549
+ _append: [
1550
+ {
1551
+ email: {
1552
+ _copy: "billing_contact.email"
1553
+ }
1554
+ }
1555
+ ]
1556
+ }
1557
+ },
1558
+ {
1559
+ target: "first_name",
1560
+ operation: {
1561
+ _copy: "billing_contact.first_name"
1562
+ }
1563
+ },
1564
+ {
1565
+ target: "last_name",
1566
+ operation: {
1567
+ _copy: "billing_contact.last_name"
1568
+ }
1569
+ },
1570
+ {
1571
+ target: "contact_type",
1572
+ operation: {
1573
+ _set: "customer"
1574
+ }
1575
+ },
1576
+ {
1577
+ target: "address",
1578
+ operation: {
1579
+ _append: [
1580
+ {
1581
+ _tags: ["billing", "primary"],
1582
+ street_name: {
1583
+ _copy: "billing_contact.street_name"
1584
+ },
1585
+ street_number: {
1586
+ _copy: "billing_contact.street_number"
1587
+ },
1588
+ city: {
1589
+ _copy: "billing_contact.city"
1590
+ },
1591
+ postal_code: {
1592
+ _copy: "billing_contact.postal_code"
1593
+ },
1594
+ country: {
1595
+ _copy: "billing_contact.country"
1596
+ }
1597
+ },
1598
+ {
1599
+ _tags: ["delivery"],
1600
+ street_name: {
1601
+ _copy: "delivery_contact.street_name"
1602
+ },
1603
+ street_number: {
1604
+ _copy: "delivery_contact.street_number"
1605
+ },
1606
+ city: {
1607
+ _copy: "delivery_contact.city"
1608
+ },
1609
+ postal_code: {
1610
+ _copy: "delivery_contact.postal_code"
1611
+ },
1612
+ country: {
1613
+ _copy: "delivery_contact.country"
1614
+ }
1615
+ }
1616
+ ],
1617
+ _uniq: ["street_name", "street_number", "postal_code", "country"]
1618
+ }
1619
+ }
1620
+ ]
1621
+ }
1622
+ }
1623
+ },
1624
+ MapEntityAction: {
1625
+ allOf: [
1626
+ {
1627
+ $ref: "#/components/schemas/AutomationAction"
1628
+ },
1629
+ {
1630
+ type: "object",
1631
+ properties: {
1632
+ type: {
1633
+ enum: ["map-entity"]
1634
+ },
1635
+ config: {
1636
+ $ref: "#/components/schemas/MapEntityConfig"
1637
+ }
1638
+ }
1639
+ }
1640
+ ]
1641
+ },
1642
+ MapEntityConfig: {
1643
+ type: "object",
1644
+ properties: {
1645
+ mapping_config: {
1646
+ $ref: "#/components/schemas/MappingConfigRef"
1647
+ },
1648
+ target_schema: {
1649
+ type: "string",
1650
+ description: "Schema of target entity"
1651
+ },
1652
+ target_unique: {
1653
+ type: "array",
1654
+ description: "Unique key for target entity (see upsertEntity of Entity API)",
1655
+ items: {
1656
+ type: "string"
1657
+ }
1658
+ },
1659
+ mapping_attributes: {
1660
+ type: "array",
1661
+ description: "Attribute mappings",
1662
+ items: {
1663
+ anyOf: [
1664
+ {
1665
+ $ref: "#/components/schemas/MappingAttributeV2"
1666
+ },
1667
+ {
1668
+ $ref: "#/components/schemas/MappingAttribute"
1669
+ }
1670
+ ]
1671
+ }
1672
+ },
1673
+ relation_attributes: {
1674
+ type: "array",
1675
+ description: "Relation mappings",
1676
+ items: {
1677
+ $ref: "#/components/schemas/RelationAttribute"
1678
+ }
1679
+ },
1680
+ linkback_relation_attribute: {
1681
+ type: "string",
1682
+ default: "mapped_entities",
1683
+ description: "Relation attribute on the main entity where the target entity will be linked. Set to false to disable linkback\n"
1684
+ },
1685
+ linkback_relation_tags: {
1686
+ type: "array",
1687
+ description: "Relation tags (labels) to include in main entity linkback relation attribute",
1688
+ items: {
1689
+ type: "string"
1690
+ }
1691
+ }
1692
+ },
1693
+ required: ["target_schema"]
1694
+ },
1695
+ MappingConfigRef: {
1696
+ type: "object",
1697
+ properties: {
1698
+ config_id: {
1699
+ type: "string",
1700
+ description: "Id of Entity Mapping Configuration to run for mapping."
1701
+ },
1702
+ target_id: {
1703
+ type: "string",
1704
+ description: "Id of TargetConfig to run for mapping."
1705
+ },
1706
+ version: {
1707
+ type: "number",
1708
+ description: "Version of Entity Mapping Configuration to run for mapping."
1709
+ }
1710
+ },
1711
+ required: ["config_id", "target_id"]
1712
+ },
1713
+ RelationAttribute: {
1714
+ type: "object",
1715
+ properties: {
1716
+ target: {
1717
+ type: "string",
1718
+ description: "Target attribute to store the relation in"
1719
+ },
1720
+ target_tags: {
1721
+ type: "array",
1722
+ description: "Relation tags (labels) to set for the stored relations",
1723
+ items: {
1724
+ type: "string"
1725
+ }
1726
+ },
1727
+ target_tags_include_source: {
1728
+ type: "boolean",
1729
+ description: "Include all relation tags (labels) present on the main entity relation",
1730
+ default: false
1731
+ },
1732
+ source_filter: {
1733
+ type: "object",
1734
+ description: "A filter to identify which source entities to pick as relations from main entity",
1735
+ properties: {
1736
+ limit: {
1737
+ type: "integer",
1738
+ description: "Limit relations to maximum number (default, all matched relations)",
1739
+ minimum: 0
1740
+ },
1741
+ schema: {
1742
+ type: "string",
1743
+ description: "Filter by specific schema"
1744
+ },
1745
+ attribute: {
1746
+ type: "string",
1747
+ description: "Filter by a specific relation attribute on the main entity"
1748
+ },
1749
+ relation_tag: {
1750
+ type: "string",
1751
+ description: "Filter by relation tag (label) on the main entity"
1752
+ },
1753
+ tag: {
1754
+ type: "string",
1755
+ description: "Filter by a specific tag on the related entity"
1756
+ },
1757
+ self: {
1758
+ type: "boolean",
1759
+ description: "Picks main entity as relation (overrides other filters)",
1760
+ default: false
1761
+ }
1762
+ }
1763
+ },
1764
+ related_to: {
1765
+ type: "object",
1766
+ additionalProperties: true,
1767
+ deprecated: true
1768
+ },
1769
+ mode: {
1770
+ type: "string",
1771
+ enum: ["append", "prepend", "set"]
1772
+ }
1773
+ },
1774
+ required: ["target", "mode"]
1775
+ },
1776
+ MappingAttributeV2: {
1777
+ type: "object",
1778
+ properties: {
1779
+ target: {
1780
+ type: "string",
1781
+ description: "Target JSON path for the attribute to set"
1782
+ },
1783
+ operation: {
1784
+ $ref: "#/components/schemas/OperationNode"
1785
+ }
1786
+ },
1787
+ required: ["targetPath", "operation"],
1788
+ example: {
1789
+ target: "_tags",
1790
+ operation: {
1791
+ _append: ["new", "tags"],
1792
+ _uniq: true
1793
+ }
1794
+ }
1795
+ },
1796
+ OperationNode: {
1797
+ description: "Mapping operation nodes are either primitive values or operation node objects",
1798
+ oneOf: [
1799
+ {
1800
+ $ref: "#/components/schemas/OperationObjectNode"
1801
+ },
1802
+ {
1803
+ $ref: "#/components/schemas/PrimitiveJSONValue"
1804
+ }
1805
+ ]
1806
+ },
1807
+ OperationObjectNode: {
1808
+ type: "object",
1809
+ properties: {
1810
+ _set: {
1811
+ $ref: "#/components/schemas/PrimitiveJSONValue"
1812
+ },
1813
+ _append: {
1814
+ description: "Append to array",
1815
+ items: {
1816
+ $ref: "#/components/schemas/PrimitiveJSONValue"
1817
+ }
1818
+ },
1819
+ _uniq: {
1820
+ description: "Unique array",
1821
+ oneOf: [
1822
+ {
1823
+ type: "boolean",
1824
+ example: true
1825
+ },
1826
+ {
1827
+ type: "array",
1828
+ description: "Unique key consisting of object keys",
1829
+ example: ["email"],
1830
+ items: {
1831
+ type: "string"
1832
+ }
1833
+ }
1834
+ ]
1835
+ },
1836
+ _copy: {
1837
+ description: "Copy JSONPath value from source entity context",
1838
+ type: "string",
1839
+ example: "contact.first_name"
1840
+ }
1841
+ },
1842
+ additionalProperties: true
1843
+ },
1844
+ PrimitiveJSONValue: {},
1845
+ MappingAttribute: {
1846
+ anyOf: [
1847
+ {
1848
+ $ref: "#/components/schemas/SetValueMapper"
1849
+ },
1850
+ {
1851
+ $ref: "#/components/schemas/CopyValueMapper"
1852
+ },
1853
+ {
1854
+ $ref: "#/components/schemas/AppendValueMapper"
1855
+ }
1856
+ ]
1857
+ },
1858
+ MappingAttributeMode: {
1859
+ type: "string",
1860
+ enum: ["copy_if_exists", "append_if_exists", "set_value"],
1861
+ description: "- 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 together with value property.\n"
1862
+ },
1863
+ SetValueMapper: {
1864
+ type: "object",
1865
+ deprecated: true,
1866
+ properties: {
1867
+ mode: {
1868
+ $ref: "#/components/schemas/MappingAttributeMode"
1869
+ },
1870
+ target: {
1871
+ type: "string",
1872
+ description: "JSON like target path for the attribute. Eg. last_name"
1873
+ },
1874
+ value: {
1875
+ description: "Any value to be set: string, number, string[], number[], JSON object, etc. It will override existing values, if any.\n"
1876
+ }
1877
+ },
1878
+ required: ["mode", "target", "value"]
1879
+ },
1880
+ CopyValueMapper: {
1881
+ type: "object",
1882
+ deprecated: true,
1883
+ properties: {
1884
+ mode: {
1885
+ $ref: "#/components/schemas/MappingAttributeMode"
1886
+ },
1887
+ target: {
1888
+ type: "string",
1889
+ description: "JSON like target path for the attribute. Eg. last_name"
1890
+ },
1891
+ source: {
1892
+ type: "string",
1893
+ description: "JSON source path for the value to be extracted from the main entity. Eg: steps[1].['Product Info'].price\n"
1894
+ }
1895
+ },
1896
+ required: ["mode", "target", "source"]
1897
+ },
1898
+ AppendValueMapper: {
1899
+ type: "object",
1900
+ deprecated: true,
1901
+ properties: {
1902
+ mode: {
1903
+ $ref: "#/components/schemas/MappingAttributeMode"
1904
+ },
1905
+ target: {
1906
+ type: "string",
1907
+ description: "JSON like target path for the attribute. Eg. last_name"
1908
+ },
1909
+ source: {
1910
+ type: "string",
1911
+ description: "JSON source path for the value to be extracted from the main entity. Eg: steps[1].['Product Info'].price\n"
1912
+ },
1913
+ value_json: {
1914
+ type: "string",
1915
+ description: "To be provided only when mapping json objects into a target attribute. Eg array of addresses.\n"
1916
+ },
1917
+ target_unique: {
1918
+ type: "array",
1919
+ items: {
1920
+ type: "string"
1921
+ },
1922
+ description: "Array of keys which should be used when checking for uniqueness. Eg: [country, city, postal_code]\n"
1923
+ }
1924
+ },
1925
+ required: ["mode", "target", "value_json"]
1926
+ },
1927
+ MoveThreadAction: {
1928
+ allOf: [
1929
+ {
1930
+ $ref: "#/components/schemas/AutomationAction"
1931
+ },
1932
+ {
1933
+ type: "object",
1934
+ properties: {
1935
+ type: {
1936
+ enum: ["move-thread"]
1937
+ },
1938
+ config: {
1939
+ $ref: "#/components/schemas/MoveThreadConfig"
1940
+ }
1941
+ }
1942
+ }
1943
+ ]
1944
+ },
1945
+ AssignThreadAction: {
1946
+ allOf: [
1947
+ {
1948
+ $ref: "#/components/schemas/AutomationAction"
1949
+ },
1950
+ {
1951
+ type: "object",
1952
+ properties: {
1953
+ type: {
1954
+ enum: ["assign-thread"]
1955
+ },
1956
+ config: {
1957
+ $ref: "#/components/schemas/AssignThreadConfig"
1958
+ }
1959
+ }
1960
+ }
1961
+ ]
1962
+ },
1963
+ MoveThreadConfig: {
1964
+ type: "object",
1965
+ properties: {
1966
+ target_inbox_id: {
1967
+ type: "string",
1968
+ description: "ID of the inbox where the thread should be moved to"
1969
+ }
1970
+ }
1971
+ },
1972
+ AssignThreadConfig: {
1973
+ type: "object",
1974
+ properties: {
1975
+ remove: {
1976
+ type: "array",
1977
+ description: "Assignees to remove from the thread, if they exist",
1978
+ items: {
1979
+ type: "string"
1980
+ }
1981
+ },
1982
+ add: {
1983
+ type: "array",
1984
+ description: "Assignees to add to the thread",
1985
+ items: {
1986
+ type: "string"
1987
+ }
1988
+ }
1989
+ }
1990
+ },
1991
+ SendEmailActionConfig: {
1992
+ allOf: [
1993
+ {
1994
+ $ref: "#/components/schemas/AutomationActionConfig"
1995
+ },
1996
+ {
1997
+ type: "object",
1998
+ properties: {
1999
+ type: {
2000
+ enum: ["send-email"]
2001
+ },
2002
+ config: {
2003
+ $ref: "#/components/schemas/SendEmailConfig"
2004
+ }
2005
+ }
2006
+ }
2007
+ ],
2008
+ example: {
2009
+ id: "25jga0-gkasl26-0asg-908sgaj2",
2010
+ name: "Send Email",
2011
+ type: "send-email",
2012
+ config: {
2013
+ email_template_id: "gasj02-29ug9asgm-29t9gsaghg2g-pkmbhx2",
2014
+ language_code: "de"
2015
+ }
2016
+ }
2017
+ },
2018
+ SendEmailAction: {
2019
+ allOf: [
2020
+ {
2021
+ $ref: "#/components/schemas/AutomationAction"
2022
+ },
2023
+ {
2024
+ type: "object",
2025
+ properties: {
2026
+ type: {
2027
+ enum: ["send-email"]
2028
+ },
2029
+ config: {
2030
+ $ref: "#/components/schemas/SendEmailConfig"
2031
+ }
2032
+ }
2033
+ }
2034
+ ]
2035
+ },
2036
+ SendEmailConfig: {
2037
+ type: "object",
2038
+ properties: {
2039
+ email_template_id: {
2040
+ type: "string"
2041
+ },
2042
+ language_code: {
2043
+ type: "string",
2044
+ enum: ["de", "en"]
2045
+ },
2046
+ notify_portal_user_only: {
2047
+ type: "boolean",
2048
+ description: "Send an email exclusively to the portal user if they are registered on the portal.",
2049
+ default: false
2050
+ },
2051
+ skip_creating_entities: {
2052
+ type: "boolean",
2053
+ description: "When true, it lets to send only the email by skip creating the thread & message entities.",
2054
+ default: false
2055
+ },
2056
+ wait_for_confirmation: {
2057
+ type: "boolean",
2058
+ description: "Pause automation execution after sending email to wait for a confirmation link to be clicked.\n\nThe email template should contain a confirmation link using the variable `{{confirmation_url}}`\n",
2059
+ default: false
2060
+ },
2061
+ attachments: {
2062
+ type: "array",
2063
+ description: "Include extra file attachments in sent email.\nAttachments in email template will be sent regardless of this configuration.\n",
2064
+ items: {
2065
+ type: "object",
2066
+ properties: {
2067
+ source_filter: {
2068
+ type: "object",
2069
+ description: "Specify filters to match file entities related to main entity",
2070
+ properties: {
2071
+ limit: {
2072
+ type: "integer",
2073
+ description: "Limit files to maximum number (default, all matched file relations)",
2074
+ minimum: 0,
2075
+ example: 1
2076
+ },
2077
+ filename_regex: {
2078
+ type: "string",
2079
+ description: "Match by filename. Regex syntax supported",
2080
+ example: ".*"
2081
+ },
2082
+ attribute: {
2083
+ type: "string",
2084
+ description: "Filter by a specific relation attribute on the main entity",
2085
+ example: "_files"
2086
+ },
2087
+ relation_tag: {
2088
+ type: "string",
2089
+ description: "Filter by relation tag (label) on the main entity",
2090
+ example: "contract"
2091
+ },
2092
+ tag: {
2093
+ type: "string",
2094
+ description: "Filter by a specific tag on the related file entity"
2095
+ },
2096
+ document_type: {
2097
+ type: "string",
2098
+ description: "Filter by a specific document type (e.g. document)",
2099
+ enum: [
2100
+ "document",
2101
+ "text",
2102
+ "image",
2103
+ "video",
2104
+ "audio",
2105
+ "spreadsheet",
2106
+ "presentation",
2107
+ "font",
2108
+ "archive",
2109
+ "application",
2110
+ "unknown"
2111
+ ]
2112
+ },
2113
+ self: {
2114
+ type: "boolean",
2115
+ description: "Picks main entity as file (only works if source entity is a file)",
2116
+ default: false
2117
+ }
2118
+ }
2119
+ }
2120
+ }
2121
+ },
2122
+ required: ["email_template_id"]
2123
+ },
2124
+ conditions: {
2125
+ type: "array",
2126
+ description: "Conditions necessary to send out email. Otherwise it will be skipped",
2127
+ items: {
2128
+ $ref: "#/components/schemas/SendEmailCondition"
2129
+ }
2130
+ }
2131
+ }
2132
+ },
2133
+ SendEmailCondition: {
2134
+ type: "object",
2135
+ properties: {
2136
+ _equals: {
2137
+ type: "object",
2138
+ properties: {
2139
+ source: {
2140
+ type: "string"
2141
+ },
2142
+ value: {
2143
+ type: "string"
2144
+ }
2145
+ }
2146
+ }
2147
+ }
2148
+ },
2149
+ CreateDocumentActionConfig: {
2150
+ allOf: [
2151
+ {
2152
+ $ref: "#/components/schemas/AutomationActionConfig"
2153
+ },
2154
+ {
2155
+ type: "object",
2156
+ properties: {
2157
+ type: {
2158
+ enum: ["create-document"]
2159
+ },
2160
+ config: {
2161
+ $ref: "#/components/schemas/CreateDocumentConfig"
2162
+ }
2163
+ }
2164
+ }
2165
+ ],
2166
+ example: {
2167
+ id: "08g988-ojt2jtaga-292h-8978gsaga",
2168
+ name: "Create Document",
2169
+ type: "create-document",
2170
+ config: {
2171
+ template_id: {
2172
+ type: "string",
2173
+ example: '112b08ba-789c-42f2-9940-43b302f641e8"'
2174
+ },
2175
+ filename: {
2176
+ type: "string",
2177
+ example: 'newsletter.pdf"'
2178
+ }
2179
+ }
2180
+ }
2181
+ },
2182
+ CreateDocumentAction: {
2183
+ allOf: [
2184
+ {
2185
+ $ref: "#/components/schemas/AutomationAction"
2186
+ },
2187
+ {
2188
+ type: "object",
2189
+ properties: {
2190
+ type: {
2191
+ enum: ["create-document"]
2192
+ },
2193
+ config: {
2194
+ $ref: "#/components/schemas/CreateDocumentConfig"
2195
+ }
2196
+ }
2197
+ }
2198
+ ]
2199
+ },
2200
+ CreateDocumentConfig: {
2201
+ type: "object",
2202
+ properties: {
2203
+ template_id: {
2204
+ type: "string"
2205
+ },
2206
+ filename: {
2207
+ type: "string"
2208
+ }
2209
+ }
2210
+ },
2211
+ TriggerWorkflowActionConfig: {
2212
+ allOf: [
2213
+ {
2214
+ $ref: "#/components/schemas/AutomationActionConfig"
2215
+ },
2216
+ {
2217
+ type: "object",
2218
+ properties: {
2219
+ type: {
2220
+ enum: ["trigger-workflow"]
2221
+ },
2222
+ config: {
2223
+ $ref: "#/components/schemas/TriggerWorkflowConfig"
2224
+ }
2225
+ }
2226
+ }
2227
+ ],
2228
+ example: {
2229
+ id: "08g988-ojt2jtaga-292h-8978gsaga",
2230
+ name: "Trigger Workflow",
2231
+ type: "trigger-workflow",
2232
+ config: {
2233
+ target_workflow: "mfptvUMH",
2234
+ conditions: [
2235
+ {
2236
+ schema: "ivy-opportunity",
2237
+ source: "customer.type",
2238
+ comparison: "equals",
2239
+ value: "PRIVATE"
2240
+ }
2241
+ ],
2242
+ assign_steps: [
2243
+ {
2244
+ step_name: "Lead Sales",
2245
+ user_ids: [10010729]
2246
+ },
2247
+ {
2248
+ step_name: "Operations",
2249
+ user_ids: [10010728, 10010729]
2250
+ }
2251
+ ]
2252
+ }
2253
+ }
2254
+ },
2255
+ TriggerWorkflowAction: {
2256
+ allOf: [
2257
+ {
2258
+ $ref: "#/components/schemas/AutomationAction"
2259
+ },
2260
+ {
2261
+ type: "object",
2262
+ properties: {
2263
+ type: {
2264
+ enum: ["trigger-workflow"]
2265
+ },
2266
+ config: {
2267
+ $ref: "#/components/schemas/TriggerWorkflowConfig"
2268
+ }
2269
+ }
2270
+ }
2271
+ ]
2272
+ },
2273
+ TriggerWorkflowConfig: {
2274
+ type: "object",
2275
+ properties: {
2276
+ target_workflow: {
2277
+ type: "string"
2278
+ },
2279
+ conditions: {
2280
+ type: "array",
2281
+ items: {
2282
+ $ref: "#/components/schemas/TriggerWorkflowCondition"
2283
+ }
2284
+ },
2285
+ assignees: {
2286
+ type: "array",
2287
+ items: {
2288
+ type: "string"
2289
+ }
2290
+ },
2291
+ assign_steps: {
2292
+ type: "array",
2293
+ items: {
2294
+ $ref: "#/components/schemas/AssignUsersToStep"
2295
+ }
2296
+ },
2297
+ filter_with_purposes: {
2298
+ type: "boolean"
2299
+ }
2300
+ }
2301
+ },
2302
+ TriggerWorkflowCondition: {
2303
+ allOf: [
2304
+ {
2305
+ $ref: "#/components/schemas/TriggerCondition"
2306
+ },
2307
+ {
2308
+ type: "object",
2309
+ properties: {
2310
+ schema: {
2311
+ type: "string"
2312
+ }
2313
+ }
2314
+ }
2315
+ ],
2316
+ required: ["schema", "source", "comparison"],
2317
+ example: {
2318
+ schema: "contact",
2319
+ source: "email",
2320
+ comparison: "equals",
2321
+ value: "test@epilot.cloud"
2322
+ }
2323
+ },
2324
+ TriggerShareEntityActionConfig: {
2325
+ allOf: [
2326
+ {
2327
+ $ref: "#/components/schemas/AutomationActionConfig"
2328
+ },
2329
+ {
2330
+ type: "object",
2331
+ properties: {
2332
+ type: {
2333
+ enum: ["trigger-workflow"]
2334
+ },
2335
+ config: {
2336
+ $ref: "#/components/schemas/TriggerShareEntityConfig"
2337
+ }
2338
+ }
2339
+ }
2340
+ ]
2341
+ },
2342
+ TriggerShareEntityAction: {
2343
+ allOf: [
2344
+ {
2345
+ $ref: "#/components/schemas/AutomationAction"
2346
+ },
2347
+ {
2348
+ type: "object",
2349
+ properties: {
2350
+ type: {
2351
+ enum: ["trigger-share-entity"]
2352
+ },
2353
+ config: {
2354
+ $ref: "#/components/schemas/TriggerShareEntityConfig"
2355
+ }
2356
+ }
2357
+ }
2358
+ ]
2359
+ },
2360
+ TriggerShareEntityConfig: {
2361
+ type: "object",
2362
+ properties: {
2363
+ partner_org_ids: {
2364
+ type: "array",
2365
+ items: {
2366
+ type: "string"
2367
+ }
2368
+ }
2369
+ }
2370
+ },
2371
+ AssignUsersToStep: {
2372
+ type: "object",
2373
+ properties: {
2374
+ step_id: {
2375
+ type: "string"
2376
+ },
2377
+ step_name: {
2378
+ type: "string"
2379
+ },
2380
+ user_ids: {
2381
+ type: "array",
2382
+ items: {
2383
+ type: "number"
2384
+ }
2385
+ }
2386
+ },
2387
+ example: [
2388
+ {
2389
+ step_id: "xyh9t2ha",
2390
+ step_name: "Lead Sales",
2391
+ user_ids: [10010729]
2392
+ },
2393
+ {
2394
+ step_id: "29jgasl",
2395
+ step_name: "Operations",
2396
+ user_ids: [10010728, 10010729]
2397
+ }
2398
+ ]
2399
+ },
2400
+ CustomAction: {
2401
+ allOf: [
2402
+ {
2403
+ $ref: "#/components/schemas/AutomationAction"
2404
+ },
2405
+ {
2406
+ type: "object",
2407
+ properties: {
2408
+ type: {
2409
+ type: "string",
2410
+ enum: ["custom-action"]
2411
+ },
2412
+ config: {
2413
+ type: "object",
2414
+ properties: {
2415
+ name: {
2416
+ type: "string",
2417
+ description: "The name of the custom action",
2418
+ example: "Credit Check"
2419
+ },
2420
+ description: {
2421
+ type: "string",
2422
+ description: "The description of the custom action",
2423
+ example: "Check if the customer has a credit limit"
2424
+ },
2425
+ app_id: {
2426
+ type: "string",
2427
+ description: "The ID of the app to fetch configuration from the app API",
2428
+ example: "c451c26a-cc7a-4c1c-92bf-1c6246cbfe88"
2429
+ },
2430
+ component_id: {
2431
+ type: "string",
2432
+ description: "The ID of the component from the app. As the app can potentially have multiple custom actions, this ID is used to identify the component",
2433
+ example: "2f1c26a-cc7a-4c1c-92bf-1c6246cbfe88"
2434
+ },
2435
+ wait_for_callback: {
2436
+ type: "boolean",
2437
+ description: "Whether to wait for the callback from the custom action",
2438
+ default: false
2439
+ }
2440
+ }
2441
+ }
2442
+ }
2443
+ }
2444
+ ]
2445
+ },
2446
+ TriggerWebhookActionConfig: {
2447
+ allOf: [
2448
+ {
2449
+ $ref: "#/components/schemas/AutomationActionConfig"
2450
+ },
2451
+ {
2452
+ type: "object",
2453
+ properties: {
2454
+ type: {
2455
+ enum: ["trigger-webhook"]
2456
+ },
2457
+ config: {
2458
+ $ref: "#/components/schemas/TriggerWebhookConfig"
2459
+ }
2460
+ }
2461
+ }
2462
+ ],
2463
+ example: {
2464
+ id: "2520gja-2sgmsaga-0asg-822jgal",
2465
+ name: "Trigger Webhook",
2466
+ type: "trigger-webhook",
2467
+ config: {
2468
+ entity_sources: ["contact", "account"],
2469
+ target_webhook_id: "25jg9ag2ga"
2470
+ }
2471
+ }
2472
+ },
2473
+ TriggerWebhookAction: {
2474
+ allOf: [
2475
+ {
2476
+ $ref: "#/components/schemas/AutomationAction"
2477
+ },
2478
+ {
2479
+ type: "object",
2480
+ properties: {
2481
+ type: {
2482
+ enum: ["trigger-webhook"]
2483
+ },
2484
+ config: {
2485
+ $ref: "#/components/schemas/TriggerWebhookConfig"
2486
+ }
2487
+ }
2488
+ }
2489
+ ]
2490
+ },
2491
+ TriggerWebhookConfig: {
2492
+ type: "object",
2493
+ properties: {
2494
+ event_id: {
2495
+ type: "string",
2496
+ description: "The latest webhook event_id for an execution of this action"
2497
+ },
2498
+ entity_sources: {
2499
+ type: "array",
2500
+ items: {
2501
+ type: "string"
2502
+ }
2503
+ },
2504
+ target_webhook_id: {
2505
+ type: "string"
2506
+ },
2507
+ sync: {
2508
+ type: "boolean",
2509
+ description: "Whether to wait for the request to finish before continuing automation execution",
2510
+ default: false
2511
+ }
2512
+ }
2513
+ },
2514
+ InformERPActionConfig: {
2515
+ allOf: [
2516
+ {
2517
+ $ref: "#/components/schemas/AutomationActionConfig"
2518
+ },
2519
+ {
2520
+ type: "object",
2521
+ properties: {
2522
+ type: {
2523
+ enum: ["inform-erp"]
2524
+ },
2525
+ config: {
2526
+ $ref: "#/components/schemas/InformERPConfig"
2527
+ }
2528
+ }
2529
+ }
2530
+ ],
2531
+ example: {
2532
+ id: "2520gja-2sgmsaga-0asg-822jgal",
2533
+ name: "Inform ERP",
2534
+ type: "inform-erp",
2535
+ config: {
2536
+ entity_sources: ["contact", "account"],
2537
+ target_webhook_id: "25jg9ag2ga"
2538
+ }
2539
+ }
2540
+ },
2541
+ InformERPAction: {
2542
+ allOf: [
2543
+ {
2544
+ $ref: "#/components/schemas/AutomationAction"
2545
+ },
2546
+ {
2547
+ type: "object",
2548
+ properties: {
2549
+ type: {
2550
+ enum: ["inform-erp"]
2551
+ },
2552
+ config: {
2553
+ $ref: "#/components/schemas/InformERPConfig"
2554
+ }
2555
+ }
2556
+ }
2557
+ ]
2558
+ },
2559
+ InformERPConfig: {
2560
+ type: "object",
2561
+ properties: {
2562
+ entity_sources: {
2563
+ type: "array",
2564
+ items: {
2565
+ type: "string"
2566
+ }
2567
+ },
2568
+ target_webhook_id: {
2569
+ type: "string"
2570
+ },
2571
+ sync: {
2572
+ type: "boolean",
2573
+ description: "Whether to wait for the request to finish before continuing automation execution",
2574
+ default: false
2575
+ }
2576
+ }
2577
+ },
2578
+ TriggerEventActionConfig: {
2579
+ allOf: [
2580
+ {
2581
+ $ref: "#/components/schemas/AutomationActionConfig"
2582
+ },
2583
+ {
2584
+ type: "object",
2585
+ properties: {
2586
+ type: {
2587
+ enum: ["trigger-event"]
2588
+ },
2589
+ config: {
2590
+ $ref: "#/components/schemas/TriggerEventConfig"
2591
+ }
2592
+ }
2593
+ }
2594
+ ],
2595
+ example: {
2596
+ id: "2520gja-2sgmsaga-0asg-822jgal",
2597
+ name: "Trigger Event",
2598
+ type: "trigger-event",
2599
+ config: {
2600
+ event_name: "my_custom_event",
2601
+ event_inputs: {
2602
+ key: "value"
2603
+ }
2604
+ }
2605
+ }
2606
+ },
2607
+ TriggerEventAction: {
2608
+ allOf: [
2609
+ {
2610
+ $ref: "#/components/schemas/AutomationAction"
2611
+ },
2612
+ {
2613
+ type: "object",
2614
+ properties: {
2615
+ type: {
2616
+ enum: ["trigger-event"]
2617
+ },
2618
+ config: {
2619
+ $ref: "#/components/schemas/TriggerEventConfig"
2620
+ }
2621
+ }
2622
+ }
2623
+ ]
2624
+ },
2625
+ TriggerEventConfig: {
2626
+ type: "object",
2627
+ description: "Configuration for triggering an event catalog event",
2628
+ properties: {
2629
+ event_name: {
2630
+ type: "string",
2631
+ description: "The event catalog event name to trigger"
2632
+ },
2633
+ event_inputs: {
2634
+ type: "object",
2635
+ additionalProperties: true,
2636
+ description: "Inputs to be passed to trigger the event"
2637
+ }
2638
+ },
2639
+ required: ["event_name"]
2640
+ },
2641
+ FlowExecutionCancelActionConfig: {
2642
+ allOf: [
2643
+ {
2644
+ $ref: "#/components/schemas/AutomationActionConfig"
2645
+ },
2646
+ {
2647
+ type: "object",
2648
+ properties: {
2649
+ type: {
2650
+ enum: ["cancel-flow-execution"]
2651
+ },
2652
+ config: {
2653
+ $ref: "#/components/schemas/FlowExecutionCancelConfig"
2654
+ }
2655
+ }
2656
+ }
2657
+ ],
2658
+ example: {
2659
+ id: "2520gja-2sgmsaga-0asg-822jgal",
2660
+ name: "Cancel Flow Execution",
2661
+ type: "cancel-flow-execution",
2662
+ config: {
2663
+ selected_reasons: [
2664
+ {
2665
+ id: "_6kITMwkv_0Uo4i7fO7Ja",
2666
+ title: "when you are done! that's when you close it."
2667
+ },
2668
+ {
2669
+ id: "qgK9sGbKoS7NxlAbNReVn",
2670
+ title: "Client didn't want our services"
2671
+ }
2672
+ ],
2673
+ extra_description: "Test cancellation"
2674
+ }
2675
+ }
2676
+ },
2677
+ FlowExecutionCancelAction: {
2678
+ allOf: [
2679
+ {
2680
+ $ref: "#/components/schemas/AutomationAction"
2681
+ },
2682
+ {
2683
+ type: "object",
2684
+ properties: {
2685
+ type: {
2686
+ enum: ["cancel-flow-execution"]
2687
+ },
2688
+ config: {
2689
+ $ref: "#/components/schemas/FlowExecutionCancelConfig"
2690
+ }
2691
+ }
2692
+ }
2693
+ ]
2694
+ },
2695
+ FlowExecutionCancelConfig: {
2696
+ type: "object",
2697
+ description: "Configuration for cancelling a flow execution with selected reasons",
2698
+ properties: {
2699
+ selected_reasons: {
2700
+ type: "array",
2701
+ description: "List of reasons selected for this specific cancellation",
2702
+ items: {
2703
+ $ref: "#/components/schemas/CancellationReason"
2704
+ }
2705
+ },
2706
+ extra_description: {
2707
+ type: "string",
2708
+ description: "Additional description or notes for the cancellation",
2709
+ example: "Process completed successfully"
2710
+ }
2711
+ },
2712
+ required: ["configured_reasons"]
2713
+ },
2714
+ CancellationReason: {
2715
+ type: "object",
2716
+ description: "A reason for cancelling a flow execution",
2717
+ properties: {
2718
+ id: {
2719
+ type: "string",
2720
+ description: "Unique identifier for the cancellation reason",
2721
+ example: "_6kITMwkv_0Uo4i7fO7Ja"
2722
+ },
2723
+ title: {
2724
+ type: "string",
2725
+ description: "Human-readable title for the cancellation reason",
2726
+ example: "Process completed successfully"
2727
+ }
2728
+ },
2729
+ required: ["id", "title"]
2730
+ },
2731
+ ConditionStatement: {
2732
+ type: "object",
2733
+ properties: {
2734
+ id: {
2735
+ type: "string",
2736
+ format: "uuid",
2737
+ example: "1c8d3d9c-6d4c-4a83-aa22-aa0d630cbc2d"
2738
+ },
2739
+ source: {
2740
+ type: "object",
2741
+ properties: {
2742
+ id: {
2743
+ type: "string",
2744
+ description: "The id of the action or trigger"
2745
+ },
2746
+ origin: {
2747
+ type: "string",
2748
+ enum: ["trigger", "action"]
2749
+ },
2750
+ originType: {
2751
+ type: "string",
2752
+ enum: ["entity", "workflow", "journey_block"]
2753
+ },
2754
+ schema: {
2755
+ type: "string"
2756
+ },
2757
+ attribute: {
2758
+ type: "string"
2759
+ },
2760
+ attributeType: {
2761
+ type: "string",
2762
+ enum: [
2763
+ "string",
2764
+ "text",
2765
+ "number",
2766
+ "boolean",
2767
+ "date",
2768
+ "datetime",
2769
+ "tags",
2770
+ "country",
2771
+ "email",
2772
+ "phone",
2773
+ "product",
2774
+ "price",
2775
+ "status",
2776
+ "relation",
2777
+ "multiselect",
2778
+ "select",
2779
+ "radio",
2780
+ "relation_user",
2781
+ "purpose",
2782
+ "label",
2783
+ "payment",
2784
+ "relation_payment_method"
2785
+ ]
2786
+ },
2787
+ attributeRepeatable: {
2788
+ type: "boolean"
2789
+ },
2790
+ repeatableItemOp: {
2791
+ type: "boolean",
2792
+ description: "Whether to apply the operation to each item of the repeatable attribute"
2793
+ },
2794
+ attributeOperation: {
2795
+ enum: ["all", "updated", "added", "deleted"]
2796
+ }
2797
+ }
2798
+ },
2799
+ operation: {
2800
+ type: "string",
2801
+ enum: [
2802
+ "equals",
2803
+ "not_equals",
2804
+ "any_of",
2805
+ "none_of",
2806
+ "contains",
2807
+ "not_contains",
2808
+ "starts_with",
2809
+ "ends_with",
2810
+ "greater_than",
2811
+ "less_than",
2812
+ "greater_than_or_equals",
2813
+ "less_than_or_equals",
2814
+ "is_empty",
2815
+ "is_not_empty",
2816
+ "entity_exists",
2817
+ "entity_does_not_exist"
2818
+ ]
2819
+ },
2820
+ values: {
2821
+ type: "array",
2822
+ items: {
2823
+ type: "string"
2824
+ }
2825
+ }
2826
+ },
2827
+ example: {
2828
+ source: {
2829
+ origin: "trigger",
2830
+ originType: "entity",
2831
+ id: "trigger-id",
2832
+ schema: "contact",
2833
+ attribute: "email",
2834
+ attributeType: "text"
2835
+ },
2836
+ operation: "equals",
2837
+ values: ["hello@epilot.cloud"]
2838
+ }
2839
+ },
2840
+ ActionCondition: {
2841
+ type: "object",
2842
+ properties: {
2843
+ id: {
2844
+ type: "string"
2845
+ },
2846
+ schedule_id: {
2847
+ type: "string",
2848
+ description: "Schedule Id which indicates the schedule of the actions inside the condition"
2849
+ },
2850
+ evaluationResult: {
2851
+ type: "boolean",
2852
+ description: "Result of the condition evaluation"
2853
+ },
2854
+ statements: {
2855
+ type: "array",
2856
+ items: {
2857
+ $ref: "#/components/schemas/ConditionStatement"
2858
+ }
2859
+ }
2860
+ }
2861
+ },
2862
+ ActionScheduleSource: {
2863
+ type: "object",
2864
+ description: "The source of the schedule_at timestamp that will be used to schedule the action",
2865
+ properties: {
2866
+ id: {
2867
+ type: "string",
2868
+ description: "The id of the action or trigger"
2869
+ },
2870
+ origin: {
2871
+ type: "string",
2872
+ enum: ["trigger", "action", "action_task", "automation"]
2873
+ },
2874
+ schema: {
2875
+ type: "string"
2876
+ },
2877
+ attribute: {
2878
+ type: "string"
2879
+ }
2880
+ },
2881
+ required: ["id", "origin"]
2882
+ },
2883
+ ActionSchedule: {
2884
+ type: "object",
2885
+ properties: {
2886
+ id: {
2887
+ type: "string",
2888
+ description: "Schedule Id"
2889
+ },
2890
+ scheduleApiId: {
2891
+ type: "string",
2892
+ description: "The id of the configured scheduler which will be added on automation triggered"
2893
+ },
2894
+ numberOfUnits: {
2895
+ type: "number"
2896
+ },
2897
+ timePeriod: {
2898
+ type: "string",
2899
+ enum: ["minutes", "hours", "days", "weeks", "months"]
2900
+ },
2901
+ timeRelation: {
2902
+ type: "string",
2903
+ enum: ["after", "before"]
2904
+ },
2905
+ source: {
2906
+ $ref: "#/components/schemas/ActionScheduleSource"
2907
+ }
2908
+ },
2909
+ required: ["id", "source"]
2910
+ },
2911
+ AutomationExecutionId: {
2912
+ type: "string",
2913
+ example: "9baf184f-bc81-4128-bca3-d974c90a12c4"
2914
+ },
2915
+ AutomationExecution: {
2916
+ type: "object",
2917
+ properties: {
2918
+ id: {
2919
+ $ref: "#/components/schemas/AutomationExecutionId"
2920
+ },
2921
+ execution_status: {
2922
+ $ref: "#/components/schemas/ExecutionStatus"
2923
+ },
2924
+ entity_id: {
2925
+ $ref: "#/components/schemas/EntityId"
2926
+ },
2927
+ activity_id: {
2928
+ $ref: "#/components/schemas/ActivityId"
2929
+ },
2930
+ entity_snapshot: {
2931
+ $ref: "#/components/schemas/EntityItemSnapshot"
2932
+ },
2933
+ org_id: {
2934
+ $ref: "#/components/schemas/OrganizationId"
2935
+ },
2936
+ flow_id: {
2937
+ $ref: "#/components/schemas/AutomationFlowId"
2938
+ },
2939
+ flow_name: {
2940
+ type: "string",
2941
+ example: "Handle contact form"
2942
+ },
2943
+ created_at: {
2944
+ type: "string",
2945
+ format: "date-time"
2946
+ },
2947
+ updated_at: {
2948
+ type: "string",
2949
+ format: "date-time"
2950
+ },
2951
+ current_action_id: {
2952
+ $ref: "#/components/schemas/AutomationActionId"
2953
+ },
2954
+ conditions: {
2955
+ type: "array",
2956
+ items: {
2957
+ $ref: "#/components/schemas/ActionCondition"
2958
+ }
2959
+ },
2960
+ schedules: {
2961
+ type: "array",
2962
+ items: {
2963
+ $ref: "#/components/schemas/ActionSchedule"
2964
+ }
2965
+ },
2966
+ actions: {
2967
+ type: "array",
2968
+ items: {
2969
+ $ref: "#/components/schemas/AnyAction"
2970
+ }
2971
+ },
2972
+ resume_token: {
2973
+ $ref: "#/components/schemas/ResumeToken"
2974
+ },
2975
+ trigger_context: {
2976
+ $ref: "#/components/schemas/TriggerContext"
2977
+ },
2978
+ version: {
2979
+ type: "number",
2980
+ description: "Version of the flow",
2981
+ example: 2
2982
+ },
2983
+ trigger_event: {
2984
+ oneOf: [
2985
+ {
2986
+ $ref: "#/components/schemas/TriggerEventManual"
2987
+ },
2988
+ {
2989
+ $ref: "#/components/schemas/TriggerEventEntityActivity"
2990
+ },
2991
+ {
2992
+ $ref: "#/components/schemas/TriggerEventEntityOperation"
2993
+ },
2994
+ {
2995
+ $ref: "#/components/schemas/TriggerEventFlowAutomationTask"
2996
+ },
2997
+ {
2998
+ $ref: "#/components/schemas/TriggerEventMessaging"
2999
+ }
3000
+ ]
3001
+ },
3002
+ workflow_context: {
3003
+ $ref: "#/components/schemas/WorkflowExecutionContext"
3004
+ }
3005
+ },
3006
+ required: ["id", "status", "entity_id", "org_id", "flow_id", "actions"]
3007
+ },
3008
+ WorkflowExecutionContext: {
3009
+ type: "object",
3010
+ required: ["workflow_exec_id", "workflow_role"],
3011
+ properties: {
3012
+ workflow_exec_id: {
3013
+ type: "string"
3014
+ },
3015
+ workflow_exec_task_id: {
3016
+ type: "string"
3017
+ },
3018
+ workflow_role: {
3019
+ $ref: "#/components/schemas/WorkflowContextRole"
3020
+ },
3021
+ _execution_chain: {
3022
+ $ref: "#/components/schemas/ExecutionChain"
3023
+ }
3024
+ }
3025
+ },
3026
+ ExecutionChain: {
3027
+ type: "object",
3028
+ description: "[Internal] Tracks execution chain for infinite loop prevention. This is an internal property and should not be used by external consumers.",
3029
+ properties: {
3030
+ parent_execution_id: {
3031
+ type: "string",
3032
+ description: "ID of the parent flow execution that triggered this one"
3033
+ },
3034
+ parent_task_id: {
3035
+ type: "string",
3036
+ description: "ID of the automation task that triggered this execution"
3037
+ },
3038
+ depth: {
3039
+ type: "integer",
3040
+ description: "Current depth in the execution chain (0 = manual start)"
3041
+ }
3042
+ }
3043
+ },
3044
+ TriggerEventManual: {
3045
+ type: "object",
3046
+ properties: {
3047
+ type: {
3048
+ type: "string",
3049
+ enum: ["manual"]
3050
+ },
3051
+ org_id: {
3052
+ type: "string",
3053
+ example: "123"
3054
+ },
3055
+ entity_id: {
3056
+ $ref: "#/components/schemas/EntityId"
3057
+ },
3058
+ caller: {
3059
+ $ref: "#/components/schemas/ApiCallerContext"
3060
+ }
3061
+ },
3062
+ required: ["org_id", "entity_id"]
3063
+ },
3064
+ TriggerEventFlowAutomationTask: {
3065
+ type: "object",
3066
+ properties: {
3067
+ type: {
3068
+ type: "string",
3069
+ enum: ["flow_automation_task"]
3070
+ },
3071
+ org_id: {
3072
+ type: "string",
3073
+ example: "123"
3074
+ },
3075
+ entity_id: {
3076
+ $ref: "#/components/schemas/EntityId"
3077
+ },
3078
+ flow_execution_id: {
3079
+ type: "string",
3080
+ example: "wfwAJoT_cK"
3081
+ },
3082
+ flow_automation_task_id: {
3083
+ type: "string",
3084
+ format: "UUID",
3085
+ example: "2fa221ec-3aac-4655-ab8f-c062eca44a3"
3086
+ },
3087
+ caller: {
3088
+ $ref: "#/components/schemas/ApiCallerContext"
3089
+ }
3090
+ },
3091
+ required: ["org_id", "entity_id", "flow_execution_id", "flow_automation_task_id"]
3092
+ },
3093
+ TriggerEventEntityActivity: {
3094
+ type: "object",
3095
+ properties: {
3096
+ type: {
3097
+ type: "string",
3098
+ enum: ["entity_activity"]
3099
+ },
3100
+ org_id: {
3101
+ type: "string",
3102
+ example: "123"
3103
+ },
3104
+ activity_id: {
3105
+ $ref: "#/components/schemas/ActivityId"
3106
+ },
3107
+ activity_type: {
3108
+ type: "string"
3109
+ },
3110
+ entity_id: {
3111
+ $ref: "#/components/schemas/EntityId"
3112
+ }
3113
+ },
3114
+ required: ["org_id", "activity_id", "activity_type"]
3115
+ },
3116
+ TriggerEventMessaging: {
3117
+ type: "object",
3118
+ properties: {
3119
+ type: {
3120
+ type: "string",
3121
+ enum: ["new_email_thread"]
3122
+ },
3123
+ org_id: {
3124
+ type: "string",
3125
+ example: "123"
3126
+ },
3127
+ thread_id: {
3128
+ type: "string"
3129
+ },
3130
+ message_id: {
3131
+ type: "string"
3132
+ },
3133
+ entity_id: {
3134
+ $ref: "#/components/schemas/EntityId"
3135
+ }
3136
+ },
3137
+ required: ["org_id", "thread_id", "message_id", "entity_id"]
3138
+ },
3139
+ TriggerEventEntityOperation: {
3140
+ type: "object",
3141
+ properties: {
3142
+ type: {
3143
+ type: "string",
3144
+ enum: ["entity_operation"]
3145
+ },
3146
+ entity_id: {
3147
+ $ref: "#/components/schemas/EntityId"
3148
+ },
3149
+ org_id: {
3150
+ type: "string",
3151
+ example: "123"
3152
+ },
3153
+ activity_id: {
3154
+ $ref: "#/components/schemas/ActivityId"
3155
+ },
3156
+ operation_type: {
3157
+ $ref: "#/components/schemas/EntityOperation"
3158
+ }
3159
+ },
3160
+ required: ["entity_id", "org_id", "activity_id", "operation_type"]
3161
+ },
3162
+ ApiCallerContext: {
3163
+ type: "object",
3164
+ additionalProperties: true,
3165
+ properties: {
3166
+ EpilotAuth: {
3167
+ type: "object",
3168
+ properties: {
3169
+ claims: {
3170
+ type: "object",
3171
+ properties: {
3172
+ userId: {
3173
+ type: "string",
3174
+ example: "10006129"
3175
+ },
3176
+ sub: {
3177
+ type: "string",
3178
+ example: "476e9b48-42f4-4234-a2b0-4668b34626ce"
3179
+ },
3180
+ email: {
3181
+ type: "string",
3182
+ example: "example@epilot.cloud"
3183
+ },
3184
+ "cognito:username": {
3185
+ type: "string",
3186
+ example: "example@epilot.cloud"
3187
+ },
3188
+ "custom:ivy_user_id": {
3189
+ type: "string",
3190
+ example: "10006129"
3191
+ }
3192
+ },
3193
+ example: {
3194
+ sub: "476e9b48-42f4-4234-a2b0-4668b34626ce",
3195
+ iss: "https://cognito-idp.eu-central-1.amazonaws.com/eu-central-1_6lZSgmU6D",
3196
+ "custom:ivy_org_id": "739224",
3197
+ "cognito:username": "n.ahmad@epilot.cloud",
3198
+ "custom:ivy_user_id": "10006129",
3199
+ aud: "6e0jbdnger7nmoktaaflarue1l",
3200
+ event_id: "cd5f5583-d90c-4db5-8e99-5f5dd29a4d75",
3201
+ token_use: "id",
3202
+ auth_time: 1614333023,
3203
+ exp: 1614336623,
3204
+ iat: 1614333023,
3205
+ email: "n.ahmad@epilot.cloud"
3206
+ }
3207
+ },
3208
+ userId: {
3209
+ type: "string",
3210
+ example: "10006129"
3211
+ },
3212
+ organizationId: {
3213
+ type: "string",
3214
+ example: "739224"
3215
+ },
3216
+ token: {
3217
+ type: "string",
3218
+ example: "eyJraWQiOi..."
3219
+ }
3220
+ }
3221
+ }
3222
+ }
3223
+ },
3224
+ ExecutionStatus: {
3225
+ type: "string",
3226
+ enum: [
3227
+ "pending",
3228
+ "starting",
3229
+ "in_progress",
3230
+ "paused",
3231
+ "success",
3232
+ "failed",
3233
+ "cancelled",
3234
+ "skipped",
3235
+ "scheduled",
3236
+ "hot"
3237
+ ]
3238
+ },
3239
+ GetExecutionsResp: {
3240
+ type: "object",
3241
+ properties: {
3242
+ total: {
3243
+ type: "number"
3244
+ },
3245
+ results: {
3246
+ type: "array",
3247
+ items: {
3248
+ $ref: "#/components/schemas/AutomationExecution"
3249
+ }
3250
+ }
3251
+ },
3252
+ required: ["total", "results"]
3253
+ },
3254
+ StartExecutionRequest: {
3255
+ type: "object",
3256
+ properties: {
3257
+ entity_id: {
3258
+ $ref: "#/components/schemas/EntityId"
3259
+ },
3260
+ flow_id: {
3261
+ $ref: "#/components/schemas/AutomationFlowId"
3262
+ },
3263
+ workflow_context: {
3264
+ $ref: "#/components/schemas/WorkflowExecutionContext"
3265
+ },
3266
+ flow_execution_id: {
3267
+ type: "string",
3268
+ deprecated: true,
3269
+ description: "Use workflow_context.workflow_exec_id instead"
3270
+ },
3271
+ flow_automation_task_id: {
3272
+ type: "string",
3273
+ deprecated: true,
3274
+ description: "Use workflow_context.workflow_exec_task_id instead"
3275
+ }
3276
+ },
3277
+ required: ["entity_id", "flow_id"]
3278
+ },
3279
+ PatchBulkJobRequest: {
3280
+ type: "object",
3281
+ properties: {
3282
+ action: {
3283
+ type: "string",
3284
+ enum: ["APPROVE", "CANCEL"]
3285
+ },
3286
+ task_token: {
3287
+ type: "string"
3288
+ }
3289
+ },
3290
+ required: ["action", "task_token"]
3291
+ },
3292
+ BulkTriggerRequest: {
3293
+ oneOf: [
3294
+ {
3295
+ type: "object",
3296
+ properties: {
3297
+ flow_id: {
3298
+ $ref: "#/components/schemas/AutomationFlowId"
3299
+ },
3300
+ entities_refs: {
3301
+ type: "array",
3302
+ items: {
3303
+ $ref: "#/components/schemas/EntityRef"
3304
+ }
3305
+ },
3306
+ trigger_context: {
3307
+ $ref: "#/components/schemas/TriggerContext"
3308
+ }
3309
+ },
3310
+ required: ["flow_id", "entities_refs"]
3311
+ },
3312
+ {
3313
+ type: "object",
3314
+ properties: {
3315
+ flow_id: {
3316
+ $ref: "#/components/schemas/AutomationFlowId"
3317
+ },
3318
+ entities_query: {
3319
+ type: "string"
3320
+ },
3321
+ trigger_context: {
3322
+ $ref: "#/components/schemas/TriggerContext"
3323
+ }
3324
+ },
3325
+ required: ["flow_id", "entities_query"]
3326
+ },
3327
+ {
3328
+ type: "object",
3329
+ properties: {
3330
+ flow_id: {
3331
+ $ref: "#/components/schemas/AutomationFlowId"
3332
+ },
3333
+ entities_filter: {
3334
+ $ref: "#/components/schemas/EntitySearchFilter"
3335
+ },
3336
+ trigger_context: {
3337
+ $ref: "#/components/schemas/TriggerContext"
3338
+ }
3339
+ },
3340
+ required: ["flow_id", "entities_filter"]
3341
+ }
3342
+ ]
3343
+ },
3344
+ EntityRef: {
3345
+ type: "object",
3346
+ required: ["entity_id", "entity_schema"],
3347
+ properties: {
3348
+ entity_id: {
3349
+ $ref: "#/components/schemas/EntityId"
3350
+ },
3351
+ entity_schema: {
3352
+ type: "string"
3353
+ }
3354
+ }
3355
+ },
3356
+ BulkTriggerJob: {
3357
+ type: "object",
3358
+ required: ["job_id", "org_id", "flow_id", "status", "created_by", "created_at", "updated_at"],
3359
+ properties: {
3360
+ job_id: {
3361
+ $ref: "#/components/schemas/JobId"
3362
+ },
3363
+ org_id: {
3364
+ $ref: "#/components/schemas/OrganizationId"
3365
+ },
3366
+ flow_id: {
3367
+ $ref: "#/components/schemas/AutomationFlowId"
3368
+ },
3369
+ status: {
3370
+ type: "string",
3371
+ description: "Status of the bulk trigger automation job\n* approval: Waiting for user approval to start the bulk trigger automation\n* querying_entities: Loading entities in batches\n* entities_loaded: All entities have been loaded and stored\n* executing: Automation execution are currently running\n* monitoring: All executions have been started, now monitoring their completion\n* send_report: Automation executions finished running. Report is being created & sent to the user who initiated the bulk trigger automation\n* finished: Automation executions finished running. Some may have failed. Check the status of each entity.\n* failed: Bulk trigger automation execution failed. Some executions might have started. Check the status of each entity.\n* cancelled: Bulk trigger automation execution was cancelled\n",
3372
+ enum: [
3373
+ "approval",
3374
+ "querying_entities",
3375
+ "entities_loaded",
3376
+ "executing",
3377
+ "monitoring",
3378
+ "send_report",
3379
+ "finished",
3380
+ "failed",
3381
+ "cancelled"
3382
+ ]
3383
+ },
3384
+ created_by: {
3385
+ type: "string",
3386
+ description: "User ID who created the bulk trigger automation job",
3387
+ example: "1234"
3388
+ },
3389
+ created_at: {
3390
+ type: "string",
3391
+ format: "date-time"
3392
+ },
3393
+ updated_at: {
3394
+ type: "string",
3395
+ format: "date-time"
3396
+ },
3397
+ approved_at: {
3398
+ type: "string",
3399
+ description: "Time when the bulk trigger automation executions job was approved",
3400
+ format: "date-time"
3401
+ },
3402
+ trigger_context: {
3403
+ $ref: "#/components/schemas/TriggerContext"
3404
+ },
3405
+ task_token: {
3406
+ type: "string",
3407
+ description: "Task token to approve/cancel the bulk automation job",
3408
+ example: "8c086140-f33e-4bb7-a993-50c0f2402c7b"
3409
+ },
3410
+ report_file_entity_id: {
3411
+ type: "string",
3412
+ description: "Entity ID of the report file entity"
3413
+ },
3414
+ entity_query: {
3415
+ type: "object",
3416
+ description: "Query configuration for loading entities",
3417
+ properties: {
3418
+ type: {
3419
+ type: "string",
3420
+ enum: ["refs", "query", "filter"]
3421
+ },
3422
+ data: {
3423
+ oneOf: [
3424
+ {
3425
+ type: "array",
3426
+ items: {
3427
+ $ref: "#/components/schemas/EntityRef"
3428
+ }
3429
+ },
3430
+ {
3431
+ type: "string"
3432
+ },
3433
+ {
3434
+ $ref: "#/components/schemas/EntitySearchFilter"
3435
+ }
3436
+ ]
3437
+ }
3438
+ },
3439
+ required: ["type", "data"]
3440
+ },
3441
+ pagination_state: {
3442
+ type: "object",
3443
+ description: "Pagination state for entity loading",
3444
+ properties: {
3445
+ page_size: {
3446
+ type: "integer",
3447
+ description: "Number of entities per page"
3448
+ },
3449
+ pages_processed: {
3450
+ type: "integer",
3451
+ description: "Number of pages processed so far"
3452
+ },
3453
+ total_processed: {
3454
+ type: "integer",
3455
+ description: "Total number of entities processed so far"
3456
+ },
3457
+ stable_query_id: {
3458
+ type: "string",
3459
+ description: "Stable query ID for pagination"
3460
+ },
3461
+ search_after: {
3462
+ type: "array",
3463
+ description: "Last sort value used for pagination",
3464
+ items: {
3465
+ oneOf: [
3466
+ {
3467
+ type: "string"
3468
+ },
3469
+ {
3470
+ type: "number"
3471
+ }
3472
+ ]
3473
+ }
3474
+ },
3475
+ has_more: {
3476
+ type: "boolean",
3477
+ description: "Whether there are more entities to load"
3478
+ }
3479
+ }
3480
+ },
3481
+ execution_summary: {
3482
+ type: "array",
3483
+ description: "List of entities & their automation execution id & status",
3484
+ items: {
3485
+ $ref: "#/components/schemas/ExecItem"
3486
+ }
3487
+ }
3488
+ }
3489
+ },
3490
+ ExecItem: {
3491
+ type: "object",
3492
+ description: "Execution item for bulk trigger automation. It maps each entity to its automation execution id & status",
3493
+ required: ["entity_id", "execution_status"],
3494
+ properties: {
3495
+ entity_id: {
3496
+ $ref: "#/components/schemas/EntityId"
3497
+ },
3498
+ entity_schema: {
3499
+ type: "string"
3500
+ },
3501
+ execution_id: {
3502
+ $ref: "#/components/schemas/AutomationExecutionId"
3503
+ },
3504
+ execution_status: {
3505
+ $ref: "#/components/schemas/ExecutionStatus"
3506
+ },
3507
+ timestamp: {
3508
+ type: "string",
3509
+ format: "date-time",
3510
+ description: "Timestamp in UTC ISO format",
3511
+ example: "2025-10-30T15:56:47.842Z"
3512
+ },
3513
+ error: {
3514
+ type: "string",
3515
+ description: "Error message for the failed automation execution"
3516
+ }
3517
+ }
3518
+ },
3519
+ JobId: {
3520
+ type: "string",
3521
+ description: "Job ID for tracking the status of bulk trigger automation executions",
3522
+ example: "8c086140-f33e-4bb7-a993-50c0f2402c7b"
3523
+ },
3524
+ EntityId: {
3525
+ type: "string",
3526
+ example: "e3d3ebac-baab-4395-abf4-50b5bf1f8b74"
3527
+ },
3528
+ ActivityId: {
3529
+ type: "string",
3530
+ example: "e3d3ebac-baab-4395-abf4-50b5bf1f8b74"
3531
+ },
3532
+ OrganizationId: {
3533
+ type: "string",
3534
+ example: "e3d3ebac-baab-4395-abf4-50b5bf1f8b74"
3535
+ },
3536
+ TriggerContext: {
3537
+ type: "object",
3538
+ additionalProperties: {
3539
+ type: "string"
3540
+ },
3541
+ description: "Additional contextual data for a bulk trigger automation. This would normally include additional entity IDs you'd need after a listener picks up an event.",
3542
+ example: {
3543
+ entity_id: "a1b2c3d4-e5f6-7890-1234-567890abcdef"
3544
+ }
3545
+ },
3546
+ AutomationTrigger: {
3547
+ type: "object",
3548
+ properties: {
3549
+ id: {
3550
+ type: "string",
3551
+ format: "uuid",
3552
+ example: "12d4f45a-1883-4841-a94c-5928cb338a94"
3553
+ }
3554
+ }
3555
+ },
3556
+ FlowsTrigger: {
3557
+ allOf: [
3558
+ {
3559
+ $ref: "#/components/schemas/AutomationTrigger"
3560
+ },
3561
+ {
3562
+ type: "object",
3563
+ properties: {
3564
+ type: {
3565
+ type: "string",
3566
+ enum: ["flows_trigger"]
3567
+ },
3568
+ configuration: {
3569
+ type: "object",
3570
+ properties: {
3571
+ source_id: {
3572
+ type: "string",
3573
+ format: "uuid",
3574
+ description: "The ID of the workflow v2 that triggers this automation"
3575
+ },
3576
+ journey_id: {
3577
+ type: "string",
3578
+ format: "uuid",
3579
+ description: "When Journeys are linked to Workflows V2 as Journey Automations, this field will contain the ID of the Journey"
3580
+ }
3581
+ },
3582
+ required: ["source_id"]
3583
+ }
3584
+ },
3585
+ required: ["type", "configuration"]
3586
+ }
3587
+ ]
3588
+ },
3589
+ JourneySubmitTrigger: {
3590
+ allOf: [
3591
+ {
3592
+ $ref: "#/components/schemas/AutomationTrigger"
3593
+ },
3594
+ {
3595
+ type: "object",
3596
+ properties: {
3597
+ type: {
3598
+ type: "string",
3599
+ enum: ["journey_submission"]
3600
+ },
3601
+ configuration: {
3602
+ type: "object",
3603
+ properties: {
3604
+ source_id: {
3605
+ type: "string",
3606
+ format: "uuid"
3607
+ }
3608
+ },
3609
+ required: ["source_id"]
3610
+ }
3611
+ },
3612
+ required: ["type", "configuration"]
3613
+ }
3614
+ ]
3615
+ },
3616
+ FrontendSubmitTrigger: {
3617
+ allOf: [
3618
+ {
3619
+ $ref: "#/components/schemas/AutomationTrigger"
3620
+ },
3621
+ {
3622
+ type: "object",
3623
+ properties: {
3624
+ type: {
3625
+ type: "string",
3626
+ enum: ["frontend_submission"]
3627
+ },
3628
+ configuration: {
3629
+ type: "object",
3630
+ properties: {
3631
+ source_id: {
3632
+ type: "string",
3633
+ example: "99"
3634
+ }
3635
+ }
3636
+ }
3637
+ },
3638
+ required: ["type", "configuration"]
3639
+ }
3640
+ ]
3641
+ },
3642
+ ApiSubmissionTrigger: {
3643
+ allOf: [
3644
+ {
3645
+ $ref: "#/components/schemas/AutomationTrigger"
3646
+ },
3647
+ {
3648
+ type: "object",
3649
+ properties: {
3650
+ type: {
3651
+ type: "string",
3652
+ enum: ["api_submission"]
3653
+ },
3654
+ configuration: {
3655
+ type: "object",
3656
+ properties: {
3657
+ source_id: {
3658
+ type: "string"
3659
+ }
3660
+ }
3661
+ }
3662
+ },
3663
+ required: ["type", "configuration"]
3664
+ }
3665
+ ]
3666
+ },
3667
+ NewEmailThreadTrigger: {
3668
+ allOf: [
3669
+ {
3670
+ $ref: "#/components/schemas/AutomationTrigger"
3671
+ },
3672
+ {
3673
+ type: "object",
3674
+ properties: {
3675
+ type: {
3676
+ type: "string",
3677
+ enum: ["new_email_thread"]
3678
+ },
3679
+ configuration: {
3680
+ type: "object",
3681
+ required: ["direction"],
3682
+ properties: {
3683
+ shared_inbox_ids: {
3684
+ type: "array",
3685
+ description: "A list of shared inbox IDs that the email thread should be matched against.",
3686
+ items: {
3687
+ type: "string"
3688
+ }
3689
+ },
3690
+ direction: {
3691
+ type: "string",
3692
+ description: "Whether the trigger should be matched against only inbound, outbound emails or both.",
3693
+ enum: ["INBOUND", "OUTBOUND", "BOTH"]
3694
+ }
3695
+ }
3696
+ }
3697
+ },
3698
+ required: ["type", "configuration"]
3699
+ }
3700
+ ]
3701
+ },
3702
+ ReceivedEmailTrigger: {
3703
+ allOf: [
3704
+ {
3705
+ $ref: "#/components/schemas/AutomationTrigger"
3706
+ },
3707
+ {
3708
+ type: "object",
3709
+ properties: {
3710
+ type: {
3711
+ type: "string",
3712
+ enum: ["received_email"]
3713
+ },
3714
+ configuration: {
3715
+ type: "object",
3716
+ properties: {
3717
+ message_type: {
3718
+ type: "string",
3719
+ enum: ["RECEIVED"]
3720
+ }
3721
+ }
3722
+ }
3723
+ },
3724
+ required: ["type", "configuration"]
3725
+ }
3726
+ ]
3727
+ },
3728
+ EntityOperationTrigger: {
3729
+ description: '- 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 | Rule syntax |\n |------------------------|-----------------------------------------------------|----------------------------------------------------------|\n | Null | first_name is null | `"first_name": [ null ]` |\n | Empty | last_name is empty | `"last_name": [""]` |\n | Equals | email is "j.doe@email.com" | `"email": [ "j.doe@email.com" ]` |\n | Equals (ignore case) | first_name is "John" | `"first_name": [ { "equals-ignore-case": "john" } ]` |\n | And | fist_name is "John" and last_name is "Doe" | `"first_name": [ "John" ], "last_name": ["Doe"]` |\n | Or | PaymentType is "Invoice" or "SEPA" | `"PaymentType": [ "invoice", "sepa"]` |\n | Or (multiple fields) | first_name is "John", or last_name is "Doe". | `"$or": [ { "first_name": [ "John" ] }, { "last_name": [ "Doe" ] } ]` |\n | Not | status is anything but "cancelled" | `"status": [ { "anything-but": [ "cancelled" ] } ]` |\n | Numeric (equals) | Price is 100 | `"Price": [ { "numeric": [ "=", 100 ] } ]` |\n | Numeric (range) | Price is more than 10, and less than or equal to 20 | `"Price": [ { "numeric": [ ">", 10, "<=", 20 ] } ]` |\n | Exists | ProductName exists | `"ProductName": [ { "exists": true } ]` |\n | Does not exist | ProductName does not exist | `"ProductName": [ { "exists": false } ]` |\n | Begins with | OpportunityNumber starts with OPP- | `"opportunity_number": [ { "prefix": "OPP-" } ]` |\n | Ends with | FileName ends with a .png extension | `"filename": [ { "suffix": ".png" } ]` |\n | Wildcard | search a string using a wildcard | `"email": [ { "wildcard": "*@doe.com" } ]` |\n - To run the execution on all update events\n ```\n {\n "type": "filter_entity_event",\n "configuration": {\n "operation": {\n "operation": ["updateEntity"]\n }\n }\n }\n ```\n - To run the execution only when the updates are from a portal user\n ```\n {\n "type": "filter_entity_event",\n "configuration": {\n "operation": {\n "operation": ["updateEntity"]\n },\n "activity": {\n "type": "EntityUpdatedFromPortal"\n }\n }\n }\n ```\n - To run the execution only when there is an update on a specific attribute\n ```\n Only starts the automation when the email on a contact is changed\n {\n "type": "filter_entity_event",\n "configuration": {\n "operation": {\n "operation": ["updateEntity"],\n "payload": {\n "_schema": ["contact"]\n },\n "diff": {\n "updated": {\n "email": [{ "exists": true }]\n }\n }\n }\n }\n }\n ```\n - To run the execution only when a specific attribute is altered(created/updated/deleted)\n ```\n Only starts the automation when a price is altered on a contract\n {\n "type": "filter_entity_event",\n "configuration": {\n "operation": {\n "payload": {\n "_schema": ["contract"]\n },\n "diff": {\n // Whether he first_name has been added, updated, or removed\n $or: [\n {\n \'added.first_name\': [{ exists: true }]\n },\n {\n \'updated.first_name\': [{ exists: true }]\n },\n {\n \'deleted.first_name\': [{ exists: true }]\n }\n ]\n }\n }\n }\n }\n ```\n - To run the execution if an attribute is changed from one state to another\n ```\n Only starts the automation when the order status changes from `open_for_acceptance` to `placed`\n {\n "type": "filter_entity_event",\n "configuration": {\n "operation": {\n "operation": ["updateEntity"],\n "payload": {\n "_schema": ["order"],\n "status": ["placed"]\n },\n "diff": {\n "updated": {\n "status": ["open_for_acceptance"]\n }\n }\n }\n }\n }\n ```\n',
3730
+ allOf: [
3731
+ {
3732
+ $ref: "#/components/schemas/AutomationTrigger"
3733
+ },
3734
+ {
3735
+ type: "object",
3736
+ properties: {
3737
+ type: {
3738
+ type: "string",
3739
+ enum: ["entity_operation"]
3740
+ },
3741
+ configuration: {
3742
+ type: "object",
3743
+ properties: {
3744
+ schema: {
3745
+ type: "string",
3746
+ example: "submission"
3747
+ },
3748
+ operations: {
3749
+ type: "array",
3750
+ minItems: 1,
3751
+ items: {
3752
+ $ref: "#/components/schemas/EntityOperation"
3753
+ }
3754
+ },
3755
+ include_activities: {
3756
+ type: "array",
3757
+ items: {
3758
+ type: "string",
3759
+ example: ["CreateEntity"]
3760
+ }
3761
+ },
3762
+ exclude_activities: {
3763
+ type: "array",
3764
+ items: {
3765
+ type: "string",
3766
+ example: ["SyncEntity"]
3767
+ }
3768
+ },
3769
+ filter_config: {
3770
+ type: "object",
3771
+ properties: {
3772
+ operation: {
3773
+ type: "object",
3774
+ properties: {
3775
+ operation: {
3776
+ type: "array",
3777
+ description: 'Filter on operation type. If not specified, all operations will be matched on execution.\nExample:\n 1. Filter all the createEntity/updateEntity operations\n ```\n {\n "operation":{\n "operation": ["createEntity", "updateEntity"]\n }\n }\n ```\n',
3778
+ items: {
3779
+ $ref: "#/components/schemas/EntityOperation"
3780
+ }
3781
+ },
3782
+ payload: {
3783
+ $ref: "#/components/schemas/FilterConditionOnEvent"
3784
+ },
3785
+ diff: {
3786
+ anyOf: [
3787
+ {
3788
+ $ref: "#/components/schemas/OrConditionForDiff"
3789
+ },
3790
+ {
3791
+ type: "object",
3792
+ description: "Diff to it's prior state when an entity is updated",
3793
+ properties: {
3794
+ added: {
3795
+ $ref: "#/components/schemas/DiffAdded"
3796
+ },
3797
+ updated: {
3798
+ $ref: "#/components/schemas/DiffUpdated"
3799
+ },
3800
+ deleted: {
3801
+ $ref: "#/components/schemas/DiffDeleted"
3802
+ }
3803
+ }
3804
+ }
3805
+ ]
3806
+ }
3807
+ }
3808
+ },
3809
+ activity: {
3810
+ type: "object",
3811
+ properties: {
3812
+ type: {
3813
+ type: "array",
3814
+ items: {
3815
+ anyOf: [
3816
+ {
3817
+ type: "string"
3818
+ },
3819
+ {
3820
+ $ref: "#/components/schemas/EqualsIgnoreCaseCondition"
3821
+ },
3822
+ {
3823
+ $ref: "#/components/schemas/AnythingButCondition"
3824
+ },
3825
+ {
3826
+ $ref: "#/components/schemas/ExistsCondition"
3827
+ },
3828
+ {
3829
+ $ref: "#/components/schemas/PrefixCondition"
3830
+ },
3831
+ {
3832
+ $ref: "#/components/schemas/SuffixCondition"
3833
+ },
3834
+ {
3835
+ $ref: "#/components/schemas/WildcardCondition"
3836
+ }
3837
+ ]
3838
+ },
3839
+ example: ["EntityUpdatedFromPortal", "EntityUpdated", "DocUploadedFromPortal"],
3840
+ description: 'Filter on activity type. If not specified, all activities will be matched on execution.\nExample:\n 1. Filter the events when an entity is updated from portal\n ```\n {\n "activity":{\n "type": ["EntityUpdatedFromPortal"]\n }\n }\n ```\n 2. Filter the events when either a doc is uploaded/removed on an entity from a portal\n ```\n {\n "activity":{\n "type": ["DocUploadedFromPortal", "DocRemovedFromPortal"]\n }\n }\n ```\n'
3841
+ }
3842
+ }
3843
+ }
3844
+ }
3845
+ },
3846
+ ecp_config: {
3847
+ type: "object",
3848
+ properties: {
3849
+ origin: {
3850
+ type: "string",
3851
+ example: "END_CUSTOMER_PORTAL"
3852
+ },
3853
+ portal_id: {
3854
+ type: "string",
3855
+ example: "any-portal-id"
3856
+ },
3857
+ file_config: {
3858
+ type: "object",
3859
+ properties: {
3860
+ shared_with_end_customer: {
3861
+ type: "boolean",
3862
+ example: true
3863
+ }
3864
+ }
3865
+ }
3866
+ }
3867
+ }
3868
+ }
3869
+ }
3870
+ },
3871
+ required: ["type", "configuration"]
3872
+ }
3873
+ ]
3874
+ },
3875
+ ActivityTrigger: {
3876
+ allOf: [
3877
+ {
3878
+ $ref: "#/components/schemas/AutomationTrigger"
3879
+ },
3880
+ {
3881
+ type: "object",
3882
+ properties: {
3883
+ type: {
3884
+ type: "string",
3885
+ enum: ["activity"]
3886
+ },
3887
+ configuration: {
3888
+ type: "object",
3889
+ properties: {
3890
+ schema: {
3891
+ type: "string",
3892
+ example: "submission"
3893
+ },
3894
+ types: {
3895
+ type: "array",
3896
+ items: {
3897
+ anyOf: [
3898
+ {
3899
+ type: "string",
3900
+ enum: [
3901
+ "CreateMeterReading",
3902
+ "UpdateMeterReading",
3903
+ "DocDownloadedFromPortal",
3904
+ "PortalUserResetPassword",
3905
+ "PortalUserResetForgotPassword",
3906
+ "SelfAssignmentFromPortal"
3907
+ ]
3908
+ },
3909
+ {
3910
+ type: "string"
3911
+ }
3912
+ ]
3913
+ }
3914
+ }
3915
+ }
3916
+ }
3917
+ },
3918
+ required: ["type", "configuration"]
3919
+ }
3920
+ ]
3921
+ },
3922
+ EntityOperation: {
3923
+ type: "string",
3924
+ nullable: true,
3925
+ enum: ["createEntity", "updateEntity", "deleteEntity", "softDeleteEntity", "restoreEntity"]
3926
+ },
3927
+ EntitySearchFilter: {
3928
+ type: "array",
3929
+ description: "A 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.",
3930
+ items: {
3931
+ type: "object",
3932
+ minProperties: 1,
3933
+ maxProperties: 1,
3934
+ properties: {
3935
+ term: {
3936
+ description: "Returns documents that contain an exact term in a provided field.\n\nTo return a document, the query term must exactly match the queried field's value, including whitespace and capitalization.\n\nYou likely DO NOT want to use this filter on text fields and want to target its .keyword instead.\n",
3937
+ externalDocs: {
3938
+ url: "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-term-query.html"
3939
+ },
3940
+ type: "object",
3941
+ minProperties: 1,
3942
+ maxProperties: 1,
3943
+ additionalProperties: {
3944
+ $ref: "#/components/schemas/EntitySearchFilterValue"
3945
+ },
3946
+ example: {
3947
+ _schema: "contact"
3948
+ }
3949
+ },
3950
+ terms: {
3951
+ description: "Returns documents that contain one of the exact terms in a provided field. See term filter for more info.",
3952
+ externalDocs: {
3953
+ url: "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-query.html"
3954
+ },
3955
+ type: "object",
3956
+ minProperties: 1,
3957
+ maxProperties: 1,
3958
+ additionalProperties: {
3959
+ type: "array",
3960
+ items: {
3961
+ $ref: "#/components/schemas/EntitySearchFilterValue"
3962
+ }
3963
+ },
3964
+ example: {
3965
+ status: ["active"]
3966
+ }
3967
+ },
3968
+ ids: {
3969
+ description: "Returns documents based on their IDs.",
3970
+ externalDocs: {
3971
+ url: "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-ids-query.html"
3972
+ },
3973
+ type: "object",
3974
+ properties: {
3975
+ values: {
3976
+ type: "array",
3977
+ items: {
3978
+ type: "string"
3979
+ }
3980
+ }
3981
+ },
3982
+ example: {
3983
+ values: ["550e8400-e29b-41d4-a716-446655440000"]
3984
+ }
3985
+ },
3986
+ range: {
3987
+ description: "Returns documents with fields that have terms within a certain range.",
3988
+ externalDocs: {
3989
+ url: "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-range-query.html"
3990
+ },
3991
+ type: "object",
3992
+ minProperties: 1,
3993
+ maxProperties: 1,
3994
+ additionalProperties: {
3995
+ type: "object",
3996
+ properties: {
3997
+ gt: {
3998
+ $ref: "#/components/schemas/EntitySearchFilterValue"
3999
+ },
4000
+ gte: {
4001
+ $ref: "#/components/schemas/EntitySearchFilterValue"
4002
+ },
4003
+ lt: {
4004
+ $ref: "#/components/schemas/EntitySearchFilterValue"
4005
+ },
4006
+ lte: {
4007
+ $ref: "#/components/schemas/EntitySearchFilterValue"
4008
+ },
4009
+ format: {
4010
+ type: "string",
4011
+ description: "The date format used to parse date values."
4012
+ },
4013
+ relation: {
4014
+ type: "string",
4015
+ enum: ["INTERSECTS", "CONTAINS", "WITHIN"],
4016
+ description: "Indicates how the range query matches values for range fields."
4017
+ },
4018
+ time_zone: {
4019
+ type: "string",
4020
+ description: "Coordinated Universal Time (UTC) offset or IANA time zone used to convert date values in the query to UTC."
4021
+ }
4022
+ }
4023
+ },
4024
+ example: {
4025
+ _created_at: {
4026
+ gte: "2021-01-01T00:00:00.000Z",
4027
+ lte: "2021-01-31T23:59:59.999Z"
4028
+ }
4029
+ }
4030
+ },
4031
+ exists: {
4032
+ description: "Returns documents that have a value in the specified field.",
4033
+ externalDocs: {
4034
+ url: "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-exists-query.html"
4035
+ },
4036
+ type: "object",
4037
+ properties: {
4038
+ field: {
4039
+ type: "string"
4040
+ }
4041
+ },
4042
+ required: ["field"],
4043
+ example: {
4044
+ field: "_tags"
4045
+ }
4046
+ },
4047
+ $and: {
4048
+ $ref: "#/components/schemas/EntitySearchFilter"
4049
+ },
4050
+ $or: {
4051
+ $ref: "#/components/schemas/EntitySearchFilter"
4052
+ },
4053
+ $not: {
4054
+ $ref: "#/components/schemas/EntitySearchFilter"
4055
+ }
4056
+ }
4057
+ },
4058
+ example: [
4059
+ {
4060
+ term: {
4061
+ _schema: "contact"
4062
+ }
4063
+ },
4064
+ {
4065
+ terms: {
4066
+ status: ["active"]
4067
+ }
4068
+ }
4069
+ ]
4070
+ },
4071
+ EntitySearchFilterValue: {
4072
+ description: "A filter field value.",
4073
+ oneOf: [
4074
+ {
4075
+ type: "string",
4076
+ nullable: true
4077
+ },
4078
+ {
4079
+ type: "number"
4080
+ },
4081
+ {
4082
+ type: "boolean"
4083
+ }
4084
+ ]
4085
+ },
4086
+ EntityManualTrigger: {
4087
+ allOf: [
4088
+ {
4089
+ $ref: "#/components/schemas/AutomationTrigger"
4090
+ },
4091
+ {
4092
+ type: "object",
4093
+ properties: {
4094
+ type: {
4095
+ type: "string",
4096
+ enum: ["entity_manual"]
4097
+ },
4098
+ configuration: {
4099
+ type: "object",
4100
+ properties: {
4101
+ schema: {
4102
+ description: "Which entity type can this automation be triggered from",
4103
+ type: "string",
4104
+ example: "submission"
4105
+ }
4106
+ }
4107
+ }
4108
+ },
4109
+ required: ["type", "configuration"]
4110
+ }
4111
+ ]
4112
+ },
4113
+ TriggerCondition: {
4114
+ type: "object",
4115
+ properties: {
4116
+ source: {
4117
+ type: "string"
4118
+ },
4119
+ comparison: {
4120
+ $ref: "#/components/schemas/Comparison"
4121
+ },
4122
+ value: {
4123
+ oneOf: [
4124
+ {
4125
+ type: "string"
4126
+ },
4127
+ {
4128
+ type: "number"
4129
+ },
4130
+ {
4131
+ type: "array",
4132
+ items: {
4133
+ type: "string"
4134
+ }
4135
+ },
4136
+ {
4137
+ type: "array",
4138
+ items: {
4139
+ type: "number"
4140
+ }
4141
+ }
4142
+ ]
4143
+ }
4144
+ },
4145
+ required: ["source", "comparison"],
4146
+ example: {
4147
+ source: "billing_contact.email",
4148
+ comparison: "exists"
4149
+ }
4150
+ },
4151
+ Comparison: {
4152
+ type: "string",
4153
+ enum: ["equals", "any_of", "not_empty", "is_empty"]
4154
+ },
4155
+ FilterConditionOnEvent: {
4156
+ anyOf: [
4157
+ {
4158
+ $ref: "#/components/schemas/OrCondition"
4159
+ },
4160
+ {
4161
+ type: "object",
4162
+ description: '- Filter on entity payload that is modified. If not specified, entire entity be matched on execution.\n Example:\n ```\n {\n "operation": {\n "payload": {\n "_schema": ["contact"]\n "address": {\n "country": ["Germany"]\n }\n age: [ { "numeric": [ ">", 25, "<=", 35 ] } ]\n }\n }\n }\n',
4163
+ additionalProperties: {
4164
+ type: "array",
4165
+ items: {
4166
+ oneOf: [
4167
+ {
4168
+ type: "string"
4169
+ },
4170
+ {
4171
+ $ref: "#/components/schemas/EqualsIgnoreCaseCondition"
4172
+ },
4173
+ {
4174
+ $ref: "#/components/schemas/AnythingButCondition"
4175
+ },
4176
+ {
4177
+ $ref: "#/components/schemas/NumericCondition"
4178
+ },
4179
+ {
4180
+ $ref: "#/components/schemas/ExistsCondition"
4181
+ },
4182
+ {
4183
+ $ref: "#/components/schemas/PrefixCondition"
4184
+ },
4185
+ {
4186
+ $ref: "#/components/schemas/SuffixCondition"
4187
+ },
4188
+ {
4189
+ $ref: "#/components/schemas/WildcardCondition"
4190
+ }
4191
+ ]
4192
+ }
4193
+ }
4194
+ }
4195
+ ]
4196
+ },
4197
+ EqualsIgnoreCaseCondition: {
4198
+ type: "object",
4199
+ properties: {
4200
+ "equals-ignore-case": {
4201
+ type: "string"
4202
+ }
4203
+ }
4204
+ },
4205
+ AnythingButCondition: {
4206
+ type: "object",
4207
+ properties: {
4208
+ "anything-but": {
4209
+ type: "array",
4210
+ items: {
4211
+ type: "string"
4212
+ }
4213
+ }
4214
+ }
4215
+ },
4216
+ NumericCondition: {
4217
+ type: "object",
4218
+ properties: {
4219
+ numeric: {
4220
+ type: "array",
4221
+ items: {
4222
+ oneOf: [
4223
+ {
4224
+ type: "string"
4225
+ },
4226
+ {
4227
+ type: "integer"
4228
+ }
4229
+ ]
4230
+ }
4231
+ }
4232
+ }
4233
+ },
4234
+ ExistsCondition: {
4235
+ type: "object",
4236
+ properties: {
4237
+ exists: {
4238
+ type: "boolean"
4239
+ }
4240
+ }
4241
+ },
4242
+ PrefixCondition: {
4243
+ type: "object",
4244
+ properties: {
4245
+ prefix: {
4246
+ type: "string"
4247
+ }
4248
+ }
4249
+ },
4250
+ SuffixCondition: {
4251
+ type: "object",
4252
+ properties: {
4253
+ suffix: {
4254
+ type: "string"
4255
+ }
4256
+ }
4257
+ },
4258
+ WildcardCondition: {
4259
+ type: "object",
4260
+ properties: {
4261
+ wildcard: {
4262
+ type: "string"
4263
+ }
4264
+ }
4265
+ },
4266
+ OrCondition: {
4267
+ type: "object",
4268
+ properties: {
4269
+ $or: {
4270
+ type: "array",
4271
+ items: {
4272
+ $ref: "#/components/schemas/FilterConditionOnEvent"
4273
+ }
4274
+ }
4275
+ }
4276
+ },
4277
+ DiffAdded: {
4278
+ $ref: "#/components/schemas/FilterConditionOnEvent"
4279
+ },
4280
+ DiffUpdated: {
4281
+ $ref: "#/components/schemas/FilterConditionOnEvent"
4282
+ },
4283
+ DiffDeleted: {
4284
+ $ref: "#/components/schemas/FilterConditionOnEvent"
4285
+ },
4286
+ OrConditionForDiff: {
4287
+ type: "object",
4288
+ properties: {
4289
+ $or: {
4290
+ type: "array",
4291
+ items: {
4292
+ anyOf: [
4293
+ {
4294
+ $ref: "#/components/schemas/DiffAdded"
4295
+ },
4296
+ {
4297
+ $ref: "#/components/schemas/DiffUpdated"
4298
+ },
4299
+ {
4300
+ $ref: "#/components/schemas/DiffDeleted"
4301
+ }
4302
+ ]
4303
+ }
4304
+ }
4305
+ }
4306
+ },
4307
+ EntityItemSnapshot: {
4308
+ type: "object",
4309
+ properties: {
4310
+ _id: {
4311
+ $ref: "#/components/schemas/EntityId"
4312
+ },
4313
+ _title: {
4314
+ type: "string"
4315
+ },
4316
+ _org: {
4317
+ type: "string"
4318
+ },
4319
+ _schema: {
4320
+ type: "string"
4321
+ },
4322
+ _tags: {
4323
+ type: "array",
4324
+ items: {
4325
+ type: "string"
4326
+ }
4327
+ },
4328
+ _created_at: {
4329
+ type: "string",
4330
+ format: "date-time"
4331
+ },
4332
+ _updated_at: {
4333
+ type: "string",
4334
+ format: "date-time"
4335
+ }
4336
+ },
4337
+ additionalProperties: true,
4338
+ required: ["_id", "_title", "_org", "_schema", "_created_at", "_updated_at"]
4339
+ },
4340
+ RetryReq: {
4341
+ type: "object",
4342
+ properties: {
4343
+ condition_id: {
4344
+ type: "string",
4345
+ description: "The condition id to retry when retry strategy is RETRY_ALL_PARENT_CONDITION_ACTIONS"
4346
+ },
4347
+ retry_strategy: {
4348
+ $ref: "#/components/schemas/RetryStrategy"
4349
+ }
4350
+ }
4351
+ },
4352
+ ResumeToken: {
4353
+ type: "string",
4354
+ description: "A unique token to resume a paused automation execution",
4355
+ example: "eyJraWQiOiJrZXkifQ=="
4356
+ },
4357
+ ResumeReq: {
4358
+ type: "object",
4359
+ additionalProperties: false,
4360
+ properties: {
4361
+ resume_token: {
4362
+ $ref: "#/components/schemas/ResumeToken"
4363
+ }
4364
+ },
4365
+ required: ["resume_token"]
4366
+ },
4367
+ ResumeResp: {
4368
+ type: "object",
4369
+ properties: {
4370
+ execution: {
4371
+ $ref: "#/components/schemas/AutomationExecution"
4372
+ },
4373
+ resumedAction: {
4374
+ $ref: "#/components/schemas/AnyAction"
4375
+ }
4376
+ },
4377
+ required: ["execution", "resumedAction"]
4378
+ },
4379
+ ErrorObject: {
4380
+ type: "object",
4381
+ properties: {
4382
+ status: {
4383
+ type: "integer",
4384
+ description: "The HTTP status code of the error",
4385
+ example: 400
4386
+ },
4387
+ error: {
4388
+ type: "string",
4389
+ description: "The error message"
4390
+ }
4391
+ }
4392
+ }
4393
+ },
4394
+ responses: {
4395
+ NotFoundError: {
4396
+ description: "The requested resource was not found",
4397
+ content: {
4398
+ "application/json": {
4399
+ schema: {
4400
+ allOf: [
4401
+ {
4402
+ $ref: "#/components/schemas/ErrorObject"
4403
+ },
4404
+ {
4405
+ example: {
4406
+ status: 404,
4407
+ error: "Not Found"
4408
+ }
4409
+ }
4410
+ ]
4411
+ }
4412
+ }
4413
+ }
4414
+ },
4415
+ ForbiddenError: {
4416
+ description: "The requested resource is forbidden",
4417
+ content: {
4418
+ "application/json": {
4419
+ schema: {
4420
+ allOf: [
4421
+ {
4422
+ $ref: "#/components/schemas/ErrorObject"
4423
+ },
4424
+ {
4425
+ example: {
4426
+ status: 403,
4427
+ error: "Forbidden"
4428
+ }
4429
+ }
4430
+ ]
4431
+ }
4432
+ }
4433
+ }
4434
+ }
4435
+ }
4436
+ };
4437
+ var servers = [
4438
+ {
4439
+ url: "https://automation.sls.epilot.io"
4440
+ }
4441
+ ];
4442
+ var automation_default = {
4443
+ openapi,
4444
+ info,
4445
+ tags,
4446
+ security,
4447
+ paths,
4448
+ components,
4449
+ servers
4450
+ };
4451
+
4452
+
4453
+
4454
+
4455
+
4456
+
4457
+
4458
+
4459
+
4460
+ exports.components = components; exports.default = automation_default; exports.info = info; exports.openapi = openapi; exports.paths = paths; exports.security = security; exports.servers = servers; exports.tags = tags;