@epilot/cli 0.1.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 (108) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +354 -0
  3. package/definitions/access-token.json +663 -0
  4. package/definitions/address-suggestions.json +582 -0
  5. package/definitions/address.json +578 -0
  6. package/definitions/ai-agents.json +1711 -0
  7. package/definitions/app.json +4443 -0
  8. package/definitions/audit-logs.json +305 -0
  9. package/definitions/automation.json +4815 -0
  10. package/definitions/billing.json +837 -0
  11. package/definitions/blueprint-manifest.json +3376 -0
  12. package/definitions/consent.json +344 -0
  13. package/definitions/customer-portal.json +15000 -0
  14. package/definitions/dashboard.json +484 -0
  15. package/definitions/data-management.json +962 -0
  16. package/definitions/deduplication.json +183 -0
  17. package/definitions/design.json +1423 -0
  18. package/definitions/document.json +758 -0
  19. package/definitions/email-settings.json +2627 -0
  20. package/definitions/email-template.json +1419 -0
  21. package/definitions/entity-mapping.json +1642 -0
  22. package/definitions/entity.json +10074 -0
  23. package/definitions/environments.json +363 -0
  24. package/definitions/erp-integration.json +5845 -0
  25. package/definitions/event-catalog.json +1051 -0
  26. package/definitions/file.json +2842 -0
  27. package/definitions/iban.json +132 -0
  28. package/definitions/journey.json +2341 -0
  29. package/definitions/kanban.json +929 -0
  30. package/definitions/message.json +2660 -0
  31. package/definitions/metering.json +2321 -0
  32. package/definitions/notes.json +1531 -0
  33. package/definitions/notification.json +1425 -0
  34. package/definitions/organization.json +629 -0
  35. package/definitions/partner-directory.json +1718 -0
  36. package/definitions/permissions.json +1480 -0
  37. package/definitions/pricing-tier.json +105 -0
  38. package/definitions/pricing.json +9884 -0
  39. package/definitions/purpose.json +524 -0
  40. package/definitions/sandbox.json +453 -0
  41. package/definitions/submission.json +313 -0
  42. package/definitions/targeting.json +1474 -0
  43. package/definitions/template-variables.json +1408 -0
  44. package/definitions/user.json +2408 -0
  45. package/definitions/validation-rules.json +1491 -0
  46. package/definitions/webhooks.json +1525 -0
  47. package/definitions/workflow-definition.json +3417 -0
  48. package/definitions/workflow.json +4106 -0
  49. package/dist/access-token-OG5AR7UB.js +51 -0
  50. package/dist/address-QUSMK5GV.js +51 -0
  51. package/dist/address-suggestions-E5SQNUS5.js +51 -0
  52. package/dist/ai-agents-PM42SJY3.js +51 -0
  53. package/dist/app-YTM3XAJL.js +51 -0
  54. package/dist/audit-logs-NXP7GFKX.js +51 -0
  55. package/dist/auth-CCBTXH5U.js +113 -0
  56. package/dist/auth-login-2ZIXM47J.js +137 -0
  57. package/dist/auth-token-OS4BEEVZ.js +43 -0
  58. package/dist/automation-TDJASTEV.js +51 -0
  59. package/dist/billing-M4MRBLEK.js +51 -0
  60. package/dist/bin/epilot.js +104 -0
  61. package/dist/blueprint-manifest-NQL7NRMV.js +51 -0
  62. package/dist/chunk-57PPARIW.js +715 -0
  63. package/dist/chunk-5WUPDZ5D.js +76 -0
  64. package/dist/chunk-IST42ZNL.js +78 -0
  65. package/dist/chunk-RC3GCXCI.js +76 -0
  66. package/dist/chunk-TKZLQD2B.js +72 -0
  67. package/dist/chunk-UJ6TU34M.js +56 -0
  68. package/dist/completion-GRQM2FJQ.js +168 -0
  69. package/dist/consent-KQ7MJAS6.js +51 -0
  70. package/dist/customer-portal-VUVSKWAQ.js +51 -0
  71. package/dist/dashboard-GVR4XNGR.js +51 -0
  72. package/dist/data-management-2RD3DLOS.js +51 -0
  73. package/dist/deduplication-PY77EINR.js +51 -0
  74. package/dist/design-M4FP2K5R.js +51 -0
  75. package/dist/document-P4QA7LEZ.js +51 -0
  76. package/dist/email-settings-7HGGRCCM.js +51 -0
  77. package/dist/email-template-3HXQI4CH.js +51 -0
  78. package/dist/entity-XUESZBPJ.js +51 -0
  79. package/dist/entity-mapping-JBKWWBH2.js +51 -0
  80. package/dist/environments-KKOS7ONY.js +51 -0
  81. package/dist/erp-integration-YTOWHCAW.js +51 -0
  82. package/dist/event-catalog-UKLZUGC4.js +51 -0
  83. package/dist/file-IFZNZ547.js +51 -0
  84. package/dist/iban-X2IW2NWU.js +51 -0
  85. package/dist/interactive-46ICLQKL.js +16 -0
  86. package/dist/journey-JU6X2KMX.js +51 -0
  87. package/dist/kanban-VHUU44PM.js +51 -0
  88. package/dist/message-AOUWJ4YX.js +51 -0
  89. package/dist/metering-RDS3XBD5.js +51 -0
  90. package/dist/notes-WE2UC75B.js +51 -0
  91. package/dist/notification-FKFNBHYZ.js +51 -0
  92. package/dist/organization-LMNFF6BX.js +51 -0
  93. package/dist/partner-directory-IIZVQDXJ.js +51 -0
  94. package/dist/permissions-AYCMVM7Y.js +51 -0
  95. package/dist/pricing-PS26FWBS.js +51 -0
  96. package/dist/pricing-tier-FBXWQ6T3.js +51 -0
  97. package/dist/profile-5Q5YARG7.js +135 -0
  98. package/dist/purpose-HE4E4SVU.js +51 -0
  99. package/dist/sandbox-Z7BU4UAD.js +51 -0
  100. package/dist/submission-MWVDF2ZB.js +51 -0
  101. package/dist/targeting-7NM5GDJ6.js +51 -0
  102. package/dist/template-variables-AJAR7PAV.js +51 -0
  103. package/dist/user-A26XQXG3.js +51 -0
  104. package/dist/validation-rules-VZTISEG2.js +51 -0
  105. package/dist/webhooks-RXH67WZ3.js +51 -0
  106. package/dist/workflow-G4FUUGZQ.js +51 -0
  107. package/dist/workflow-definition-LJYLMMGD.js +51 -0
  108. package/package.json +62 -0
