@epilot/sdk 2.1.9 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/dist/apis/access-token.cjs +6 -6
  2. package/dist/apis/access-token.js +1 -1
  3. package/dist/apis/address-suggestions.cjs +6 -6
  4. package/dist/apis/address-suggestions.js +1 -1
  5. package/dist/apis/address.cjs +6 -6
  6. package/dist/apis/address.js +1 -1
  7. package/dist/apis/ai-agents.cjs +6 -6
  8. package/dist/apis/ai-agents.js +1 -1
  9. package/dist/apis/app.cjs +6 -6
  10. package/dist/apis/app.js +1 -1
  11. package/dist/apis/audit-logs.cjs +6 -6
  12. package/dist/apis/audit-logs.js +1 -1
  13. package/dist/apis/automation.cjs +6 -6
  14. package/dist/apis/automation.js +1 -1
  15. package/dist/apis/billing.cjs +6 -6
  16. package/dist/apis/billing.js +1 -1
  17. package/dist/apis/blueprint-manifest.cjs +6 -6
  18. package/dist/apis/blueprint-manifest.js +1 -1
  19. package/dist/apis/consent.cjs +6 -6
  20. package/dist/apis/consent.js +1 -1
  21. package/dist/apis/customer-portal.cjs +6 -6
  22. package/dist/apis/customer-portal.js +1 -1
  23. package/dist/apis/dashboard.cjs +6 -6
  24. package/dist/apis/dashboard.js +1 -1
  25. package/dist/apis/data-management.cjs +6 -6
  26. package/dist/apis/data-management.js +1 -1
  27. package/dist/apis/deduplication.cjs +6 -6
  28. package/dist/apis/deduplication.js +1 -1
  29. package/dist/apis/design.cjs +6 -6
  30. package/dist/apis/design.js +1 -1
  31. package/dist/apis/document.cjs +6 -6
  32. package/dist/apis/document.js +1 -1
  33. package/dist/apis/email-settings.cjs +6 -6
  34. package/dist/apis/email-settings.js +1 -1
  35. package/dist/apis/email-template.cjs +6 -6
  36. package/dist/apis/email-template.js +1 -1
  37. package/dist/apis/entity-mapping.cjs +6 -6
  38. package/dist/apis/entity-mapping.js +1 -1
  39. package/dist/apis/entity.cjs +6 -6
  40. package/dist/apis/entity.js +1 -1
  41. package/dist/apis/environments.cjs +6 -6
  42. package/dist/apis/environments.js +1 -1
  43. package/dist/apis/erp-integration.cjs +6 -6
  44. package/dist/apis/erp-integration.js +1 -1
  45. package/dist/apis/event-catalog.cjs +6 -6
  46. package/dist/apis/event-catalog.js +1 -1
  47. package/dist/apis/file.cjs +6 -6
  48. package/dist/apis/file.js +1 -1
  49. package/dist/apis/iban.cjs +6 -6
  50. package/dist/apis/iban.js +1 -1
  51. package/dist/apis/journey.cjs +6 -6
  52. package/dist/apis/journey.d.cts +2 -2
  53. package/dist/apis/journey.d.ts +2 -2
  54. package/dist/apis/journey.js +1 -1
  55. package/dist/apis/kanban.cjs +6 -6
  56. package/dist/apis/kanban.js +1 -1
  57. package/dist/apis/message.cjs +6 -6
  58. package/dist/apis/message.js +1 -1
  59. package/dist/apis/metering.cjs +6 -6
  60. package/dist/apis/metering.js +1 -1
  61. package/dist/apis/notes.cjs +6 -6
  62. package/dist/apis/notes.js +1 -1
  63. package/dist/apis/notification.cjs +6 -6
  64. package/dist/apis/notification.js +1 -1
  65. package/dist/apis/organization.cjs +6 -6
  66. package/dist/apis/organization.js +1 -1
  67. package/dist/apis/partner-directory.cjs +6 -6
  68. package/dist/apis/partner-directory.js +1 -1
  69. package/dist/apis/permissions.cjs +6 -6
  70. package/dist/apis/permissions.js +1 -1
  71. package/dist/apis/pricing-tier.cjs +6 -6
  72. package/dist/apis/pricing-tier.js +1 -1
  73. package/dist/apis/pricing.cjs +6 -6
  74. package/dist/apis/pricing.js +1 -1
  75. package/dist/apis/purpose.cjs +6 -6
  76. package/dist/apis/purpose.js +1 -1
  77. package/dist/apis/sandbox.cjs +6 -6
  78. package/dist/apis/sandbox.js +1 -1
  79. package/dist/apis/submission.cjs +6 -6
  80. package/dist/apis/submission.js +1 -1
  81. package/dist/apis/targeting.cjs +6 -6
  82. package/dist/apis/targeting.js +1 -1
  83. package/dist/apis/template-variables.cjs +6 -6
  84. package/dist/apis/template-variables.js +1 -1
  85. package/dist/apis/user.cjs +6 -6
  86. package/dist/apis/user.js +1 -1
  87. package/dist/apis/validation-rules.cjs +6 -6
  88. package/dist/apis/validation-rules.js +1 -1
  89. package/dist/apis/webhooks.cjs +6 -6
  90. package/dist/apis/webhooks.js +1 -1
  91. package/dist/apis/workflow-definition.cjs +6 -6
  92. package/dist/apis/workflow-definition.js +1 -1
  93. package/dist/apis/workflow.cjs +6 -6
  94. package/dist/apis/workflow.js +1 -1
  95. package/dist/bin/cli.js +35 -11
  96. package/dist/{chunk-FXN6IHCZ.cjs → chunk-6TKKEGYU.cjs} +1 -1
  97. package/dist/{chunk-6D5AZZ2F.js → chunk-G33CBNJD.js} +1 -1
  98. package/dist/index.cjs +8 -8
  99. package/dist/index.d.cts +1 -1
  100. package/dist/index.d.ts +1 -1
  101. package/dist/index.js +1 -1
  102. package/dist/journey-KDR5EU3W.js +7 -0
  103. package/dist/journey-REBN4TGQ.cjs +7 -0
  104. package/dist/{journey.d-C4N4t1Rh.d.ts → journey.d-ClXO0xK8.d.cts} +20 -0
  105. package/dist/{journey.d-C4N4t1Rh.d.cts → journey.d-ClXO0xK8.d.ts} +20 -0
  106. package/dist/{js-yaml-DLCVPJ7G.js → js-yaml-UPZKYVRY.js} +15 -17
  107. package/docs/journey.md +21 -2
  108. package/package.json +1 -1
  109. package/definitions/access-token-runtime.json +0 -1
  110. package/definitions/access-token.json +0 -663
  111. package/definitions/address-runtime.json +0 -1
  112. package/definitions/address-suggestions-runtime.json +0 -1
  113. package/definitions/address-suggestions.json +0 -582
  114. package/definitions/address.json +0 -578
  115. package/definitions/ai-agents-runtime.json +0 -1
  116. package/definitions/ai-agents.json +0 -1711
  117. package/definitions/app-runtime.json +0 -1
  118. package/definitions/app.json +0 -4493
  119. package/definitions/audit-logs-runtime.json +0 -1
  120. package/definitions/audit-logs.json +0 -305
  121. package/definitions/automation-runtime.json +0 -1
  122. package/definitions/automation.json +0 -4815
  123. package/definitions/billing-runtime.json +0 -1
  124. package/definitions/billing.json +0 -837
  125. package/definitions/blueprint-manifest-runtime.json +0 -1
  126. package/definitions/blueprint-manifest.json +0 -3490
  127. package/definitions/consent-runtime.json +0 -1
  128. package/definitions/consent.json +0 -344
  129. package/definitions/customer-portal-runtime.json +0 -1
  130. package/definitions/customer-portal.json +0 -15676
  131. package/definitions/dashboard-runtime.json +0 -1
  132. package/definitions/dashboard.json +0 -484
  133. package/definitions/data-management-runtime.json +0 -1
  134. package/definitions/data-management.json +0 -972
  135. package/definitions/deduplication-runtime.json +0 -1
  136. package/definitions/deduplication.json +0 -183
  137. package/definitions/design-runtime.json +0 -1
  138. package/definitions/design.json +0 -1423
  139. package/definitions/document-runtime.json +0 -1
  140. package/definitions/document.json +0 -758
  141. package/definitions/email-settings-runtime.json +0 -1
  142. package/definitions/email-settings.json +0 -2748
  143. package/definitions/email-template-runtime.json +0 -1
  144. package/definitions/email-template.json +0 -1441
  145. package/definitions/entity-mapping-runtime.json +0 -1
  146. package/definitions/entity-mapping.json +0 -1642
  147. package/definitions/entity-runtime.json +0 -1
  148. package/definitions/entity.json +0 -10276
  149. package/definitions/environments-runtime.json +0 -1
  150. package/definitions/environments.json +0 -363
  151. package/definitions/erp-integration-runtime.json +0 -1
  152. package/definitions/erp-integration.json +0 -6304
  153. package/definitions/event-catalog-runtime.json +0 -1
  154. package/definitions/event-catalog.json +0 -1051
  155. package/definitions/file-runtime.json +0 -1
  156. package/definitions/file.json +0 -2842
  157. package/definitions/iban-runtime.json +0 -1
  158. package/definitions/iban.json +0 -132
  159. package/definitions/journey-runtime.json +0 -1
  160. package/definitions/journey.json +0 -2586
  161. package/definitions/kanban-runtime.json +0 -1
  162. package/definitions/kanban.json +0 -1505
  163. package/definitions/message-runtime.json +0 -1
  164. package/definitions/message.json +0 -2660
  165. package/definitions/metering-runtime.json +0 -1
  166. package/definitions/metering.json +0 -2321
  167. package/definitions/notes-runtime.json +0 -1
  168. package/definitions/notes.json +0 -1531
  169. package/definitions/notification-runtime.json +0 -1
  170. package/definitions/notification.json +0 -1425
  171. package/definitions/organization-runtime.json +0 -1
  172. package/definitions/organization.json +0 -1192
  173. package/definitions/partner-directory-runtime.json +0 -1
  174. package/definitions/partner-directory.json +0 -2284
  175. package/definitions/permissions-runtime.json +0 -1
  176. package/definitions/permissions.json +0 -1515
  177. package/definitions/pricing-runtime.json +0 -1
  178. package/definitions/pricing-tier-runtime.json +0 -1
  179. package/definitions/pricing-tier.json +0 -105
  180. package/definitions/pricing.json +0 -9884
  181. package/definitions/purpose-runtime.json +0 -1
  182. package/definitions/purpose.json +0 -524
  183. package/definitions/sandbox-runtime.json +0 -1
  184. package/definitions/sandbox.json +0 -453
  185. package/definitions/submission-runtime.json +0 -1
  186. package/definitions/submission.json +0 -313
  187. package/definitions/targeting-runtime.json +0 -1
  188. package/definitions/targeting.json +0 -1474
  189. package/definitions/template-variables-runtime.json +0 -1
  190. package/definitions/template-variables.json +0 -1408
  191. package/definitions/user-runtime.json +0 -1
  192. package/definitions/user.json +0 -2408
  193. package/definitions/validation-rules-runtime.json +0 -1
  194. package/definitions/validation-rules.json +0 -1491
  195. package/definitions/webhooks-runtime.json +0 -1
  196. package/definitions/webhooks.json +0 -1634
  197. package/definitions/workflow-definition-runtime.json +0 -1
  198. package/definitions/workflow-definition.json +0 -3417
  199. package/definitions/workflow-runtime.json +0 -1
  200. package/definitions/workflow.json +0 -4146
  201. package/dist/journey-7CKX67M7.js +0 -7
  202. package/dist/journey-EUZ6MVHG.cjs +0 -7
@@ -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
- }