@epilot/sdk 2.0.0-beta.4 → 2.0.3

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 (290) hide show
  1. package/LICENSE +21 -0
  2. package/dist/{access-token.d-BuXO-21p.d.cts → access-token.d-CnmUTOlq.d.cts} +1 -1
  3. package/dist/{access-token.d-BuXO-21p.d.ts → access-token.d-CnmUTOlq.d.ts} +1 -1
  4. package/dist/{address-suggestions.d-Cay0qOfA.d.cts → address-suggestions.d-_YwTOR-9.d.cts} +1 -1
  5. package/dist/{address-suggestions.d-Cay0qOfA.d.ts → address-suggestions.d-_YwTOR-9.d.ts} +1 -1
  6. package/dist/{address.d-D-oZY0rk.d.cts → address.d-CwAPOVxa.d.cts} +1 -1
  7. package/dist/{address.d-D-oZY0rk.d.ts → address.d-CwAPOVxa.d.ts} +1 -1
  8. package/dist/{ai-agents.d-B4_CZTCP.d.cts → ai-agents.d-OkXfr2bz.d.cts} +1 -1
  9. package/dist/{ai-agents.d-B4_CZTCP.d.ts → ai-agents.d-OkXfr2bz.d.ts} +1 -1
  10. package/dist/apis/access-token.d.cts +3 -3
  11. package/dist/apis/access-token.d.ts +3 -3
  12. package/dist/apis/address-suggestions.d.cts +3 -3
  13. package/dist/apis/address-suggestions.d.ts +3 -3
  14. package/dist/apis/address.d.cts +3 -3
  15. package/dist/apis/address.d.ts +3 -3
  16. package/dist/apis/ai-agents.d.cts +3 -3
  17. package/dist/apis/ai-agents.d.ts +3 -3
  18. package/dist/apis/app.d.cts +3 -3
  19. package/dist/apis/app.d.ts +3 -3
  20. package/dist/apis/audit-logs.d.cts +3 -3
  21. package/dist/apis/audit-logs.d.ts +3 -3
  22. package/dist/apis/automation.d.cts +3 -3
  23. package/dist/apis/automation.d.ts +3 -3
  24. package/dist/apis/billing.d.cts +3 -3
  25. package/dist/apis/billing.d.ts +3 -3
  26. package/dist/apis/blueprint-manifest.d.cts +3 -3
  27. package/dist/apis/blueprint-manifest.d.ts +3 -3
  28. package/dist/apis/consent.d.cts +3 -3
  29. package/dist/apis/consent.d.ts +3 -3
  30. package/dist/apis/customer-portal.cjs +1 -1
  31. package/dist/apis/customer-portal.d.cts +3 -3
  32. package/dist/apis/customer-portal.d.ts +3 -3
  33. package/dist/apis/customer-portal.js +1 -1
  34. package/dist/apis/dashboard.d.cts +3 -3
  35. package/dist/apis/dashboard.d.ts +3 -3
  36. package/dist/apis/data-management.d.cts +3 -3
  37. package/dist/apis/data-management.d.ts +3 -3
  38. package/dist/apis/deduplication.d.cts +3 -3
  39. package/dist/apis/deduplication.d.ts +3 -3
  40. package/dist/apis/design.d.cts +3 -3
  41. package/dist/apis/design.d.ts +3 -3
  42. package/dist/apis/document.d.cts +3 -3
  43. package/dist/apis/document.d.ts +3 -3
  44. package/dist/apis/email-settings.d.cts +3 -3
  45. package/dist/apis/email-settings.d.ts +3 -3
  46. package/dist/apis/email-template.d.cts +3 -3
  47. package/dist/apis/email-template.d.ts +3 -3
  48. package/dist/apis/entity-mapping.d.cts +3 -3
  49. package/dist/apis/entity-mapping.d.ts +3 -3
  50. package/dist/apis/entity.d.cts +3 -3
  51. package/dist/apis/entity.d.ts +3 -3
  52. package/dist/apis/environments.d.cts +3 -3
  53. package/dist/apis/environments.d.ts +3 -3
  54. package/dist/apis/erp-integration.cjs +1 -1
  55. package/dist/apis/erp-integration.d.cts +3 -3
  56. package/dist/apis/erp-integration.d.ts +3 -3
  57. package/dist/apis/erp-integration.js +1 -1
  58. package/dist/apis/event-catalog.d.cts +3 -3
  59. package/dist/apis/event-catalog.d.ts +3 -3
  60. package/dist/apis/file.d.cts +3 -3
  61. package/dist/apis/file.d.ts +3 -3
  62. package/dist/apis/iban.d.cts +3 -3
  63. package/dist/apis/iban.d.ts +3 -3
  64. package/dist/apis/journey.d.cts +3 -3
  65. package/dist/apis/journey.d.ts +3 -3
  66. package/dist/apis/kanban.d.cts +3 -3
  67. package/dist/apis/kanban.d.ts +3 -3
  68. package/dist/apis/message.d.cts +3 -3
  69. package/dist/apis/message.d.ts +3 -3
  70. package/dist/apis/metering.d.cts +3 -3
  71. package/dist/apis/metering.d.ts +3 -3
  72. package/dist/apis/notes.d.cts +3 -3
  73. package/dist/apis/notes.d.ts +3 -3
  74. package/dist/apis/notification.d.cts +3 -3
  75. package/dist/apis/notification.d.ts +3 -3
  76. package/dist/apis/organization.cjs +1 -1
  77. package/dist/apis/organization.d.cts +3 -3
  78. package/dist/apis/organization.d.ts +3 -3
  79. package/dist/apis/organization.js +1 -1
  80. package/dist/apis/partner-directory.d.cts +3 -3
  81. package/dist/apis/partner-directory.d.ts +3 -3
  82. package/dist/apis/permissions.d.cts +3 -3
  83. package/dist/apis/permissions.d.ts +3 -3
  84. package/dist/apis/pricing-tier.d.cts +3 -3
  85. package/dist/apis/pricing-tier.d.ts +3 -3
  86. package/dist/apis/pricing.d.cts +3 -3
  87. package/dist/apis/pricing.d.ts +3 -3
  88. package/dist/apis/purpose.d.cts +3 -3
  89. package/dist/apis/purpose.d.ts +3 -3
  90. package/dist/apis/sandbox.d.cts +3 -3
  91. package/dist/apis/sandbox.d.ts +3 -3
  92. package/dist/apis/submission.d.cts +3 -3
  93. package/dist/apis/submission.d.ts +3 -3
  94. package/dist/apis/targeting.d.cts +3 -3
  95. package/dist/apis/targeting.d.ts +3 -3
  96. package/dist/apis/template-variables.d.cts +3 -3
  97. package/dist/apis/template-variables.d.ts +3 -3
  98. package/dist/apis/user.d.cts +3 -3
  99. package/dist/apis/user.d.ts +3 -3
  100. package/dist/apis/validation-rules.d.cts +3 -3
  101. package/dist/apis/validation-rules.d.ts +3 -3
  102. package/dist/apis/webhooks.d.cts +3 -3
  103. package/dist/apis/webhooks.d.ts +3 -3
  104. package/dist/apis/workflow-definition.d.cts +3 -3
  105. package/dist/apis/workflow-definition.d.ts +3 -3
  106. package/dist/apis/workflow.d.cts +3 -3
  107. package/dist/apis/workflow.d.ts +3 -3
  108. package/dist/{app.d-BKyfin-q.d.cts → app.d-Dr03n4J4.d.cts} +1 -1
  109. package/dist/{app.d-BKyfin-q.d.ts → app.d-Dr03n4J4.d.ts} +1 -1
  110. package/dist/{audit-logs.d-19BKb-ur.d.cts → audit-logs.d-BRToFqeX.d.cts} +1 -1
  111. package/dist/{audit-logs.d-19BKb-ur.d.ts → audit-logs.d-BRToFqeX.d.ts} +1 -1
  112. package/dist/{automation.d-DKl2VtnW.d.ts → automation.d-KOiZ6ru5.d.cts} +2 -24
  113. package/dist/{automation.d-DKl2VtnW.d.cts → automation.d-KOiZ6ru5.d.ts} +2 -24
  114. package/dist/{billing.d-58fUMBqj.d.cts → billing.d-Bs8Ku9qE.d.cts} +1 -1
  115. package/dist/{billing.d-58fUMBqj.d.ts → billing.d-Bs8Ku9qE.d.ts} +1 -1
  116. package/dist/{blueprint-manifest.d-Bu1GyXFW.d.cts → blueprint-manifest.d-CEWRdF3i.d.cts} +1 -1
  117. package/dist/{blueprint-manifest.d-Bu1GyXFW.d.ts → blueprint-manifest.d-CEWRdF3i.d.ts} +1 -1
  118. package/dist/{consent.d-CQ88IEj0.d.cts → consent.d-C2PROHhX.d.cts} +1 -1
  119. package/dist/{consent.d-CQ88IEj0.d.ts → consent.d-C2PROHhX.d.ts} +1 -1
  120. package/dist/{customer-portal.d-EyndRWh6.d.ts → customer-portal.d-Bh9NF8cY.d.cts} +598 -99
  121. package/dist/{customer-portal.d-EyndRWh6.d.cts → customer-portal.d-Bh9NF8cY.d.ts} +598 -99
  122. package/dist/{dashboard.d-AE3RQ6zo.d.cts → dashboard.d-CsGcA74I.d.cts} +1 -1
  123. package/dist/{dashboard.d-AE3RQ6zo.d.ts → dashboard.d-CsGcA74I.d.ts} +1 -1
  124. package/dist/{data-management.d-CNExsqJQ.d.cts → data-management.d-pnuiRU2h.d.cts} +1 -1
  125. package/dist/{data-management.d-CNExsqJQ.d.ts → data-management.d-pnuiRU2h.d.ts} +1 -1
  126. package/dist/{deduplication.d-DCeJzdbM.d.ts → deduplication.d-w_2aJD5f.d.cts} +1 -1
  127. package/dist/{deduplication.d-DCeJzdbM.d.cts → deduplication.d-w_2aJD5f.d.ts} +1 -1
  128. package/dist/{design.d-CkwgJ78Z.d.cts → design.d-eA-irKEX.d.cts} +1 -1
  129. package/dist/{design.d-CkwgJ78Z.d.ts → design.d-eA-irKEX.d.ts} +1 -1
  130. package/dist/{document.d-Y8i32qNV.d.cts → document.d-DN37pjdx.d.cts} +1 -1
  131. package/dist/{document.d-Y8i32qNV.d.ts → document.d-DN37pjdx.d.ts} +1 -1
  132. package/dist/{email-settings.d-CPAsRFWN.d.cts → email-settings.d-BXxYjVDr.d.cts} +1 -1
  133. package/dist/{email-settings.d-CPAsRFWN.d.ts → email-settings.d-BXxYjVDr.d.ts} +1 -1
  134. package/dist/{email-template.d-CQqiCN0N.d.cts → email-template.d-BeqkDHtk.d.cts} +1 -1
  135. package/dist/{email-template.d-CQqiCN0N.d.ts → email-template.d-BeqkDHtk.d.ts} +1 -1
  136. package/dist/{entity-mapping.d-DiqXqJWb.d.cts → entity-mapping.d-DKSW3sfy.d.cts} +1 -1
  137. package/dist/{entity-mapping.d-DiqXqJWb.d.ts → entity-mapping.d-DKSW3sfy.d.ts} +1 -1
  138. package/dist/{entity.d-BtT4mdq4.d.ts → entity.d-CrtZaZr8.d.cts} +1 -1
  139. package/dist/{entity.d-BtT4mdq4.d.cts → entity.d-CrtZaZr8.d.ts} +1 -1
  140. package/dist/{environments.d-C1xIs8N2.d.cts → environments.d-H3LK_KuH.d.cts} +1 -1
  141. package/dist/{environments.d-C1xIs8N2.d.ts → environments.d-H3LK_KuH.d.ts} +1 -1
  142. package/dist/{erp-integration.d-CNLzgl4L.d.cts → erp-integration.d-DOhxy4P5.d.cts} +409 -15
  143. package/dist/{erp-integration.d-CNLzgl4L.d.ts → erp-integration.d-DOhxy4P5.d.ts} +409 -15
  144. package/dist/{event-catalog.d-DW1dOyVh.d.cts → event-catalog.d-ENw6HO-w.d.cts} +1 -1
  145. package/dist/{event-catalog.d-DW1dOyVh.d.ts → event-catalog.d-ENw6HO-w.d.ts} +1 -1
  146. package/dist/{file.d-Bpdt2ORN.d.cts → file.d-DcTJxjp7.d.cts} +1 -1
  147. package/dist/{file.d-Bpdt2ORN.d.ts → file.d-DcTJxjp7.d.ts} +1 -1
  148. package/dist/{iban.d-3_7FEsbx.d.ts → iban.d-BwdiGbxi.d.cts} +1 -1
  149. package/dist/{iban.d-3_7FEsbx.d.cts → iban.d-BwdiGbxi.d.ts} +1 -1
  150. package/dist/index.d.cts +46 -46
  151. package/dist/index.d.ts +46 -46
  152. package/dist/{journey.d-C2lgynUF.d.cts → journey.d-C4N4t1Rh.d.cts} +122 -4
  153. package/dist/{journey.d-C2lgynUF.d.ts → journey.d-C4N4t1Rh.d.ts} +122 -4
  154. package/dist/kanban.d-CtSt3uX2.d.cts +745 -0
  155. package/dist/kanban.d-CtSt3uX2.d.ts +745 -0
  156. package/dist/{message.d-TAVDRlDJ.d.cts → message.d-YEv1kmQd.d.cts} +1 -1
  157. package/dist/{message.d-TAVDRlDJ.d.ts → message.d-YEv1kmQd.d.ts} +1 -1
  158. package/dist/{metering.d-qyYaAU-O.d.cts → metering.d-DvtPv7wk.d.cts} +1 -1
  159. package/dist/{metering.d-qyYaAU-O.d.ts → metering.d-DvtPv7wk.d.ts} +1 -1
  160. package/dist/{notes.d-CDyIbegf.d.cts → notes.d-BC-scR42.d.cts} +1 -1
  161. package/dist/{notes.d-CDyIbegf.d.ts → notes.d-BC-scR42.d.ts} +1 -1
  162. package/dist/{notification.d-B7ccbaPr.d.cts → notification.d-BfBL3lga.d.cts} +1 -1
  163. package/dist/{notification.d-B7ccbaPr.d.ts → notification.d-BfBL3lga.d.ts} +1 -1
  164. package/dist/organization.d-Bd2Hmk8v.d.cts +1244 -0
  165. package/dist/organization.d-Bd2Hmk8v.d.ts +1244 -0
  166. package/dist/{partner-directory.d-CzKV3WfP.d.cts → partner-directory.d-CRNkDF8q.d.cts} +1 -1
  167. package/dist/{partner-directory.d-CzKV3WfP.d.ts → partner-directory.d-CRNkDF8q.d.ts} +1 -1
  168. package/dist/{permissions.d-lVoPAfl3.d.cts → permissions.d-BHB1FFS5.d.cts} +1 -1
  169. package/dist/{permissions.d-lVoPAfl3.d.ts → permissions.d-BHB1FFS5.d.ts} +1 -1
  170. package/dist/{pricing-tier.d-BW2cZt1w.d.cts → pricing-tier.d-Cg0jl6n_.d.cts} +1 -1
  171. package/dist/{pricing-tier.d-BW2cZt1w.d.ts → pricing-tier.d-Cg0jl6n_.d.ts} +1 -1
  172. package/dist/{pricing.d-Ehb2JuKY.d.cts → pricing.d-Cv39plGm.d.cts} +1 -1
  173. package/dist/{pricing.d-Ehb2JuKY.d.ts → pricing.d-Cv39plGm.d.ts} +1 -1
  174. package/dist/{purpose.d-BVxst611.d.cts → purpose.d-CbIYfTua.d.cts} +1 -1
  175. package/dist/{purpose.d-BVxst611.d.ts → purpose.d-CbIYfTua.d.ts} +1 -1
  176. package/dist/{sandbox.d-tRO2movo.d.cts → sandbox.d-BdbOFzDu.d.cts} +1 -1
  177. package/dist/{sandbox.d-tRO2movo.d.ts → sandbox.d-BdbOFzDu.d.ts} +1 -1
  178. package/dist/{submission.d-CSll5Km9.d.cts → submission.d-BamwfhXw.d.cts} +1 -1
  179. package/dist/{submission.d-CSll5Km9.d.ts → submission.d-BamwfhXw.d.ts} +1 -1
  180. package/dist/{targeting.d-CDxIsOWy.d.cts → targeting.d-BNmcVsNS.d.cts} +1 -1
  181. package/dist/{targeting.d-CDxIsOWy.d.ts → targeting.d-BNmcVsNS.d.ts} +1 -1
  182. package/dist/{template-variables.d-PwA27Ocv.d.cts → template-variables.d-Ch3H3zYf.d.cts} +1 -1
  183. package/dist/{template-variables.d-PwA27Ocv.d.ts → template-variables.d-Ch3H3zYf.d.ts} +1 -1
  184. package/dist/{user.d-DJBp6aX5.d.cts → user.d-CXqM751M.d.cts} +1 -1
  185. package/dist/{user.d-DJBp6aX5.d.ts → user.d-CXqM751M.d.ts} +1 -1
  186. package/dist/{validation-rules.d-CScjNdxD.d.cts → validation-rules.d-Db5c5zTf.d.cts} +1 -1
  187. package/dist/{validation-rules.d-CScjNdxD.d.ts → validation-rules.d-Db5c5zTf.d.ts} +1 -1
  188. package/dist/{webhooks.d-C_MQSJEB.d.cts → webhooks.d-CUNJrltY.d.cts} +1 -1
  189. package/dist/{webhooks.d-C_MQSJEB.d.ts → webhooks.d-CUNJrltY.d.ts} +1 -1
  190. package/dist/{workflow-definition.d-CFXrp2Hg.d.cts → workflow-definition.d-CE3kk9gl.d.cts} +1 -1
  191. package/dist/{workflow-definition.d-CFXrp2Hg.d.ts → workflow-definition.d-CE3kk9gl.d.ts} +1 -1
  192. package/dist/{workflow.d-BIWtgMyP.d.cts → workflow.d-DvhTpEtU.d.cts} +46 -4
  193. package/dist/{workflow.d-BIWtgMyP.d.ts → workflow.d-DvhTpEtU.d.ts} +46 -4
  194. package/package.json +152 -11
  195. package/definitions/access-token-runtime.json +0 -1
  196. package/definitions/access-token.json +0 -663
  197. package/definitions/address-runtime.json +0 -1
  198. package/definitions/address-suggestions-runtime.json +0 -1
  199. package/definitions/address-suggestions.json +0 -582
  200. package/definitions/address.json +0 -578
  201. package/definitions/ai-agents-runtime.json +0 -1
  202. package/definitions/ai-agents.json +0 -1711
  203. package/definitions/app-runtime.json +0 -1
  204. package/definitions/app.json +0 -4443
  205. package/definitions/audit-logs-runtime.json +0 -1
  206. package/definitions/audit-logs.json +0 -305
  207. package/definitions/automation-runtime.json +0 -1
  208. package/definitions/automation.json +0 -4850
  209. package/definitions/billing-runtime.json +0 -1
  210. package/definitions/billing.json +0 -837
  211. package/definitions/blueprint-manifest-runtime.json +0 -1
  212. package/definitions/blueprint-manifest.json +0 -3376
  213. package/definitions/consent-runtime.json +0 -1
  214. package/definitions/consent.json +0 -344
  215. package/definitions/customer-portal-runtime.json +0 -1
  216. package/definitions/customer-portal.json +0 -15000
  217. package/definitions/dashboard-runtime.json +0 -1
  218. package/definitions/dashboard.json +0 -484
  219. package/definitions/data-management-runtime.json +0 -1
  220. package/definitions/data-management.json +0 -962
  221. package/definitions/deduplication-runtime.json +0 -1
  222. package/definitions/deduplication.json +0 -183
  223. package/definitions/design-runtime.json +0 -1
  224. package/definitions/design.json +0 -1423
  225. package/definitions/document-runtime.json +0 -1
  226. package/definitions/document.json +0 -758
  227. package/definitions/email-settings-runtime.json +0 -1
  228. package/definitions/email-settings.json +0 -2627
  229. package/definitions/email-template-runtime.json +0 -1
  230. package/definitions/email-template.json +0 -1419
  231. package/definitions/entity-mapping-runtime.json +0 -1
  232. package/definitions/entity-mapping.json +0 -1642
  233. package/definitions/entity-runtime.json +0 -1
  234. package/definitions/entity.json +0 -10074
  235. package/definitions/environments-runtime.json +0 -1
  236. package/definitions/environments.json +0 -363
  237. package/definitions/erp-integration-runtime.json +0 -1
  238. package/definitions/erp-integration.json +0 -5845
  239. package/definitions/event-catalog-runtime.json +0 -1
  240. package/definitions/event-catalog.json +0 -1051
  241. package/definitions/file-runtime.json +0 -1
  242. package/definitions/file.json +0 -2842
  243. package/definitions/iban-runtime.json +0 -1
  244. package/definitions/iban.json +0 -132
  245. package/definitions/journey-runtime.json +0 -1
  246. package/definitions/journey.json +0 -2341
  247. package/definitions/kanban-runtime.json +0 -1
  248. package/definitions/kanban.json +0 -929
  249. package/definitions/message-runtime.json +0 -1
  250. package/definitions/message.json +0 -2660
  251. package/definitions/metering-runtime.json +0 -1
  252. package/definitions/metering.json +0 -2321
  253. package/definitions/notes-runtime.json +0 -1
  254. package/definitions/notes.json +0 -1531
  255. package/definitions/notification-runtime.json +0 -1
  256. package/definitions/notification.json +0 -1425
  257. package/definitions/organization-runtime.json +0 -1
  258. package/definitions/organization.json +0 -629
  259. package/definitions/partner-directory-runtime.json +0 -1
  260. package/definitions/partner-directory.json +0 -1718
  261. package/definitions/permissions-runtime.json +0 -1
  262. package/definitions/permissions.json +0 -1480
  263. package/definitions/pricing-runtime.json +0 -1
  264. package/definitions/pricing-tier-runtime.json +0 -1
  265. package/definitions/pricing-tier.json +0 -105
  266. package/definitions/pricing.json +0 -9884
  267. package/definitions/purpose-runtime.json +0 -1
  268. package/definitions/purpose.json +0 -524
  269. package/definitions/sandbox-runtime.json +0 -1
  270. package/definitions/sandbox.json +0 -453
  271. package/definitions/submission-runtime.json +0 -1
  272. package/definitions/submission.json +0 -313
  273. package/definitions/targeting-runtime.json +0 -1
  274. package/definitions/targeting.json +0 -1474
  275. package/definitions/template-variables-runtime.json +0 -1
  276. package/definitions/template-variables.json +0 -1408
  277. package/definitions/user-runtime.json +0 -1
  278. package/definitions/user.json +0 -2408
  279. package/definitions/validation-rules-runtime.json +0 -1
  280. package/definitions/validation-rules.json +0 -1491
  281. package/definitions/webhooks-runtime.json +0 -1
  282. package/definitions/webhooks.json +0 -1525
  283. package/definitions/workflow-definition-runtime.json +0 -1
  284. package/definitions/workflow-definition.json +0 -3417
  285. package/definitions/workflow-runtime.json +0 -1
  286. package/definitions/workflow.json +0 -4106
  287. package/dist/kanban.d-DYVjUQ_S.d.cts +0 -630
  288. package/dist/kanban.d-DYVjUQ_S.d.ts +0 -630
  289. package/dist/organization.d-BxZWnh8L.d.cts +0 -628
  290. package/dist/organization.d-BxZWnh8L.d.ts +0 -628
