@epilot/cli 0.1.10 → 0.1.12

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 (89) hide show
  1. package/README.md +18 -21
  2. package/definitions/app.json +56 -6
  3. package/definitions/automation.json +214 -1
  4. package/definitions/blueprint-manifest.json +1303 -60
  5. package/definitions/customer-portal.json +757 -81
  6. package/definitions/data-governance.json +1126 -0
  7. package/definitions/deduplication.json +135 -4
  8. package/definitions/design.json +103 -57
  9. package/definitions/email-settings.json +150 -0
  10. package/definitions/email-template.json +25 -3
  11. package/definitions/entity.json +405 -5
  12. package/definitions/erp-integration.json +3140 -1049
  13. package/definitions/integration-toolkit.json +7998 -0
  14. package/definitions/journey.json +18 -1
  15. package/definitions/kanban.json +25 -1
  16. package/definitions/message.json +202 -0
  17. package/definitions/organization.json +35 -1
  18. package/definitions/partner-directory.json +795 -229
  19. package/definitions/permissions.json +41 -6
  20. package/definitions/sharing.json +956 -0
  21. package/definitions/template-variables.json +12 -4
  22. package/definitions/webhooks.json +111 -2
  23. package/definitions/workflow-definition.json +87 -202
  24. package/definitions/workflow.json +142 -0
  25. package/dist/{access-token-PTTCRMGK.js → access-token-CIM4RLBP.js} +1 -1
  26. package/dist/add-component-AAVQVPKK.js +296 -0
  27. package/dist/{address-2FDPEPR6.js → address-EDRTUWTP.js} +1 -1
  28. package/dist/{address-suggestions-XBEK5DDQ.js → address-suggestions-S5WEST2N.js} +1 -1
  29. package/dist/{ai-agents-ZY5BNVTN.js → ai-agents-RXDDJDAR.js} +1 -1
  30. package/dist/{app-IT5FWGUK.js → api-36XROHLK.js} +5 -5
  31. package/dist/app-I3XXHZLD.js +24 -0
  32. package/dist/{audit-logs-FB4TE4TI.js → audit-logs-PXGDGJGV.js} +1 -1
  33. package/dist/{automation-JE5LDKJM.js → automation-LS6MVLP2.js} +1 -1
  34. package/dist/{billing-GOFCP5T3.js → billing-KVYFUKZK.js} +1 -1
  35. package/dist/bin/epilot.js +53 -52
  36. package/dist/{blueprint-manifest-WJIQKFYK.js → blueprint-manifest-W4ZGJD2Z.js} +1 -1
  37. package/dist/{chunk-P5IZZW4Y.js → chunk-BYAEI4Z2.js} +1 -1
  38. package/dist/chunk-CEP7S7X3.js +366 -0
  39. package/dist/{chunk-MNSG22DM.js → chunk-F6KWKTQJ.js} +124 -63
  40. package/dist/{completion-HZNPHJI4.js → completion-QP4IYMVI.js} +1 -1
  41. package/dist/{consent-DSMWWHUL.js → consent-M4QB2HPM.js} +1 -1
  42. package/dist/{customer-portal-IJYTJYUZ.js → customer-portal-SVO2YCXA.js} +1 -1
  43. package/dist/{dashboard-DOAX6XDG.js → dashboard-CYCXIX74.js} +1 -1
  44. package/dist/{data-management-C4JPPUPD.js → data-governance-DJAAIE6F.js} +6 -6
  45. package/dist/{deduplication-7OGLZLAC.js → deduplication-M3KEVJRG.js} +1 -1
  46. package/dist/deploy-4XDFWOEV.js +214 -0
  47. package/dist/{design-3CAYTWFY.js → design-UVJJ2KO2.js} +1 -1
  48. package/dist/{document-NT5JOJQV.js → document-5HB632XE.js} +1 -1
  49. package/dist/{email-settings-2M3WJTQS.js → email-settings-H7HQTDYE.js} +1 -1
  50. package/dist/{email-template-F4PLBPPC.js → email-template-2DHZ3VKF.js} +1 -1
  51. package/dist/{entity-32LKMZAU.js → entity-HED6QHG7.js} +1 -1
  52. package/dist/{entity-mapping-OBCZDYQJ.js → entity-mapping-QP22B65Z.js} +1 -1
  53. package/dist/{environments-H3TBCDQE.js → environments-6LLEIGWV.js} +1 -1
  54. package/dist/{event-catalog-NVAPTZ4M.js → event-catalog-2ZCZTATY.js} +1 -1
  55. package/dist/export-JA5N4JCJ.js +44 -0
  56. package/dist/{file-US2HR4SV.js → file-R6IIXOIZ.js} +1 -1
  57. package/dist/{iban-7QUCOULB.js → iban-EQD2VROZ.js} +1 -1
  58. package/dist/init-5KGNJEWF.js +524 -0
  59. package/dist/integration-toolkit-4CLQDSK7.js +54 -0
  60. package/dist/{journey-E5T4BZZX.js → journey-V7X2KUKH.js} +1 -1
  61. package/dist/{kanban-7UHU5VE6.js → kanban-EPI6C3FR.js} +1 -1
  62. package/dist/{message-7KY33RJE.js → message-477EJ5JO.js} +1 -1
  63. package/dist/{metering-P7BZGMY7.js → metering-5EAEKRSL.js} +1 -1
  64. package/dist/{notes-TNJ7FPA3.js → notes-CVXNRULU.js} +1 -1
  65. package/dist/{notification-6KXEFVO5.js → notification-6HXS76XP.js} +1 -1
  66. package/dist/{organization-FF4Y3PBO.js → organization-O33CZQKD.js} +1 -1
  67. package/dist/{partner-directory-VH2SBAS2.js → partner-directory-NZWGCKSB.js} +2 -2
  68. package/dist/{permissions-KENZ4HNY.js → permissions-6QEOBJ6M.js} +1 -1
  69. package/dist/{pricing-P6QZ77VJ.js → pricing-KNYSULCW.js} +1 -1
  70. package/dist/{pricing-tier-2IRJMTM6.js → pricing-tier-OCHP6SHT.js} +1 -1
  71. package/dist/{purpose-IHROR6LQ.js → purpose-NGM42XWB.js} +1 -1
  72. package/dist/remove-component-LXSRR23E.js +89 -0
  73. package/dist/review-HFOO3NXE.js +69 -0
  74. package/dist/{sandbox-62XQPOU6.js → sandbox-YX3VVAQG.js} +1 -1
  75. package/dist/sharing-X5U53KSU.js +54 -0
  76. package/dist/{submission-PUWGOYQB.js → submission-YOWVSZNA.js} +1 -1
  77. package/dist/{targeting-QB3DFYNI.js → targeting-BMZCOG72.js} +1 -1
  78. package/dist/{template-variables-IPKRUJ4E.js → template-variables-YTABZL3E.js} +1 -1
  79. package/dist/{upgrade-TNDH4WGQ.js → upgrade-SYSSIAQC.js} +1 -1
  80. package/dist/{user-2CP75TFC.js → user-3N5ZOUYS.js} +1 -1
  81. package/dist/validate-TUMXW56Y.js +53 -0
  82. package/dist/{validation-rules-GNI4EEG5.js → validation-rules-QVS7LKEP.js} +1 -1
  83. package/dist/versions-ZTWQAGXY.js +109 -0
  84. package/dist/{webhooks-2OWUX7UL.js → webhooks-6WMWACOW.js} +1 -1
  85. package/dist/{workflow-WSLERVJI.js → workflow-ZO2MKDBS.js} +1 -1
  86. package/dist/{workflow-definition-FP3WKHGG.js → workflow-definition-RCWKIPYI.js} +1 -1
  87. package/package.json +2 -1
  88. package/definitions/data-management.json +0 -962
  89. package/dist/erp-integration-UW6H55EK.js +0 -54
