@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,1491 +0,0 @@
1
- {
2
- "openapi": "3.0.3",
3
- "info": {
4
- "title": "Validation Rules API",
5
- "version": "1.0.0"
6
- },
7
- "tags": [
8
- {
9
- "name": "Validation Rules",
10
- "description": "Endpoints for managing validation rules"
11
- }
12
- ],
13
- "security": [
14
- {
15
- "EpilotAuth": []
16
- }
17
- ],
18
- "paths": {
19
- "/v1/validation-rules": {
20
- "get": {
21
- "operationId": "getValidationRules",
22
- "summary": "Get all validation rules by organization Id",
23
- "description": "Gets all validation rules by organization Id",
24
- "tags": [
25
- "Validation Rules"
26
- ],
27
- "security": [
28
- {
29
- "EpilotAuth": []
30
- }
31
- ],
32
- "responses": {
33
- "200": {
34
- "description": "Success",
35
- "content": {
36
- "application/json": {
37
- "schema": {
38
- "$ref": "#/components/schemas/GetValidationRulesResponse"
39
- }
40
- }
41
- }
42
- },
43
- "400": {
44
- "description": "Bad Request - Invalid request body",
45
- "content": {
46
- "application/json": {
47
- "schema": {
48
- "type": "object",
49
- "properties": {
50
- "message": {
51
- "type": "string",
52
- "example": "Invalid request body"
53
- }
54
- }
55
- }
56
- }
57
- }
58
- },
59
- "500": {
60
- "description": "Internal Server Error",
61
- "content": {
62
- "application/json": {
63
- "schema": {
64
- "type": "object",
65
- "properties": {
66
- "message": {
67
- "type": "string",
68
- "example": "Unknown API Error"
69
- }
70
- }
71
- }
72
- }
73
- }
74
- }
75
- }
76
- },
77
- "post": {
78
- "operationId": "createValidationRule",
79
- "summary": "Create Validation Rule",
80
- "description": "Creates a new validation rule",
81
- "tags": [
82
- "Validation Rules"
83
- ],
84
- "security": [
85
- {
86
- "EpilotAuth": []
87
- }
88
- ],
89
- "requestBody": {
90
- "content": {
91
- "application/json": {
92
- "schema": {
93
- "$ref": "#/components/schemas/CreateValidationRuleRequest"
94
- }
95
- }
96
- },
97
- "description": "Payload"
98
- },
99
- "responses": {
100
- "201": {
101
- "description": "Success",
102
- "content": {
103
- "application/json": {
104
- "schema": {
105
- "$ref": "#/components/schemas/ValidationRule"
106
- }
107
- }
108
- }
109
- }
110
- }
111
- }
112
- },
113
- "/v1/validation-rules/{ruleId}": {
114
- "get": {
115
- "operationId": "getValidationRuleById",
116
- "summary": "Get validation rule by ID",
117
- "description": "Retrieves a specific validation rule by its ID",
118
- "tags": [
119
- "Validation Rules"
120
- ],
121
- "security": [
122
- {
123
- "EpilotAuth": []
124
- }
125
- ],
126
- "parameters": [
127
- {
128
- "name": "ruleId",
129
- "in": "path",
130
- "required": true,
131
- "schema": {
132
- "type": "string"
133
- },
134
- "description": "The unique identifier of the validation rule to retrieve."
135
- }
136
- ],
137
- "responses": {
138
- "200": {
139
- "description": "Success",
140
- "content": {
141
- "application/json": {
142
- "schema": {
143
- "$ref": "#/components/schemas/ValidationRule"
144
- }
145
- }
146
- }
147
- },
148
- "404": {
149
- "description": "Validation rule not found",
150
- "content": {
151
- "application/json": {
152
- "schema": {
153
- "type": "object",
154
- "properties": {
155
- "message": {
156
- "type": "string",
157
- "example": "Validation rule not found"
158
- }
159
- }
160
- }
161
- }
162
- }
163
- },
164
- "500": {
165
- "description": "Internal Server Error",
166
- "content": {
167
- "application/json": {
168
- "schema": {
169
- "type": "object",
170
- "properties": {
171
- "message": {
172
- "type": "string",
173
- "example": "Unknown API Error"
174
- }
175
- }
176
- }
177
- }
178
- }
179
- }
180
- }
181
- },
182
- "patch": {
183
- "operationId": "updateValidationRule",
184
- "summary": "Update Validation Rule (partial update)",
185
- "description": "Updates an existing validation rule partially by ID",
186
- "tags": [
187
- "Validation Rules"
188
- ],
189
- "security": [
190
- {
191
- "EpilotAuth": []
192
- }
193
- ],
194
- "parameters": [
195
- {
196
- "name": "ruleId",
197
- "in": "path",
198
- "required": true,
199
- "schema": {
200
- "type": "string"
201
- },
202
- "description": "The unique identifier of the validation rule to update."
203
- }
204
- ],
205
- "requestBody": {
206
- "content": {
207
- "application/json": {
208
- "schema": {
209
- "$ref": "#/components/schemas/UpdateValidationRuleRequest"
210
- }
211
- }
212
- },
213
- "description": "Fields to update in the validation rule"
214
- },
215
- "responses": {
216
- "200": {
217
- "description": "Success",
218
- "content": {
219
- "application/json": {
220
- "schema": {
221
- "$ref": "#/components/schemas/ValidationRule"
222
- }
223
- }
224
- }
225
- },
226
- "400": {
227
- "description": "Bad Request - Invalid request body",
228
- "content": {
229
- "application/json": {
230
- "schema": {
231
- "type": "object",
232
- "properties": {
233
- "message": {
234
- "type": "string",
235
- "example": "Invalid request body"
236
- }
237
- }
238
- }
239
- }
240
- }
241
- },
242
- "500": {
243
- "description": "Internal Server Error",
244
- "content": {
245
- "application/json": {
246
- "schema": {
247
- "type": "object",
248
- "properties": {
249
- "message": {
250
- "type": "string",
251
- "example": "Unknown API Error"
252
- }
253
- }
254
- }
255
- }
256
- }
257
- }
258
- }
259
- },
260
- "delete": {
261
- "operationId": "deleteValidationRule",
262
- "summary": "Delete Validation Rule",
263
- "description": "Deletes a validation rule by ID",
264
- "tags": [
265
- "Validation Rules"
266
- ],
267
- "security": [
268
- {
269
- "EpilotAuth": []
270
- }
271
- ],
272
- "parameters": [
273
- {
274
- "name": "ruleId",
275
- "in": "path",
276
- "required": true,
277
- "schema": {
278
- "type": "string"
279
- },
280
- "description": "The unique identifier of the validation rule to delete."
281
- }
282
- ],
283
- "responses": {
284
- "204": {
285
- "description": "Validation rule deleted successfully"
286
- },
287
- "500": {
288
- "description": "Internal Server Error",
289
- "content": {
290
- "application/json": {
291
- "schema": {
292
- "type": "object",
293
- "properties": {
294
- "message": {
295
- "type": "string",
296
- "example": "Unknown API Error"
297
- }
298
- }
299
- }
300
- }
301
- }
302
- }
303
- }
304
- }
305
- },
306
- "/v1/validation-rules/{ruleId}/used-by": {
307
- "post": {
308
- "operationId": "addUsedByReference",
309
- "summary": "Add a reference to the usedBy array",
310
- "description": "Adds a single reference to the usedBy array of a validation rule",
311
- "tags": [
312
- "Validation Rules"
313
- ],
314
- "security": [
315
- {
316
- "EpilotAuth": []
317
- }
318
- ],
319
- "parameters": [
320
- {
321
- "name": "ruleId",
322
- "in": "path",
323
- "required": true,
324
- "schema": {
325
- "type": "string"
326
- },
327
- "description": "The unique identifier of the validation rule to update."
328
- }
329
- ],
330
- "requestBody": {
331
- "content": {
332
- "application/json": {
333
- "schema": {
334
- "$ref": "#/components/schemas/UsedBy"
335
- }
336
- }
337
- },
338
- "description": "The usedBy reference to add"
339
- },
340
- "responses": {
341
- "200": {
342
- "description": "Success",
343
- "content": {
344
- "application/json": {
345
- "schema": {
346
- "$ref": "#/components/schemas/ValidationRule"
347
- }
348
- }
349
- }
350
- },
351
- "400": {
352
- "description": "Bad Request - Invalid request body",
353
- "content": {
354
- "application/json": {
355
- "schema": {
356
- "type": "object",
357
- "properties": {
358
- "message": {
359
- "type": "string",
360
- "example": "Invalid request body"
361
- }
362
- }
363
- }
364
- }
365
- }
366
- },
367
- "404": {
368
- "description": "Validation rule not found",
369
- "content": {
370
- "application/json": {
371
- "schema": {
372
- "type": "object",
373
- "properties": {
374
- "message": {
375
- "type": "string",
376
- "example": "Validation rule not found"
377
- }
378
- }
379
- }
380
- }
381
- }
382
- },
383
- "500": {
384
- "description": "Internal Server Error",
385
- "content": {
386
- "application/json": {
387
- "schema": {
388
- "type": "object",
389
- "properties": {
390
- "message": {
391
- "type": "string",
392
- "example": "Unknown API Error"
393
- }
394
- }
395
- }
396
- }
397
- }
398
- }
399
- }
400
- },
401
- "delete": {
402
- "operationId": "removeUsedByReference",
403
- "summary": "Remove a reference from the usedBy array",
404
- "description": "Removes a specific reference from the usedBy array of a validation rule",
405
- "tags": [
406
- "Validation Rules"
407
- ],
408
- "security": [
409
- {
410
- "EpilotAuth": []
411
- }
412
- ],
413
- "parameters": [
414
- {
415
- "name": "ruleId",
416
- "in": "path",
417
- "required": true,
418
- "schema": {
419
- "type": "string"
420
- },
421
- "description": "The unique identifier of the validation rule to update."
422
- }
423
- ],
424
- "requestBody": {
425
- "content": {
426
- "application/json": {
427
- "schema": {
428
- "$ref": "#/components/schemas/UsedBy"
429
- }
430
- }
431
- },
432
- "description": "The usedBy reference to remove"
433
- },
434
- "responses": {
435
- "200": {
436
- "description": "Success",
437
- "content": {
438
- "application/json": {
439
- "schema": {
440
- "$ref": "#/components/schemas/ValidationRule"
441
- }
442
- }
443
- }
444
- },
445
- "400": {
446
- "description": "Bad Request - Invalid request body",
447
- "content": {
448
- "application/json": {
449
- "schema": {
450
- "type": "object",
451
- "properties": {
452
- "message": {
453
- "type": "string",
454
- "example": "Invalid request body"
455
- }
456
- }
457
- }
458
- }
459
- }
460
- },
461
- "404": {
462
- "description": "Validation rule not found",
463
- "content": {
464
- "application/json": {
465
- "schema": {
466
- "type": "object",
467
- "properties": {
468
- "message": {
469
- "type": "string",
470
- "example": "Validation rule not found"
471
- }
472
- }
473
- }
474
- }
475
- }
476
- },
477
- "500": {
478
- "description": "Internal Server Error",
479
- "content": {
480
- "application/json": {
481
- "schema": {
482
- "type": "object",
483
- "properties": {
484
- "message": {
485
- "type": "string",
486
- "example": "Unknown API Error"
487
- }
488
- }
489
- }
490
- }
491
- }
492
- }
493
- }
494
- }
495
- }
496
- },
497
- "components": {
498
- "securitySchemes": {
499
- "EpilotAuth": {
500
- "type": "http",
501
- "scheme": "bearer",
502
- "description": "Authorization header with epilot OAuth2 bearer token",
503
- "bearerFormat": "JWT"
504
- },
505
- "EpilotPublicAuth": {
506
- "type": "http",
507
- "scheme": "bearer",
508
- "description": "Authorization header with epilot public access token",
509
- "bearerFormat": "JWT"
510
- }
511
- },
512
- "schemas": {
513
- "GetValidationRulesResponse": {
514
- "type": "object",
515
- "properties": {
516
- "results": {
517
- "type": "array",
518
- "items": {
519
- "$ref": "#/components/schemas/ValidationRule"
520
- }
521
- }
522
- }
523
- },
524
- "CreateValidationRuleRequest": {
525
- "allOf": [
526
- {
527
- "$ref": "#/components/schemas/ValidationRuleBase"
528
- },
529
- {
530
- "type": "object",
531
- "required": [
532
- "title",
533
- "rule"
534
- ]
535
- }
536
- ]
537
- },
538
- "UpdateValidationRuleRequest": {
539
- "allOf": [
540
- {
541
- "$ref": "#/components/schemas/ValidationRuleBase"
542
- }
543
- ]
544
- },
545
- "ValidationRuleBase": {
546
- "allOf": [
547
- {
548
- "type": "object",
549
- "properties": {
550
- "title": {
551
- "type": "string",
552
- "description": "Title of the validation rule."
553
- },
554
- "placeholder": {
555
- "type": "string",
556
- "description": "Placeholder for the validation rule."
557
- },
558
- "used_by": {
559
- "type": "array",
560
- "items": {
561
- "$ref": "#/components/schemas/UsedBy"
562
- },
563
- "description": "Describes where and how a validation rule is applied."
564
- },
565
- "rule": {
566
- "oneOf": [
567
- {
568
- "$ref": "#/components/schemas/RegexRuleType"
569
- },
570
- {
571
- "$ref": "#/components/schemas/PatternRuleType"
572
- },
573
- {
574
- "$ref": "#/components/schemas/NumericRuleType"
575
- }
576
- ]
577
- }
578
- }
579
- }
580
- ]
581
- },
582
- "ValidationRule": {
583
- "allOf": [
584
- {
585
- "$ref": "#/components/schemas/ValidationRuleBase"
586
- },
587
- {
588
- "type": "object",
589
- "required": [
590
- "_schema_version",
591
- "_id",
592
- "_organization_id",
593
- "title",
594
- "type",
595
- "created_at",
596
- "updated_at",
597
- "created_by",
598
- "updated_by"
599
- ],
600
- "properties": {
601
- "_schema_version": {
602
- "type": "string",
603
- "description": "Schema version of the validation rule."
604
- },
605
- "_id": {
606
- "type": "string",
607
- "description": "Unique identifier for the validation rule."
608
- },
609
- "_organization_id": {
610
- "type": "string",
611
- "description": "Organization ID that owns this rule."
612
- },
613
- "created_at": {
614
- "type": "string",
615
- "description": "ISO timestamp when the rule was created."
616
- },
617
- "updated_at": {
618
- "type": "string",
619
- "description": "ISO timestamp when the rule was last updated."
620
- },
621
- "created_by": {
622
- "type": "string",
623
- "description": "User ID of the creator."
624
- },
625
- "updated_by": {
626
- "type": "string",
627
- "description": "User ID of the last updater."
628
- }
629
- }
630
- }
631
- ],
632
- "description": "The Validation rule definition."
633
- },
634
- "UsedBy": {
635
- "type": "object",
636
- "required": [
637
- "type"
638
- ],
639
- "properties": {
640
- "type": {
641
- "type": "string",
642
- "enum": [
643
- "journey",
644
- "entity"
645
- ],
646
- "description": "The context in which the rule is used (e.g., journey or entity)."
647
- },
648
- "schema_slug": {
649
- "type": "string",
650
- "description": "Slug of the schema using this rule for entities."
651
- },
652
- "source_id": {
653
- "type": "string",
654
- "description": "Source identifier for the usage context."
655
- }
656
- },
657
- "description": "Describes where and how a validation rule is applied."
658
- },
659
- "RegexRuleType": {
660
- "description": "Validation rule that uses a regular expression to validate input.",
661
- "type": "object",
662
- "required": [
663
- "type",
664
- "conditions"
665
- ],
666
- "properties": {
667
- "type": {
668
- "type": "string",
669
- "enum": [
670
- "regex"
671
- ],
672
- "description": "Indicates this is a regex-based validation rule."
673
- },
674
- "conditions": {
675
- "$ref": "#/components/schemas/RegexCondition",
676
- "description": "The conditions that must be met for the rule to trigger"
677
- }
678
- }
679
- },
680
- "PatternRuleType": {
681
- "description": "Validation rule that uses a sequence of patterns to validate input.",
682
- "type": "object",
683
- "required": [
684
- "type",
685
- "conditions"
686
- ],
687
- "properties": {
688
- "type": {
689
- "type": "string",
690
- "enum": [
691
- "pattern"
692
- ],
693
- "description": "Indicates this is a pattern-based validation rule."
694
- },
695
- "conditions": {
696
- "$ref": "#/components/schemas/PatternCondition",
697
- "description": "The conditions that must be met for the rule to trigger"
698
- }
699
- }
700
- },
701
- "NumericRuleType": {
702
- "description": "Validation rule for numeric values, supporting range and digit count constraints.",
703
- "type": "object",
704
- "required": [
705
- "type",
706
- "conditions"
707
- ],
708
- "properties": {
709
- "type": {
710
- "type": "string",
711
- "enum": [
712
- "numeric"
713
- ],
714
- "description": "Indicates this is a numeric-based validation rule."
715
- },
716
- "conditions": {
717
- "$ref": "#/components/schemas/NumericCondition",
718
- "description": "The conditions that must be met for the rule to trigger"
719
- }
720
- }
721
- },
722
- "RegexCondition": {
723
- "description": "Condition definition for a regex-based validation rule (2 levels deep)",
724
- "anyOf": [
725
- {
726
- "type": "object",
727
- "description": "All conditions must be true (AND logic)",
728
- "properties": {
729
- "all": {
730
- "type": "array",
731
- "items": {
732
- "anyOf": [
733
- {
734
- "$ref": "#/components/schemas/RegexFactCondition"
735
- },
736
- {
737
- "$ref": "#/components/schemas/RegexNestedCondition"
738
- }
739
- ]
740
- }
741
- }
742
- },
743
- "required": [
744
- "all"
745
- ],
746
- "additionalProperties": false
747
- },
748
- {
749
- "type": "object",
750
- "description": "Any conditions must be true (OR logic)",
751
- "properties": {
752
- "any": {
753
- "type": "array",
754
- "items": {
755
- "anyOf": [
756
- {
757
- "$ref": "#/components/schemas/RegexFactCondition"
758
- },
759
- {
760
- "$ref": "#/components/schemas/RegexNestedCondition"
761
- }
762
- ]
763
- }
764
- }
765
- },
766
- "required": [
767
- "any"
768
- ],
769
- "additionalProperties": false
770
- },
771
- {
772
- "type": "object",
773
- "description": "NOT condition (negation)",
774
- "properties": {
775
- "not": {
776
- "anyOf": [
777
- {
778
- "$ref": "#/components/schemas/RegexFactCondition"
779
- },
780
- {
781
- "$ref": "#/components/schemas/RegexNestedCondition"
782
- }
783
- ]
784
- }
785
- },
786
- "required": [
787
- "not"
788
- ],
789
- "additionalProperties": false
790
- }
791
- ]
792
- },
793
- "RegexNestedCondition": {
794
- "description": "Nested condition with logical operators (level 2 only)",
795
- "anyOf": [
796
- {
797
- "type": "object",
798
- "properties": {
799
- "all": {
800
- "type": "array",
801
- "items": {
802
- "$ref": "#/components/schemas/RegexFactCondition"
803
- }
804
- }
805
- },
806
- "required": [
807
- "all"
808
- ]
809
- },
810
- {
811
- "type": "object",
812
- "properties": {
813
- "any": {
814
- "type": "array",
815
- "items": {
816
- "$ref": "#/components/schemas/RegexFactCondition"
817
- }
818
- }
819
- },
820
- "required": [
821
- "any"
822
- ]
823
- },
824
- {
825
- "type": "object",
826
- "properties": {
827
- "not": {
828
- "$ref": "#/components/schemas/RegexFactCondition"
829
- }
830
- },
831
- "required": [
832
- "not"
833
- ]
834
- }
835
- ]
836
- },
837
- "RegexFactCondition": {
838
- "description": "Fact-based condition for regex validation",
839
- "type": "object",
840
- "required": [
841
- "fact",
842
- "operator",
843
- "value"
844
- ],
845
- "properties": {
846
- "fact": {
847
- "type": "string",
848
- "enum": [
849
- "inputValue"
850
- ],
851
- "description": "The name of the value to validate. Should always be 'inputValue' because this property name is passed to the engine"
852
- },
853
- "operator": {
854
- "type": "string",
855
- "enum": [
856
- "regexMatch"
857
- ],
858
- "description": "The operator to use for comparison"
859
- },
860
- "value": {
861
- "type": "string",
862
- "description": "The actual regex"
863
- },
864
- "params": {
865
- "description": "Additional parameters for the condition",
866
- "type": "object",
867
- "properties": {
868
- "errorMessage": {
869
- "type": "string",
870
- "description": "Custom error message"
871
- }
872
- }
873
- }
874
- }
875
- },
876
- "PatternCondition": {
877
- "description": "Condition definition for a pattern-based validation rule (2 levels deep)",
878
- "anyOf": [
879
- {
880
- "type": "object",
881
- "description": "All conditions must be true (AND logic)",
882
- "properties": {
883
- "all": {
884
- "type": "array",
885
- "items": {
886
- "anyOf": [
887
- {
888
- "$ref": "#/components/schemas/PatternFactCondition"
889
- },
890
- {
891
- "$ref": "#/components/schemas/PatternNestedCondition"
892
- }
893
- ]
894
- }
895
- }
896
- },
897
- "required": [
898
- "all"
899
- ],
900
- "additionalProperties": false
901
- },
902
- {
903
- "type": "object",
904
- "description": "Any conditions must be true (OR logic)",
905
- "properties": {
906
- "any": {
907
- "type": "array",
908
- "items": {
909
- "anyOf": [
910
- {
911
- "$ref": "#/components/schemas/PatternFactCondition"
912
- },
913
- {
914
- "$ref": "#/components/schemas/PatternNestedCondition"
915
- }
916
- ]
917
- }
918
- }
919
- },
920
- "required": [
921
- "any"
922
- ],
923
- "additionalProperties": false
924
- },
925
- {
926
- "type": "object",
927
- "description": "NOT condition (negation)",
928
- "properties": {
929
- "not": {
930
- "anyOf": [
931
- {
932
- "$ref": "#/components/schemas/PatternFactCondition"
933
- },
934
- {
935
- "$ref": "#/components/schemas/PatternNestedCondition"
936
- }
937
- ]
938
- }
939
- },
940
- "required": [
941
- "not"
942
- ],
943
- "additionalProperties": false
944
- }
945
- ]
946
- },
947
- "PatternNestedCondition": {
948
- "description": "Nested condition with logical operators (level 2 only)",
949
- "anyOf": [
950
- {
951
- "type": "object",
952
- "properties": {
953
- "all": {
954
- "type": "array",
955
- "items": {
956
- "$ref": "#/components/schemas/PatternFactCondition"
957
- }
958
- }
959
- },
960
- "required": [
961
- "all"
962
- ]
963
- },
964
- {
965
- "type": "object",
966
- "properties": {
967
- "any": {
968
- "type": "array",
969
- "items": {
970
- "$ref": "#/components/schemas/PatternFactCondition"
971
- }
972
- }
973
- },
974
- "required": [
975
- "any"
976
- ]
977
- },
978
- {
979
- "type": "object",
980
- "properties": {
981
- "not": {
982
- "$ref": "#/components/schemas/PatternFactCondition"
983
- }
984
- },
985
- "required": [
986
- "not"
987
- ]
988
- }
989
- ]
990
- },
991
- "PatternFactCondition": {
992
- "description": "Fact-based condition for pattern validation",
993
- "type": "object",
994
- "oneOf": [
995
- {
996
- "description": "Numeric condition (total-length fact)",
997
- "required": [
998
- "fact",
999
- "operator",
1000
- "value"
1001
- ],
1002
- "properties": {
1003
- "fact": {
1004
- "type": "string",
1005
- "enum": [
1006
- "total-length"
1007
- ],
1008
- "description": "The name of the value to validate."
1009
- },
1010
- "operator": {
1011
- "type": "string",
1012
- "enum": [
1013
- "equal",
1014
- "notEqual",
1015
- "lessThan",
1016
- "lessThanInclusive",
1017
- "greaterThan",
1018
- "greaterThanInclusive"
1019
- ],
1020
- "description": "Numeric comparison operator"
1021
- },
1022
- "value": {
1023
- "type": "number",
1024
- "description": "Numeric value to compare against"
1025
- },
1026
- "params": {
1027
- "description": "Additional parameters for the condition",
1028
- "type": "object",
1029
- "properties": {
1030
- "errorMessage": {
1031
- "type": "string",
1032
- "description": "Custom error message"
1033
- },
1034
- "start": {
1035
- "type": "number",
1036
- "description": "From where to check"
1037
- },
1038
- "end": {
1039
- "type": "number",
1040
- "description": "To where to check"
1041
- }
1042
- }
1043
- }
1044
- }
1045
- },
1046
- {
1047
- "description": "Exact digits condition",
1048
- "required": [
1049
- "fact",
1050
- "operator",
1051
- "value"
1052
- ],
1053
- "properties": {
1054
- "fact": {
1055
- "type": "string",
1056
- "enum": [
1057
- "static-check",
1058
- "total-length"
1059
- ],
1060
- "description": "The name of the value to validate."
1061
- },
1062
- "operator": {
1063
- "type": "string",
1064
- "enum": [
1065
- "exactlyNDigits"
1066
- ],
1067
- "description": "Exact digit count operator"
1068
- },
1069
- "value": {
1070
- "type": "number",
1071
- "description": "Number of digits required"
1072
- },
1073
- "params": {
1074
- "description": "Additional parameters for the condition",
1075
- "type": "object",
1076
- "properties": {
1077
- "errorMessage": {
1078
- "type": "string",
1079
- "description": "Custom error message"
1080
- },
1081
- "start": {
1082
- "type": "number",
1083
- "description": "From where to check"
1084
- },
1085
- "end": {
1086
- "type": "number",
1087
- "description": "To where to check"
1088
- }
1089
- }
1090
- }
1091
- }
1092
- },
1093
- {
1094
- "description": "Array-based condition (in, notIn, contains, doesNotContain)",
1095
- "required": [
1096
- "fact",
1097
- "operator",
1098
- "value"
1099
- ],
1100
- "properties": {
1101
- "fact": {
1102
- "type": "string",
1103
- "enum": [
1104
- "static-check"
1105
- ],
1106
- "description": "The name of the value to validate."
1107
- },
1108
- "operator": {
1109
- "type": "string",
1110
- "enum": [
1111
- "in",
1112
- "notIn",
1113
- "contains",
1114
- "doesNotContain"
1115
- ],
1116
- "description": "Array-based comparison operator"
1117
- },
1118
- "value": {
1119
- "type": "array",
1120
- "items": {
1121
- "type": "string"
1122
- },
1123
- "description": "Array of string values for array-based operators"
1124
- },
1125
- "params": {
1126
- "description": "Additional parameters for the condition",
1127
- "type": "object",
1128
- "properties": {
1129
- "errorMessage": {
1130
- "type": "string",
1131
- "description": "Custom error message"
1132
- },
1133
- "start": {
1134
- "type": "number",
1135
- "description": "From where to check"
1136
- },
1137
- "end": {
1138
- "type": "number",
1139
- "description": "To where to check"
1140
- }
1141
- }
1142
- }
1143
- }
1144
- },
1145
- {
1146
- "description": "String-based condition",
1147
- "required": [
1148
- "fact",
1149
- "operator",
1150
- "value"
1151
- ],
1152
- "properties": {
1153
- "fact": {
1154
- "type": "string",
1155
- "enum": [
1156
- "static-check"
1157
- ],
1158
- "description": "The name of the value to validate."
1159
- },
1160
- "operator": {
1161
- "type": "string",
1162
- "enum": [
1163
- "equal",
1164
- "notEqual"
1165
- ],
1166
- "description": "String comparison operator"
1167
- },
1168
- "value": {
1169
- "type": "string",
1170
- "description": "String value to compare against"
1171
- },
1172
- "params": {
1173
- "description": "Additional parameters for the condition",
1174
- "type": "object",
1175
- "properties": {
1176
- "errorMessage": {
1177
- "type": "string",
1178
- "description": "Custom error message"
1179
- },
1180
- "start": {
1181
- "type": "number",
1182
- "description": "From where to check"
1183
- },
1184
- "end": {
1185
- "type": "number",
1186
- "description": "To where to check"
1187
- }
1188
- }
1189
- }
1190
- }
1191
- }
1192
- ]
1193
- },
1194
- "NumericCondition": {
1195
- "description": "Condition definition for a numeric-based validation rule (2 levels deep)",
1196
- "anyOf": [
1197
- {
1198
- "type": "object",
1199
- "description": "All conditions must be true (AND logic)",
1200
- "properties": {
1201
- "all": {
1202
- "type": "array",
1203
- "items": {
1204
- "anyOf": [
1205
- {
1206
- "$ref": "#/components/schemas/NumericFactCondition"
1207
- },
1208
- {
1209
- "$ref": "#/components/schemas/NumericNestedCondition"
1210
- }
1211
- ]
1212
- }
1213
- }
1214
- },
1215
- "required": [
1216
- "all"
1217
- ],
1218
- "additionalProperties": false
1219
- },
1220
- {
1221
- "type": "object",
1222
- "description": "Any conditions must be true (OR logic)",
1223
- "properties": {
1224
- "any": {
1225
- "type": "array",
1226
- "items": {
1227
- "anyOf": [
1228
- {
1229
- "$ref": "#/components/schemas/NumericFactCondition"
1230
- },
1231
- {
1232
- "$ref": "#/components/schemas/NumericNestedCondition"
1233
- }
1234
- ]
1235
- }
1236
- }
1237
- },
1238
- "required": [
1239
- "any"
1240
- ],
1241
- "additionalProperties": false
1242
- },
1243
- {
1244
- "type": "object",
1245
- "description": "NOT condition (negation)",
1246
- "properties": {
1247
- "not": {
1248
- "anyOf": [
1249
- {
1250
- "$ref": "#/components/schemas/NumericFactCondition"
1251
- },
1252
- {
1253
- "$ref": "#/components/schemas/NumericNestedCondition"
1254
- }
1255
- ]
1256
- }
1257
- },
1258
- "required": [
1259
- "not"
1260
- ],
1261
- "additionalProperties": false
1262
- }
1263
- ]
1264
- },
1265
- "NumericNestedCondition": {
1266
- "description": "Nested condition with logical operators (level 2 only)",
1267
- "anyOf": [
1268
- {
1269
- "type": "object",
1270
- "properties": {
1271
- "all": {
1272
- "type": "array",
1273
- "items": {
1274
- "$ref": "#/components/schemas/NumericFactCondition"
1275
- }
1276
- }
1277
- },
1278
- "required": [
1279
- "all"
1280
- ]
1281
- },
1282
- {
1283
- "type": "object",
1284
- "properties": {
1285
- "any": {
1286
- "type": "array",
1287
- "items": {
1288
- "$ref": "#/components/schemas/NumericFactCondition"
1289
- }
1290
- }
1291
- },
1292
- "required": [
1293
- "any"
1294
- ]
1295
- },
1296
- {
1297
- "type": "object",
1298
- "properties": {
1299
- "not": {
1300
- "$ref": "#/components/schemas/NumericFactCondition"
1301
- }
1302
- },
1303
- "required": [
1304
- "not"
1305
- ]
1306
- }
1307
- ]
1308
- },
1309
- "NumericFactCondition": {
1310
- "description": "Fact-based condition for numeric validation",
1311
- "type": "object",
1312
- "oneOf": [
1313
- {
1314
- "description": "Numeric value comparison",
1315
- "required": [
1316
- "fact",
1317
- "operator",
1318
- "value"
1319
- ],
1320
- "properties": {
1321
- "fact": {
1322
- "type": "string",
1323
- "enum": [
1324
- "numeric-value",
1325
- "total-length"
1326
- ],
1327
- "description": "The numeric value extracted from input; The amount of digits"
1328
- },
1329
- "operator": {
1330
- "type": "string",
1331
- "enum": [
1332
- "equal",
1333
- "notEqual",
1334
- "lessThan",
1335
- "lessThanInclusive",
1336
- "greaterThan",
1337
- "greaterThanInclusive"
1338
- ],
1339
- "description": "Numeric comparison operator"
1340
- },
1341
- "value": {
1342
- "type": "number",
1343
- "description": "Numeric value to compare against"
1344
- },
1345
- "params": {
1346
- "description": "Additional parameters for the condition",
1347
- "type": "object",
1348
- "properties": {
1349
- "errorMessage": {
1350
- "type": "string",
1351
- "description": "Custom error message"
1352
- }
1353
- }
1354
- }
1355
- }
1356
- },
1357
- {
1358
- "description": "Integer digits count validation",
1359
- "required": [
1360
- "fact",
1361
- "operator",
1362
- "value"
1363
- ],
1364
- "properties": {
1365
- "fact": {
1366
- "type": "string",
1367
- "enum": [
1368
- "integer-digits-count"
1369
- ],
1370
- "description": "Count of integer digits (excludes leading zeros unless allowed)"
1371
- },
1372
- "operator": {
1373
- "type": "string",
1374
- "enum": [
1375
- "equal",
1376
- "exactlyNDigits",
1377
- "minIntegerDigits",
1378
- "maxIntegerDigits"
1379
- ],
1380
- "description": "Digit count comparison operator"
1381
- },
1382
- "value": {
1383
- "type": "number",
1384
- "description": "Expected number of integer digits"
1385
- },
1386
- "params": {
1387
- "description": "Additional parameters for the condition",
1388
- "type": "object",
1389
- "properties": {
1390
- "errorMessage": {
1391
- "type": "string",
1392
- "description": "Custom error message"
1393
- },
1394
- "allowLeadingZeroes": {
1395
- "type": "boolean",
1396
- "description": "Whether to count leading zeroes in digit count",
1397
- "default": false
1398
- }
1399
- }
1400
- }
1401
- }
1402
- },
1403
- {
1404
- "description": "Decimal digits count validation",
1405
- "required": [
1406
- "fact",
1407
- "operator",
1408
- "value"
1409
- ],
1410
- "properties": {
1411
- "fact": {
1412
- "type": "string",
1413
- "enum": [
1414
- "decimal-digits-count"
1415
- ],
1416
- "description": "Count of decimal digits"
1417
- },
1418
- "operator": {
1419
- "type": "string",
1420
- "enum": [
1421
- "equal",
1422
- "minDecimalDigits",
1423
- "maxDecimalDigits"
1424
- ],
1425
- "description": "Decimal digit count comparison operator"
1426
- },
1427
- "value": {
1428
- "type": "number",
1429
- "description": "Expected number of decimal digits"
1430
- },
1431
- "params": {
1432
- "description": "Additional parameters for the condition",
1433
- "type": "object",
1434
- "properties": {
1435
- "errorMessage": {
1436
- "type": "string",
1437
- "description": "Custom error message"
1438
- }
1439
- }
1440
- }
1441
- }
1442
- },
1443
- {
1444
- "description": "Leading zeros validation",
1445
- "required": [
1446
- "fact",
1447
- "operator",
1448
- "value"
1449
- ],
1450
- "properties": {
1451
- "fact": {
1452
- "type": "string",
1453
- "enum": [
1454
- "has-leading-zeroes"
1455
- ],
1456
- "description": "Whether the input has leading zeros"
1457
- },
1458
- "operator": {
1459
- "type": "string",
1460
- "enum": [
1461
- "equal",
1462
- "notAllowed"
1463
- ],
1464
- "description": "Leading zeros check operator"
1465
- },
1466
- "value": {
1467
- "type": "boolean",
1468
- "description": "Whether leading zeros should be present or not"
1469
- },
1470
- "params": {
1471
- "description": "Additional parameters for the condition",
1472
- "type": "object",
1473
- "properties": {
1474
- "errorMessage": {
1475
- "type": "string",
1476
- "description": "Custom error message"
1477
- }
1478
- }
1479
- }
1480
- }
1481
- }
1482
- ]
1483
- }
1484
- }
1485
- },
1486
- "servers": [
1487
- {
1488
- "url": "https://validation-rules.sls.epilot.io"
1489
- }
1490
- ]
1491
- }