@epilot/sdk 2.3.10 → 2.4.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 (221) 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/configuration-hub.cjs +6 -6
  20. package/dist/apis/configuration-hub.js +1 -1
  21. package/dist/apis/consent.cjs +6 -6
  22. package/dist/apis/consent.js +1 -1
  23. package/dist/apis/customer-portal.cjs +6 -6
  24. package/dist/apis/customer-portal.js +1 -1
  25. package/dist/apis/dashboard.cjs +6 -6
  26. package/dist/apis/dashboard.js +1 -1
  27. package/dist/apis/data-governance.cjs +6 -6
  28. package/dist/apis/data-governance.js +1 -1
  29. package/dist/apis/deduplication.cjs +6 -6
  30. package/dist/apis/deduplication.js +1 -1
  31. package/dist/apis/design.cjs +6 -6
  32. package/dist/apis/design.js +1 -1
  33. package/dist/apis/document.cjs +6 -6
  34. package/dist/apis/document.js +1 -1
  35. package/dist/apis/email-settings.cjs +6 -6
  36. package/dist/apis/email-settings.js +1 -1
  37. package/dist/apis/email-template.cjs +6 -6
  38. package/dist/apis/email-template.js +1 -1
  39. package/dist/apis/entity-mapping.cjs +6 -6
  40. package/dist/apis/entity-mapping.js +1 -1
  41. package/dist/apis/entity.cjs +8 -8
  42. package/dist/apis/entity.d.cts +2 -2
  43. package/dist/apis/entity.d.ts +2 -2
  44. package/dist/apis/entity.js +2 -2
  45. package/dist/apis/environments.cjs +6 -6
  46. package/dist/apis/environments.js +1 -1
  47. package/dist/apis/event-catalog.cjs +6 -6
  48. package/dist/apis/event-catalog.js +1 -1
  49. package/dist/apis/file.cjs +6 -6
  50. package/dist/apis/file.js +1 -1
  51. package/dist/apis/iban.cjs +6 -6
  52. package/dist/apis/iban.js +1 -1
  53. package/dist/apis/integration-toolkit.cjs +6 -6
  54. package/dist/apis/integration-toolkit.js +1 -1
  55. package/dist/apis/journey.cjs +6 -6
  56. package/dist/apis/journey.js +1 -1
  57. package/dist/apis/kanban.cjs +6 -6
  58. package/dist/apis/kanban.js +1 -1
  59. package/dist/apis/message.cjs +6 -6
  60. package/dist/apis/message.js +1 -1
  61. package/dist/apis/metering.cjs +6 -6
  62. package/dist/apis/metering.js +1 -1
  63. package/dist/apis/notes.cjs +6 -6
  64. package/dist/apis/notes.js +1 -1
  65. package/dist/apis/notification.cjs +6 -6
  66. package/dist/apis/notification.js +1 -1
  67. package/dist/apis/organization.cjs +6 -6
  68. package/dist/apis/organization.js +1 -1
  69. package/dist/apis/partner-directory.cjs +6 -6
  70. package/dist/apis/partner-directory.js +1 -1
  71. package/dist/apis/permissions.cjs +6 -6
  72. package/dist/apis/permissions.js +1 -1
  73. package/dist/apis/pricing-tier.cjs +6 -6
  74. package/dist/apis/pricing-tier.js +1 -1
  75. package/dist/apis/pricing.cjs +6 -6
  76. package/dist/apis/pricing.js +1 -1
  77. package/dist/apis/purpose.cjs +6 -6
  78. package/dist/apis/purpose.js +1 -1
  79. package/dist/apis/query.cjs +6 -6
  80. package/dist/apis/query.js +1 -1
  81. package/dist/apis/sandbox.cjs +6 -6
  82. package/dist/apis/sandbox.js +1 -1
  83. package/dist/apis/sharing.cjs +6 -6
  84. package/dist/apis/sharing.js +1 -1
  85. package/dist/apis/submission.cjs +6 -6
  86. package/dist/apis/submission.js +1 -1
  87. package/dist/apis/target.cjs +6 -6
  88. package/dist/apis/target.js +1 -1
  89. package/dist/apis/targeting.cjs +6 -6
  90. package/dist/apis/targeting.js +1 -1
  91. package/dist/apis/template-variables.cjs +6 -6
  92. package/dist/apis/template-variables.js +1 -1
  93. package/dist/apis/user.cjs +6 -6
  94. package/dist/apis/user.js +1 -1
  95. package/dist/apis/validation-rules.cjs +6 -6
  96. package/dist/apis/validation-rules.js +1 -1
  97. package/dist/apis/webhooks.cjs +6 -6
  98. package/dist/apis/webhooks.js +1 -1
  99. package/dist/apis/workflow-definition.cjs +6 -6
  100. package/dist/apis/workflow-definition.js +1 -1
  101. package/dist/apis/workflow.cjs +6 -6
  102. package/dist/apis/workflow.js +1 -1
  103. package/dist/{chunk-W7YCS4FU.js → chunk-DAFBUTK6.js} +2 -2
  104. package/dist/chunk-M6Z6ES3I.js +14 -0
  105. package/dist/chunk-UBQCDPW6.cjs +14 -0
  106. package/dist/{chunk-MDLNRFJV.cjs → chunk-Z33PZNHV.cjs} +2 -2
  107. package/dist/entity-VDUN7SYC.cjs +7 -0
  108. package/dist/entity-WWM2Z7BU.js +7 -0
  109. package/dist/entity-runtime-3J5EDLXP.cjs +5 -0
  110. package/dist/{entity-runtime-D4DV5XRM.js → entity-runtime-LNAZILIN.js} +1 -1
  111. package/dist/{entity.d-ByufVI16.d.cts → entity.d-B43ezu-V.d.cts} +1336 -9
  112. package/dist/{entity.d-ByufVI16.d.ts → entity.d-B43ezu-V.d.ts} +1336 -9
  113. package/dist/index.cjs +10 -10
  114. package/dist/index.d.cts +1 -1
  115. package/dist/index.d.ts +1 -1
  116. package/dist/index.js +2 -2
  117. package/docs/entity.md +965 -39
  118. package/package.json +1 -1
  119. package/definitions/access-token-runtime.json +0 -1
  120. package/definitions/access-token.json +0 -663
  121. package/definitions/address-runtime.json +0 -1
  122. package/definitions/address-suggestions-runtime.json +0 -1
  123. package/definitions/address-suggestions.json +0 -582
  124. package/definitions/address.json +0 -578
  125. package/definitions/ai-agents-runtime.json +0 -1
  126. package/definitions/ai-agents.json +0 -1711
  127. package/definitions/app-runtime.json +0 -1
  128. package/definitions/app.json +0 -4493
  129. package/definitions/audit-logs-runtime.json +0 -1
  130. package/definitions/audit-logs.json +0 -305
  131. package/definitions/automation-runtime.json +0 -1
  132. package/definitions/automation.json +0 -5028
  133. package/definitions/billing-runtime.json +0 -1
  134. package/definitions/billing.json +0 -837
  135. package/definitions/blueprint-manifest-runtime.json +0 -1
  136. package/definitions/blueprint-manifest.json +0 -4846
  137. package/definitions/configuration-hub-runtime.json +0 -1
  138. package/definitions/configuration-hub.json +0 -611
  139. package/definitions/consent-runtime.json +0 -1
  140. package/definitions/consent.json +0 -344
  141. package/definitions/customer-portal-runtime.json +0 -1
  142. package/definitions/customer-portal.json +0 -16045
  143. package/definitions/dashboard-runtime.json +0 -1
  144. package/definitions/dashboard.json +0 -484
  145. package/definitions/data-governance-runtime.json +0 -1
  146. package/definitions/data-governance.json +0 -1126
  147. package/definitions/deduplication-runtime.json +0 -1
  148. package/definitions/deduplication.json +0 -314
  149. package/definitions/design-runtime.json +0 -1
  150. package/definitions/design.json +0 -1722
  151. package/definitions/document-runtime.json +0 -1
  152. package/definitions/document.json +0 -758
  153. package/definitions/email-settings-runtime.json +0 -1
  154. package/definitions/email-settings.json +0 -2777
  155. package/definitions/email-template-runtime.json +0 -1
  156. package/definitions/email-template.json +0 -1441
  157. package/definitions/entity-mapping-runtime.json +0 -1
  158. package/definitions/entity-mapping.json +0 -1642
  159. package/definitions/entity-runtime.json +0 -1
  160. package/definitions/entity.json +0 -10474
  161. package/definitions/environments-runtime.json +0 -1
  162. package/definitions/environments.json +0 -539
  163. package/definitions/event-catalog-runtime.json +0 -1
  164. package/definitions/event-catalog.json +0 -1051
  165. package/definitions/file-runtime.json +0 -1
  166. package/definitions/file.json +0 -2842
  167. package/definitions/iban-runtime.json +0 -1
  168. package/definitions/iban.json +0 -132
  169. package/definitions/integration-toolkit-runtime.json +0 -1
  170. package/definitions/integration-toolkit.json +0 -7998
  171. package/definitions/journey-runtime.json +0 -1
  172. package/definitions/journey.json +0 -2603
  173. package/definitions/kanban-runtime.json +0 -1
  174. package/definitions/kanban.json +0 -1505
  175. package/definitions/message-runtime.json +0 -1
  176. package/definitions/message.json +0 -2872
  177. package/definitions/metering-runtime.json +0 -1
  178. package/definitions/metering.json +0 -2321
  179. package/definitions/notes-runtime.json +0 -1
  180. package/definitions/notes.json +0 -1531
  181. package/definitions/notification-runtime.json +0 -1
  182. package/definitions/notification.json +0 -1425
  183. package/definitions/organization-runtime.json +0 -1
  184. package/definitions/organization.json +0 -1192
  185. package/definitions/partner-directory-runtime.json +0 -1
  186. package/definitions/partner-directory.json +0 -2284
  187. package/definitions/permissions-runtime.json +0 -1
  188. package/definitions/permissions.json +0 -1515
  189. package/definitions/pricing-runtime.json +0 -1
  190. package/definitions/pricing-tier-runtime.json +0 -1
  191. package/definitions/pricing-tier.json +0 -105
  192. package/definitions/pricing.json +0 -9884
  193. package/definitions/purpose-runtime.json +0 -1
  194. package/definitions/purpose.json +0 -524
  195. package/definitions/query-runtime.json +0 -1
  196. package/definitions/query.json +0 -3178
  197. package/definitions/sandbox-runtime.json +0 -1
  198. package/definitions/sandbox.json +0 -453
  199. package/definitions/sharing-runtime.json +0 -1
  200. package/definitions/sharing.json +0 -956
  201. package/definitions/submission-runtime.json +0 -1
  202. package/definitions/submission.json +0 -313
  203. package/definitions/targeting-runtime.json +0 -1
  204. package/definitions/targeting.json +0 -1474
  205. package/definitions/template-variables-runtime.json +0 -1
  206. package/definitions/template-variables.json +0 -1416
  207. package/definitions/user-runtime.json +0 -1
  208. package/definitions/user.json +0 -2460
  209. package/definitions/validation-rules-runtime.json +0 -1
  210. package/definitions/validation-rules.json +0 -1491
  211. package/definitions/webhooks-runtime.json +0 -1
  212. package/definitions/webhooks.json +0 -1634
  213. package/definitions/workflow-definition-runtime.json +0 -1
  214. package/definitions/workflow-definition.json +0 -3354
  215. package/definitions/workflow-runtime.json +0 -1
  216. package/definitions/workflow.json +0 -4272
  217. package/dist/chunk-F7W62NKV.js +0 -14
  218. package/dist/chunk-QA2OYK7N.cjs +0 -14
  219. package/dist/entity-CK76MXVN.js +0 -7
  220. package/dist/entity-TFMH5VTZ.cjs +0 -7
  221. package/dist/entity-runtime-DUJTRYLQ.cjs +0 -5