@@ -1,1408 +0,0 @@
1
- {
2
- "openapi": "3.0.2",
3
- "info": {
4
- "title": "Template Variables API",
5
- "description": "This API provides dynamic template processing and variable management, seamless Handlebars template compilation, custom variable operations, and context-aware content generation across email, document templates and snippets.\n",
6
- "version": "1.0.0"
7
- },
8
- "servers": [
9
- {
10
- "url": "https://template-variables-api.sls.epilot.io"
11
- },
12
- {
13
- "url": "https://template-variables-api.sls.epilot.io"
14
- },
15
- {
16
- "url": "https://template-variables-api.dev.sls.epilot.io",
17
- "description": "Production server"
18
- }
19
- ],
20
- "tags": [
21
- {
22
- "name": "Templates",
23
- "description": "Template-based Operations"
24
- },
25
- {
26
- "name": "Custom Variables",
27
- "description": "Custom Variables Operations"
28
- }
29
- ],
30
- "security": [
31
- {
32
- "EpilotAuth": []
33
- },
34
- {
35
- "EpilotOrg": []
36
- }
37
- ],
38
- "paths": {
39
- "/v1/template-variables/categories": {
40
- "get": {
41
- "operationId": "getCategories",
42
- "summary": "getCategories",
43
- "description": "Get all template variable categories",
44
- "tags": [
45
- "Templates"
46
- ],
47
- "parameters": [
48
- {
49
- "name": "lang",
50
- "in": "query",
51
- "schema": {
52
- "$ref": "#/components/schemas/Language"
53
- }
54
- }
55
- ],
56
- "responses": {
57
- "200": {
58
- "description": "ok",
59
- "content": {
60
- "application/json": {
61
- "schema": {
62
- "type": "array",
63
- "items": {
64
- "$ref": "#/components/schemas/CategoryResult"
65
- }
66
- },
67
- "example": [
68
- {
69
- "category": "contact",
70
- "description": "Contact"
71
- },
72
- {
73
- "category": "account",
74
- "description": "Account"
75
- },
76
- {
77
- "category": "organization",
78
- "description": "Organization"
79
- }
80
- ]
81
- }
82
- }
83
- }
84
- }
85
- }
86
- },
87
- "/v1/template-variables:search": {
88
- "post": {
89
- "operationId": "searchVariables",
90
- "summary": "searchVariables",
91
- "description": "Search variables",
92
- "tags": [
93
- "Templates"
94
- ],
95
- "requestBody": {
96
- "content": {
97
- "application/json": {
98
- "schema": {
99
- "type": "object",
100
- "properties": {
101
- "template_type": {
102
- "$ref": "#/components/schemas/TemplateType"
103
- },
104
- "query": {
105
- "type": "string",
106
- "description": "Search string",
107
- "example": "logo"
108
- },
109
- "from": {
110
- "type": "integer",
111
- "default": 0
112
- },
113
- "size": {
114
- "type": "integer",
115
- "default": 25
116
- },
117
- "lang": {
118
- "$ref": "#/components/schemas/Language"
119
- },
120
- "entity_schemas": {
121
- "type": "array",
122
- "items": {
123
- "type": "string",
124
- "description": "Schema slug",
125
- "example": "contact"
126
- }
127
- }
128
- },
129
- "required": [
130
- "template_type",
131
- "query"
132
- ]
133
- }
134
- }
135
- }
136
- },
137
- "responses": {
138
- "200": {
139
- "description": "ok",
140
- "content": {
141
- "application/json": {
142
- "schema": {
143
- "type": "array",
144
- "items": {
145
- "$ref": "#/components/schemas/VariableResult"
146
- }
147
- },
148
- "example": [
149
- {
150
- "group": "Personal Details",
151
- "insert": "{{account.name}}",
152
- "description": "Company name",
153
- "type": "simple"
154
- },
155
- {
156
- "group": "Personal Details",
157
- "insert": "{{account.tax_id}}",
158
- "description": "Tax ID",
159
- "type": "simple"
160
- },
161
- {
162
- "group": "Address details",
163
- "qrdata": "{{account.address_details}}",
164
- "description": "Address Details",
165
- "type": "partial"
166
- },
167
- {
168
- "group": "Address Details",
169
- "insert": "{{account.address.street}}",
170
- "description": "Address - Street name",
171
- "type": "simple"
172
- },
173
- {
174
- "group": "Address Details",
175
- "insert": "{{account.address.street_number}}",
176
- "description": "Address - Street number",
177
- "type": "simple"
178
- },
179
- {
180
- "group": "Address Details",
181
- "insert": "{{account.address.postal_code}}",
182
- "description": "Address - Postal code",
183
- "type": "simple"
184
- },
185
- {
186
- "group": "Address Details",
187
- "insert": "{{account.address.city}}",
188
- "description": "Address - City",
189
- "type": "simple"
190
- }
191
- ]
192
- }
193
- }
194
- }
195
- }
196
- }
197
- },
198
- "/v1/template-variables:context": {
199
- "post": {
200
- "operationId": "getVariableContext",
201
- "summary": "getVariableContext",
202
- "description": "Get full variable context\n\nCalls Entity API, User API, Brand API and others to construct full context object used for template variable replace\n",
203
- "tags": [
204
- "Templates"
205
- ],
206
- "requestBody": {
207
- "content": {
208
- "application/json": {
209
- "schema": {
210
- "type": "object",
211
- "properties": {
212
- "parameters": {
213
- "$ref": "#/components/schemas/VariableParameters"
214
- }
215
- }
216
- }
217
- }
218
- }
219
- },
220
- "responses": {
221
- "200": {
222
- "description": "ok",
223
- "content": {
224
- "application/json": {
225
- "schema": {
226
- "$ref": "#/components/schemas/VariableContext"
227
- }
228
- }
229
- }
230
- }
231
- }
232
- }
233
- },
234
- "/v1/template-variables:replace": {
235
- "post": {
236
- "operationId": "replaceTemplates",
237
- "summary": "replaceTemplates",
238
- "description": "Replace variables in handlebars templates\n\nTakes in an array of input templates and outputs the output text with replaced variables\n",
239
- "tags": [
240
- "Templates"
241
- ],
242
- "requestBody": {
243
- "content": {
244
- "application/json": {
245
- "schema": {
246
- "type": "object",
247
- "properties": {
248
- "inputs": {
249
- "type": "array",
250
- "items": {
251
- "type": "string",
252
- "example": "Hello, {{contact.first_name}}!\n\n{{{brand.signature}}}\n"
253
- }
254
- },
255
- "parameters": {
256
- "$ref": "#/components/schemas/VariableParameters"
257
- }
258
- }
259
- }
260
- }
261
- }
262
- },
263
- "responses": {
264
- "200": {
265
- "description": "ok",
266
- "content": {
267
- "application/json": {
268
- "schema": {
269
- "$ref": "#/components/schemas/ReplacementOutput"
270
- }
271
- }
272
- }
273
- }
274
- }
275
- }
276
- },
277
- "/v2/template:replace": {
278
- "post": {
279
- "operationId": "replaceTemplatesV2",
280
- "summary": "Replace variables in templates (V2)",
281
- "description": "Replace variables in handlebars templates with raw value preservation\n\nV2 returns parsed outputs that preserve the original data types (arrays, objects, strings)\ninstead of stringifying always. Variables with strings mixed with other variables will be returned in the stringified format. \nAlongside the parsed outputs for every single variable.\n\nTakes in an array of input templates and outputs an object mapping each input and variable\nto their rendered values with type preservation.\n",
282
- "tags": [
283
- "Templates"
284
- ],
285
- "requestBody": {
286
- "content": {
287
- "application/json": {
288
- "schema": {
289
- "type": "object",
290
- "properties": {
291
- "inputs": {
292
- "type": "array",
293
- "items": {
294
- "type": "string",
295
- "example": "Hello, {{contact.first_name}}!\n"
296
- }
297
- },
298
- "parameters": {
299
- "$ref": "#/components/schemas/VariableParameters"
300
- }
301
- }
302
- }
303
- }
304
- }
305
- },
306
- "responses": {
307
- "200": {
308
- "description": "ok",
309
- "content": {
310
- "application/json": {
311
- "schema": {
312
- "$ref": "#/components/schemas/ReplacementOutputV2"
313
- }
314
- }
315
- }
316
- }
317
- }
318
- }
319
- },
320
- "/v1/custom-variables": {
321
- "get": {
322
- "operationId": "getCustomVariables",
323
- "summary": "Get custom variables",
324
- "description": "Get all custom variables of organization",
325
- "tags": [
326
- "Custom Variables"
327
- ],
328
- "responses": {
329
- "200": {
330
- "description": "Success",
331
- "content": {
332
- "application/json": {
333
- "schema": {
334
- "type": "array",
335
- "items": {
336
- "$ref": "#/components/schemas/CustomVariable"
337
- }
338
- }
339
- }
340
- }
341
- },
342
- "403": {
343
- "description": "Forbidden"
344
- }
345
- }
346
- },
347
- "post": {
348
- "operationId": "createCustomVariable",
349
- "summary": "Create custom variable",
350
- "description": "Create custom variable",
351
- "tags": [
352
- "Custom Variables"
353
- ],
354
- "requestBody": {
355
- "content": {
356
- "application/json": {
357
- "schema": {
358
- "$ref": "#/components/schemas/CustomVariable"
359
- }
360
- }
361
- }
362
- },
363
- "responses": {
364
- "201": {
365
- "description": "Success",
366
- "content": {
367
- "application/json": {
368
- "schema": {
369
- "$ref": "#/components/schemas/CustomVariable"
370
- }
371
- }
372
- }
373
- },
374
- "403": {
375
- "description": "Forbidden"
376
- },
377
- "409": {
378
- "description": "Conflict - Custom variable with the same key already exists"
379
- }
380
- }
381
- }
382
- },
383
- "/v1/custom-variables:search": {
384
- "post": {
385
- "operationId": "searchCustomVariables",
386
- "summary": "searchCustomVariables",
387
- "description": "Search custom variables",
388
- "tags": [
389
- "Custom Variables"
390
- ],
391
- "requestBody": {
392
- "content": {
393
- "application/json": {
394
- "schema": {
395
- "$ref": "#/components/schemas/CustomVariablesSearchParams"
396
- }
397
- }
398
- }
399
- },
400
- "responses": {
401
- "200": {
402
- "description": "Success",
403
- "content": {
404
- "application/json": {
405
- "schema": {
406
- "type": "object",
407
- "properties": {
408
- "results": {
409
- "type": "array",
410
- "items": {
411
- "$ref": "#/components/schemas/CustomVariable"
412
- }
413
- },
414
- "hits": {
415
- "type": "integer",
416
- "description": "Total number of results",
417
- "example": 100
418
- }
419
- }
420
- }
421
- }
422
- }
423
- },
424
- "403": {
425
- "description": "Forbidden"
426
- }
427
- }
428
- }
429
- },
430
- "/v1/custom-variables/{id}": {
431
- "put": {
432
- "operationId": "updateCustomVariable",
433
- "summary": "Update custom variable",
434
- "description": "Update custom variable",
435
- "tags": [
436
- "Custom Variables"
437
- ],
438
- "parameters": [
439
- {
440
- "name": "id",
441
- "description": "Custom variable ID",
442
- "in": "path",
443
- "required": true,
444
- "schema": {
445
- "type": "string"
446
- },
447
- "example": "rbse777b-3cf8-4bff-bb0c-253fd1123250"
448
- }
449
- ],
450
- "requestBody": {
451
- "content": {
452
- "application/json": {
453
- "schema": {
454
- "$ref": "#/components/schemas/CustomVariable"
455
- }
456
- }
457
- }
458
- },
459
- "responses": {
460
- "200": {
461
- "description": "Success",
462
- "content": {
463
- "application/json": {
464
- "schema": {
465
- "$ref": "#/components/schemas/CustomVariable"
466
- }
467
- }
468
- }
469
- },
470
- "403": {
471
- "description": "Forbidden"
472
- },
473
- "409": {
474
- "description": "Conflict - Custom variable with the same key already exists"
475
- }
476
- }
477
- },
478
- "get": {
479
- "operationId": "getCustomVariable",
480
- "summary": "Get custom variable",
481
- "description": "Get custom variable",
482
- "tags": [
483
- "Custom Variables"
484
- ],
485
- "parameters": [
486
- {
487
- "name": "id",
488
- "description": "Custom vairable ID",
489
- "in": "path",
490
- "required": true,
491
- "schema": {
492
- "type": "string"
493
- },
494
- "example": "rbse777b-3cf8-4bff-bb0c-253fd1123250"
495
- }
496
- ],
497
- "responses": {
498
- "200": {
499
- "description": "Success",
500
- "content": {
501
- "application/json": {
502
- "schema": {
503
- "$ref": "#/components/schemas/CustomVariable"
504
- }
505
- }
506
- }
507
- },
508
- "403": {
509
- "description": "Forbidden"
510
- },
511
- "404": {
512
- "description": "Not found"
513
- }
514
- }
515
- },
516
- "delete": {
517
- "operationId": "deleteCustomVariable",
518
- "summary": "Delete custom variable",
519
- "description": "Immediately and permanently deletes a custom variable",
520
- "tags": [
521
- "Custom Variables"
522
- ],
523
- "parameters": [
524
- {
525
- "name": "id",
526
- "description": "Custom vairable ID",
527
- "in": "path",
528
- "required": true,
529
- "schema": {
530
- "type": "string"
531
- },
532
- "example": "rbse777b-3cf8-4bff-bb0c-253fd1123250"
533
- }
534
- ],
535
- "responses": {
536
- "204": {
537
- "description": "Success"
538
- },
539
- "403": {
540
- "description": "Forbidden"
541
- }
542
- }
543
- }
544
- },
545
- "/v1/custom-variables/order-table-blueprint": {
546
- "get": {
547
- "operationId": "getBluePrintTableConfig",
548
- "summary": "Get default table config",
549
- "description": "Get default table config",
550
- "tags": [
551
- "Custom Variables"
552
- ],
553
- "responses": {
554
- "200": {
555
- "description": "Success",
556
- "content": {
557
- "application/json": {
558
- "schema": {
559
- "$ref": "#/components/schemas/CustomVariable"
560
- }
561
- }
562
- }
563
- },
564
- "403": {
565
- "description": "Forbidden"
566
- }
567
- }
568
- }
569
- }
570
- },
571
- "components": {
572
- "securitySchemes": {
573
- "EpilotAuth": {
574
- "type": "http",
575
- "scheme": "bearer",
576
- "description": "Authorization header with epilot OAuth2 bearer token",
577
- "bearerFormat": "JWT"
578
- },
579
- "EpilotOrg": {
580
- "description": "Overrides the target organization",
581
- "name": "x-ivy-org-id",
582
- "in": "header",
583
- "type": "apiKey"
584
- }
585
- },
586
- "schemas": {
587
- "Language": {
588
- "type": "string",
589
- "description": "2-letter language code (ISO 639-1)",
590
- "default": "de"
591
- },
592
- "VariableParameters": {
593
- "type": "object",
594
- "properties": {
595
- "template_type": {
596
- "$ref": "#/components/schemas/TemplateType"
597
- },
598
- "language": {
599
- "$ref": "#/components/schemas/Language"
600
- },
601
- "main_entity_id": {
602
- "type": "string",
603
- "format": "uuid",
604
- "description": "The main entity ID. Use main entity in order to use the variable without schema slug prefix - or just pass directly to other object ID.",
605
- "example": "63753437-c9e2-4e83-82bb-b1c666514561"
606
- },
607
- "brand_id": {
608
- "type": "number",
609
- "nullable": true,
610
- "description": "Brand ID",
611
- "example": 123451
612
- },
613
- "user_id": {
614
- "type": "string",
615
- "nullable": true,
616
- "description": "User ID",
617
- "example": "50001"
618
- },
619
- "user_org_id": {
620
- "type": "string",
621
- "nullable": true,
622
- "description": "Organization ID of the user",
623
- "example": "729224"
624
- },
625
- "custom_variables": {
626
- "type": "array",
627
- "description": "Custom variables with specified values form other services.",
628
- "items": {
629
- "$ref": "#/components/schemas/ExternalCustomVariable"
630
- }
631
- },
632
- "context_data": {
633
- "type": "object",
634
- "description": "If context data is available, this data will be used for variable replace."
635
- },
636
- "template_name": {
637
- "type": "string",
638
- "description": "The name of email template"
639
- },
640
- "template_tags": {
641
- "type": "array",
642
- "description": "The tags of email template",
643
- "items": {
644
- "type": "string"
645
- }
646
- },
647
- "variables_version": {
648
- "type": "string",
649
- "description": "The version of the variables syntax supported. Default is 1.0",
650
- "example": "2"
651
- }
652
- },
653
- "required": [
654
- "template_type"
655
- ]
656
- },
657
- "ReplacementOutput": {
658
- "type": "object",
659
- "properties": {
660
- "outputs": {
661
- "type": "array",
662
- "items": {
663
- "type": "string"
664
- },
665
- "example": [
666
- "[Brand Name GmbH] Order confirmation\nHello Customer Name\n\n<span color=\"#ccc\">Brand Name GmbH</span>\n<img src=\"https://logobucket.s3.amazonaws.com/brandlogo.png\" alt=\"Brand Name\"/>\n<a href=\"https://company.com/imprint\">imprint</a>\n"
667
- ]
668
- }
669
- }
670
- },
671
- "ReplacementOutputV2": {
672
- "type": "object",
673
- "properties": {
674
- "outputs": {
675
- "type": "object",
676
- "description": "Dictionary mapping input templates and variable names to their resolved output values.\nValues preserve their original types (string, array, object) instead of being stringified.\n\nKeys include:\n- Original input templates (e.g., \"Hello {{name}}\")\n- Individual variables found in templates (e.g., \"{{name}}\", \"{{product_images[*].public_url}}\")\n",
677
- "additionalProperties": {
678
- "anyOf": [
679
- {
680
- "type": "string"
681
- },
682
- {
683
- "type": "number"
684
- },
685
- {
686
- "type": "boolean"
687
- },
688
- {
689
- "type": "array",
690
- "items": {}
691
- },
692
- {
693
- "type": "object",
694
- "additionalProperties": {}
695
- }
696
- ]
697
- },
698
- "example": {
699
- "Hello {{first_name}}": "Hello John",
700
- "{{first_name}}": "John",
701
- "{{product_images[*].public_url}}": [
702
- "http://myimage.server.com/img1.png",
703
- "http://myimage.server.com/img2.png"
704
- ]
705
- }
706
- }
707
- }
708
- },
709
- "VariableResult": {
710
- "type": "object",
711
- "properties": {
712
- "type": {
713
- "type": "string",
714
- "enum": [
715
- "simple",
716
- "partial"
717
- ]
718
- },
719
- "qrdata": {
720
- "type": "string",
721
- "description": "Payload for the QR data"
722
- },
723
- "group": {
724
- "type": "string",
725
- "description": "Variable group"
726
- },
727
- "insert": {
728
- "type": "string",
729
- "description": "The value which is used to insert to template"
730
- },
731
- "description": {
732
- "type": "string",
733
- "description": "Variable description"
734
- }
735
- }
736
- },
737
- "CustomVariablesSearchParams": {
738
- "type": "object",
739
- "properties": {
740
- "type": {
741
- "type": "string",
742
- "description": "Variable type",
743
- "enum": [
744
- "order_table",
745
- "custom",
746
- "journey_link",
747
- "snippet"
748
- ]
749
- },
750
- "tags": {
751
- "type": "array",
752
- "description": "The tags of custom variable",
753
- "items": {
754
- "type": "string"
755
- }
756
- },
757
- "query": {
758
- "type": "string",
759
- "description": "Search string",
760
- "example": "logo"
761
- },
762
- "from": {
763
- "type": "integer",
764
- "default": 0
765
- },
766
- "size": {
767
- "type": "integer",
768
- "default": 25
769
- },
770
- "sort_by": {
771
- "type": "string",
772
- "description": "Sort by field",
773
- "example": "created_at, name, key"
774
- },
775
- "fields": {
776
- "type": "array",
777
- "description": "Fields to return",
778
- "items": {
779
- "type": "string"
780
- }
781
- }
782
- }
783
- },
784
- "VariableContext": {
785
- "type": "object",
786
- "properties": {
787
- "unsubscribe_url": {
788
- "type": "string",
789
- "example": "https://consent.sls.epilot.io/v1/unsubscribe?token=abc123"
790
- },
791
- "main": {
792
- "type": "object",
793
- "additionalProperties": true,
794
- "example": {
795
- "_id": "03be777b-3cf8-4bff-bb0c-253fd1128479",
796
- "_title": "Example Customer",
797
- "customer_number": 123,
798
- "first_name": "Example",
799
- "last_name": "Customer",
800
- "title": "Prof.",
801
- "salutation": "Ms. / Mrs.",
802
- "birthdate": "2018-03-03",
803
- "email": [
804
- {
805
- "email": "contact.primary@domain.com",
806
- "_tags": [
807
- "primary"
808
- ]
809
- },
810
- {
811
- "email": "sale@domain.com"
812
- }
813
- ],
814
- "phone": [
815
- {
816
- "phone": "+49123456789",
817
- "_tags": [
818
- "primary",
819
- "support"
820
- ]
821
- },
822
- {
823
- "phone": "+49504305025"
824
- }
825
- ],
826
- "address": [
827
- {
828
- "_tags": [
829
- "primary",
830
- "delivery"
831
- ],
832
- "country": "Germany",
833
- "city": "Köln",
834
- "postal_code": "50825",
835
- "street": "Im Mediapark",
836
- "street_number": "8a",
837
- "additional_info": "11th floor"
838
- },
839
- {
840
- "_tags": [
841
- "billing"
842
- ],
843
- "country": "Finland",
844
- "city": "Köln",
845
- "postal_code": "50670",
846
- "street": "Im Mediapark",
847
- "street_number": "8a",
848
- "additional_info": ""
849
- }
850
- ],
851
- "account": [
852
- {
853
- "status": "Active",
854
- "_id": "c8d20ff6-df7a-465a-a26e-e5d28c2a3f79",
855
- "tax_id": "123abc",
856
- "name": "name",
857
- "email": [
858
- {
859
- "email": "account.primary@domain.com",
860
- "_tags": [
861
- "primary"
862
- ]
863
- },
864
- {
865
- "email": "account.sale@domain.com"
866
- }
867
- ],
868
- "phone": [
869
- {
870
- "phone": "+49123456789",
871
- "_tags": [
872
- "primary",
873
- "support"
874
- ]
875
- },
876
- {
877
- "phone": "+49504305025"
878
- }
879
- ],
880
- "address": [
881
- {
882
- "_tags": [
883
- "primary",
884
- "delivery"
885
- ],
886
- "country": "Germany",
887
- "city": "Köln",
888
- "postal_code": "50825",
889
- "street": "Im Mediapark",
890
- "street_number": "8a",
891
- "additional_info": "11th floor"
892
- }
893
- ]
894
- }
895
- ]
896
- }
897
- },
898
- "contact": {
899
- "type": "object",
900
- "additionalProperties": true,
901
- "example": {
902
- "_id": "03be777b-3cf8-4bff-bb0c-253fd1128479",
903
- "_title": "Example Customer",
904
- "customer_number": 123,
905
- "first_name": "Example",
906
- "last_name": "Customer",
907
- "title": "Prof.",
908
- "salutation": "Ms. / Mrs.",
909
- "birthdate": "2018-03-03",
910
- "email": [
911
- {
912
- "email": "contact.primary@domain.com",
913
- "_tags": [
914
- "primary"
915
- ]
916
- },
917
- {
918
- "email": "sale@domain.com"
919
- }
920
- ],
921
- "phone": [
922
- {
923
- "phone": "+49123456789",
924
- "_tags": [
925
- "primary",
926
- "support"
927
- ]
928
- },
929
- {
930
- "phone": "+49504305025"
931
- }
932
- ],
933
- "address": [
934
- {
935
- "_tags": [
936
- "primary",
937
- "delivery"
938
- ],
939
- "country": "Germany",
940
- "city": "Köln",
941
- "postal_code": "50825",
942
- "street": "Im Mediapark",
943
- "street_number": "8a",
944
- "additional_info": "11th floor"
945
- },
946
- {
947
- "_tags": [
948
- "billing"
949
- ],
950
- "country": "Finland",
951
- "city": "Köln",
952
- "postal_code": "50670",
953
- "street": "Im Mediapark",
954
- "street_number": "8a",
955
- "additional_info": ""
956
- }
957
- ],
958
- "account": [
959
- {
960
- "status": "Active",
961
- "_id": "c8d20ff6-df7a-465a-a26e-e5d28c2a3f79",
962
- "tax_id": "123abc",
963
- "name": "name",
964
- "email": [
965
- {
966
- "email": "account.primary@domain.com",
967
- "_tags": [
968
- "primary"
969
- ]
970
- },
971
- {
972
- "email": "account.sale@domain.com"
973
- }
974
- ],
975
- "phone": [
976
- {
977
- "phone": "+49123456789",
978
- "_tags": [
979
- "primary",
980
- "support"
981
- ]
982
- },
983
- {
984
- "phone": "+49504305025"
985
- }
986
- ],
987
- "address": [
988
- {
989
- "_tags": [
990
- "primary",
991
- "delivery"
992
- ],
993
- "country": "Germany",
994
- "city": "KölnSS",
995
- "postal_code": "50825",
996
- "street": "Im Mediapark",
997
- "street_number": "8a",
998
- "additional_info": "11th floor"
999
- }
1000
- ]
1001
- }
1002
- ]
1003
- }
1004
- },
1005
- "brand": {
1006
- "type": "object",
1007
- "additionalProperties": true,
1008
- "example": {
1009
- "id": 123453,
1010
- "name": "Brand name",
1011
- "signature": "Signature"
1012
- }
1013
- }
1014
- }
1015
- },
1016
- "TemplateType": {
1017
- "type": "string",
1018
- "enum": [
1019
- "email",
1020
- "document"
1021
- ]
1022
- },
1023
- "CategoryResult": {
1024
- "type": "object",
1025
- "properties": {
1026
- "category": {
1027
- "type": "string",
1028
- "example": "contact"
1029
- },
1030
- "description": {
1031
- "type": "string",
1032
- "example": "Contact"
1033
- }
1034
- }
1035
- },
1036
- "ExternalCustomVariable": {
1037
- "type": "object",
1038
- "properties": {
1039
- "variable": {
1040
- "type": "string",
1041
- "example": "{{craftsmen.invitation_link}}"
1042
- },
1043
- "value": {
1044
- "type": "string",
1045
- "example": "https://partner.epilot.cloud/activate-account?user_name=htny.pct%2Btet%40gmail.com&confirmation_code=EdXPRW19"
1046
- }
1047
- }
1048
- },
1049
- "CustomVariable": {
1050
- "type": "object",
1051
- "properties": {
1052
- "id": {
1053
- "type": "string",
1054
- "description": "ID",
1055
- "example": "rbse777b-3cf8-4bff-bb0c-253fd1123250"
1056
- },
1057
- "type": {
1058
- "type": "string",
1059
- "description": "Custom variable type",
1060
- "enum": [
1061
- "order_table",
1062
- "custom",
1063
- "journey_link",
1064
- "snippet"
1065
- ]
1066
- },
1067
- "name": {
1068
- "type": "string",
1069
- "description": "Custom variable name",
1070
- "example": "My Custom table"
1071
- },
1072
- "key": {
1073
- "type": "string",
1074
- "description": "The key which is used for Handlebar variable syntax {{key}}",
1075
- "example": "my_custom_table"
1076
- },
1077
- "_tags": {
1078
- "type": "array",
1079
- "description": "The tags of custom variable",
1080
- "items": {
1081
- "type": "string"
1082
- }
1083
- },
1084
- "helper_params": {
1085
- "type": "array",
1086
- "description": "The helper function parameter's names",
1087
- "items": {
1088
- "type": "string"
1089
- },
1090
- "example": [
1091
- "param1",
1092
- "param2"
1093
- ]
1094
- },
1095
- "helper_logic": {
1096
- "type": "string",
1097
- "description": "The helper function logic",
1098
- "example": "return param1 * param2;"
1099
- },
1100
- "config": {
1101
- "type": "object",
1102
- "description": "Variable configuration",
1103
- "example": {
1104
- "header": null,
1105
- "style": {
1106
- "color": "#222",
1107
- "background": "#fff",
1108
- "font-size": "16px",
1109
- "font-family": "",
1110
- "padding-bottom": "4px",
1111
- "font-weight": "bold",
1112
- "border": "none !important",
1113
- "text-align": "left"
1114
- },
1115
- "columns": [
1116
- {
1117
- "id": "item",
1118
- "index": 0,
1119
- "label": {
1120
- "en": "Item",
1121
- "de": "Produkt"
1122
- },
1123
- "enable": true,
1124
- "draggable": true,
1125
- "style": {
1126
- "padding-left": "10px",
1127
- "max-width": "30%"
1128
- }
1129
- },
1130
- {
1131
- "id": "quantity",
1132
- "index": 1,
1133
- "label": {
1134
- "en": "Quanity",
1135
- "de": "Menge"
1136
- },
1137
- "enable": true,
1138
- "draggable": true,
1139
- "style": {
1140
- "min-width": "60px",
1141
- "width": "30%"
1142
- }
1143
- },
1144
- {
1145
- "id": "tax",
1146
- "index": 2,
1147
- "label": {
1148
- "en": "Tax Rate",
1149
- "de": "Steuerrate"
1150
- },
1151
- "enable": true,
1152
- "draggable": true,
1153
- "style": {
1154
- "min-width": "60px",
1155
- "width": "30%"
1156
- }
1157
- },
1158
- {
1159
- "id": "unit_amount",
1160
- "index": 3,
1161
- "label": {
1162
- "en": "Unit Net Price",
1163
- "de": "Nettopreis"
1164
- },
1165
- "enable": true,
1166
- "draggable": true,
1167
- "style": {
1168
- "min-width": "60px",
1169
- "width": "30%"
1170
- }
1171
- },
1172
- {
1173
- "id": "net_total",
1174
- "index": 4,
1175
- "label": {
1176
- "en": "Net total",
1177
- "de": "Nettosumme"
1178
- },
1179
- "enable": "true,",
1180
- "draggable": true,
1181
- "style": {
1182
- "min-width": "60px",
1183
- "width": "30%"
1184
- }
1185
- },
1186
- {
1187
- "id": "gross_total",
1188
- "index": 5,
1189
- "label": {
1190
- "en": "Total",
1191
- "de": "Gesamt"
1192
- },
1193
- "enable": true,
1194
- "draggable": true,
1195
- "style": {
1196
- "min-width": "60px",
1197
- "width": "30%"
1198
- }
1199
- }
1200
- ],
1201
- "body": {
1202
- "product_name": {
1203
- "parent_column": "item",
1204
- "enable": true,
1205
- "style": {
1206
- "color": "#222",
1207
- "background": "#fff",
1208
- "font-size": "14px",
1209
- "font-family": "",
1210
- "font-weight": "bold",
1211
- "font-style": "normal",
1212
- "padding-top": "16px",
1213
- "padding-bottom": "8px",
1214
- "border": "none !important",
1215
- "vertical-align": "top",
1216
- "text-align": "left",
1217
- "max-width": "30%",
1218
- "padding-left": "10px"
1219
- }
1220
- },
1221
- "price_description": {
1222
- "parent_column": "item",
1223
- "enable": true,
1224
- "style": {
1225
- "color": "#222",
1226
- "background": "#fff",
1227
- "font-size": "12px",
1228
- "font-family": "",
1229
- "font-weight": "normal",
1230
- "font-style": "normal",
1231
- "text-align": "left",
1232
- "max-width": "30%"
1233
- }
1234
- },
1235
- "product_description": {
1236
- "parent_column": "item",
1237
- "enable": true,
1238
- "style": {
1239
- "color": "#222",
1240
- "background": "#fff",
1241
- "font-size": "12px",
1242
- "font-family": "",
1243
- "font-weight": "normal",
1244
- "font-style": "normal",
1245
- "text-align": "left",
1246
- "max-width": "30%"
1247
- }
1248
- },
1249
- "quantity": {
1250
- "enable": true,
1251
- "style": {
1252
- "color": "#222",
1253
- "background": "#fff",
1254
- "font-size": "12px",
1255
- "font-family": "",
1256
- "font-weight": "normal",
1257
- "font-style": "normal",
1258
- "text-align": "left",
1259
- "max-width": "30%"
1260
- }
1261
- },
1262
- "tax": {
1263
- "enable": true,
1264
- "style": {
1265
- "color": "#222",
1266
- "background": "#fff",
1267
- "font-size": "12px",
1268
- "font-family": "",
1269
- "font-weight": "normal",
1270
- "font-style": "normal",
1271
- "text-align": "left",
1272
- "max-width": "30%"
1273
- }
1274
- },
1275
- "unit_amount": {
1276
- "enable": true,
1277
- "style": {
1278
- "color": "#222",
1279
- "background": "#fff",
1280
- "font-size": "12px",
1281
- "font-family": "",
1282
- "font-weight": "normal",
1283
- "font-style": "normal",
1284
- "text-align": "left",
1285
- "max-width": "30%"
1286
- }
1287
- },
1288
- "net_total": {
1289
- "enable": true,
1290
- "style": {
1291
- "color": "#222",
1292
- "background": "#fff",
1293
- "font-size": "12px",
1294
- "font-family": "",
1295
- "font-weight": "normal",
1296
- "font-style": "normal",
1297
- "text-align": "left",
1298
- "max-width": "30%"
1299
- }
1300
- },
1301
- "gross_total": {
1302
- "enable": true,
1303
- "style": {
1304
- "color": "#222",
1305
- "background": "#fff",
1306
- "font-size": "12px",
1307
- "font-family": "",
1308
- "font-weight": "normal",
1309
- "font-style": "normal",
1310
- "text-align": "left",
1311
- "max-width": "30%"
1312
- }
1313
- }
1314
- },
1315
- "footer": {
1316
- "payment_type": {
1317
- "enable": true,
1318
- "style": {
1319
- "color": "#222",
1320
- "background": "#fff",
1321
- "font-size": "12px",
1322
- "font-family": "",
1323
- "font-weight": "normal",
1324
- "font-style": "normal",
1325
- "text-align": "left",
1326
- "max-width": "30%"
1327
- }
1328
- },
1329
- "net_total": {
1330
- "enable": true,
1331
- "style": {
1332
- "color": "#222",
1333
- "background": "#fff",
1334
- "font-size": "12px",
1335
- "font-family": "",
1336
- "font-weight": "normal",
1337
- "font-style": "normal",
1338
- "text-align": "left",
1339
- "max-width": "30%"
1340
- }
1341
- },
1342
- "amount_tax": {
1343
- "enable": true,
1344
- "style": {
1345
- "color": "#222",
1346
- "background": "#fff",
1347
- "font-size": "12px",
1348
- "font-family": "",
1349
- "font-weight": "normal",
1350
- "font-style": "normal",
1351
- "text-align": "left",
1352
- "max-width": "30%"
1353
- }
1354
- },
1355
- "gross_total": {
1356
- "enable": true,
1357
- "style": {
1358
- "color": "#222",
1359
- "background": "#fff",
1360
- "font-size": "12px",
1361
- "font-family": "",
1362
- "font-weight": "normal",
1363
- "font-style": "normal",
1364
- "text-align": "left",
1365
- "max-width": "30%"
1366
- }
1367
- }
1368
- }
1369
- }
1370
- },
1371
- "template": {
1372
- "type": "string",
1373
- "description": "Handlebar template that used to generate the variable content",
1374
- "example": "<table style=\"table-layout: fixed;width: 100%;max-width: 1000px;border-collapse: collapse;\">\n <thead>\n <tr style=\"height: 48px;border-bottom: 1px solid #D5E1ED;\">\n {{#each table_config.header.columns as |column|}}\n {{#if column.enable}}\n <th style=\"{{makeStyle @root.table_config.header.style}};{{makeStyle column.style}};\">{{column._label}}</th>\n {{/if}}\n {{/each}}\n </tr>\n </thead>\n <tbody style=\"vertical-align: baseline !important;font-weight: 400;font-size: 12px;position: relative;\">\n <!-- Start rendering products -->\n {{#each order.products as |product|}}\n {{#if @last}}\n <tr style=\"height: 48px;;font-size:14px;border-bottom: 1px solid #D5E1ED;\">\n {{else}}\n <tr style=\"height: 48px;;font-size:14px;\">\n {{/if}}\n {{#each @root.table_config.header.columns as |column|}}\n {{#if column.enable}}\n {{#if (eq column.id 'item')}}\n <!-- Item -->\n <td style=\"{{makeStyle @root.table_config.body.product_name.style}}\">\n {{#if @root.table_config.body.product_name.enable}}\n {{product.name}}\n {{/if}}\n {{#if @root.table_config.body.price_description.enable}}\n <br>\n <span style=\"{{makeStyle @root.table_config.body.price_description.style}}\">{{product.price.description}}</span>\n {{/if}}\n {{#if @root.table_config.body.product_description.enable}}\n <br>\n <span style=\"{{makeStyle @root.table_config.body.product_description.style}}\">{{product.description}}</span>\n {{/if}}\n </td>\n {{/if}}\n {{#if (eq column.id 'quantity')}}\n <!-- Quantity -->\n <td style=\"{{makeStyle @root.table_config.body.quantity.style}}\">{{product.price.quantity}}\n </td>\n {{/if}}\n {{#if (eq column.id 'tax')}}\n <!-- Tax -->\n <td style=\"{{makeStyle @root.table_config.body.tax.style}}\">\n {{product.price.tax_rate}}\n </td>\n {{/if}}\n {{#if (eq column.id 'unit_amount')}}\n <!-- Unit amount -->\n <td style=\"{{makeStyle @root.table_config.body.unit_amount.style}}\">\n {{product.price.unit_amount_net}}\n </td>\n {{/if}}\n {{#if (eq column.id 'net_total')}}\n <!-- Amount Subtotal -->\n <td style=\"{{makeStyle @root.table_config.body.net_total.style}}\">\n {{product.price.amount_subtotal}}\n </td>\n {{/if}}\n {{#if (eq column.id 'amount_tax')}}\n <!-- Tax amount-->\n <td style=\"{{makeStyle @root.table_config.body.amount_tax.style}}\">\n {{product.price.amount_tax}}\n </td>\n {{/if}}\n {{#if (eq column.id 'gross_total')}}\n <!-- Gross total -->\n <td style=\"{{makeStyle @root.table_config.body.gross_total.style}}\">\n {{product.price.amount_total}}\n {{#if @root.table_config.body.payment_type.enable}}\n {{#if (eq product.price.type 'recurring')}}\n <br>\n <span style=\"{{makeStyle @root.table_config.body.payment_type.style}}\">{{product.price.billing_period}}</span>\n {{/if}}\n {{/if}}\n </td>\n {{/if}}\n {{/if}}\n {{/each}}\n </tr>\n {{/each}}\n <!-- Finish rendering products -->\n {{#if table_config.footer.gross_total.enable}}\n {{#each order.total_details.recurrences as |item|}}\n <tr style=\"height: 48px;font-size: 14px;\">\n <td style=\"padding-top: 16px; padding-bottom: 8px; border: none !important; vertical-align: top;\" colspan=\"{{calculate_colspan @root.table_config}}\"></td>\n {{#if @root.table_config.footer.payment_type.enable}}\n <td style=\"{{makeStyle @root.table_config.footer.payment_type.style}}\" colspan=\"2\">{{item.billing_period}}</td>\n {{/if}}\n {{#if (isColumnEnabled @root.table_config 'net_total')}}\n {{#if @root.table_config.footer.net_total.enable}}\n <td style=\"{{makeStyle @root.table_config.footer.net_total.style}}\">{{item.amount_subtotal}}</td>\n {{/if}}\n {{/if}}\n <td style=\"{{makeStyle @root.table_config.footer.gross_total.style}}\">{{item.amount_total}}\n {{#if @root.table_config.footer.amount_tax.enable}}\n <br>\n <span style=\"{{makeStyle @root.table_config.footer.amount_tax.style}}\">{{item.full_amount_tax}}</span>\n {{/if}}\n </td>\n </tr>\n {{/each}}\n {{/if}}\n <tr style=\"height:16px !important;\"></tr>\n </tbody>\n</table>\n"
1375
- },
1376
- "created_at": {
1377
- "type": "string",
1378
- "description": "Creation time",
1379
- "example": "2022-04-19T12:41:43.662Z",
1380
- "readOnly": true
1381
- },
1382
- "created_by": {
1383
- "type": "string",
1384
- "description": "Created by",
1385
- "example": "100042",
1386
- "readOnly": true
1387
- },
1388
- "updated_at": {
1389
- "type": "string",
1390
- "description": "Last update time",
1391
- "example": "2022-04-20T12:41:43.662Z",
1392
- "readOnly": true
1393
- },
1394
- "updated_by": {
1395
- "type": "string",
1396
- "description": "Updated by",
1397
- "example": "100042",
1398
- "readOnly": true
1399
- }
1400
- },
1401
- "required": [
1402
- "key",
1403
- "template"
1404
- ]
1405
- }
1406
- }
1407
- }
1408
- }