@epilot/sdk 2.1.10 → 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 (95) hide show
  1. package/dist/bin/cli.js +35 -11
  2. package/dist/{js-yaml-DLCVPJ7G.js → js-yaml-UPZKYVRY.js} +15 -17
  3. package/package.json +1 -1
  4. package/definitions/access-token-runtime.json +0 -1
  5. package/definitions/access-token.json +0 -663
  6. package/definitions/address-runtime.json +0 -1
  7. package/definitions/address-suggestions-runtime.json +0 -1
  8. package/definitions/address-suggestions.json +0 -582
  9. package/definitions/address.json +0 -578
  10. package/definitions/ai-agents-runtime.json +0 -1
  11. package/definitions/ai-agents.json +0 -1711
  12. package/definitions/app-runtime.json +0 -1
  13. package/definitions/app.json +0 -4493
  14. package/definitions/audit-logs-runtime.json +0 -1
  15. package/definitions/audit-logs.json +0 -305
  16. package/definitions/automation-runtime.json +0 -1
  17. package/definitions/automation.json +0 -4815
  18. package/definitions/billing-runtime.json +0 -1
  19. package/definitions/billing.json +0 -837
  20. package/definitions/blueprint-manifest-runtime.json +0 -1
  21. package/definitions/blueprint-manifest.json +0 -3490
  22. package/definitions/consent-runtime.json +0 -1
  23. package/definitions/consent.json +0 -344
  24. package/definitions/customer-portal-runtime.json +0 -1
  25. package/definitions/customer-portal.json +0 -15676
  26. package/definitions/dashboard-runtime.json +0 -1
  27. package/definitions/dashboard.json +0 -484
  28. package/definitions/data-management-runtime.json +0 -1
  29. package/definitions/data-management.json +0 -972
  30. package/definitions/deduplication-runtime.json +0 -1
  31. package/definitions/deduplication.json +0 -183
  32. package/definitions/design-runtime.json +0 -1
  33. package/definitions/design.json +0 -1423
  34. package/definitions/document-runtime.json +0 -1
  35. package/definitions/document.json +0 -758
  36. package/definitions/email-settings-runtime.json +0 -1
  37. package/definitions/email-settings.json +0 -2748
  38. package/definitions/email-template-runtime.json +0 -1
  39. package/definitions/email-template.json +0 -1441
  40. package/definitions/entity-mapping-runtime.json +0 -1
  41. package/definitions/entity-mapping.json +0 -1642
  42. package/definitions/entity-runtime.json +0 -1
  43. package/definitions/entity.json +0 -10276
  44. package/definitions/environments-runtime.json +0 -1
  45. package/definitions/environments.json +0 -363
  46. package/definitions/erp-integration-runtime.json +0 -1
  47. package/definitions/erp-integration.json +0 -6304
  48. package/definitions/event-catalog-runtime.json +0 -1
  49. package/definitions/event-catalog.json +0 -1051
  50. package/definitions/file-runtime.json +0 -1
  51. package/definitions/file.json +0 -2842
  52. package/definitions/iban-runtime.json +0 -1
  53. package/definitions/iban.json +0 -132
  54. package/definitions/journey-runtime.json +0 -1
  55. package/definitions/journey.json +0 -2603
  56. package/definitions/kanban-runtime.json +0 -1
  57. package/definitions/kanban.json +0 -1505
  58. package/definitions/message-runtime.json +0 -1
  59. package/definitions/message.json +0 -2660
  60. package/definitions/metering-runtime.json +0 -1
  61. package/definitions/metering.json +0 -2321
  62. package/definitions/notes-runtime.json +0 -1
  63. package/definitions/notes.json +0 -1531
  64. package/definitions/notification-runtime.json +0 -1
  65. package/definitions/notification.json +0 -1425
  66. package/definitions/organization-runtime.json +0 -1
  67. package/definitions/organization.json +0 -1192
  68. package/definitions/partner-directory-runtime.json +0 -1
  69. package/definitions/partner-directory.json +0 -2284
  70. package/definitions/permissions-runtime.json +0 -1
  71. package/definitions/permissions.json +0 -1515
  72. package/definitions/pricing-runtime.json +0 -1
  73. package/definitions/pricing-tier-runtime.json +0 -1
  74. package/definitions/pricing-tier.json +0 -105
  75. package/definitions/pricing.json +0 -9884
  76. package/definitions/purpose-runtime.json +0 -1
  77. package/definitions/purpose.json +0 -524
  78. package/definitions/sandbox-runtime.json +0 -1
  79. package/definitions/sandbox.json +0 -453
  80. package/definitions/submission-runtime.json +0 -1
  81. package/definitions/submission.json +0 -313
  82. package/definitions/targeting-runtime.json +0 -1
  83. package/definitions/targeting.json +0 -1474
  84. package/definitions/template-variables-runtime.json +0 -1
  85. package/definitions/template-variables.json +0 -1408
  86. package/definitions/user-runtime.json +0 -1
  87. package/definitions/user.json +0 -2408
  88. package/definitions/validation-rules-runtime.json +0 -1
  89. package/definitions/validation-rules.json +0 -1491
  90. package/definitions/webhooks-runtime.json +0 -1
  91. package/definitions/webhooks.json +0 -1634
  92. package/definitions/workflow-definition-runtime.json +0 -1
  93. package/definitions/workflow-definition.json +0 -3417
  94. package/definitions/workflow-runtime.json +0 -1
  95. package/definitions/workflow.json +0 -4146
@@ -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
- }