@@ -0,0 +1,929 @@
1
+ {
2
+ "openapi": "3.0.3",
3
+ "info": {
4
+ "title": "Kanban API",
5
+ "version": "1.2.3"
6
+ },
7
+ "tags": [
8
+ {
9
+ "name": "Kanban",
10
+ "description": "Kanban endpoints"
11
+ }
12
+ ],
13
+ "security": [
14
+ {
15
+ "EpilotAuth": []
16
+ },
17
+ {
18
+ "EpilotOrg": []
19
+ }
20
+ ],
21
+ "paths": {
22
+ "/v1/kanban/board": {
23
+ "post": {
24
+ "operationId": "createKanbanBoard",
25
+ "summary": "Create a Kanban board",
26
+ "description": "Create a Kanban board",
27
+ "tags": [
28
+ "Kanban"
29
+ ],
30
+ "requestBody": {
31
+ "content": {
32
+ "application/json": {
33
+ "schema": {
34
+ "$ref": "#/components/schemas/Board"
35
+ }
36
+ }
37
+ }
38
+ },
39
+ "responses": {
40
+ "200": {
41
+ "description": "Successfully created board",
42
+ "content": {
43
+ "application/json": {
44
+ "schema": {
45
+ "$ref": "#/components/schemas/Board"
46
+ }
47
+ }
48
+ }
49
+ },
50
+ "400": {
51
+ "description": "Bad request - Invalid input data"
52
+ },
53
+ "401": {
54
+ "description": "Unauthorized - Authentication required"
55
+ },
56
+ "403": {
57
+ "description": "Forbidden - Insufficient permissions"
58
+ },
59
+ "500": {
60
+ "description": "Internal server error"
61
+ }
62
+ }
63
+ }
64
+ },
65
+ "/v1/kanban/boards": {
66
+ "get": {
67
+ "operationId": "getKanbanBoards",
68
+ "summary": "Get all Kanban boards",
69
+ "description": "Get all Kanban boards",
70
+ "tags": [
71
+ "Kanban"
72
+ ],
73
+ "parameters": [
74
+ {
75
+ "name": "filter",
76
+ "in": "query",
77
+ "description": "Filter boards by ownership type. If not provided, returns all accessible boards.",
78
+ "schema": {
79
+ "type": "string",
80
+ "enum": [
81
+ "owned",
82
+ "shared"
83
+ ]
84
+ },
85
+ "required": false
86
+ }
87
+ ],
88
+ "responses": {
89
+ "200": {
90
+ "description": "Successfully retrieved boards",
91
+ "content": {
92
+ "application/json": {
93
+ "schema": {
94
+ "type": "array",
95
+ "items": {
96
+ "$ref": "#/components/schemas/BoardSummary"
97
+ }
98
+ }
99
+ }
100
+ }
101
+ },
102
+ "401": {
103
+ "description": "Unauthorized - Authentication required"
104
+ },
105
+ "403": {
106
+ "description": "Forbidden - Insufficient permissions"
107
+ },
108
+ "500": {
109
+ "description": "Internal server error"
110
+ }
111
+ }
112
+ }
113
+ },
114
+ "/v1/kanban/board/{boardId}": {
115
+ "get": {
116
+ "operationId": "getKanbanBoard",
117
+ "summary": "Get a Kanban board",
118
+ "description": "Get a Kanban board by ID. Use \"default\" as the boardId to get the organization's default board.\n",
119
+ "tags": [
120
+ "Kanban"
121
+ ],
122
+ "parameters": [
123
+ {
124
+ "name": "boardId",
125
+ "in": "path",
126
+ "required": true,
127
+ "schema": {
128
+ "type": "string"
129
+ },
130
+ "description": "The board ID, or \"default\" to get the organization's default board.\n",
131
+ "example": "board-123"
132
+ }
133
+ ],
134
+ "responses": {
135
+ "200": {
136
+ "description": "Successfully retrieved board",
137
+ "content": {
138
+ "application/json": {
139
+ "schema": {
140
+ "$ref": "#/components/schemas/Board"
141
+ }
142
+ }
143
+ }
144
+ },
145
+ "401": {
146
+ "description": "Unauthorized - Authentication required"
147
+ },
148
+ "403": {
149
+ "description": "Forbidden - Insufficient permissions"
150
+ },
151
+ "404": {
152
+ "description": "Board not found"
153
+ },
154
+ "500": {
155
+ "description": "Internal server error"
156
+ }
157
+ }
158
+ },
159
+ "put": {
160
+ "operationId": "updateKanbanBoard",
161
+ "summary": "Update a Kanban board",
162
+ "description": "Update a Kanban board",
163
+ "tags": [
164
+ "Kanban"
165
+ ],
166
+ "parameters": [
167
+ {
168
+ "name": "boardId",
169
+ "in": "path",
170
+ "required": true,
171
+ "schema": {
172
+ "type": "string"
173
+ }
174
+ }
175
+ ],
176
+ "requestBody": {
177
+ "content": {
178
+ "application/json": {
179
+ "schema": {
180
+ "$ref": "#/components/schemas/Board"
181
+ }
182
+ }
183
+ }
184
+ },
185
+ "responses": {
186
+ "200": {
187
+ "description": "Successfully updated board",
188
+ "content": {
189
+ "application/json": {
190
+ "schema": {
191
+ "$ref": "#/components/schemas/Board"
192
+ }
193
+ }
194
+ }
195
+ },
196
+ "400": {
197
+ "description": "Bad request - Invalid input data"
198
+ },
199
+ "401": {
200
+ "description": "Unauthorized - Authentication required"
201
+ },
202
+ "403": {
203
+ "description": "Forbidden - Insufficient permissions"
204
+ },
205
+ "404": {
206
+ "description": "Board not found"
207
+ },
208
+ "500": {
209
+ "description": "Internal server error"
210
+ }
211
+ }
212
+ },
213
+ "patch": {
214
+ "operationId": "patchKanbanBoard",
215
+ "summary": "Patch a Kanban board",
216
+ "description": "Patch a Kanban board",
217
+ "tags": [
218
+ "Kanban"
219
+ ],
220
+ "parameters": [
221
+ {
222
+ "name": "boardId",
223
+ "in": "path",
224
+ "required": true,
225
+ "schema": {
226
+ "type": "string"
227
+ }
228
+ }
229
+ ],
230
+ "requestBody": {
231
+ "content": {
232
+ "application/json": {
233
+ "schema": {
234
+ "type": "object",
235
+ "properties": {
236
+ "title": {
237
+ "type": "string",
238
+ "example": "Board 1"
239
+ },
240
+ "description": {
241
+ "type": "string",
242
+ "example": "Board description"
243
+ },
244
+ "shared_with": {
245
+ "type": "array",
246
+ "items": {
247
+ "type": "string"
248
+ }
249
+ },
250
+ "shared_with_org": {
251
+ "type": "boolean"
252
+ },
253
+ "owners": {
254
+ "type": "array",
255
+ "items": {
256
+ "type": "string"
257
+ },
258
+ "description": "Array of user IDs who have full ownership rights for this board (view, edit, delete)"
259
+ }
260
+ }
261
+ }
262
+ }
263
+ }
264
+ },
265
+ "responses": {
266
+ "200": {
267
+ "description": "Successfully patched board",
268
+ "content": {
269
+ "application/json": {
270
+ "schema": {
271
+ "$ref": "#/components/schemas/Board"
272
+ }
273
+ }
274
+ }
275
+ },
276
+ "400": {
277
+ "description": "Bad request - Invalid input data"
278
+ },
279
+ "401": {
280
+ "description": "Unauthorized - Authentication required"
281
+ },
282
+ "403": {
283
+ "description": "Forbidden - Insufficient permissions"
284
+ },
285
+ "404": {
286
+ "description": "Board not found"
287
+ },
288
+ "500": {
289
+ "description": "Internal server error"
290
+ }
291
+ }
292
+ },
293
+ "delete": {
294
+ "operationId": "deleteKanbanBoard",
295
+ "summary": "Delete a Kanban board",
296
+ "description": "Delete a Kanban board",
297
+ "tags": [
298
+ "Kanban"
299
+ ],
300
+ "parameters": [
301
+ {
302
+ "name": "boardId",
303
+ "in": "path",
304
+ "required": true,
305
+ "schema": {
306
+ "type": "string"
307
+ }
308
+ }
309
+ ],
310
+ "responses": {
311
+ "200": {
312
+ "description": "Successfully deleted board"
313
+ },
314
+ "401": {
315
+ "description": "Unauthorized - Authentication required"
316
+ },
317
+ "403": {
318
+ "description": "Forbidden - Insufficient permissions"
319
+ },
320
+ "404": {
321
+ "description": "Board not found"
322
+ },
323
+ "500": {
324
+ "description": "Internal server error"
325
+ }
326
+ }
327
+ }
328
+ },
329
+ "/v1/kanban/org/default-board": {
330
+ "put": {
331
+ "operationId": "setDefaultKanbanBoard",
332
+ "summary": "Set default board for organization",
333
+ "description": "Set a board as the default board for the organization",
334
+ "tags": [
335
+ "Kanban"
336
+ ],
337
+ "parameters": [
338
+ {
339
+ "name": "boardId",
340
+ "in": "query",
341
+ "required": true,
342
+ "schema": {
343
+ "type": "string"
344
+ },
345
+ "description": "The ID of the board to set as default"
346
+ }
347
+ ],
348
+ "responses": {
349
+ "200": {
350
+ "description": "Successfully set default board",
351
+ "content": {
352
+ "application/json": {
353
+ "schema": {
354
+ "type": "object",
355
+ "properties": {
356
+ "message": {
357
+ "type": "string"
358
+ },
359
+ "default_board_id": {
360
+ "type": "string"
361
+ }
362
+ }
363
+ }
364
+ }
365
+ }
366
+ },
367
+ "400": {
368
+ "description": "Bad request - Invalid input data or boardId missing"
369
+ },
370
+ "401": {
371
+ "description": "Unauthorized - Authentication required"
372
+ },
373
+ "403": {
374
+ "description": "Forbidden - Insufficient permissions"
375
+ },
376
+ "404": {
377
+ "description": "Board not found"
378
+ },
379
+ "500": {
380
+ "description": "Internal server error"
381
+ }
382
+ }
383
+ },
384
+ "delete": {
385
+ "operationId": "clearDefaultKanbanBoard",
386
+ "summary": "Clear default board for organization",
387
+ "description": "Remove the default board setting for the organization",
388
+ "tags": [
389
+ "Kanban"
390
+ ],
391
+ "responses": {
392
+ "200": {
393
+ "description": "Successfully cleared default board",
394
+ "content": {
395
+ "application/json": {
396
+ "schema": {
397
+ "type": "object",
398
+ "properties": {
399
+ "message": {
400
+ "type": "string"
401
+ },
402
+ "default_board_id": {
403
+ "type": "string",
404
+ "nullable": true
405
+ }
406
+ }
407
+ }
408
+ }
409
+ }
410
+ },
411
+ "401": {
412
+ "description": "Unauthorized - Authentication required"
413
+ },
414
+ "403": {
415
+ "description": "Forbidden - Insufficient permissions"
416
+ },
417
+ "500": {
418
+ "description": "Internal server error"
419
+ }
420
+ }
421
+ }
422
+ },
423
+ "/v1/kanban/query/flows:autocomplete": {
424
+ "get": {
425
+ "operationId": "flowsAutocomplete",
426
+ "summary": "flowsAutocomplete",
427
+ "description": "Autocomplete flows data\n",
428
+ "tags": [
429
+ "Query"
430
+ ],
431
+ "parameters": [
432
+ {
433
+ "name": "input",
434
+ "in": "query",
435
+ "description": "Input to autocomplete",
436
+ "schema": {
437
+ "type": "string"
438
+ }
439
+ },
440
+ {
441
+ "name": "attribute",
442
+ "in": "query",
443
+ "description": "Autocomplete attribute",
444
+ "schema": {
445
+ "type": "string",
446
+ "example": "name"
447
+ },
448
+ "required": true
449
+ },
450
+ {
451
+ "name": "size",
452
+ "in": "query",
453
+ "description": "Maximum number of results to return",
454
+ "schema": {
455
+ "type": "integer",
456
+ "default": 25,
457
+ "minimum": 1,
458
+ "maximum": 250
459
+ }
460
+ },
461
+ {
462
+ "name": "from",
463
+ "in": "query",
464
+ "description": "Starting offset for pagination",
465
+ "schema": {
466
+ "type": "integer",
467
+ "default": 0,
468
+ "minimum": 0
469
+ }
470
+ }
471
+ ],
472
+ "responses": {
473
+ "200": {
474
+ "description": "Success",
475
+ "content": {
476
+ "application/json": {
477
+ "schema": {
478
+ "type": "object",
479
+ "properties": {
480
+ "results": {
481
+ "type": "array",
482
+ "items": {
483
+ "anyOf": [
484
+ {
485
+ "type": "string"
486
+ },
487
+ {
488
+ "type": "boolean"
489
+ },
490
+ {
491
+ "type": "object",
492
+ "additionalProperties": true
493
+ }
494
+ ]
495
+ },
496
+ "example": [
497
+ "value"
498
+ ]
499
+ },
500
+ "hits": {
501
+ "type": "number",
502
+ "description": "Total number of matching items available",
503
+ "example": 42
504
+ }
505
+ },
506
+ "required": [
507
+ "results",
508
+ "hits"
509
+ ]
510
+ }
511
+ }
512
+ }
513
+ }
514
+ }
515
+ }
516
+ },
517
+ "/v1/kanban/query/flows:execute": {
518
+ "post": {
519
+ "operationId": "executeFlowsQuery",
520
+ "summary": "executeFlowsQuery",
521
+ "description": "Query Flows Data for Kanban View.",
522
+ "tags": [
523
+ "Query"
524
+ ],
525
+ "requestBody": {
526
+ "content": {
527
+ "application/json": {
528
+ "schema": {
529
+ "$ref": "#/components/schemas/FlowsQueryRequest"
530
+ }
531
+ }
532
+ }
533
+ },
534
+ "responses": {
535
+ "200": {
536
+ "description": "Query results",
537
+ "content": {
538
+ "application/json": {
539
+ "schema": {
540
+ "$ref": "#/components/schemas/FlowsQueryResult"
541
+ }
542
+ }
543
+ }
544
+ }
545
+ }
546
+ }
547
+ }
548
+ },
549
+ "components": {
550
+ "securitySchemes": {
551
+ "EpilotAuth": {
552
+ "type": "http",
553
+ "scheme": "bearer",
554
+ "description": "Authorization header with epilot OAuth2 bearer token",
555
+ "bearerFormat": "JWT"
556
+ },
557
+ "EpilotOrg": {
558
+ "description": "Overrides the target organization to allow shared tenantaccess",
559
+ "name": "x-epilot-org-id",
560
+ "in": "header",
561
+ "type": "apiKey"
562
+ }
563
+ },
564
+ "schemas": {
565
+ "BoardSummary": {
566
+ "type": "object",
567
+ "properties": {
568
+ "id": {
569
+ "type": "string"
570
+ },
571
+ "title": {
572
+ "type": "string",
573
+ "example": "Board 1"
574
+ },
575
+ "description": {
576
+ "type": "string",
577
+ "example": "Board description"
578
+ },
579
+ "created_at": {
580
+ "type": "string",
581
+ "format": "date-time"
582
+ },
583
+ "updated_at": {
584
+ "type": "string",
585
+ "format": "date-time"
586
+ },
587
+ "created_by": {
588
+ "type": "string"
589
+ },
590
+ "org_id": {
591
+ "type": "string"
592
+ },
593
+ "updated_by": {
594
+ "type": "string"
595
+ },
596
+ "shared_with": {
597
+ "type": "array",
598
+ "items": {
599
+ "type": "string"
600
+ }
601
+ },
602
+ "shared_with_org": {
603
+ "type": "boolean"
604
+ },
605
+ "owners": {
606
+ "type": "array",
607
+ "items": {
608
+ "type": "string"
609
+ },
610
+ "description": "Array of user IDs who have full ownership rights for this board (view, edit, delete)"
611
+ }
612
+ }
613
+ },
614
+ "Board": {
615
+ "allOf": [
616
+ {
617
+ "$ref": "#/components/schemas/BoardSummary"
618
+ },
619
+ {
620
+ "type": "object",
621
+ "properties": {
622
+ "config": {
623
+ "type": "object",
624
+ "properties": {
625
+ "dataset": {
626
+ "type": "string",
627
+ "example": "workflow_tasks_overview"
628
+ },
629
+ "swimlanes": {
630
+ "type": "array",
631
+ "items": {
632
+ "$ref": "#/components/schemas/Swimlane"
633
+ }
634
+ },
635
+ "card_config": {
636
+ "type": "object",
637
+ "properties": {
638
+ "fields": {
639
+ "type": "array",
640
+ "items": {
641
+ "type": "string",
642
+ "example": "assignee"
643
+ }
644
+ }
645
+ }
646
+ },
647
+ "board_filter": {
648
+ "$ref": "#/components/schemas/BoardFilter"
649
+ },
650
+ "sorting": {
651
+ "$ref": "#/components/schemas/Sorting"
652
+ },
653
+ "search_query": {
654
+ "type": "string",
655
+ "example": "task 1"
656
+ }
657
+ }
658
+ }
659
+ },
660
+ "required": [
661
+ "title",
662
+ "config"
663
+ ]
664
+ }
665
+ ]
666
+ },
667
+ "Swimlane": {
668
+ "type": "object",
669
+ "properties": {
670
+ "id": {
671
+ "type": "string"
672
+ },
673
+ "title": {
674
+ "type": "string",
675
+ "example": "Swimlane 1"
676
+ },
677
+ "position": {
678
+ "type": "number",
679
+ "example": 1
680
+ },
681
+ "filter": {
682
+ "$ref": "#/components/schemas/BoardFilter"
683
+ },
684
+ "title_chip_variant": {
685
+ "type": "string",
686
+ "example": "success"
687
+ }
688
+ }
689
+ },
690
+ "Sorting": {
691
+ "type": "object",
692
+ "properties": {
693
+ "field": {
694
+ "type": "string",
695
+ "example": "created_at"
696
+ },
697
+ "direction": {
698
+ "type": "string",
699
+ "enum": [
700
+ "asc",
701
+ "desc"
702
+ ],
703
+ "default": "asc"
704
+ }
705
+ },
706
+ "required": [
707
+ "field"
708
+ ]
709
+ },
710
+ "BoardFilter": {
711
+ "type": "object",
712
+ "properties": {
713
+ "items": {
714
+ "type": "array",
715
+ "items": {
716
+ "oneOf": [
717
+ {
718
+ "$ref": "#/components/schemas/FilterItem"
719
+ },
720
+ {
721
+ "$ref": "#/components/schemas/FilterGroup"
722
+ }
723
+ ]
724
+ }
725
+ },
726
+ "combination": {
727
+ "type": "string",
728
+ "enum": [
729
+ "AND",
730
+ "OR"
731
+ ],
732
+ "example": "OR"
733
+ }
734
+ },
735
+ "required": [
736
+ "items",
737
+ "combination"
738
+ ]
739
+ },
740
+ "FilterGroup": {
741
+ "type": "object",
742
+ "properties": {
743
+ "items": {
744
+ "type": "array",
745
+ "items": {
746
+ "$ref": "#/components/schemas/FilterItem"
747
+ }
748
+ },
749
+ "combination": {
750
+ "type": "string",
751
+ "enum": [
752
+ "AND",
753
+ "OR"
754
+ ],
755
+ "example": "AND"
756
+ }
757
+ },
758
+ "required": [
759
+ "items",
760
+ "combination"
761
+ ]
762
+ },
763
+ "FilterOperator": {
764
+ "type": "string",
765
+ "enum": [
766
+ "EQUALS",
767
+ "NOT_EQUALS",
768
+ "EMPTY",
769
+ "NOT_EMPTY",
770
+ "CONTAINS",
771
+ "NOT_CONTAINS",
772
+ "IS_ONE_OF",
773
+ "IS_NONE_OF",
774
+ "GREATER_THAN",
775
+ "LESS_THAN",
776
+ "GREATER_THAN_OR_EQUAL",
777
+ "LESS_THAN_OR_EQUAL"
778
+ ],
779
+ "example": "EQUALS",
780
+ "description": "The comparison operator for filtering"
781
+ },
782
+ "DynamicDateValue": {
783
+ "type": "string",
784
+ "enum": [
785
+ "TODAY",
786
+ "TOMORROW",
787
+ "YESTERDAY",
788
+ "IN_THE_FUTURE",
789
+ "IN_THE_PAST",
790
+ "THIS_WEEK",
791
+ "NEXT_WEEK",
792
+ "LAST_WEEK",
793
+ "THIS_MONTH",
794
+ "NEXT_MONTH",
795
+ "LAST_MONTH"
796
+ ],
797
+ "description": "Dynamic date keywords that resolve to actual dates at runtime"
798
+ },
799
+ "ValueType": {
800
+ "anyOf": [
801
+ {
802
+ "type": "string",
803
+ "example": "100020"
804
+ },
805
+ {
806
+ "$ref": "#/components/schemas/DynamicDateValue"
807
+ },
808
+ {
809
+ "type": "number",
810
+ "example": 42
811
+ },
812
+ {
813
+ "type": "boolean",
814
+ "example": true
815
+ },
816
+ {
817
+ "type": "array",
818
+ "items": {
819
+ "anyOf": [
820
+ {
821
+ "type": "string"
822
+ },
823
+ {
824
+ "$ref": "#/components/schemas/DynamicDateValue"
825
+ },
826
+ {
827
+ "type": "number"
828
+ },
829
+ {
830
+ "type": "boolean"
831
+ }
832
+ ]
833
+ },
834
+ "example": [
835
+ "value1",
836
+ "value2",
837
+ 123,
838
+ true
839
+ ]
840
+ }
841
+ ],
842
+ "description": "The value to compare against - can be a single value (string, number, boolean, or dynamic date) or an array of values"
843
+ },
844
+ "FlowsQueryRequest": {
845
+ "type": "object",
846
+ "properties": {
847
+ "filters": {
848
+ "$ref": "#/components/schemas/BoardFilter"
849
+ },
850
+ "sorting": {
851
+ "$ref": "#/components/schemas/Sorting"
852
+ },
853
+ "from": {
854
+ "type": "number",
855
+ "default": 0
856
+ },
857
+ "size": {
858
+ "type": "number",
859
+ "default": 10
860
+ }
861
+ }
862
+ },
863
+ "FlowsQueryResult": {
864
+ "type": "object",
865
+ "properties": {
866
+ "results": {
867
+ "type": "array",
868
+ "items": {
869
+ "type": "object",
870
+ "additionalProperties": true
871
+ }
872
+ },
873
+ "hits": {
874
+ "type": "number"
875
+ },
876
+ "page_number": {
877
+ "type": "number"
878
+ },
879
+ "page_size": {
880
+ "type": "number"
881
+ },
882
+ "total_pages": {
883
+ "type": "number"
884
+ }
885
+ },
886
+ "additionalProperties": true
887
+ },
888
+ "FilterItem": {
889
+ "type": "object",
890
+ "properties": {
891
+ "key": {
892
+ "type": "string",
893
+ "example": "assignee",
894
+ "description": "The field key to filter on"
895
+ },
896
+ "operator": {
897
+ "$ref": "#/components/schemas/FilterOperator"
898
+ },
899
+ "value": {
900
+ "$ref": "#/components/schemas/ValueType"
901
+ },
902
+ "data_type": {
903
+ "type": "string",
904
+ "enum": [
905
+ "string",
906
+ "number",
907
+ "boolean",
908
+ "date"
909
+ ],
910
+ "example": "string",
911
+ "description": "The data type of the field"
912
+ }
913
+ },
914
+ "required": [
915
+ "key",
916
+ "operator"
917
+ ]
918
+ }
919
+ }
920
+ },
921
+ "servers": [
922
+ {
923
+ "url": "https://kanban.sls.epilot.io"
924
+ },
925
+ {
926
+ "url": "https://kanban.sls.epilot.io"
927
+ }
928
+ ]
929
+ }