@@ -1,962 +0,0 @@
1
- {
2
- "openapi": "3.0.3",
3
- "info": {
4
- "title": "Data Management API",
5
- "version": "1.2.0"
6
- },
7
- "tags": [
8
- {
9
- "name": "Data Management",
10
- "description": "Data Management endpoints"
11
- }
12
- ],
13
- "security": [
14
- {
15
- "EpilotAuth": []
16
- },
17
- {
18
- "EpilotOrg": []
19
- }
20
- ],
21
- "paths": {
22
- "/data-management/v1/{entity_schema}/query": {
23
- "post": {
24
- "operationId": "queryEntities",
25
- "summary": "Query entities using a saved view with additional data filters",
26
- "description": "Executes a query against the specified entity schema using the saved view definition, optionally combined with additional filters. Returns the entities matching the composed query.\n",
27
- "tags": [
28
- "Data Management"
29
- ],
30
- "parameters": [
31
- {
32
- "name": "entity_schema",
33
- "in": "path",
34
- "required": true,
35
- "description": "Target entity schema to query (for example: \"contact\", \"opportunity\", \"order\").\n",
36
- "schema": {
37
- "type": "string"
38
- }
39
- }
40
- ],
41
- "requestBody": {
42
- "required": true,
43
- "content": {
44
- "application/json": {
45
- "schema": {
46
- "$ref": "#/components/schemas/QueryEntitiesRequest"
47
- }
48
- }
49
- }
50
- },
51
- "responses": {
52
- "200": {
53
- "description": "Query results",
54
- "content": {
55
- "application/json": {
56
- "schema": {
57
- "$ref": "#/components/schemas/QueryEntitiesResult"
58
- }
59
- }
60
- }
61
- }
62
- }
63
- }
64
- },
65
- "/data-management/v1/{entity_schema}/jobs": {
66
- "post": {
67
- "operationId": "createJob",
68
- "summary": "Create a new job run",
69
- "tags": [
70
- "Data Management"
71
- ],
72
- "parameters": [
73
- {
74
- "name": "entity_schema",
75
- "in": "path",
76
- "required": true,
77
- "schema": {
78
- "type": "string"
79
- }
80
- }
81
- ],
82
- "requestBody": {
83
- "required": true,
84
- "content": {
85
- "application/json": {
86
- "schema": {
87
- "$ref": "#/components/schemas/CreateJobRequest"
88
- }
89
- }
90
- }
91
- },
92
- "responses": {
93
- "201": {
94
- "description": "Job created",
95
- "content": {
96
- "application/json": {
97
- "schema": {
98
- "$ref": "#/components/schemas/Job"
99
- }
100
- }
101
- }
102
- }
103
- }
104
- }
105
- },
106
- "/data-management/v1/{entity_schema}/jobs/{job_id}": {
107
- "patch": {
108
- "operationId": "updateJob",
109
- "summary": "Update an existing job run",
110
- "tags": [
111
- "Data Management"
112
- ],
113
- "parameters": [
114
- {
115
- "name": "entity_schema",
116
- "in": "path",
117
- "required": true,
118
- "schema": {
119
- "type": "string"
120
- }
121
- },
122
- {
123
- "name": "job_id",
124
- "in": "path",
125
- "required": true,
126
- "schema": {
127
- "type": "string"
128
- }
129
- }
130
- ],
131
- "requestBody": {
132
- "required": true,
133
- "content": {
134
- "application/json": {
135
- "schema": {
136
- "$ref": "#/components/schemas/UpdateJobRequest"
137
- }
138
- }
139
- }
140
- },
141
- "responses": {
142
- "200": {
143
- "description": "Job updated",
144
- "content": {
145
- "application/json": {
146
- "schema": {
147
- "$ref": "#/components/schemas/Job"
148
- }
149
- }
150
- }
151
- },
152
- "404": {
153
- "description": "Job not found"
154
- }
155
- }
156
- }
157
- },
158
- "/data-management/v1/jobs/{job_id}": {
159
- "get": {
160
- "operationId": "getJob",
161
- "summary": "Get a job by id",
162
- "description": "Returns details of a single job run.\n",
163
- "tags": [
164
- "Data Management"
165
- ],
166
- "parameters": [
167
- {
168
- "name": "job_id",
169
- "in": "path",
170
- "required": true,
171
- "schema": {
172
- "type": "string"
173
- }
174
- }
175
- ],
176
- "responses": {
177
- "200": {
178
- "description": "Job",
179
- "content": {
180
- "application/json": {
181
- "schema": {
182
- "$ref": "#/components/schemas/Job"
183
- }
184
- }
185
- }
186
- },
187
- "404": {
188
- "description": "Job not found"
189
- }
190
- }
191
- }
192
- },
193
- "/data-management/v1/jobs/{job_id}/report-url": {
194
- "get": {
195
- "operationId": "getJobReportUrl",
196
- "summary": "Get report download URL for a job",
197
- "description": "Returns a short-lived, pre-signed URL to download the report file for the given job.\n",
198
- "tags": [
199
- "Data Management"
200
- ],
201
- "parameters": [
202
- {
203
- "name": "job_id",
204
- "in": "path",
205
- "required": true,
206
- "schema": {
207
- "type": "string"
208
- }
209
- }
210
- ],
211
- "responses": {
212
- "200": {
213
- "description": "Pre-signed report download URL",
214
- "content": {
215
- "application/json": {
216
- "schema": {
217
- "$ref": "#/components/schemas/JobReportUrlResponse"
218
- }
219
- }
220
- }
221
- },
222
- "404": {
223
- "description": "Job or report not found"
224
- }
225
- }
226
- }
227
- },
228
- "/data-management/v1/configs/{config_id}": {
229
- "get": {
230
- "operationId": "getConfig",
231
- "summary": "Get a config by id",
232
- "description": "Returns a data management config by its id.\n",
233
- "tags": [
234
- "Data Management"
235
- ],
236
- "parameters": [
237
- {
238
- "name": "config_id",
239
- "in": "path",
240
- "required": true,
241
- "schema": {
242
- "type": "string"
243
- }
244
- }
245
- ],
246
- "responses": {
247
- "200": {
248
- "description": "Config",
249
- "content": {
250
- "application/json": {
251
- "schema": {
252
- "$ref": "#/components/schemas/Config"
253
- }
254
- }
255
- }
256
- },
257
- "404": {
258
- "description": "Config not found"
259
- }
260
- }
261
- }
262
- },
263
- "/data-management/v1/configs/{config_id}/jobs": {
264
- "post": {
265
- "operationId": "createJobForConfig",
266
- "summary": "Trigger a manual job run for a config",
267
- "description": "Creates a job run for the given config and triggers asynchronous execution. Returns a job id which can be used to poll job status.\n",
268
- "tags": [
269
- "Data Management"
270
- ],
271
- "parameters": [
272
- {
273
- "name": "config_id",
274
- "in": "path",
275
- "required": true,
276
- "schema": {
277
- "type": "string"
278
- }
279
- }
280
- ],
281
- "responses": {
282
- "201": {
283
- "description": "Job created and queued",
284
- "content": {
285
- "application/json": {
286
- "schema": {
287
- "$ref": "#/components/schemas/Job"
288
- }
289
- }
290
- }
291
- },
292
- "404": {
293
- "description": "Config not found"
294
- }
295
- }
296
- }
297
- },
298
- "/data-management/v1/{entity_schema}/configs": {
299
- "post": {
300
- "operationId": "upsertConfig",
301
- "summary": "Upsert config",
302
- "description": "Creates or updates a config for the given entity schema. The config is later used by a scheduled background process to periodically query and act on matching entities (for example, deletion).\n",
303
- "tags": [
304
- "Data Management"
305
- ],
306
- "parameters": [
307
- {
308
- "name": "entity_schema",
309
- "in": "path",
310
- "required": true,
311
- "description": "Target entity schema for the config\n",
312
- "schema": {
313
- "type": "string"
314
- }
315
- }
316
- ],
317
- "requestBody": {
318
- "required": true,
319
- "content": {
320
- "application/json": {
321
- "schema": {
322
- "$ref": "#/components/schemas/UpsertConfigRequest"
323
- }
324
- }
325
- }
326
- },
327
- "responses": {
328
- "200": {
329
- "description": "Config updated",
330
- "content": {
331
- "application/json": {
332
- "schema": {
333
- "$ref": "#/components/schemas/Config"
334
- }
335
- }
336
- }
337
- },
338
- "201": {
339
- "description": "Config created",
340
- "content": {
341
- "application/json": {
342
- "schema": {
343
- "$ref": "#/components/schemas/Config"
344
- }
345
- }
346
- }
347
- }
348
- }
349
- }
350
- },
351
- "/data-management/v1/configs": {
352
- "get": {
353
- "operationId": "listConfigs",
354
- "summary": "List configs",
355
- "description": "Returns a paginated list of configs\n",
356
- "tags": [
357
- "Data Management"
358
- ],
359
- "parameters": [
360
- {
361
- "name": "limit",
362
- "in": "query",
363
- "required": false,
364
- "schema": {
365
- "type": "integer",
366
- "default": 25
367
- }
368
- },
369
- {
370
- "name": "cursor",
371
- "in": "query",
372
- "required": false,
373
- "schema": {
374
- "type": "string"
375
- }
376
- },
377
- {
378
- "name": "entity_schema",
379
- "in": "query",
380
- "required": false,
381
- "description": "Optional entity schema to filter configs.",
382
- "schema": {
383
- "type": "string"
384
- }
385
- },
386
- {
387
- "name": "type",
388
- "in": "query",
389
- "required": false,
390
- "description": "Optional config type to filter configs.",
391
- "schema": {
392
- "$ref": "#/components/schemas/ConfigType"
393
- }
394
- },
395
- {
396
- "name": "next_run_at",
397
- "in": "query",
398
- "required": false,
399
- "description": "Optional next run date (YYYY-MM-DD) to filter configs.",
400
- "schema": {
401
- "type": "string",
402
- "format": "date"
403
- }
404
- },
405
- {
406
- "name": "enabled",
407
- "in": "query",
408
- "required": false,
409
- "description": "Optional enabled status to filter configs.",
410
- "schema": {
411
- "type": "boolean"
412
- }
413
- }
414
- ],
415
- "responses": {
416
- "200": {
417
- "description": "List of configs",
418
- "content": {
419
- "application/json": {
420
- "schema": {
421
- "$ref": "#/components/schemas/ListConfigsResponse"
422
- }
423
- }
424
- }
425
- }
426
- }
427
- }
428
- },
429
- "/data-management/v1/jobs": {
430
- "get": {
431
- "operationId": "listJobs",
432
- "summary": "List jobs",
433
- "description": "Returns a paginated list of jobs\n",
434
- "tags": [
435
- "Data Management"
436
- ],
437
- "parameters": [
438
- {
439
- "name": "limit",
440
- "in": "query",
441
- "required": false,
442
- "schema": {
443
- "type": "integer",
444
- "default": 25
445
- }
446
- },
447
- {
448
- "name": "cursor",
449
- "in": "query",
450
- "required": false,
451
- "schema": {
452
- "type": "string"
453
- }
454
- },
455
- {
456
- "name": "entity_schema",
457
- "in": "query",
458
- "required": false,
459
- "description": "Optional entity schema to filter jobs.",
460
- "schema": {
461
- "type": "string"
462
- }
463
- },
464
- {
465
- "name": "type",
466
- "in": "query",
467
- "required": false,
468
- "description": "Optional job type to filter jobs.",
469
- "schema": {
470
- "$ref": "#/components/schemas/ConfigType"
471
- }
472
- },
473
- {
474
- "name": "status",
475
- "in": "query",
476
- "required": false,
477
- "description": "Optional job status to filter jobs.",
478
- "schema": {
479
- "$ref": "#/components/schemas/JobStatus"
480
- }
481
- },
482
- {
483
- "name": "config_id",
484
- "in": "query",
485
- "required": false,
486
- "description": "Optional config id to filter jobs.",
487
- "schema": {
488
- "type": "string"
489
- }
490
- }
491
- ],
492
- "responses": {
493
- "200": {
494
- "description": "List of jobs",
495
- "content": {
496
- "application/json": {
497
- "schema": {
498
- "$ref": "#/components/schemas/ListJobsResponse"
499
- }
500
- }
501
- }
502
- }
503
- }
504
- }
505
- }
506
- },
507
- "components": {
508
- "securitySchemes": {
509
- "EpilotAuth": {
510
- "type": "http",
511
- "scheme": "bearer",
512
- "description": "Authorization header with epilot OAuth2 bearer token",
513
- "bearerFormat": "JWT"
514
- },
515
- "EpilotOrg": {
516
- "description": "Overrides the target organization to allow shared tenantaccess",
517
- "name": "x-epilot-org-id",
518
- "in": "header",
519
- "type": "apiKey"
520
- }
521
- },
522
- "schemas": {
523
- "ConfigType": {
524
- "type": "string",
525
- "description": "Type of configuration (e.g. deletion)",
526
- "enum": [
527
- "deletion"
528
- ]
529
- },
530
- "JobStatus": {
531
- "type": "string",
532
- "enum": [
533
- "in_progress",
534
- "success",
535
- "failed"
536
- ]
537
- },
538
- "JobTrigger": {
539
- "type": "string",
540
- "enum": [
541
- "schedule",
542
- "manual"
543
- ]
544
- },
545
- "JobReportFormat": {
546
- "type": "string",
547
- "enum": [
548
- "csv"
549
- ]
550
- },
551
- "JobReport": {
552
- "type": "object",
553
- "additionalProperties": false,
554
- "properties": {
555
- "bucket": {
556
- "type": "string"
557
- },
558
- "key": {
559
- "type": "string"
560
- },
561
- "format": {
562
- "$ref": "#/components/schemas/JobReportFormat"
563
- }
564
- }
565
- },
566
- "CreateJobRequest": {
567
- "type": "object",
568
- "additionalProperties": false,
569
- "required": [
570
- "type",
571
- "config_id",
572
- "scheduled_for"
573
- ],
574
- "properties": {
575
- "type": {
576
- "$ref": "#/components/schemas/ConfigType"
577
- },
578
- "config_id": {
579
- "type": "string"
580
- },
581
- "scheduled_for": {
582
- "type": "string",
583
- "format": "date"
584
- },
585
- "status": {
586
- "$ref": "#/components/schemas/JobStatus",
587
- "default": "in_progress"
588
- },
589
- "started_at": {
590
- "type": "string",
591
- "format": "date-time"
592
- }
593
- }
594
- },
595
- "JobDetails": {
596
- "type": "object",
597
- "description": "Generic, type-specific job details payload (e.g. matched count, deleted count, failed count, etc.).",
598
- "additionalProperties": true
599
- },
600
- "UpdateJobRequest": {
601
- "type": "object",
602
- "additionalProperties": false,
603
- "properties": {
604
- "status": {
605
- "$ref": "#/components/schemas/JobStatus"
606
- },
607
- "details": {
608
- "$ref": "#/components/schemas/JobDetails"
609
- },
610
- "completed_at": {
611
- "type": "string",
612
- "format": "date-time"
613
- },
614
- "error": {
615
- "type": "string"
616
- },
617
- "report": {
618
- "$ref": "#/components/schemas/JobReport"
619
- }
620
- }
621
- },
622
- "Job": {
623
- "type": "object",
624
- "additionalProperties": false,
625
- "required": [
626
- "id",
627
- "type",
628
- "config_id",
629
- "entity_schema",
630
- "scheduled_for",
631
- "status",
632
- "created_at",
633
- "last_updated_at"
634
- ],
635
- "properties": {
636
- "id": {
637
- "type": "string"
638
- },
639
- "type": {
640
- "$ref": "#/components/schemas/ConfigType"
641
- },
642
- "config_id": {
643
- "type": "string"
644
- },
645
- "entity_schema": {
646
- "type": "string"
647
- },
648
- "scheduled_for": {
649
- "type": "string",
650
- "format": "date"
651
- },
652
- "status": {
653
- "$ref": "#/components/schemas/JobStatus"
654
- },
655
- "details": {
656
- "$ref": "#/components/schemas/JobDetails"
657
- },
658
- "started_at": {
659
- "type": "string",
660
- "format": "date-time"
661
- },
662
- "completed_at": {
663
- "type": "string",
664
- "format": "date-time"
665
- },
666
- "error": {
667
- "type": "string"
668
- },
669
- "report": {
670
- "$ref": "#/components/schemas/JobReport"
671
- },
672
- "created_at": {
673
- "type": "string",
674
- "format": "date-time"
675
- },
676
- "last_updated_at": {
677
- "type": "string",
678
- "format": "date-time"
679
- },
680
- "trigger": {
681
- "$ref": "#/components/schemas/JobTrigger"
682
- },
683
- "triggered_by": {
684
- "type": "string",
685
- "nullable": true
686
- }
687
- }
688
- },
689
- "ListJobsResponse": {
690
- "type": "object",
691
- "properties": {
692
- "jobs": {
693
- "type": "array",
694
- "items": {
695
- "$ref": "#/components/schemas/Job"
696
- }
697
- },
698
- "cursor": {
699
- "type": "string",
700
- "nullable": true
701
- }
702
- }
703
- },
704
- "JobReportUrlResponse": {
705
- "type": "object",
706
- "properties": {
707
- "url": {
708
- "type": "string"
709
- },
710
- "expires_in": {
711
- "type": "integer"
712
- }
713
- }
714
- },
715
- "QueryFilterType": {
716
- "type": "string",
717
- "enum": [
718
- "entity_workflows_only_in_closed_or_cancelled_status",
719
- "no_related_entities",
720
- "related_entities_all_in_closed_or_cancelled_status",
721
- "related_entities_workflows_only_in_closed_or_cancelled_status",
722
- "no_email_communication_since"
723
- ]
724
- },
725
- "QueryFilter": {
726
- "type": "object",
727
- "required": [
728
- "type"
729
- ],
730
- "properties": {
731
- "type": {
732
- "$ref": "#/components/schemas/QueryFilterType"
733
- },
734
- "related_entity_schemas": {
735
- "type": "array",
736
- "items": {
737
- "type": "string"
738
- }
739
- },
740
- "lookback_period_days": {
741
- "type": "integer"
742
- }
743
- }
744
- },
745
- "QueryConfig": {
746
- "type": "object",
747
- "required": [
748
- "saved_view_id"
749
- ],
750
- "properties": {
751
- "saved_view_id": {
752
- "type": "string"
753
- },
754
- "include_deleted": {
755
- "type": "string",
756
- "enum": [
757
- "true",
758
- "false",
759
- "only"
760
- ]
761
- },
762
- "filters": {
763
- "type": "array",
764
- "items": {
765
- "$ref": "#/components/schemas/QueryFilter"
766
- }
767
- }
768
- }
769
- },
770
- "QueryEntitiesRequest": {
771
- "allOf": [
772
- {
773
- "$ref": "#/components/schemas/QueryConfig"
774
- },
775
- {
776
- "type": "object",
777
- "properties": {
778
- "from": {
779
- "type": "integer"
780
- },
781
- "size": {
782
- "type": "integer"
783
- },
784
- "hydrate": {
785
- "type": "boolean"
786
- },
787
- "fields": {
788
- "type": "array",
789
- "items": {
790
- "type": "string"
791
- }
792
- }
793
- }
794
- }
795
- ]
796
- },
797
- "QueryEntitiesResult": {
798
- "type": "object",
799
- "properties": {
800
- "hits": {
801
- "type": "number"
802
- },
803
- "results": {
804
- "type": "array",
805
- "items": {
806
- "type": "object",
807
- "additionalProperties": true
808
- }
809
- }
810
- }
811
- },
812
- "ConfigSchedule": {
813
- "$ref": "#/components/schemas/IntervalConfigSchedule"
814
- },
815
- "IntervalConfigSchedule": {
816
- "type": "object",
817
- "required": [
818
- "frequency",
819
- "interval_days"
820
- ],
821
- "properties": {
822
- "frequency": {
823
- "type": "string",
824
- "enum": [
825
- "interval"
826
- ]
827
- },
828
- "interval_days": {
829
- "type": "integer",
830
- "minimum": 1,
831
- "description": "Interval in days between executions"
832
- },
833
- "start_date": {
834
- "type": "string",
835
- "format": "date"
836
- },
837
- "end_date": {
838
- "type": "string",
839
- "format": "date"
840
- }
841
- }
842
- },
843
- "UpsertConfigRequest": {
844
- "type": "object",
845
- "required": [
846
- "type",
847
- "query",
848
- "schedule"
849
- ],
850
- "properties": {
851
- "type": {
852
- "$ref": "#/components/schemas/ConfigType"
853
- },
854
- "query": {
855
- "$ref": "#/components/schemas/QueryConfig"
856
- },
857
- "schedule": {
858
- "$ref": "#/components/schemas/ConfigSchedule"
859
- },
860
- "relations_for_deletion": {
861
- "type": "array",
862
- "items": {
863
- "$ref": "#/components/schemas/DeletionRelationEntitySchema"
864
- }
865
- },
866
- "enabled": {
867
- "type": "boolean",
868
- "default": true,
869
- "description": "Whether this configuration is active"
870
- }
871
- }
872
- },
873
- "Config": {
874
- "type": "object",
875
- "required": [
876
- "id",
877
- "entity_schema",
878
- "query",
879
- "type"
880
- ],
881
- "properties": {
882
- "id": {
883
- "type": "string"
884
- },
885
- "type": {
886
- "$ref": "#/components/schemas/ConfigType",
887
- "description": "Type of configuration. Currently only 'deletion' is supported."
888
- },
889
- "entity_schema": {
890
- "type": "string"
891
- },
892
- "query": {
893
- "$ref": "#/components/schemas/QueryConfig"
894
- },
895
- "schedule": {
896
- "$ref": "#/components/schemas/ConfigSchedule"
897
- },
898
- "enabled": {
899
- "type": "boolean"
900
- },
901
- "created_at": {
902
- "type": "string",
903
- "format": "date-time"
904
- },
905
- "last_updated_at": {
906
- "type": "string",
907
- "format": "date-time"
908
- },
909
- "next_run_at": {
910
- "type": "string",
911
- "format": "date"
912
- },
913
- "relations_for_deletion": {
914
- "type": "array",
915
- "items": {
916
- "$ref": "#/components/schemas/DeletionRelationEntitySchema"
917
- }
918
- },
919
- "last_run_at": {
920
- "type": "string",
921
- "format": "date-time"
922
- }
923
- }
924
- },
925
- "DeletionRelationEntitySchema": {
926
- "type": "string",
927
- "enum": [
928
- "contact",
929
- "file",
930
- "opportunity",
931
- "order",
932
- "meter",
933
- "ticket",
934
- "message",
935
- "account",
936
- "submission",
937
- "contract"
938
- ]
939
- },
940
- "ListConfigsResponse": {
941
- "type": "object",
942
- "properties": {
943
- "configs": {
944
- "type": "array",
945
- "items": {
946
- "$ref": "#/components/schemas/Config"
947
- }
948
- },
949
- "cursor": {
950
- "type": "string",
951
- "nullable": true
952
- }
953
- }
954
- }
955
- }
956
- },
957
- "servers": [
958
- {
959
- "url": "https://data-management.sls.epilot.io"
960
- }
961
- ]
962
- }