@epilot/cli 0.1.174 → 0.1.175
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.
- package/README.md +1 -1
- package/definitions/event-catalog.json +310 -1
- package/definitions/integration-toolkit.json +272 -1
- package/definitions/metering.json +19 -8
- package/dist/{access-token-HA6PGQMQ.js → access-token-67HL5HSN.js} +2 -2
- package/dist/{add-component-FOYDCUK5.js → add-component-GLQQWNQA.js} +2 -2
- package/dist/{add-function-CG6MSD3Y.js → add-function-6PWQT77G.js} +2 -2
- package/dist/{address-VJKXRGSX.js → address-WODVCUGQ.js} +2 -2
- package/dist/{address-suggestions-QAXTMNKC.js → address-suggestions-RZWQVON5.js} +2 -2
- package/dist/{ai-agents-733CONDM.js → ai-agents-IJHQ4ED6.js} +2 -2
- package/dist/{api-N6FKFDSD.js → api-Y35WRMY5.js} +2 -2
- package/dist/app-FH3RDD2Y.js +26 -0
- package/dist/{audit-logs-254HAFKW.js → audit-logs-J5YYNUNM.js} +2 -2
- package/dist/auth-WMXFMPWE.js +0 -0
- package/dist/auth-login-3AY5U4JU.js +0 -0
- package/dist/auth-token-APXLIQAO.js +0 -0
- package/dist/{automation-UJANXGM5.js → automation-ZBEBRMVQ.js} +2 -2
- package/dist/{billing-UU2S37JH.js → billing-EOIAT2I7.js} +2 -2
- package/dist/bin/epilot.js +58 -58
- package/dist/{blueprint-manifest-JGCI2EVC.js → blueprint-manifest-PEUIIZYW.js} +2 -2
- package/dist/{calendar-IC5R3FWV.js → calendar-EBOGHBCK.js} +2 -2
- package/dist/{chat-4LFQ26WU.js → chat-RWCKONE3.js} +2 -2
- package/dist/{chunk-LHA2TF33.js → chunk-3GAKE7F5.js} +1 -1
- package/dist/chunk-7ZQ666ZQ.js +0 -0
- package/dist/{chunk-UCRP455M.js → chunk-HO4O3AUS.js} +5 -1
- package/dist/chunk-IOLKUHUB.js +0 -0
- package/dist/chunk-M3M3C5WH.js +0 -0
- package/dist/{chunk-ECOIEYJT.js → chunk-O5RCC5LE.js} +1 -1
- package/dist/{chunk-REE2AXXS.js → chunk-RQEPA5SA.js} +1 -1
- package/dist/chunk-YHQA2AVG.js +0 -0
- package/dist/{completion-VQH3TEHN.js → completion-36LMDUHB.js} +1 -1
- package/dist/config-DGZIMLZK.js +0 -0
- package/dist/{configuration-hub-WX2OQKXA.js → configuration-hub-D6ZHDFUL.js} +2 -2
- package/dist/{consent-WOCL33T7.js → consent-LHE5HO7C.js} +2 -2
- package/dist/{customer-portal-NR2NUEBY.js → customer-portal-UBMQ3IWW.js} +2 -2
- package/dist/{dashboard-USUT4CT3.js → dashboard-U4MJOVHG.js} +2 -2
- package/dist/{data-governance-X37WALQW.js → data-governance-KOGFT4S7.js} +2 -2
- package/dist/{deduplication-PPZO2JVK.js → deduplication-DE6TXT4L.js} +2 -2
- package/dist/{deploy-723UQC7G.js → deploy-QIO5OBK3.js} +2 -2
- package/dist/{design-LWCBA67R.js → design-EBV2KQDU.js} +2 -2
- package/dist/{dev-ZKR2O7PA.js → dev-GPKCQ235.js} +2 -2
- package/dist/{document-TZH5BXMC.js → document-NACXRWZH.js} +2 -2
- package/dist/{email-settings-3J4KK5AD.js → email-settings-H6UIZH7L.js} +2 -2
- package/dist/{email-template-SV472RN2.js → email-template-GIKA6GR7.js} +2 -2
- package/dist/{entity-AXEUSCXY.js → entity-OMS6IABC.js} +2 -2
- package/dist/{entity-mapping-5NWUHG2W.js → entity-mapping-GQHCZ5ZI.js} +2 -2
- package/dist/{environments-RHWSDOO4.js → environments-HWPY5Z6P.js} +2 -2
- package/dist/{event-catalog-BJRUEWHM.js → event-catalog-HLSSIACN.js} +2 -2
- package/dist/{export-FYR2NPC2.js → export-VMA6WC4N.js} +2 -2
- package/dist/{file-4Q6XGPPJ.js → file-7OPR22OK.js} +2 -2
- package/dist/{iban-NZXDYXM7.js → iban-3YZGMUUW.js} +2 -2
- package/dist/{init-LFI6V27F.js → init-YWQBYKW5.js} +2 -2
- package/dist/{integration-toolkit-Q36YTIS3.js → integration-toolkit-2PWBH4NI.js} +2 -2
- package/dist/interactive-LSY5SADM.js +0 -0
- package/dist/{journey-YZUUEO3B.js → journey-YKQ2FG5O.js} +2 -2
- package/dist/{kanban-TLM5ABPP.js → kanban-KZE664RW.js} +2 -2
- package/dist/{message-MRXUBSGB.js → message-ONQIUQIW.js} +2 -2
- package/dist/{metering-5B7GVJON.js → metering-V7FQMUJE.js} +2 -2
- package/dist/{notes-YZ5COKLU.js → notes-5CLFCE52.js} +2 -2
- package/dist/{notification-VRRPWMNN.js → notification-OCYSAWYH.js} +2 -2
- package/dist/{organization-DVQFKX3Z.js → organization-EAHPAVSC.js} +2 -2
- package/dist/{partner-directory-3YN4L5WF.js → partner-directory-GYQIHOBR.js} +2 -2
- package/dist/{permissions-HZTEONZ4.js → permissions-C2IKGWW6.js} +2 -2
- package/dist/{pricing-JNFN7GLC.js → pricing-5V7M6K5J.js} +2 -2
- package/dist/{pricing-tier-VOEMCMVE.js → pricing-tier-M4NXMDCT.js} +2 -2
- package/dist/profile-OZJL5ZPT.js +0 -0
- package/dist/{purpose-24BOAK2Z.js → purpose-C3MA6SWK.js} +2 -2
- package/dist/{query-D33QDM6K.js → query-BCF6KCUU.js} +2 -2
- package/dist/{remove-component-VXDXMMOY.js → remove-component-JYA2VHLT.js} +2 -2
- package/dist/{review-7CYXTYDH.js → review-2TYWZG5X.js} +2 -2
- package/dist/{sandbox-YCVJXEDC.js → sandbox-TVJU2VZC.js} +2 -2
- package/dist/{sharing-YSJBYDDZ.js → sharing-PLJI2AHC.js} +2 -2
- package/dist/{snapshot-A64LI3Q5.js → snapshot-XYA4TBKN.js} +2 -2
- package/dist/{submission-VSVGWIAF.js → submission-R5COUEWL.js} +2 -2
- package/dist/{targeting-ZGD2PXXJ.js → targeting-A7A3J4RM.js} +2 -2
- package/dist/{template-variables-6F5U6E4P.js → template-variables-ZMRZGWUC.js} +2 -2
- package/dist/{upgrade-K5JTTVYN.js → upgrade-QM25NNXE.js} +1 -1
- package/dist/{user-SMXM3DG6.js → user-6ENHCIWA.js} +2 -2
- package/dist/{validate-BB736XTY.js → validate-KRX7BUKP.js} +2 -2
- package/dist/{validation-rules-MESHYZKK.js → validation-rules-TM45B7VB.js} +2 -2
- package/dist/{versions-4QFNQHNF.js → versions-QINS6BEP.js} +2 -2
- package/dist/{webhooks-3AFKNI5B.js → webhooks-4UBUMKJV.js} +2 -2
- package/dist/{workflow-GLLFDQHJ.js → workflow-PYHV6JFL.js} +2 -2
- package/dist/{workflow-definition-2CAXTNNE.js → workflow-definition-W6KN4MR7.js} +2 -2
- package/package.json +13 -12
- package/dist/app-TWDGYQR5.js +0 -26
package/README.md
CHANGED
|
@@ -23,6 +23,11 @@
|
|
|
23
23
|
"/v1/events": {
|
|
24
24
|
"get": {
|
|
25
25
|
"operationId": "listEvents",
|
|
26
|
+
"x-epilot-permissions": [
|
|
27
|
+
{
|
|
28
|
+
"action": "event_catalog:view_definitions"
|
|
29
|
+
}
|
|
30
|
+
],
|
|
26
31
|
"summary": "listEvents",
|
|
27
32
|
"description": "Retrieve list of available business events",
|
|
28
33
|
"tags": [
|
|
@@ -51,6 +56,11 @@
|
|
|
51
56
|
},
|
|
52
57
|
"post": {
|
|
53
58
|
"operationId": "createCustomEvent",
|
|
59
|
+
"x-epilot-permissions": [
|
|
60
|
+
{
|
|
61
|
+
"action": "event_catalog:manage"
|
|
62
|
+
}
|
|
63
|
+
],
|
|
54
64
|
"summary": "createCustomEvent",
|
|
55
65
|
"description": "Reserve an org-scoped custom event name and persist its immutable v1.0 draft definition. Custom events are always projected from an entity graph: entity_graph is required and, in guided mapping mode, every schema field needs a graph_source expression. Caller-supplied trigger fields are ignored for custom events.",
|
|
56
66
|
"tags": [
|
|
@@ -86,6 +96,11 @@
|
|
|
86
96
|
"/v1/events/{event_name}": {
|
|
87
97
|
"get": {
|
|
88
98
|
"operationId": "getEvent",
|
|
99
|
+
"x-epilot-permissions": [
|
|
100
|
+
{
|
|
101
|
+
"action": "event_catalog:view_definitions"
|
|
102
|
+
}
|
|
103
|
+
],
|
|
89
104
|
"summary": "getEvent",
|
|
90
105
|
"description": "Retrieve the configuration of a specific business event",
|
|
91
106
|
"tags": [
|
|
@@ -117,6 +132,11 @@
|
|
|
117
132
|
},
|
|
118
133
|
"patch": {
|
|
119
134
|
"operationId": "patchEvent",
|
|
135
|
+
"x-epilot-permissions": [
|
|
136
|
+
{
|
|
137
|
+
"action": "event_catalog:manage"
|
|
138
|
+
}
|
|
139
|
+
],
|
|
120
140
|
"summary": "patchEvent",
|
|
121
141
|
"description": "Update the configuration of a specific business event for the organization",
|
|
122
142
|
"tags": [
|
|
@@ -161,6 +181,11 @@
|
|
|
161
181
|
},
|
|
162
182
|
"put": {
|
|
163
183
|
"operationId": "replaceCustomEventDraft",
|
|
184
|
+
"x-epilot-permissions": [
|
|
185
|
+
{
|
|
186
|
+
"action": "event_catalog:manage"
|
|
187
|
+
}
|
|
188
|
+
],
|
|
164
189
|
"summary": "replaceCustomEventDraft",
|
|
165
190
|
"description": "Replace the complete v1.0 definition of an org-scoped custom event while it is still an\nunpublished draft. Drafts have no consumers, so their definition is not yet immutable;\nthe event name is the identity and cannot change. Publication remains a separate action.\n",
|
|
166
191
|
"tags": [
|
|
@@ -213,6 +238,11 @@
|
|
|
213
238
|
},
|
|
214
239
|
"delete": {
|
|
215
240
|
"operationId": "deprecateCustomEvent",
|
|
241
|
+
"x-epilot-permissions": [
|
|
242
|
+
{
|
|
243
|
+
"action": "event_catalog:manage"
|
|
244
|
+
}
|
|
245
|
+
],
|
|
216
246
|
"summary": "deprecateCustomEvent",
|
|
217
247
|
"description": "Soft-deprecate an org-scoped custom event. Definitions and v1.0 history remain readable.",
|
|
218
248
|
"tags": [
|
|
@@ -244,6 +274,11 @@
|
|
|
244
274
|
"/v1/events/{event_name}:preview": {
|
|
245
275
|
"post": {
|
|
246
276
|
"operationId": "previewCustomEvent",
|
|
277
|
+
"x-epilot-permissions": [
|
|
278
|
+
{
|
|
279
|
+
"action": "event_catalog:manage"
|
|
280
|
+
}
|
|
281
|
+
],
|
|
247
282
|
"summary": "previewCustomEvent",
|
|
248
283
|
"description": "Assemble and fully validate a persisted custom-event draft without publishing it.",
|
|
249
284
|
"tags": [
|
|
@@ -292,6 +327,11 @@
|
|
|
292
327
|
"/v1/events/{event_name}:publish": {
|
|
293
328
|
"post": {
|
|
294
329
|
"operationId": "publishCustomEventDefinition",
|
|
330
|
+
"x-epilot-permissions": [
|
|
331
|
+
{
|
|
332
|
+
"action": "event_catalog:manage"
|
|
333
|
+
}
|
|
334
|
+
],
|
|
295
335
|
"summary": "publishCustomEventDefinition",
|
|
296
336
|
"description": "Conditionally activate an immutable custom-event v1.0 definition.",
|
|
297
337
|
"tags": [
|
|
@@ -333,9 +373,177 @@
|
|
|
333
373
|
}
|
|
334
374
|
}
|
|
335
375
|
},
|
|
376
|
+
"/v1/events/{event_name}/version_draft": {
|
|
377
|
+
"get": {
|
|
378
|
+
"operationId": "getCustomEventVersionDraft",
|
|
379
|
+
"summary": "getCustomEventVersionDraft",
|
|
380
|
+
"description": "Read the in-progress successor of a published custom event, together with the version it\nwould be published as. The live version keeps firing while the successor is authored.\n",
|
|
381
|
+
"tags": [
|
|
382
|
+
"Event Catalog"
|
|
383
|
+
],
|
|
384
|
+
"parameters": [
|
|
385
|
+
{
|
|
386
|
+
"name": "event_name",
|
|
387
|
+
"in": "path",
|
|
388
|
+
"required": true,
|
|
389
|
+
"schema": {
|
|
390
|
+
"type": "string"
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
],
|
|
394
|
+
"responses": {
|
|
395
|
+
"200": {
|
|
396
|
+
"description": "The next-version draft and its classification",
|
|
397
|
+
"content": {
|
|
398
|
+
"application/json": {
|
|
399
|
+
"schema": {
|
|
400
|
+
"$ref": "#/components/schemas/CustomEventVersionDraft"
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
},
|
|
405
|
+
"404": {
|
|
406
|
+
"description": "Custom event not found, or it has no next-version draft"
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
},
|
|
410
|
+
"put": {
|
|
411
|
+
"operationId": "putCustomEventVersionDraft",
|
|
412
|
+
"summary": "putCustomEventVersionDraft",
|
|
413
|
+
"description": "Create or replace the successor of a published custom event. The published definition stays\nimmutable and keeps firing; only publishing the draft promotes it.\n\nThe response classifies the change against the live version: additive changes mint a MINOR,\na changed projection mints a MAJOR (the schema is identical, so nothing else would warn a\npinned consumer that the values moved), and removals, retypes and loosened requiredness are\nrejected as `blocked` because no sound downgrade can be generated for them.\n",
|
|
414
|
+
"tags": [
|
|
415
|
+
"Event Catalog"
|
|
416
|
+
],
|
|
417
|
+
"parameters": [
|
|
418
|
+
{
|
|
419
|
+
"name": "event_name",
|
|
420
|
+
"in": "path",
|
|
421
|
+
"required": true,
|
|
422
|
+
"schema": {
|
|
423
|
+
"type": "string"
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
],
|
|
427
|
+
"requestBody": {
|
|
428
|
+
"required": true,
|
|
429
|
+
"content": {
|
|
430
|
+
"application/json": {
|
|
431
|
+
"schema": {
|
|
432
|
+
"$ref": "#/components/schemas/CreateCustomEventPayload"
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
},
|
|
437
|
+
"responses": {
|
|
438
|
+
"200": {
|
|
439
|
+
"description": "The stored draft and its classification",
|
|
440
|
+
"content": {
|
|
441
|
+
"application/json": {
|
|
442
|
+
"schema": {
|
|
443
|
+
"$ref": "#/components/schemas/CustomEventVersionDraft"
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
},
|
|
448
|
+
"400": {
|
|
449
|
+
"description": "Definition is invalid or the body event_name differs from the path"
|
|
450
|
+
},
|
|
451
|
+
"404": {
|
|
452
|
+
"description": "Custom event not found"
|
|
453
|
+
},
|
|
454
|
+
"409": {
|
|
455
|
+
"description": "Event is built-in, or is not published"
|
|
456
|
+
},
|
|
457
|
+
"422": {
|
|
458
|
+
"description": "Definition could not be stored"
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
},
|
|
462
|
+
"delete": {
|
|
463
|
+
"operationId": "deleteCustomEventVersionDraft",
|
|
464
|
+
"summary": "deleteCustomEventVersionDraft",
|
|
465
|
+
"description": "Discard the next-version draft. The published version is untouched.",
|
|
466
|
+
"tags": [
|
|
467
|
+
"Event Catalog"
|
|
468
|
+
],
|
|
469
|
+
"parameters": [
|
|
470
|
+
{
|
|
471
|
+
"name": "event_name",
|
|
472
|
+
"in": "path",
|
|
473
|
+
"required": true,
|
|
474
|
+
"schema": {
|
|
475
|
+
"type": "string"
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
],
|
|
479
|
+
"responses": {
|
|
480
|
+
"204": {
|
|
481
|
+
"description": "Draft discarded"
|
|
482
|
+
},
|
|
483
|
+
"404": {
|
|
484
|
+
"description": "Custom event not found"
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
},
|
|
489
|
+
"/v1/events/{event_name}/version_draft:publish": {
|
|
490
|
+
"post": {
|
|
491
|
+
"operationId": "publishCustomEventVersion",
|
|
492
|
+
"summary": "publishCustomEventVersion",
|
|
493
|
+
"description": "Publish the next-version draft as the event's new live version.\n\nThe version label, the declared field changes and the JSONata downgrade back to the previous\nversion are all derived from the diff — never supplied by the caller — so the downgrade\ncannot disagree with the definition it accompanies. Consumers pinned to an earlier version\nkeep receiving their own shape through the stamped downgrade chain.\n",
|
|
494
|
+
"tags": [
|
|
495
|
+
"Event Catalog"
|
|
496
|
+
],
|
|
497
|
+
"parameters": [
|
|
498
|
+
{
|
|
499
|
+
"name": "event_name",
|
|
500
|
+
"in": "path",
|
|
501
|
+
"required": true,
|
|
502
|
+
"schema": {
|
|
503
|
+
"type": "string"
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
],
|
|
507
|
+
"requestBody": {
|
|
508
|
+
"content": {
|
|
509
|
+
"application/json": {
|
|
510
|
+
"schema": {
|
|
511
|
+
"$ref": "#/components/schemas/PublishCustomEventVersionPayload"
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
},
|
|
516
|
+
"responses": {
|
|
517
|
+
"200": {
|
|
518
|
+
"description": "The newly live event configuration",
|
|
519
|
+
"content": {
|
|
520
|
+
"application/json": {
|
|
521
|
+
"schema": {
|
|
522
|
+
"$ref": "#/components/schemas/EventConfig"
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
},
|
|
527
|
+
"400": {
|
|
528
|
+
"description": "The draft changes nothing, or cannot be versioned automatically"
|
|
529
|
+
},
|
|
530
|
+
"404": {
|
|
531
|
+
"description": "Custom event or draft not found"
|
|
532
|
+
},
|
|
533
|
+
"409": {
|
|
534
|
+
"description": "The live version moved while the draft was being authored"
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
},
|
|
336
539
|
"/v1/events/{event_name}/json_schema": {
|
|
337
540
|
"get": {
|
|
338
541
|
"operationId": "getEventJSONSchema",
|
|
542
|
+
"x-epilot-permissions": [
|
|
543
|
+
{
|
|
544
|
+
"action": "event_catalog:view_definitions"
|
|
545
|
+
}
|
|
546
|
+
],
|
|
339
547
|
"summary": "getEventJSONSchema",
|
|
340
548
|
"description": "Retrieve the JSON Schema of a specific business event. Pass an optional\n`Epilot-Event-Version` header to retrieve a specific version's schema;\nwhen omitted, the event's latest version is returned.\n",
|
|
341
549
|
"tags": [
|
|
@@ -381,6 +589,11 @@
|
|
|
381
589
|
"/v1/events/{event_name}/example": {
|
|
382
590
|
"get": {
|
|
383
591
|
"operationId": "getEventExample",
|
|
592
|
+
"x-epilot-permissions": [
|
|
593
|
+
{
|
|
594
|
+
"action": "event_catalog:view_definitions"
|
|
595
|
+
}
|
|
596
|
+
],
|
|
384
597
|
"summary": "getEventExample",
|
|
385
598
|
"description": "Generate a sample event payload based on the event's JSON Schema. Pass an\noptional `Epilot-Event-Version` header to generate the example for a\nspecific version; when omitted, the event's latest version is used.\n",
|
|
386
599
|
"tags": [
|
|
@@ -427,6 +640,11 @@
|
|
|
427
640
|
"/v1/events/{event_name}/versions": {
|
|
428
641
|
"get": {
|
|
429
642
|
"operationId": "listEventVersions",
|
|
643
|
+
"x-epilot-permissions": [
|
|
644
|
+
{
|
|
645
|
+
"action": "event_catalog:view_definitions"
|
|
646
|
+
}
|
|
647
|
+
],
|
|
430
648
|
"summary": "listEventVersions",
|
|
431
649
|
"description": "List every known version of an event, along with the `latest`\nand the set of currently `active` versions. See §3.2 of the\nEvent Payload Versioning RFC.\n",
|
|
432
650
|
"tags": [
|
|
@@ -463,6 +681,11 @@
|
|
|
463
681
|
"/v1/events/{event_name}:history": {
|
|
464
682
|
"post": {
|
|
465
683
|
"operationId": "searchEventHistory",
|
|
684
|
+
"x-epilot-permissions": [
|
|
685
|
+
{
|
|
686
|
+
"action": "event_catalog:view"
|
|
687
|
+
}
|
|
688
|
+
],
|
|
466
689
|
"summary": "searchEventHistory",
|
|
467
690
|
"description": "Paginated history of events",
|
|
468
691
|
"tags": [
|
|
@@ -530,6 +753,11 @@
|
|
|
530
753
|
"/v2/events/{event_name}:history": {
|
|
531
754
|
"post": {
|
|
532
755
|
"operationId": "searchEventHistoryV2",
|
|
756
|
+
"x-epilot-permissions": [
|
|
757
|
+
{
|
|
758
|
+
"action": "event_catalog:view"
|
|
759
|
+
}
|
|
760
|
+
],
|
|
533
761
|
"summary": "searchEventHistoryV2",
|
|
534
762
|
"description": "Paginated history of events with projected/lightweight payload (v2).\n\nReturns `EventSummary` objects instead of fully hydrated `Event` objects:\nhydrated entity objects (values carrying `_schema`/`_id`) are reduced to\nreference stubs `{_schema, _id, _title}` — the full entity is recoverable\nvia GET /v2/events/{event_name}/history/{event_id} or by hitting\nentity-api directly with the `_id`.\n",
|
|
535
763
|
"tags": [
|
|
@@ -597,6 +825,11 @@
|
|
|
597
825
|
"/v2/events/{event_name}/history/{event_id}": {
|
|
598
826
|
"get": {
|
|
599
827
|
"operationId": "getHistoricalEvent",
|
|
828
|
+
"x-epilot-permissions": [
|
|
829
|
+
{
|
|
830
|
+
"action": "event_catalog:view"
|
|
831
|
+
}
|
|
832
|
+
],
|
|
600
833
|
"summary": "getHistoricalEvent",
|
|
601
834
|
"description": "Fetch a single historical event by id with full hydration",
|
|
602
835
|
"tags": [
|
|
@@ -642,6 +875,11 @@
|
|
|
642
875
|
"/v1/events/{event_name}:trigger": {
|
|
643
876
|
"post": {
|
|
644
877
|
"operationId": "triggerEvent",
|
|
878
|
+
"x-epilot-permissions": [
|
|
879
|
+
{
|
|
880
|
+
"action": "event_catalog:manage"
|
|
881
|
+
}
|
|
882
|
+
],
|
|
645
883
|
"summary": "triggerEvent",
|
|
646
884
|
"description": "Explicitly trigger an event by providing input field values and an optional entity seed\nfor graph hydration. The event must be enabled for the organization.\n\n- For events with an entity_graph, a seed (entity_id + node_id) is required\n- For events without an entity_graph, only fields are needed\n- Entity operation context fields (operation, trigger_entity, activity_id, activity_type)\n are not included when triggering via API\n- Events marked `automation_trigger_only` require `_trigger_source_type: automation` and a\n stable execution/action ID in `_trigger_source`; retries with that ID return the same\n logical event, including while durable delivery is pending\n",
|
|
647
885
|
"tags": [
|
|
@@ -683,7 +921,7 @@
|
|
|
683
921
|
"description": "Invalid input (validation error, missing seed, or missing required fields)"
|
|
684
922
|
},
|
|
685
923
|
"403": {
|
|
686
|
-
"description": "Event is disabled for this organization"
|
|
924
|
+
"description": "Event is disabled for this organization, or the user is not allowed to trigger events"
|
|
687
925
|
},
|
|
688
926
|
"404": {
|
|
689
927
|
"description": "Event not found"
|
|
@@ -1037,6 +1275,77 @@
|
|
|
1037
1275
|
}
|
|
1038
1276
|
}
|
|
1039
1277
|
},
|
|
1278
|
+
"CustomEventVersionDraft": {
|
|
1279
|
+
"type": "object",
|
|
1280
|
+
"description": "A pending successor to a published custom event, with the version it would become.\n",
|
|
1281
|
+
"properties": {
|
|
1282
|
+
"config": {
|
|
1283
|
+
"$ref": "#/components/schemas/EventConfig"
|
|
1284
|
+
},
|
|
1285
|
+
"change_class": {
|
|
1286
|
+
"type": "string",
|
|
1287
|
+
"enum": [
|
|
1288
|
+
"none",
|
|
1289
|
+
"minor",
|
|
1290
|
+
"major",
|
|
1291
|
+
"blocked"
|
|
1292
|
+
],
|
|
1293
|
+
"description": "How the draft differs from the live version.\n- `none`: nothing changed, so there is nothing to publish.\n- `minor`: purely additive — new payload fields or new graph nodes. Pinned consumers keep\n their exact shape once the additions are stripped.\n- `major`: an existing field's projection changed. The schema is unchanged, so only a\n version bump tells a pinned consumer that familiar fields now carry different values.\n- `blocked`: removals, retypes or loosened requiredness. These need a transformer only a\n human can author, or data that no longer travels with the event.\n"
|
|
1294
|
+
},
|
|
1295
|
+
"next_version": {
|
|
1296
|
+
"type": "string",
|
|
1297
|
+
"nullable": true,
|
|
1298
|
+
"description": "The version this draft would be published as. Null when `change_class` is none or blocked.",
|
|
1299
|
+
"example": "1.1"
|
|
1300
|
+
},
|
|
1301
|
+
"changes": {
|
|
1302
|
+
"type": "array",
|
|
1303
|
+
"description": "Declared field-level changes against the live version.",
|
|
1304
|
+
"items": {
|
|
1305
|
+
"$ref": "#/components/schemas/FieldChange"
|
|
1306
|
+
}
|
|
1307
|
+
},
|
|
1308
|
+
"remapped_fields": {
|
|
1309
|
+
"type": "array",
|
|
1310
|
+
"description": "Fields whose projection changed while their schema stayed identical.",
|
|
1311
|
+
"items": {
|
|
1312
|
+
"type": "string"
|
|
1313
|
+
}
|
|
1314
|
+
},
|
|
1315
|
+
"added_nodes": {
|
|
1316
|
+
"type": "array",
|
|
1317
|
+
"description": "Entity-graph nodes this draft adds, which surface as new top-level payload keys.",
|
|
1318
|
+
"items": {
|
|
1319
|
+
"type": "string"
|
|
1320
|
+
}
|
|
1321
|
+
},
|
|
1322
|
+
"blocked_reason": {
|
|
1323
|
+
"type": "string",
|
|
1324
|
+
"description": "Why the draft cannot be versioned automatically. Present only when `change_class` is `blocked`."
|
|
1325
|
+
}
|
|
1326
|
+
},
|
|
1327
|
+
"required": [
|
|
1328
|
+
"config",
|
|
1329
|
+
"change_class",
|
|
1330
|
+
"changes",
|
|
1331
|
+
"remapped_fields",
|
|
1332
|
+
"added_nodes"
|
|
1333
|
+
]
|
|
1334
|
+
},
|
|
1335
|
+
"PublishCustomEventVersionPayload": {
|
|
1336
|
+
"type": "object",
|
|
1337
|
+
"properties": {
|
|
1338
|
+
"change_summary": {
|
|
1339
|
+
"type": "string",
|
|
1340
|
+
"maxLength": 280,
|
|
1341
|
+
"description": "One line describing what changed, shown on the event's version timeline. Derived from the\ndiff when omitted.\n"
|
|
1342
|
+
},
|
|
1343
|
+
"change_notes": {
|
|
1344
|
+
"type": "string",
|
|
1345
|
+
"description": "Optional longer-form prose (markdown) for the version timeline."
|
|
1346
|
+
}
|
|
1347
|
+
}
|
|
1348
|
+
},
|
|
1040
1349
|
"ValidationIssue": {
|
|
1041
1350
|
"type": "object",
|
|
1042
1351
|
"properties": {
|