@@ -1,1505 +0,0 @@
1
- {
2
- "openapi": "3.0.3",
3
- "info": {
4
- "title": "Kanban API",
5
- "version": "1.2.3",
6
- "description": "The Kanban API provides board management and data query capabilities for epilot's Kanban view feature.\n\nKanban boards allow epilot users to visualize and manage workflow tasks, opportunities, and other entities in a column-based layout.\n\nKey capabilities:\n- Create, read, update, and delete Kanban boards with configurable swimlanes and filters\n- Share boards with individual users or across the entire organization\n- Set and clear the organization-level default board\n- Query and autocomplete Flows data to populate Kanban cards with live entity data\n"
7
- },
8
- "tags": [
9
- {
10
- "name": "Kanban",
11
- "description": "Endpoints for managing Kanban boards. Boards consist of swimlanes, each with configurable filters to display matching workflow tasks or entities.\nBoards can be owned by individual users and optionally shared with other users or the whole organization.\n"
12
- },
13
- {
14
- "name": "Query",
15
- "description": "Endpoints for querying and autocompleting Flows data used to populate Kanban cards.\nThese endpoints support filtering, sorting, and pagination of the underlying workflow task dataset.\n"
16
- }
17
- ],
18
- "security": [
19
- {
20
- "EpilotAuth": []
21
- },
22
- {
23
- "EpilotOrg": []
24
- }
25
- ],
26
- "paths": {
27
- "/v1/kanban/board": {
28
- "post": {
29
- "operationId": "createKanbanBoard",
30
- "summary": "createKanbanBoard",
31
- "description": "Creates a new Kanban board with the provided configuration.\n\nA board must have a title and a config containing at least one dataset. Swimlanes and filters can be configured to display specific subsets of workflow tasks or entities.\n",
32
- "tags": [
33
- "Kanban"
34
- ],
35
- "requestBody": {
36
- "required": true,
37
- "content": {
38
- "application/json": {
39
- "schema": {
40
- "$ref": "#/components/schemas/Board"
41
- },
42
- "example": {
43
- "title": "My Sales Board",
44
- "description": "Track open opportunities",
45
- "config": {
46
- "dataset": "workflow_tasks_overview",
47
- "swimlanes": [
48
- {
49
- "id": "lane-1",
50
- "title": "New",
51
- "position": 1,
52
- "filter": {
53
- "items": [
54
- {
55
- "key": "status",
56
- "operator": "EQUALS",
57
- "value": "new",
58
- "data_type": "string"
59
- }
60
- ],
61
- "combination": "AND"
62
- }
63
- }
64
- ],
65
- "card_config": {
66
- "fields": [
67
- "assignee",
68
- "due_date"
69
- ]
70
- }
71
- }
72
- }
73
- }
74
- }
75
- },
76
- "responses": {
77
- "200": {
78
- "description": "Successfully created board",
79
- "content": {
80
- "application/json": {
81
- "schema": {
82
- "$ref": "#/components/schemas/Board"
83
- },
84
- "example": {
85
- "id": "board-abc123",
86
- "title": "My Sales Board",
87
- "description": "Track open opportunities",
88
- "org_id": "728224",
89
- "created_by": "user-1",
90
- "created_at": "2024-01-15T09:00:00.000Z",
91
- "updated_at": "2024-01-15T09:00:00.000Z",
92
- "config": {
93
- "dataset": "workflow_tasks_overview",
94
- "swimlanes": []
95
- }
96
- }
97
- }
98
- }
99
- },
100
- "400": {
101
- "description": "Bad request - Invalid input data",
102
- "content": {
103
- "application/json": {
104
- "schema": {
105
- "$ref": "#/components/schemas/Error"
106
- }
107
- }
108
- }
109
- },
110
- "401": {
111
- "description": "Unauthorized - Authentication required",
112
- "content": {
113
- "application/json": {
114
- "schema": {
115
- "$ref": "#/components/schemas/Error"
116
- }
117
- }
118
- }
119
- },
120
- "403": {
121
- "description": "Forbidden - Insufficient permissions",
122
- "content": {
123
- "application/json": {
124
- "schema": {
125
- "$ref": "#/components/schemas/Error"
126
- }
127
- }
128
- }
129
- },
130
- "500": {
131
- "description": "Internal server error",
132
- "content": {
133
- "application/json": {
134
- "schema": {
135
- "$ref": "#/components/schemas/Error"
136
- }
137
- }
138
- }
139
- }
140
- }
141
- }
142
- },
143
- "/v1/kanban/boards": {
144
- "get": {
145
- "operationId": "getKanbanBoards",
146
- "summary": "getKanbanBoards",
147
- "description": "Returns a list of all Kanban boards accessible to the authenticated user.\n\nUse the `filter` query parameter to narrow results to boards the user owns (`owned`) or boards shared with them (`shared`). When omitted, all accessible boards are returned.\n",
148
- "tags": [
149
- "Kanban"
150
- ],
151
- "parameters": [
152
- {
153
- "name": "filter",
154
- "in": "query",
155
- "description": "Filter boards by ownership type. If not provided, returns all accessible boards.",
156
- "schema": {
157
- "type": "string",
158
- "enum": [
159
- "owned",
160
- "shared"
161
- ]
162
- },
163
- "required": false
164
- }
165
- ],
166
- "responses": {
167
- "200": {
168
- "description": "Successfully retrieved boards",
169
- "content": {
170
- "application/json": {
171
- "schema": {
172
- "type": "array",
173
- "items": {
174
- "$ref": "#/components/schemas/BoardSummary"
175
- }
176
- },
177
- "example": [
178
- {
179
- "id": "board-abc123",
180
- "title": "My Sales Board",
181
- "description": "Track open opportunities",
182
- "org_id": "728224",
183
- "created_by": "user-1",
184
- "created_at": "2024-01-15T09:00:00.000Z",
185
- "updated_at": "2024-01-15T09:00:00.000Z",
186
- "shared_with_org": false,
187
- "owners": [
188
- "user-1"
189
- ]
190
- }
191
- ]
192
- }
193
- }
194
- },
195
- "401": {
196
- "description": "Unauthorized - Authentication required",
197
- "content": {
198
- "application/json": {
199
- "schema": {
200
- "$ref": "#/components/schemas/Error"
201
- }
202
- }
203
- }
204
- },
205
- "403": {
206
- "description": "Forbidden - Insufficient permissions",
207
- "content": {
208
- "application/json": {
209
- "schema": {
210
- "$ref": "#/components/schemas/Error"
211
- }
212
- }
213
- }
214
- },
215
- "500": {
216
- "description": "Internal server error",
217
- "content": {
218
- "application/json": {
219
- "schema": {
220
- "$ref": "#/components/schemas/Error"
221
- }
222
- }
223
- }
224
- }
225
- }
226
- }
227
- },
228
- "/v1/kanban/board/{boardId}": {
229
- "get": {
230
- "operationId": "getKanbanBoard",
231
- "summary": "getKanbanBoard",
232
- "description": "Retrieves a Kanban board by ID, including its full configuration (swimlanes, filters, sorting, card fields).\n\nUse `\"default\"` as the `boardId` to retrieve the organization's currently configured default board.\n",
233
- "tags": [
234
- "Kanban"
235
- ],
236
- "parameters": [
237
- {
238
- "name": "boardId",
239
- "in": "path",
240
- "required": true,
241
- "schema": {
242
- "type": "string"
243
- },
244
- "description": "The board ID, or \"default\" to get the organization's default board.\n",
245
- "example": "board-123"
246
- }
247
- ],
248
- "responses": {
249
- "200": {
250
- "description": "Successfully retrieved board",
251
- "content": {
252
- "application/json": {
253
- "schema": {
254
- "$ref": "#/components/schemas/Board"
255
- },
256
- "example": {
257
- "id": "board-abc123",
258
- "title": "My Sales Board",
259
- "description": "Track open opportunities",
260
- "org_id": "728224",
261
- "created_by": "user-1",
262
- "created_at": "2024-01-15T09:00:00.000Z",
263
- "updated_at": "2024-01-15T09:00:00.000Z",
264
- "shared_with_org": false,
265
- "owners": [
266
- "user-1"
267
- ],
268
- "config": {
269
- "dataset": "workflow_tasks_overview",
270
- "swimlanes": [
271
- {
272
- "id": "lane-1",
273
- "title": "New",
274
- "position": 1,
275
- "filter": {
276
- "items": [
277
- {
278
- "key": "status",
279
- "operator": "EQUALS",
280
- "value": "new",
281
- "data_type": "string"
282
- }
283
- ],
284
- "combination": "AND"
285
- }
286
- }
287
- ],
288
- "card_config": {
289
- "fields": [
290
- "assignee",
291
- "due_date"
292
- ]
293
- },
294
- "sorting": {
295
- "field": "created_at",
296
- "direction": "desc"
297
- }
298
- }
299
- }
300
- }
301
- }
302
- },
303
- "401": {
304
- "description": "Unauthorized - Authentication required",
305
- "content": {
306
- "application/json": {
307
- "schema": {
308
- "$ref": "#/components/schemas/Error"
309
- }
310
- }
311
- }
312
- },
313
- "403": {
314
- "description": "Forbidden - Insufficient permissions",
315
- "content": {
316
- "application/json": {
317
- "schema": {
318
- "$ref": "#/components/schemas/Error"
319
- }
320
- }
321
- }
322
- },
323
- "404": {
324
- "description": "Board not found",
325
- "content": {
326
- "application/json": {
327
- "schema": {
328
- "$ref": "#/components/schemas/Error"
329
- }
330
- }
331
- }
332
- },
333
- "500": {
334
- "description": "Internal server error",
335
- "content": {
336
- "application/json": {
337
- "schema": {
338
- "$ref": "#/components/schemas/Error"
339
- }
340
- }
341
- }
342
- }
343
- }
344
- },
345
- "put": {
346
- "operationId": "updateKanbanBoard",
347
- "summary": "updateKanbanBoard",
348
- "description": "Fully replaces the configuration of an existing Kanban board by ID.\n\nAll board fields (title, config, swimlanes, filters) must be provided. Use PATCH for partial updates.\n",
349
- "tags": [
350
- "Kanban"
351
- ],
352
- "parameters": [
353
- {
354
- "name": "boardId",
355
- "in": "path",
356
- "required": true,
357
- "schema": {
358
- "type": "string"
359
- },
360
- "description": "The ID of the board to update."
361
- }
362
- ],
363
- "requestBody": {
364
- "required": true,
365
- "content": {
366
- "application/json": {
367
- "schema": {
368
- "$ref": "#/components/schemas/Board"
369
- }
370
- }
371
- }
372
- },
373
- "responses": {
374
- "200": {
375
- "description": "Successfully updated board",
376
- "content": {
377
- "application/json": {
378
- "schema": {
379
- "$ref": "#/components/schemas/Board"
380
- },
381
- "example": {
382
- "id": "board-abc123",
383
- "title": "Updated Sales Board",
384
- "description": "Track open opportunities",
385
- "org_id": "728224",
386
- "created_by": "user-1",
387
- "created_at": "2024-01-15T09:00:00.000Z",
388
- "updated_at": "2024-01-16T10:30:00.000Z",
389
- "shared_with_org": false,
390
- "owners": [
391
- "user-1"
392
- ],
393
- "config": {
394
- "dataset": "workflow_tasks_overview",
395
- "swimlanes": []
396
- }
397
- }
398
- }
399
- }
400
- },
401
- "400": {
402
- "description": "Bad request - Invalid input data",
403
- "content": {
404
- "application/json": {
405
- "schema": {
406
- "$ref": "#/components/schemas/Error"
407
- }
408
- }
409
- }
410
- },
411
- "401": {
412
- "description": "Unauthorized - Authentication required",
413
- "content": {
414
- "application/json": {
415
- "schema": {
416
- "$ref": "#/components/schemas/Error"
417
- }
418
- }
419
- }
420
- },
421
- "403": {
422
- "description": "Forbidden - Insufficient permissions",
423
- "content": {
424
- "application/json": {
425
- "schema": {
426
- "$ref": "#/components/schemas/Error"
427
- }
428
- }
429
- }
430
- },
431
- "404": {
432
- "description": "Board not found",
433
- "content": {
434
- "application/json": {
435
- "schema": {
436
- "$ref": "#/components/schemas/Error"
437
- }
438
- }
439
- }
440
- },
441
- "500": {
442
- "description": "Internal server error",
443
- "content": {
444
- "application/json": {
445
- "schema": {
446
- "$ref": "#/components/schemas/Error"
447
- }
448
- }
449
- }
450
- }
451
- }
452
- },
453
- "patch": {
454
- "operationId": "patchKanbanBoard",
455
- "summary": "patchKanbanBoard",
456
- "description": "Partially updates fields of an existing Kanban board by ID.\n\nOnly the fields provided in the request body will be updated. Useful for updating sharing settings, ownership, or title without replacing the full board configuration.\n",
457
- "tags": [
458
- "Kanban"
459
- ],
460
- "parameters": [
461
- {
462
- "name": "boardId",
463
- "in": "path",
464
- "required": true,
465
- "schema": {
466
- "type": "string"
467
- },
468
- "description": "The ID of the board to patch."
469
- }
470
- ],
471
- "requestBody": {
472
- "required": true,
473
- "content": {
474
- "application/json": {
475
- "schema": {
476
- "type": "object",
477
- "properties": {
478
- "title": {
479
- "type": "string",
480
- "example": "Board 1"
481
- },
482
- "description": {
483
- "type": "string",
484
- "example": "Board description"
485
- },
486
- "shared_with": {
487
- "type": "array",
488
- "items": {
489
- "type": "string"
490
- },
491
- "description": "Array of user IDs to share the board with"
492
- },
493
- "shared_with_org": {
494
- "type": "boolean",
495
- "description": "Whether the board is shared with the entire organization"
496
- },
497
- "owners": {
498
- "type": "array",
499
- "items": {
500
- "type": "string"
501
- },
502
- "description": "Array of user IDs who have full ownership rights for this board (view, edit, delete)"
503
- }
504
- }
505
- },
506
- "example": {
507
- "title": "Updated Board Title",
508
- "shared_with_org": true,
509
- "owners": [
510
- "user-1",
511
- "user-2"
512
- ]
513
- }
514
- }
515
- }
516
- },
517
- "responses": {
518
- "200": {
519
- "description": "Successfully patched board",
520
- "content": {
521
- "application/json": {
522
- "schema": {
523
- "$ref": "#/components/schemas/Board"
524
- },
525
- "example": {
526
- "id": "board-abc123",
527
- "title": "Updated Board Title",
528
- "org_id": "728224",
529
- "created_by": "user-1",
530
- "created_at": "2024-01-15T09:00:00.000Z",
531
- "updated_at": "2024-01-16T12:00:00.000Z",
532
- "shared_with_org": true,
533
- "owners": [
534
- "user-1",
535
- "user-2"
536
- ],
537
- "config": {
538
- "dataset": "workflow_tasks_overview",
539
- "swimlanes": []
540
- }
541
- }
542
- }
543
- }
544
- },
545
- "400": {
546
- "description": "Bad request - Invalid input data",
547
- "content": {
548
- "application/json": {
549
- "schema": {
550
- "$ref": "#/components/schemas/Error"
551
- }
552
- }
553
- }
554
- },
555
- "401": {
556
- "description": "Unauthorized - Authentication required",
557
- "content": {
558
- "application/json": {
559
- "schema": {
560
- "$ref": "#/components/schemas/Error"
561
- }
562
- }
563
- }
564
- },
565
- "403": {
566
- "description": "Forbidden - Insufficient permissions",
567
- "content": {
568
- "application/json": {
569
- "schema": {
570
- "$ref": "#/components/schemas/Error"
571
- }
572
- }
573
- }
574
- },
575
- "404": {
576
- "description": "Board not found",
577
- "content": {
578
- "application/json": {
579
- "schema": {
580
- "$ref": "#/components/schemas/Error"
581
- }
582
- }
583
- }
584
- },
585
- "500": {
586
- "description": "Internal server error",
587
- "content": {
588
- "application/json": {
589
- "schema": {
590
- "$ref": "#/components/schemas/Error"
591
- }
592
- }
593
- }
594
- }
595
- }
596
- },
597
- "delete": {
598
- "operationId": "deleteKanbanBoard",
599
- "summary": "deleteKanbanBoard",
600
- "description": "Permanently deletes a Kanban board by ID. This action is irreversible.",
601
- "tags": [
602
- "Kanban"
603
- ],
604
- "parameters": [
605
- {
606
- "name": "boardId",
607
- "in": "path",
608
- "required": true,
609
- "schema": {
610
- "type": "string"
611
- },
612
- "description": "The ID of the board to delete."
613
- }
614
- ],
615
- "responses": {
616
- "200": {
617
- "description": "Successfully deleted board"
618
- },
619
- "401": {
620
- "description": "Unauthorized - Authentication required",
621
- "content": {
622
- "application/json": {
623
- "schema": {
624
- "$ref": "#/components/schemas/Error"
625
- }
626
- }
627
- }
628
- },
629
- "403": {
630
- "description": "Forbidden - Insufficient permissions",
631
- "content": {
632
- "application/json": {
633
- "schema": {
634
- "$ref": "#/components/schemas/Error"
635
- }
636
- }
637
- }
638
- },
639
- "404": {
640
- "description": "Board not found",
641
- "content": {
642
- "application/json": {
643
- "schema": {
644
- "$ref": "#/components/schemas/Error"
645
- }
646
- }
647
- }
648
- },
649
- "500": {
650
- "description": "Internal server error",
651
- "content": {
652
- "application/json": {
653
- "schema": {
654
- "$ref": "#/components/schemas/Error"
655
- }
656
- }
657
- }
658
- }
659
- }
660
- }
661
- },
662
- "/v1/kanban/org/default-board": {
663
- "put": {
664
- "operationId": "setDefaultKanbanBoard",
665
- "summary": "setDefaultKanbanBoard",
666
- "description": "Sets a Kanban board as the default board for the organization.\n\nThe default board is shown to users who access the Kanban view without specifying a specific board ID.\nPass `boardId` as a query parameter to identify the board to set as default.\n",
667
- "tags": [
668
- "Kanban"
669
- ],
670
- "parameters": [
671
- {
672
- "name": "boardId",
673
- "in": "query",
674
- "required": true,
675
- "schema": {
676
- "type": "string"
677
- },
678
- "description": "The ID of the board to set as default",
679
- "example": "board-abc123"
680
- }
681
- ],
682
- "responses": {
683
- "200": {
684
- "description": "Successfully set default board",
685
- "content": {
686
- "application/json": {
687
- "schema": {
688
- "type": "object",
689
- "properties": {
690
- "message": {
691
- "type": "string"
692
- },
693
- "default_board_id": {
694
- "type": "string"
695
- }
696
- }
697
- },
698
- "example": {
699
- "message": "Default board set successfully",
700
- "default_board_id": "board-abc123"
701
- }
702
- }
703
- }
704
- },
705
- "400": {
706
- "description": "Bad request - Invalid input data or boardId missing",
707
- "content": {
708
- "application/json": {
709
- "schema": {
710
- "$ref": "#/components/schemas/Error"
711
- }
712
- }
713
- }
714
- },
715
- "401": {
716
- "description": "Unauthorized - Authentication required",
717
- "content": {
718
- "application/json": {
719
- "schema": {
720
- "$ref": "#/components/schemas/Error"
721
- }
722
- }
723
- }
724
- },
725
- "403": {
726
- "description": "Forbidden - Insufficient permissions",
727
- "content": {
728
- "application/json": {
729
- "schema": {
730
- "$ref": "#/components/schemas/Error"
731
- }
732
- }
733
- }
734
- },
735
- "404": {
736
- "description": "Board not found",
737
- "content": {
738
- "application/json": {
739
- "schema": {
740
- "$ref": "#/components/schemas/Error"
741
- }
742
- }
743
- }
744
- },
745
- "500": {
746
- "description": "Internal server error",
747
- "content": {
748
- "application/json": {
749
- "schema": {
750
- "$ref": "#/components/schemas/Error"
751
- }
752
- }
753
- }
754
- }
755
- }
756
- },
757
- "delete": {
758
- "operationId": "clearDefaultKanbanBoard",
759
- "summary": "clearDefaultKanbanBoard",
760
- "description": "Removes the default board configuration for the organization.\n\nAfter calling this endpoint, `getKanbanBoard` with `boardId=default` will return a 404 until a new default is set.\n",
761
- "tags": [
762
- "Kanban"
763
- ],
764
- "responses": {
765
- "200": {
766
- "description": "Successfully cleared default board",
767
- "content": {
768
- "application/json": {
769
- "schema": {
770
- "type": "object",
771
- "properties": {
772
- "message": {
773
- "type": "string"
774
- },
775
- "default_board_id": {
776
- "type": "string",
777
- "nullable": true
778
- }
779
- }
780
- },
781
- "example": {
782
- "message": "Default board cleared successfully",
783
- "default_board_id": null
784
- }
785
- }
786
- }
787
- },
788
- "401": {
789
- "description": "Unauthorized - Authentication required",
790
- "content": {
791
- "application/json": {
792
- "schema": {
793
- "$ref": "#/components/schemas/Error"
794
- }
795
- }
796
- }
797
- },
798
- "403": {
799
- "description": "Forbidden - Insufficient permissions",
800
- "content": {
801
- "application/json": {
802
- "schema": {
803
- "$ref": "#/components/schemas/Error"
804
- }
805
- }
806
- }
807
- },
808
- "500": {
809
- "description": "Internal server error",
810
- "content": {
811
- "application/json": {
812
- "schema": {
813
- "$ref": "#/components/schemas/Error"
814
- }
815
- }
816
- }
817
- }
818
- }
819
- }
820
- },
821
- "/v1/kanban/query/flows:autocomplete": {
822
- "get": {
823
- "operationId": "flowsAutocomplete",
824
- "summary": "flowsAutocomplete",
825
- "description": "Returns autocomplete suggestions for a given attribute in the Flows dataset.\n\nUse this endpoint to power filter dropdowns and search inputs in the Kanban board configuration UI.\nThe `attribute` parameter specifies which field to autocomplete (e.g. `name`, `assignee`, `status`).\nThe optional `input` parameter filters results to those matching the typed prefix.\n",
826
- "tags": [
827
- "Query"
828
- ],
829
- "parameters": [
830
- {
831
- "name": "input",
832
- "in": "query",
833
- "description": "Typed input string to filter autocomplete suggestions",
834
- "schema": {
835
- "type": "string"
836
- },
837
- "example": "John"
838
- },
839
- {
840
- "name": "attribute",
841
- "in": "query",
842
- "description": "The field name to autocomplete values for",
843
- "schema": {
844
- "type": "string",
845
- "example": "name"
846
- },
847
- "required": true
848
- },
849
- {
850
- "name": "size",
851
- "in": "query",
852
- "description": "Maximum number of results to return",
853
- "schema": {
854
- "type": "integer",
855
- "default": 25,
856
- "minimum": 1,
857
- "maximum": 250
858
- }
859
- },
860
- {
861
- "name": "from",
862
- "in": "query",
863
- "description": "Starting offset for pagination",
864
- "schema": {
865
- "type": "integer",
866
- "default": 0,
867
- "minimum": 0
868
- }
869
- }
870
- ],
871
- "responses": {
872
- "200": {
873
- "description": "Autocomplete results returned successfully",
874
- "content": {
875
- "application/json": {
876
- "schema": {
877
- "type": "object",
878
- "properties": {
879
- "results": {
880
- "type": "array",
881
- "items": {
882
- "anyOf": [
883
- {
884
- "type": "string"
885
- },
886
- {
887
- "type": "boolean"
888
- },
889
- {
890
- "type": "object",
891
- "additionalProperties": true
892
- }
893
- ]
894
- },
895
- "example": [
896
- "value"
897
- ]
898
- },
899
- "hits": {
900
- "type": "number",
901
- "description": "Total number of matching items available",
902
- "example": 42
903
- }
904
- },
905
- "required": [
906
- "results",
907
- "hits"
908
- ]
909
- }
910
- }
911
- }
912
- },
913
- "400": {
914
- "description": "Bad request - Missing or invalid parameters",
915
- "content": {
916
- "application/json": {
917
- "schema": {
918
- "$ref": "#/components/schemas/Error"
919
- }
920
- }
921
- }
922
- },
923
- "401": {
924
- "description": "Unauthorized - Authentication required",
925
- "content": {
926
- "application/json": {
927
- "schema": {
928
- "$ref": "#/components/schemas/Error"
929
- }
930
- }
931
- }
932
- },
933
- "403": {
934
- "description": "Forbidden - Insufficient permissions",
935
- "content": {
936
- "application/json": {
937
- "schema": {
938
- "$ref": "#/components/schemas/Error"
939
- }
940
- }
941
- }
942
- },
943
- "500": {
944
- "description": "Internal server error",
945
- "content": {
946
- "application/json": {
947
- "schema": {
948
- "$ref": "#/components/schemas/Error"
949
- }
950
- }
951
- }
952
- }
953
- }
954
- }
955
- },
956
- "/v1/kanban/query/flows:execute": {
957
- "post": {
958
- "operationId": "executeFlowsQuery",
959
- "summary": "executeFlowsQuery",
960
- "description": "Executes a query against the Flows dataset and returns paginated results for use in Kanban card rendering.\n\nSupports filtering with complex AND/OR logic, sorting, and offset-based pagination.\nResults are used to populate Kanban swimlane cards with real-time workflow task data.\n",
961
- "tags": [
962
- "Query"
963
- ],
964
- "requestBody": {
965
- "required": true,
966
- "content": {
967
- "application/json": {
968
- "schema": {
969
- "$ref": "#/components/schemas/FlowsQueryRequest"
970
- },
971
- "example": {
972
- "filters": {
973
- "items": [
974
- {
975
- "key": "status",
976
- "operator": "IS_ONE_OF",
977
- "value": [
978
- "open",
979
- "in_progress"
980
- ],
981
- "data_type": "string"
982
- }
983
- ],
984
- "combination": "AND"
985
- },
986
- "sorting": {
987
- "field": "created_at",
988
- "direction": "desc"
989
- },
990
- "from": 0,
991
- "size": 10
992
- }
993
- }
994
- }
995
- },
996
- "responses": {
997
- "200": {
998
- "description": "Query executed successfully",
999
- "content": {
1000
- "application/json": {
1001
- "schema": {
1002
- "$ref": "#/components/schemas/FlowsQueryResult"
1003
- },
1004
- "example": {
1005
- "results": [
1006
- {
1007
- "id": "flow-001",
1008
- "status": "open",
1009
- "assignee": "user-1",
1010
- "created_at": "2024-01-10T08:00:00.000Z"
1011
- }
1012
- ],
1013
- "hits": 42,
1014
- "page_number": 1,
1015
- "page_size": 10,
1016
- "total_pages": 5
1017
- }
1018
- }
1019
- }
1020
- },
1021
- "400": {
1022
- "description": "Bad request - Invalid filter or sort configuration",
1023
- "content": {
1024
- "application/json": {
1025
- "schema": {
1026
- "$ref": "#/components/schemas/Error"
1027
- }
1028
- }
1029
- }
1030
- },
1031
- "401": {
1032
- "description": "Unauthorized - Authentication required",
1033
- "content": {
1034
- "application/json": {
1035
- "schema": {
1036
- "$ref": "#/components/schemas/Error"
1037
- }
1038
- }
1039
- }
1040
- },
1041
- "403": {
1042
- "description": "Forbidden - Insufficient permissions",
1043
- "content": {
1044
- "application/json": {
1045
- "schema": {
1046
- "$ref": "#/components/schemas/Error"
1047
- }
1048
- }
1049
- }
1050
- },
1051
- "500": {
1052
- "description": "Internal server error",
1053
- "content": {
1054
- "application/json": {
1055
- "schema": {
1056
- "$ref": "#/components/schemas/Error"
1057
- }
1058
- }
1059
- }
1060
- }
1061
- }
1062
- }
1063
- }
1064
- },
1065
- "components": {
1066
- "securitySchemes": {
1067
- "EpilotAuth": {
1068
- "type": "http",
1069
- "scheme": "bearer",
1070
- "description": "Authorization header with epilot OAuth2 bearer token",
1071
- "bearerFormat": "JWT"
1072
- },
1073
- "EpilotOrg": {
1074
- "description": "Overrides the target organization to allow shared tenant access",
1075
- "name": "x-epilot-org-id",
1076
- "in": "header",
1077
- "type": "apiKey"
1078
- }
1079
- },
1080
- "schemas": {
1081
- "Error": {
1082
- "type": "object",
1083
- "description": "Standard error response",
1084
- "properties": {
1085
- "message": {
1086
- "type": "string",
1087
- "description": "Human-readable error message",
1088
- "example": "Board not found"
1089
- },
1090
- "status": {
1091
- "type": "integer",
1092
- "description": "HTTP status code",
1093
- "example": 404
1094
- }
1095
- }
1096
- },
1097
- "BoardSummary": {
1098
- "type": "object",
1099
- "description": "Summary representation of a Kanban board, returned in list responses. Does not include swimlane and filter configuration details.",
1100
- "properties": {
1101
- "id": {
1102
- "type": "string"
1103
- },
1104
- "title": {
1105
- "type": "string",
1106
- "example": "Board 1"
1107
- },
1108
- "description": {
1109
- "type": "string",
1110
- "example": "Board description"
1111
- },
1112
- "created_at": {
1113
- "type": "string",
1114
- "format": "date-time"
1115
- },
1116
- "updated_at": {
1117
- "type": "string",
1118
- "format": "date-time"
1119
- },
1120
- "created_by": {
1121
- "type": "string"
1122
- },
1123
- "org_id": {
1124
- "type": "string"
1125
- },
1126
- "updated_by": {
1127
- "type": "string"
1128
- },
1129
- "shared_with": {
1130
- "type": "array",
1131
- "items": {
1132
- "type": "string"
1133
- }
1134
- },
1135
- "shared_with_org": {
1136
- "type": "boolean"
1137
- },
1138
- "owners": {
1139
- "type": "array",
1140
- "items": {
1141
- "type": "string"
1142
- },
1143
- "description": "Array of user IDs who have full ownership rights for this board (view, edit, delete)"
1144
- }
1145
- }
1146
- },
1147
- "Board": {
1148
- "description": "Full representation of a Kanban board, including swimlane layout, filter configuration, card display fields, and sorting options.",
1149
- "allOf": [
1150
- {
1151
- "$ref": "#/components/schemas/BoardSummary"
1152
- },
1153
- {
1154
- "type": "object",
1155
- "properties": {
1156
- "config": {
1157
- "type": "object",
1158
- "properties": {
1159
- "dataset": {
1160
- "type": "string",
1161
- "example": "workflow_tasks_overview"
1162
- },
1163
- "swimlanes": {
1164
- "type": "array",
1165
- "items": {
1166
- "$ref": "#/components/schemas/Swimlane"
1167
- }
1168
- },
1169
- "card_config": {
1170
- "type": "object",
1171
- "properties": {
1172
- "fields": {
1173
- "type": "array",
1174
- "items": {
1175
- "type": "string",
1176
- "example": "assignee"
1177
- }
1178
- }
1179
- }
1180
- },
1181
- "board_filter": {
1182
- "$ref": "#/components/schemas/BoardFilter"
1183
- },
1184
- "sorting": {
1185
- "$ref": "#/components/schemas/Sorting"
1186
- },
1187
- "group_by": {
1188
- "$ref": "#/components/schemas/GroupBy"
1189
- },
1190
- "search_query": {
1191
- "type": "string",
1192
- "example": "task 1"
1193
- }
1194
- }
1195
- }
1196
- },
1197
- "required": [
1198
- "title",
1199
- "config"
1200
- ]
1201
- }
1202
- ]
1203
- },
1204
- "Swimlane": {
1205
- "type": "object",
1206
- "description": "A vertical column in a Kanban board that groups workflow tasks or entities matching its filter criteria. Each swimlane has an independent filter and a display position.",
1207
- "properties": {
1208
- "id": {
1209
- "type": "string"
1210
- },
1211
- "title": {
1212
- "type": "string",
1213
- "example": "Swimlane 1"
1214
- },
1215
- "position": {
1216
- "type": "number",
1217
- "example": 1
1218
- },
1219
- "filter": {
1220
- "$ref": "#/components/schemas/BoardFilter"
1221
- },
1222
- "title_chip_variant": {
1223
- "type": "string",
1224
- "example": "success"
1225
- }
1226
- }
1227
- },
1228
- "Sorting": {
1229
- "type": "object",
1230
- "description": "Defines how query results should be sorted. Specify a field name and sort direction.",
1231
- "properties": {
1232
- "field": {
1233
- "type": "string",
1234
- "example": "created_at"
1235
- },
1236
- "direction": {
1237
- "type": "string",
1238
- "enum": [
1239
- "asc",
1240
- "desc"
1241
- ],
1242
- "default": "asc"
1243
- }
1244
- },
1245
- "required": [
1246
- "field"
1247
- ]
1248
- },
1249
- "GroupBy": {
1250
- "type": "object",
1251
- "description": "Defines how tasks should be grouped within each swimlane. Tasks with the same group value are returned adjacently in the result set.",
1252
- "required": [
1253
- "field"
1254
- ],
1255
- "properties": {
1256
- "field": {
1257
- "type": "string",
1258
- "enum": [
1259
- "context_entity",
1260
- "phase"
1261
- ],
1262
- "description": "Property to group tasks by within each swimlane"
1263
- }
1264
- }
1265
- },
1266
- "BoardFilter": {
1267
- "type": "object",
1268
- "description": "A filter group containing one or more filter items or nested filter groups. Items are combined using the specified logical operator (AND/OR).",
1269
- "properties": {
1270
- "items": {
1271
- "type": "array",
1272
- "items": {
1273
- "oneOf": [
1274
- {
1275
- "$ref": "#/components/schemas/FilterItem"
1276
- },
1277
- {
1278
- "$ref": "#/components/schemas/FilterGroup"
1279
- }
1280
- ]
1281
- }
1282
- },
1283
- "combination": {
1284
- "type": "string",
1285
- "enum": [
1286
- "AND",
1287
- "OR"
1288
- ],
1289
- "example": "OR"
1290
- }
1291
- },
1292
- "required": [
1293
- "items",
1294
- "combination"
1295
- ]
1296
- },
1297
- "FilterGroup": {
1298
- "type": "object",
1299
- "properties": {
1300
- "items": {
1301
- "type": "array",
1302
- "items": {
1303
- "$ref": "#/components/schemas/FilterItem"
1304
- }
1305
- },
1306
- "combination": {
1307
- "type": "string",
1308
- "enum": [
1309
- "AND",
1310
- "OR"
1311
- ],
1312
- "example": "AND"
1313
- }
1314
- },
1315
- "required": [
1316
- "items",
1317
- "combination"
1318
- ]
1319
- },
1320
- "FilterOperator": {
1321
- "type": "string",
1322
- "enum": [
1323
- "EQUALS",
1324
- "NOT_EQUALS",
1325
- "EMPTY",
1326
- "NOT_EMPTY",
1327
- "CONTAINS",
1328
- "NOT_CONTAINS",
1329
- "IS_ONE_OF",
1330
- "IS_NONE_OF",
1331
- "GREATER_THAN",
1332
- "LESS_THAN",
1333
- "GREATER_THAN_OR_EQUAL",
1334
- "LESS_THAN_OR_EQUAL"
1335
- ],
1336
- "example": "EQUALS",
1337
- "description": "The comparison operator for filtering"
1338
- },
1339
- "DynamicDateValue": {
1340
- "type": "string",
1341
- "enum": [
1342
- "TODAY",
1343
- "TOMORROW",
1344
- "YESTERDAY",
1345
- "IN_THE_FUTURE",
1346
- "IN_THE_PAST",
1347
- "THIS_WEEK",
1348
- "NEXT_WEEK",
1349
- "LAST_WEEK",
1350
- "THIS_MONTH",
1351
- "NEXT_MONTH",
1352
- "LAST_MONTH",
1353
- "TODAY_OR_EARLIER"
1354
- ],
1355
- "description": "Dynamic date keywords that resolve to actual dates at runtime"
1356
- },
1357
- "ValueType": {
1358
- "anyOf": [
1359
- {
1360
- "type": "string",
1361
- "example": "100020"
1362
- },
1363
- {
1364
- "$ref": "#/components/schemas/DynamicDateValue"
1365
- },
1366
- {
1367
- "type": "number",
1368
- "example": 42
1369
- },
1370
- {
1371
- "type": "boolean",
1372
- "example": true
1373
- },
1374
- {
1375
- "type": "array",
1376
- "items": {
1377
- "anyOf": [
1378
- {
1379
- "type": "string"
1380
- },
1381
- {
1382
- "$ref": "#/components/schemas/DynamicDateValue"
1383
- },
1384
- {
1385
- "type": "number"
1386
- },
1387
- {
1388
- "type": "boolean"
1389
- }
1390
- ]
1391
- },
1392
- "example": [
1393
- "value1",
1394
- "value2",
1395
- 123,
1396
- true
1397
- ]
1398
- }
1399
- ],
1400
- "description": "The value to compare against - can be a single value (string, number, boolean, or dynamic date) or an array of values"
1401
- },
1402
- "FlowsQueryRequest": {
1403
- "type": "object",
1404
- "description": "Request payload for executing a query against the Flows dataset. Supports filter conditions, sorting, grouping, and offset-based pagination.",
1405
- "properties": {
1406
- "filters": {
1407
- "$ref": "#/components/schemas/BoardFilter",
1408
- "description": "Optional filter conditions to narrow the result set using AND/OR logic."
1409
- },
1410
- "sorting": {
1411
- "$ref": "#/components/schemas/Sorting",
1412
- "description": "Sort the results by a specific field and direction."
1413
- },
1414
- "group_by": {
1415
- "$ref": "#/components/schemas/GroupBy",
1416
- "description": "Group tasks by a shared property within each swimlane. Grouped tasks are returned adjacently in the result set."
1417
- },
1418
- "from": {
1419
- "type": "number",
1420
- "default": 0,
1421
- "description": "Zero-based offset for pagination. Use with `size` to paginate through results.",
1422
- "example": 0
1423
- },
1424
- "size": {
1425
- "type": "number",
1426
- "default": 10,
1427
- "description": "Number of results to return per page.",
1428
- "example": 10
1429
- }
1430
- }
1431
- },
1432
- "FlowsQueryResult": {
1433
- "type": "object",
1434
- "description": "Paginated result set returned from a Flows query. Each item in `results` is a workflow task record with dynamic fields depending on the dataset configuration.",
1435
- "properties": {
1436
- "results": {
1437
- "type": "array",
1438
- "description": "Array of matching workflow task records. Fields vary based on the dataset and card configuration.",
1439
- "items": {
1440
- "type": "object",
1441
- "additionalProperties": true
1442
- }
1443
- },
1444
- "hits": {
1445
- "type": "number",
1446
- "description": "Total number of records matching the query (across all pages).",
1447
- "example": 42
1448
- },
1449
- "page_number": {
1450
- "type": "number",
1451
- "description": "Current page number (1-based).",
1452
- "example": 1
1453
- },
1454
- "page_size": {
1455
- "type": "number",
1456
- "description": "Number of results per page (matches the `size` request parameter).",
1457
- "example": 10
1458
- },
1459
- "total_pages": {
1460
- "type": "number",
1461
- "description": "Total number of available pages based on `hits` and `page_size`.",
1462
- "example": 5
1463
- }
1464
- },
1465
- "additionalProperties": true
1466
- },
1467
- "FilterItem": {
1468
- "type": "object",
1469
- "properties": {
1470
- "key": {
1471
- "type": "string",
1472
- "example": "assignee",
1473
- "description": "The field key to filter on"
1474
- },
1475
- "operator": {
1476
- "$ref": "#/components/schemas/FilterOperator"
1477
- },
1478
- "value": {
1479
- "$ref": "#/components/schemas/ValueType"
1480
- },
1481
- "data_type": {
1482
- "type": "string",
1483
- "enum": [
1484
- "string",
1485
- "number",
1486
- "boolean",
1487
- "date"
1488
- ],
1489
- "example": "string",
1490
- "description": "The data type of the field"
1491
- }
1492
- },
1493
- "required": [
1494
- "key",
1495
- "operator"
1496
- ]
1497
- }
1498
- }
1499
- },
1500
- "servers": [
1501
- {
1502
- "url": "https://kanban.sls.epilot.io"
1503
- }
1504
- ]
1505
- }