@epilot/sdk 2.19.14 → 2.20.2

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 (171) hide show
  1. package/definitions/app-runtime.json +1 -1
  2. package/definitions/app.json +251 -4
  3. package/definitions/automation-runtime.json +1 -1
  4. package/definitions/automation.json +344 -12
  5. package/definitions/event-catalog-runtime.json +1 -1
  6. package/definitions/event-catalog.json +431 -12
  7. package/definitions/validation-rules.json +104 -5
  8. package/dist/apis/access-token.cjs +6 -6
  9. package/dist/apis/access-token.js +1 -1
  10. package/dist/apis/address-suggestions.cjs +6 -6
  11. package/dist/apis/address-suggestions.js +1 -1
  12. package/dist/apis/address.cjs +6 -6
  13. package/dist/apis/address.js +1 -1
  14. package/dist/apis/ai-agents.cjs +6 -6
  15. package/dist/apis/ai-agents.js +1 -1
  16. package/dist/apis/app.cjs +8 -8
  17. package/dist/apis/app.d.cts +2 -2
  18. package/dist/apis/app.d.ts +2 -2
  19. package/dist/apis/app.js +2 -2
  20. package/dist/apis/audit-logs.cjs +6 -6
  21. package/dist/apis/audit-logs.js +1 -1
  22. package/dist/apis/automation.cjs +8 -8
  23. package/dist/apis/automation.d.cts +2 -2
  24. package/dist/apis/automation.d.ts +2 -2
  25. package/dist/apis/automation.js +2 -2
  26. package/dist/apis/billing.cjs +6 -6
  27. package/dist/apis/billing.js +1 -1
  28. package/dist/apis/blueprint-manifest.cjs +6 -6
  29. package/dist/apis/blueprint-manifest.js +1 -1
  30. package/dist/apis/calendar.cjs +6 -6
  31. package/dist/apis/calendar.js +1 -1
  32. package/dist/apis/configuration-hub.cjs +6 -6
  33. package/dist/apis/configuration-hub.js +1 -1
  34. package/dist/apis/consent.cjs +6 -6
  35. package/dist/apis/consent.js +1 -1
  36. package/dist/apis/customer-portal.cjs +6 -6
  37. package/dist/apis/customer-portal.js +1 -1
  38. package/dist/apis/dashboard.cjs +6 -6
  39. package/dist/apis/dashboard.js +1 -1
  40. package/dist/apis/data-governance.cjs +6 -6
  41. package/dist/apis/data-governance.js +1 -1
  42. package/dist/apis/deduplication.cjs +6 -6
  43. package/dist/apis/deduplication.js +1 -1
  44. package/dist/apis/design.cjs +6 -6
  45. package/dist/apis/design.js +1 -1
  46. package/dist/apis/document.cjs +6 -6
  47. package/dist/apis/document.js +1 -1
  48. package/dist/apis/email-settings.cjs +6 -6
  49. package/dist/apis/email-settings.js +1 -1
  50. package/dist/apis/email-template.cjs +6 -6
  51. package/dist/apis/email-template.js +1 -1
  52. package/dist/apis/entity-mapping.cjs +6 -6
  53. package/dist/apis/entity-mapping.js +1 -1
  54. package/dist/apis/entity.cjs +6 -6
  55. package/dist/apis/entity.js +1 -1
  56. package/dist/apis/environments.cjs +6 -6
  57. package/dist/apis/environments.js +1 -1
  58. package/dist/apis/event-catalog.cjs +8 -8
  59. package/dist/apis/event-catalog.d.cts +2 -2
  60. package/dist/apis/event-catalog.d.ts +2 -2
  61. package/dist/apis/event-catalog.js +2 -2
  62. package/dist/apis/file.cjs +6 -6
  63. package/dist/apis/file.js +1 -1
  64. package/dist/apis/iban.cjs +6 -6
  65. package/dist/apis/iban.js +1 -1
  66. package/dist/apis/integration-toolkit.cjs +6 -6
  67. package/dist/apis/integration-toolkit.js +1 -1
  68. package/dist/apis/journey.cjs +6 -6
  69. package/dist/apis/journey.js +1 -1
  70. package/dist/apis/kanban.cjs +6 -6
  71. package/dist/apis/kanban.js +1 -1
  72. package/dist/apis/message.cjs +6 -6
  73. package/dist/apis/message.js +1 -1
  74. package/dist/apis/metering.cjs +6 -6
  75. package/dist/apis/metering.js +1 -1
  76. package/dist/apis/notes.cjs +6 -6
  77. package/dist/apis/notes.js +1 -1
  78. package/dist/apis/notification.cjs +6 -6
  79. package/dist/apis/notification.js +1 -1
  80. package/dist/apis/organization.cjs +6 -6
  81. package/dist/apis/organization.js +1 -1
  82. package/dist/apis/partner-directory.cjs +6 -6
  83. package/dist/apis/partner-directory.js +1 -1
  84. package/dist/apis/permissions.cjs +6 -6
  85. package/dist/apis/permissions.js +1 -1
  86. package/dist/apis/pricing-tier.cjs +6 -6
  87. package/dist/apis/pricing-tier.js +1 -1
  88. package/dist/apis/pricing.cjs +6 -6
  89. package/dist/apis/pricing.js +1 -1
  90. package/dist/apis/purpose.cjs +6 -6
  91. package/dist/apis/purpose.js +1 -1
  92. package/dist/apis/query.cjs +6 -6
  93. package/dist/apis/query.js +1 -1
  94. package/dist/apis/sandbox.cjs +6 -6
  95. package/dist/apis/sandbox.js +1 -1
  96. package/dist/apis/sharing.cjs +6 -6
  97. package/dist/apis/sharing.js +1 -1
  98. package/dist/apis/snapshot.cjs +6 -6
  99. package/dist/apis/snapshot.js +1 -1
  100. package/dist/apis/submission.cjs +6 -6
  101. package/dist/apis/submission.js +1 -1
  102. package/dist/apis/target.cjs +6 -6
  103. package/dist/apis/target.js +1 -1
  104. package/dist/apis/targeting.cjs +6 -6
  105. package/dist/apis/targeting.js +1 -1
  106. package/dist/apis/template-variables.cjs +6 -6
  107. package/dist/apis/template-variables.js +1 -1
  108. package/dist/apis/user.cjs +6 -6
  109. package/dist/apis/user.js +1 -1
  110. package/dist/apis/validation-rules.cjs +6 -6
  111. package/dist/apis/validation-rules.d.cts +2 -2
  112. package/dist/apis/validation-rules.d.ts +2 -2
  113. package/dist/apis/validation-rules.js +1 -1
  114. package/dist/apis/webhooks.cjs +6 -6
  115. package/dist/apis/webhooks.js +1 -1
  116. package/dist/apis/workflow-definition.cjs +6 -6
  117. package/dist/apis/workflow-definition.js +1 -1
  118. package/dist/apis/workflow.cjs +6 -6
  119. package/dist/apis/workflow.js +1 -1
  120. package/dist/app-E75NP2YE.js +7 -0
  121. package/dist/app-EI2PFRBV.cjs +7 -0
  122. package/dist/{app-runtime-T63JMR4T.js → app-runtime-ISNZMZHF.js} +1 -1
  123. package/dist/app-runtime-VC7HGAX3.cjs +5 -0
  124. package/dist/{app.d-BiknhSJo.d.cts → app.d-BHpFAvPW.d.cts} +197 -17
  125. package/dist/{app.d-BiknhSJo.d.ts → app.d-BHpFAvPW.d.ts} +197 -17
  126. package/dist/automation-23XNDPBF.cjs +7 -0
  127. package/dist/automation-OMESM3H3.js +7 -0
  128. package/dist/{automation-runtime-RM5EOZH2.cjs → automation-runtime-KLCXZKEC.cjs} +2 -2
  129. package/dist/{automation-runtime-ORW5BVCD.js → automation-runtime-Y52HM57N.js} +1 -1
  130. package/dist/{automation.d-BnQFR6k8.d.cts → automation.d-D8JxyoFa.d.cts} +317 -21
  131. package/dist/{automation.d-BnQFR6k8.d.ts → automation.d-D8JxyoFa.d.ts} +317 -21
  132. package/dist/{chunk-E4NQOOA3.cjs → chunk-AUHRCKFN.cjs} +7 -7
  133. package/dist/chunk-EEKJGTAS.js +14 -0
  134. package/dist/{chunk-G5HHIB4D.js → chunk-GNKU7CBT.js} +7 -7
  135. package/dist/chunk-MPZICOVZ.cjs +14 -0
  136. package/dist/{chunk-HPSTDQ62.cjs → chunk-N2P6RELZ.cjs} +1 -1
  137. package/dist/{chunk-4MILKZOO.js → chunk-QHWCHWQT.js} +1 -1
  138. package/dist/chunk-QW3ROE6H.js +14 -0
  139. package/dist/chunk-WOUASZJW.cjs +14 -0
  140. package/dist/event-catalog-4FVQZ65M.cjs +7 -0
  141. package/dist/event-catalog-PEOHXUJO.js +7 -0
  142. package/dist/{event-catalog-runtime-RH7542GL.cjs → event-catalog-runtime-AME244T7.cjs} +2 -2
  143. package/dist/{event-catalog-runtime-JUSLF3UR.js → event-catalog-runtime-Q3MKEDG4.js} +1 -1
  144. package/dist/{event-catalog.d-QIhhewVH.d.ts → event-catalog.d-Bd2wmtlZ.d.cts} +335 -179
  145. package/dist/{event-catalog.d-QIhhewVH.d.cts → event-catalog.d-Bd2wmtlZ.d.ts} +335 -179
  146. package/dist/index.cjs +14 -14
  147. package/dist/index.d.cts +4 -4
  148. package/dist/index.d.ts +4 -4
  149. package/dist/index.js +4 -4
  150. package/dist/validation-rules-ETOO45CW.js +7 -0
  151. package/dist/validation-rules-MZZ7YMJM.cjs +7 -0
  152. package/dist/{validation-rules.d-CvGvBnMX.d.ts → validation-rules.d-D8X9MYTc.d.cts} +171 -20
  153. package/dist/{validation-rules.d-CvGvBnMX.d.cts → validation-rules.d-D8X9MYTc.d.ts} +171 -20
  154. package/docs/app.md +188 -12
  155. package/docs/automation.md +237 -45
  156. package/docs/event-catalog.md +483 -64
  157. package/docs/validation-rules.md +277 -20
  158. package/package.json +1 -1
  159. package/dist/app-SJ7ITIY6.cjs +0 -7
  160. package/dist/app-WUPPTHZA.js +0 -7
  161. package/dist/app-runtime-2MEGUF3G.cjs +0 -5
  162. package/dist/automation-3HMHBP6P.cjs +0 -7
  163. package/dist/automation-GIJB3MOI.js +0 -7
  164. package/dist/chunk-ADSWGLIV.cjs +0 -14
  165. package/dist/chunk-FDS727SL.cjs +0 -14
  166. package/dist/chunk-LCE7N4ZL.js +0 -14
  167. package/dist/chunk-M4FO2MI4.js +0 -14
  168. package/dist/event-catalog-6ZSSF5JU.cjs +0 -7
  169. package/dist/event-catalog-RS4LJMY2.js +0 -7
  170. package/dist/validation-rules-B2KQKMLO.js +0 -7
  171. package/dist/validation-rules-GR2IVLGJ.cjs +0 -7
@@ -66,6 +66,46 @@ declare namespace Components {
66
66
  */
67
67
  required?: boolean;
68
68
  }
69
+ /**
70
+ * Complete immutable custom-event v1.0 definition. Publication is a separate conditional action.
71
+ */
72
+ export interface CreateCustomEventPayload {
73
+ event_name: string; // ^[A-Z][A-Za-z0-9]{2,79}$
74
+ event_title: string;
75
+ event_description?: string;
76
+ event_tags?: string[];
77
+ schema_fields: {
78
+ [name: string]: /* Custom v1 fields support JSON Schema values and context entities; attachment semantics are built-in-only. */ CustomSchemaField;
79
+ };
80
+ entity_graph?: /* Entity graph definition for resolving related entities */ GraphDefinition;
81
+ entity_operation?: /**
82
+ * Configuration for triggering an event based on entity operations.
83
+ *
84
+ * When an entity operation matches the configured criteria, the event will be triggered.
85
+ * - On createEntity: the attribute must be present in the entity payload
86
+ * - On updateEntity: the attribute must be in diff.added, diff.updated, or diff.deleted
87
+ * - On deleteEntity: the event triggers when the entity is deleted (attributes not checked)
88
+ *
89
+ */
90
+ EntityOperationTrigger;
91
+ automation_trigger?: boolean;
92
+ mapping?: /* Guided mappings use schema_fields graph_source expressions; raw mode evaluates one JSONata object transform. */ EventMapping;
93
+ lineage?: /* Optional catalog lineage to a separately named base event. It does not replace the base event. */ CustomEventLineage;
94
+ example?: {
95
+ [name: string]: any;
96
+ };
97
+ }
98
+ /**
99
+ * Optional catalog lineage to a separately named base event. It does not replace the base event.
100
+ */
101
+ export interface CustomEventLineage {
102
+ base_event_name: string;
103
+ base_event_version: string;
104
+ }
105
+ /**
106
+ * Custom v1 fields support JSON Schema values and context entities; attachment semantics are built-in-only.
107
+ */
108
+ export type CustomSchemaField = /* Custom v1 fields support JSON Schema values and context entities; attachment semantics are built-in-only. */ /* A primitive JSON Schema field definition */ PrimitiveField | ContextEntity;
69
109
  /**
70
110
  * Configuration for triggering an event based on entity operations.
71
111
  *
@@ -123,6 +163,10 @@ declare namespace Components {
123
163
  * ]
124
164
  */
125
165
  purpose?: string[];
166
+ /**
167
+ * Stable purpose IDs plus immutable display-name snapshots for custom events.
168
+ */
169
+ purpose_filters?: PurposeFilterSnapshot[];
126
170
  }
127
171
  /**
128
172
  * An event instance in the event history
@@ -206,6 +250,10 @@ declare namespace Components {
206
250
  * Inline downgrade chain stamped by Event Catalog at publish time, ordered newest-to-oldest. Present ONLY on multi-version events. Internal versioning transport: consumers (e.g. svc-webhooks) walk the payload back to a pinned version using these JSONata steps, then strip the field before delivery -- end customers never receive it.
207
251
  */
208
252
  _downgrades?: /* One step of an event's inline `_downgrades` chain. Maps the current-version payload to the previous version via a JSONata expression. Stamped by Event Catalog at publish time; executed by consumers during walk-back, never by EC itself. */ InlineDowngradeStep[];
253
+ /**
254
+ * Ordered automation flow ids that caused this event (at most 100), propagated verbatim from the trigger input or the originating entity operation. Internal loop-prevention transport for automation-api; svc-webhooks strips it before delivery.
255
+ */
256
+ _automation_chain?: string[];
209
257
  }
210
258
  /**
211
259
  * A file attachment associated with an event
@@ -366,6 +414,10 @@ declare namespace Components {
366
414
  * ]
367
415
  */
368
416
  purpose?: string[];
417
+ /**
418
+ * Stable purpose IDs plus immutable display-name snapshots for custom events.
419
+ */
420
+ purpose_filters?: PurposeFilterSnapshot[];
369
421
  };
370
422
  /**
371
423
  * Whether this event is enabled for the organization.
@@ -398,6 +450,30 @@ declare namespace Components {
398
450
  * true
399
451
  */
400
452
  automation_trigger?: boolean;
453
+ /**
454
+ * Whether explicit triggering is restricted to Automation. When true, callers must pass
455
+ * `_trigger_source_type: automation` and a stable `_trigger_source`. The trigger uses
456
+ * strict entity readiness validation and the durable Automation outbox.
457
+ * Requires `automation_trigger: true` and cannot be combined with `entity_operation`.
458
+ *
459
+ * example:
460
+ * true
461
+ */
462
+ automation_trigger_only?: boolean;
463
+ /**
464
+ * Required entity-graph seed node for an Automation-only trigger. When configured, an
465
+ * explicit trigger using any other node is rejected before hydration.
466
+ *
467
+ * example:
468
+ * ticket
469
+ */
470
+ automation_trigger_seed_node?: string;
471
+ /**
472
+ * Definition ownership. Built-ins always win a name collision.
473
+ */
474
+ event_origin?: "builtin" | "custom";
475
+ mapping?: /* Guided mappings use schema_fields graph_source expressions; raw mode evaluates one JSONata object transform. */ EventMapping;
476
+ lineage?: /* Optional catalog lineage to a separately named base event. It does not replace the base event. */ CustomEventLineage;
401
477
  /**
402
478
  * Org-defined success criteria for this event: the entity attributes that an
403
479
  * organization considers must be captured for an event change request to be
@@ -551,6 +627,10 @@ declare namespace Components {
551
627
  * ]
552
628
  */
553
629
  purpose?: string[];
630
+ /**
631
+ * Stable purpose IDs plus immutable display-name snapshots for custom events.
632
+ */
633
+ purpose_filters?: PurposeFilterSnapshot[];
554
634
  };
555
635
  /**
556
636
  * Whether this event is enabled for the organization.
@@ -583,6 +663,30 @@ declare namespace Components {
583
663
  * true
584
664
  */
585
665
  automation_trigger?: boolean;
666
+ /**
667
+ * Whether explicit triggering is restricted to Automation. When true, callers must pass
668
+ * `_trigger_source_type: automation` and a stable `_trigger_source`. The trigger uses
669
+ * strict entity readiness validation and the durable Automation outbox.
670
+ * Requires `automation_trigger: true` and cannot be combined with `entity_operation`.
671
+ *
672
+ * example:
673
+ * true
674
+ */
675
+ automation_trigger_only?: boolean;
676
+ /**
677
+ * Required entity-graph seed node for an Automation-only trigger. When configured, an
678
+ * explicit trigger using any other node is rejected before hydration.
679
+ *
680
+ * example:
681
+ * ticket
682
+ */
683
+ automation_trigger_seed_node?: string;
684
+ /**
685
+ * Definition ownership. Built-ins always win a name collision.
686
+ */
687
+ event_origin?: "builtin" | "custom";
688
+ mapping?: /* Guided mappings use schema_fields graph_source expressions; raw mode evaluates one JSONata object transform. */ EventMapping;
689
+ lineage?: /* Optional catalog lineage to a separately named base event. It does not replace the base event. */ CustomEventLineage;
586
690
  /**
587
691
  * Org-defined success criteria for this event: the entity attributes that an
588
692
  * organization considers must be captured for an event change request to be
@@ -760,6 +864,13 @@ declare namespace Components {
760
864
  */
761
865
  export interface EventJsonSchema {
762
866
  }
867
+ /**
868
+ * Guided mappings use schema_fields graph_source expressions; raw mode evaluates one JSONata object transform.
869
+ */
870
+ export interface EventMapping {
871
+ mode: "guided" | "jsonata";
872
+ jsonata?: string;
873
+ }
763
874
  /**
764
875
  * A lightweight event summary returned by the v2 history endpoint.
765
876
  *
@@ -974,6 +1085,12 @@ declare namespace Components {
974
1085
  */
975
1086
  jsonata: string;
976
1087
  }
1088
+ export interface PreviewEventResponse {
1089
+ payload: {
1090
+ [name: string]: any;
1091
+ };
1092
+ errors: ValidationIssue[];
1093
+ }
977
1094
  /**
978
1095
  * A primitive JSON Schema field definition
979
1096
  */
@@ -1011,6 +1128,18 @@ declare namespace Components {
1011
1128
  */
1012
1129
  graph_source?: string;
1013
1130
  }
1131
+ export interface PublishCustomEventPayload {
1132
+ enabled?: boolean;
1133
+ auto_trigger?: boolean;
1134
+ /**
1135
+ * Optional publication choice. False disables only the named lineage base event's org auto-trigger overlay.
1136
+ */
1137
+ base_auto_trigger_enabled?: boolean;
1138
+ }
1139
+ export interface PurposeFilterSnapshot {
1140
+ id: string;
1141
+ display_name: string;
1142
+ }
1014
1143
  export type SchemaField = /* A primitive JSON Schema field definition */ PrimitiveField | ContextEntity | /**
1015
1144
  * A schema field representing file attachments associated with the event.
1016
1145
  * Present in schema_fields for events tagged with "attachment".
@@ -1166,6 +1295,15 @@ declare namespace Components {
1166
1295
  }
1167
1296
  /**
1168
1297
  * Payload for explicitly triggering an event via API
1298
+ * example:
1299
+ * {
1300
+ * "seed": {
1301
+ * "entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1302
+ * "node_id": "ticket"
1303
+ * },
1304
+ * "_trigger_source_type": "automation",
1305
+ * "_trigger_source": "execution-id/action-id"
1306
+ * }
1169
1307
  */
1170
1308
  export interface TriggerEventPayload {
1171
1309
  /**
@@ -1211,16 +1349,22 @@ declare namespace Components {
1211
1349
  * Identifier of the specific trigger source.
1212
1350
  * Examples: user ID, automation execution ID, activity ID, portal user email
1213
1351
  * Defaults to the calling user ID if not specified.
1352
+ * Required for events marked `automation_trigger_only` and must remain stable across
1353
+ * action retries.
1214
1354
  *
1215
1355
  */
1216
1356
  _trigger_source?: string;
1357
+ /**
1358
+ * Ordered automation flow ids that caused this trigger (at most 100); propagated verbatim onto the published event for automation loop prevention.
1359
+ */
1360
+ _automation_chain?: string[];
1217
1361
  }
1218
1362
  /**
1219
1363
  * Response from triggering an event
1220
1364
  */
1221
1365
  export interface TriggerEventResponse {
1222
1366
  /**
1223
- * Whether the event was triggered successfully
1367
+ * Whether the event was published successfully
1224
1368
  */
1225
1369
  success: boolean;
1226
1370
  /**
@@ -1228,184 +1372,16 @@ declare namespace Components {
1228
1372
  */
1229
1373
  event_id: string;
1230
1374
  /**
1231
- * EventBridge event ID from publishing
1375
+ * EventBridge event ID when synchronous delivery or a completed retry provides it
1232
1376
  */
1233
1377
  event_bridge_event_id?: string;
1234
1378
  }
1235
1379
  /**
1236
- * Payload for updating an event configuration.
1237
- * Accepts the same fields as EventConfig (all optional for PATCH).
1238
- * Currently `enabled`, `auto_trigger` and `success_criteria` fields are processed.
1239
- *
1380
+ * Mutable org activation overlay. Immutable event definition fields are not accepted.
1240
1381
  */
1241
1382
  export interface UpdateEventPayload {
1242
- /**
1243
- * Unique human readable name of the event
1244
- * example:
1245
- * AddMeterReading
1246
- */
1247
- event_name?: string;
1248
- /**
1249
- * Human-friendly title for the event
1250
- * example:
1251
- * Add Meter Reading
1252
- */
1253
- event_title?: string;
1254
- /**
1255
- * Description of when the event is triggered
1256
- * example:
1257
- * Triggered when a new meter reading is added
1258
- */
1259
- event_description?: string;
1260
- /**
1261
- * Event payload version (MAJOR.MINOR)
1262
- * example:
1263
- * 1.0
1264
- */
1265
- event_version?: string;
1266
- /**
1267
- * Status of the event
1268
- * example:
1269
- * active
1270
- */
1271
- event_status?: "active" | "deprecated" | "draft" | "disabled";
1272
- /**
1273
- * Tags associated with the event for categorization and filtering
1274
- *
1275
- * The "builtin" tag indicates events that are built into the epilot system.
1276
- *
1277
- * example:
1278
- * [
1279
- * "builtin",
1280
- * "metering",
1281
- * "erp"
1282
- * ]
1283
- */
1284
- event_tags?: string[];
1285
- /**
1286
- * Fields that define the event schema
1287
- */
1288
- schema_fields?: {
1289
- [name: string]: SchemaField;
1290
- };
1291
- /**
1292
- * Optional entity graph definition for resolving related entities
1293
- */
1294
- entity_graph?: {
1295
- /**
1296
- * List of node definitions in the graph
1297
- */
1298
- nodes: /* A node in the entity graph */ GraphNode[];
1299
- /**
1300
- * List of edge definitions connecting nodes
1301
- */
1302
- edges: /* An edge connecting two nodes in the graph */ GraphEdge[];
1303
- };
1304
- /**
1305
- * Optional configuration for triggering this event based on entity operations
1306
- */
1307
- entity_operation?: {
1308
- /**
1309
- * List of entity operations that can trigger this event
1310
- * example:
1311
- * [
1312
- * "createEntity",
1313
- * "updateEntity"
1314
- * ]
1315
- */
1316
- operation: ("createEntity" | "updateEntity" | "deleteEntity")[];
1317
- /**
1318
- * List of entity schema slugs that can trigger this event
1319
- * example:
1320
- * [
1321
- * "contact",
1322
- * "contract",
1323
- * "order"
1324
- * ]
1325
- */
1326
- schema: string[];
1327
- /**
1328
- * Optional list of entity attributes to track for changes.
1329
- * If specified, the event only triggers when these attributes are affected.
1330
- * - On createEntity: attribute must be defined in the entity payload
1331
- * - On updateEntity: attribute must be in diff.added, diff.updated, or diff.deleted
1332
- * If not specified, all changes to matching entities will trigger the event.
1333
- *
1334
- * example:
1335
- * [
1336
- * "email",
1337
- * "phone",
1338
- * "status"
1339
- * ]
1340
- */
1341
- attribute?: string[];
1342
- /**
1343
- * Optional list of purpose names to filter by.
1344
- * The entity must have at least one matching purpose in its _purpose array.
1345
- * Purpose names are matched against the taxonomy classification names (e.g., "Kündigung", "Umzug/Auszug").
1346
- * If not specified, the event triggers regardless of entity purpose.
1347
- *
1348
- * example:
1349
- * [
1350
- * "Kündigung",
1351
- * "Umzug/Auszug"
1352
- * ]
1353
- */
1354
- purpose?: string[];
1355
- };
1356
- /**
1357
- * Whether this event is enabled for the organization.
1358
- * When disabled, the event will not be triggered by any means
1359
- * (automatic, API, or automation).
1360
- * Defaults to true if not specified.
1361
- *
1362
- * example:
1363
- * true
1364
- */
1365
1383
  enabled?: boolean;
1366
- /**
1367
- * Whether the event should be triggered automatically by built-in logic
1368
- * (e.g., portal submissions, entity mutations, EventBridge rules).
1369
- * When false, the event can still be triggered manually via API or automations.
1370
- * Only meaningful for builtin events that have automatic trigger sources.
1371
- * Defaults to true if not specified.
1372
- *
1373
- * example:
1374
- * true
1375
- */
1376
1384
  auto_trigger?: boolean;
1377
- /**
1378
- * Whether this event can be explicitly triggered by automations.
1379
- * When true, the event will appear in the automation builder as a
1380
- * "Trigger Event" action option.
1381
- * Defaults to false if not specified.
1382
- *
1383
- * example:
1384
- * true
1385
- */
1386
- automation_trigger?: boolean;
1387
- /**
1388
- * Org-defined success criteria for this event: the entity attributes that an
1389
- * organization considers must be captured for an event change request to be
1390
- * treated as complete (e.g. for telephony / self-service flows).
1391
- *
1392
- * Advisory metadata — event-catalog does NOT require an org to define any and
1393
- * does NOT enforce them when an event is triggered or published. The org may
1394
- * define none (empty array or omitted). When provided, each entry is validated
1395
- * for well-formedness on write (see SuccessCriterion).
1396
- *
1397
- * example:
1398
- * [
1399
- * {
1400
- * "entity_schema": "contract",
1401
- * "attribute": "installment_amount"
1402
- * },
1403
- * {
1404
- * "entity_schema": "billing_account",
1405
- * "attribute": "due_date"
1406
- * }
1407
- * ]
1408
- */
1409
1385
  success_criteria?: /**
1410
1386
  * A single org-defined success criterion: an entity attribute that must be captured
1411
1387
  * for this event's change request to be considered complete.
@@ -1420,6 +1396,10 @@ declare namespace Components {
1420
1396
  */
1421
1397
  SuccessCriterion[];
1422
1398
  }
1399
+ export interface ValidationIssue {
1400
+ path: string;
1401
+ message: string;
1402
+ }
1423
1403
  /**
1424
1404
  * One entry of an event's version timeline.
1425
1405
  */
@@ -1457,6 +1437,30 @@ declare namespace Components {
1457
1437
  }
1458
1438
  }
1459
1439
  declare namespace Paths {
1440
+ namespace CreateCustomEvent {
1441
+ export type RequestBody = /* Complete immutable custom-event v1.0 definition. Publication is a separate conditional action. */ Components.Schemas.CreateCustomEventPayload;
1442
+ namespace Responses {
1443
+ export type $201 = /* Event configuration with required fields */ Components.Schemas.EventConfig;
1444
+ export interface $409 {
1445
+ }
1446
+ }
1447
+ }
1448
+ namespace DeprecateCustomEvent {
1449
+ namespace Parameters {
1450
+ export type EventName = string;
1451
+ }
1452
+ export interface PathParameters {
1453
+ event_name: Parameters.EventName;
1454
+ }
1455
+ namespace Responses {
1456
+ export interface $204 {
1457
+ }
1458
+ export interface $404 {
1459
+ }
1460
+ export interface $409 {
1461
+ }
1462
+ }
1463
+ }
1460
1464
  namespace GetEvent {
1461
1465
  namespace Parameters {
1462
1466
  export type EventName = string;
@@ -1713,6 +1717,20 @@ declare namespace Paths {
1713
1717
  }
1714
1718
  }
1715
1719
  namespace PatchEvent {
1720
+ namespace Parameters {
1721
+ export type EventName = string;
1722
+ }
1723
+ export interface PathParameters {
1724
+ event_name: Parameters.EventName;
1725
+ }
1726
+ export type RequestBody = /* Mutable org activation overlay. Immutable event definition fields are not accepted. */ Components.Schemas.UpdateEventPayload;
1727
+ namespace Responses {
1728
+ export type $200 = /* Event configuration with required fields */ Components.Schemas.EventConfig;
1729
+ export interface $404 {
1730
+ }
1731
+ }
1732
+ }
1733
+ namespace PreviewCustomEvent {
1716
1734
  namespace Parameters {
1717
1735
  export type EventName = string;
1718
1736
  }
@@ -1720,18 +1738,40 @@ declare namespace Paths {
1720
1738
  event_name: Parameters.EventName;
1721
1739
  }
1722
1740
  export type RequestBody = /**
1723
- * Payload for updating an event configuration.
1724
- * Accepts the same fields as EventConfig (all optional for PATCH).
1725
- * Currently `enabled`, `auto_trigger` and `success_criteria` fields are processed.
1726
- *
1741
+ * Payload for explicitly triggering an event via API
1742
+ * example:
1743
+ * {
1744
+ * "seed": {
1745
+ * "entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1746
+ * "node_id": "ticket"
1747
+ * },
1748
+ * "_trigger_source_type": "automation",
1749
+ * "_trigger_source": "execution-id/action-id"
1750
+ * }
1727
1751
  */
1728
- Components.Schemas.UpdateEventPayload;
1752
+ Components.Schemas.TriggerEventPayload;
1729
1753
  namespace Responses {
1730
- export type $200 = /* Event configuration with required fields */ Components.Schemas.EventConfig;
1754
+ export type $200 = Components.Schemas.PreviewEventResponse;
1755
+ export interface $400 {
1756
+ }
1731
1757
  export interface $404 {
1732
1758
  }
1733
1759
  }
1734
1760
  }
1761
+ namespace PublishCustomEventDefinition {
1762
+ namespace Parameters {
1763
+ export type EventName = string;
1764
+ }
1765
+ export interface PathParameters {
1766
+ event_name: Parameters.EventName;
1767
+ }
1768
+ export type RequestBody = Components.Schemas.PublishCustomEventPayload;
1769
+ namespace Responses {
1770
+ export type $200 = /* Event configuration with required fields */ Components.Schemas.EventConfig;
1771
+ export interface $409 {
1772
+ }
1773
+ }
1774
+ }
1735
1775
  namespace SearchEventHistory {
1736
1776
  namespace Parameters {
1737
1777
  export type EventName = string;
@@ -1852,7 +1892,19 @@ declare namespace Paths {
1852
1892
  export interface PathParameters {
1853
1893
  event_name: Parameters.EventName;
1854
1894
  }
1855
- export type RequestBody = /* Payload for explicitly triggering an event via API */ Components.Schemas.TriggerEventPayload;
1895
+ export type RequestBody = /**
1896
+ * Payload for explicitly triggering an event via API
1897
+ * example:
1898
+ * {
1899
+ * "seed": {
1900
+ * "entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1901
+ * "node_id": "ticket"
1902
+ * },
1903
+ * "_trigger_source_type": "automation",
1904
+ * "_trigger_source": "execution-id/action-id"
1905
+ * }
1906
+ */
1907
+ Components.Schemas.TriggerEventPayload;
1856
1908
  namespace Responses {
1857
1909
  export type $200 = /* Response from triggering an event */ Components.Schemas.TriggerEventResponse;
1858
1910
  export interface $400 {
@@ -1861,6 +1913,12 @@ declare namespace Paths {
1861
1913
  }
1862
1914
  export interface $404 {
1863
1915
  }
1916
+ export interface $409 {
1917
+ }
1918
+ export interface $425 {
1919
+ }
1920
+ export interface $503 {
1921
+ }
1864
1922
  }
1865
1923
  }
1866
1924
  }
@@ -1877,6 +1935,16 @@ interface OperationMethods {
1877
1935
  data?: any,
1878
1936
  config?: AxiosRequestConfig
1879
1937
  ): OperationResponse<Paths.ListEvents.Responses.$200>
1938
+ /**
1939
+ * createCustomEvent - createCustomEvent
1940
+ *
1941
+ * Reserve an org-scoped custom event name and persist its immutable v1.0 draft definition.
1942
+ */
1943
+ 'createCustomEvent'(
1944
+ parameters?: Parameters<UnknownParamsObject> | null,
1945
+ data?: Paths.CreateCustomEvent.RequestBody,
1946
+ config?: AxiosRequestConfig
1947
+ ): OperationResponse<Paths.CreateCustomEvent.Responses.$201>
1880
1948
  /**
1881
1949
  * getEvent - getEvent
1882
1950
  *
@@ -1897,6 +1965,36 @@ interface OperationMethods {
1897
1965
  data?: Paths.PatchEvent.RequestBody,
1898
1966
  config?: AxiosRequestConfig
1899
1967
  ): OperationResponse<Paths.PatchEvent.Responses.$200>
1968
+ /**
1969
+ * deprecateCustomEvent - deprecateCustomEvent
1970
+ *
1971
+ * Soft-deprecate an org-scoped custom event. Definitions and v1.0 history remain readable.
1972
+ */
1973
+ 'deprecateCustomEvent'(
1974
+ parameters?: Parameters<Paths.DeprecateCustomEvent.PathParameters> | null,
1975
+ data?: any,
1976
+ config?: AxiosRequestConfig
1977
+ ): OperationResponse<Paths.DeprecateCustomEvent.Responses.$204>
1978
+ /**
1979
+ * previewCustomEvent - previewCustomEvent
1980
+ *
1981
+ * Assemble and fully validate a persisted custom-event draft without publishing it.
1982
+ */
1983
+ 'previewCustomEvent'(
1984
+ parameters?: Parameters<Paths.PreviewCustomEvent.PathParameters> | null,
1985
+ data?: Paths.PreviewCustomEvent.RequestBody,
1986
+ config?: AxiosRequestConfig
1987
+ ): OperationResponse<Paths.PreviewCustomEvent.Responses.$200>
1988
+ /**
1989
+ * publishCustomEventDefinition - publishCustomEventDefinition
1990
+ *
1991
+ * Conditionally activate an immutable custom-event v1.0 definition.
1992
+ */
1993
+ 'publishCustomEventDefinition'(
1994
+ parameters?: Parameters<Paths.PublishCustomEventDefinition.PathParameters> | null,
1995
+ data?: Paths.PublishCustomEventDefinition.RequestBody,
1996
+ config?: AxiosRequestConfig
1997
+ ): OperationResponse<Paths.PublishCustomEventDefinition.Responses.$200>
1900
1998
  /**
1901
1999
  * getEventJSONSchema - getEventJSONSchema
1902
2000
  *
@@ -1983,6 +2081,9 @@ interface OperationMethods {
1983
2081
  * - For events without an entity_graph, only fields are needed
1984
2082
  * - Entity operation context fields (operation, trigger_entity, activity_id, activity_type)
1985
2083
  * are not included when triggering via API
2084
+ * - Events marked `automation_trigger_only` require `_trigger_source_type: automation` and a
2085
+ * stable execution/action ID in `_trigger_source`; retries with that ID return the same
2086
+ * logical event, including while durable delivery is pending
1986
2087
  *
1987
2088
  */
1988
2089
  'triggerEvent'(
@@ -2004,6 +2105,16 @@ interface PathsDictionary {
2004
2105
  data?: any,
2005
2106
  config?: AxiosRequestConfig
2006
2107
  ): OperationResponse<Paths.ListEvents.Responses.$200>
2108
+ /**
2109
+ * createCustomEvent - createCustomEvent
2110
+ *
2111
+ * Reserve an org-scoped custom event name and persist its immutable v1.0 draft definition.
2112
+ */
2113
+ 'post'(
2114
+ parameters?: Parameters<UnknownParamsObject> | null,
2115
+ data?: Paths.CreateCustomEvent.RequestBody,
2116
+ config?: AxiosRequestConfig
2117
+ ): OperationResponse<Paths.CreateCustomEvent.Responses.$201>
2007
2118
  }
2008
2119
  ['/v1/events/{event_name}']: {
2009
2120
  /**
@@ -2026,6 +2137,40 @@ interface PathsDictionary {
2026
2137
  data?: Paths.PatchEvent.RequestBody,
2027
2138
  config?: AxiosRequestConfig
2028
2139
  ): OperationResponse<Paths.PatchEvent.Responses.$200>
2140
+ /**
2141
+ * deprecateCustomEvent - deprecateCustomEvent
2142
+ *
2143
+ * Soft-deprecate an org-scoped custom event. Definitions and v1.0 history remain readable.
2144
+ */
2145
+ 'delete'(
2146
+ parameters?: Parameters<Paths.DeprecateCustomEvent.PathParameters> | null,
2147
+ data?: any,
2148
+ config?: AxiosRequestConfig
2149
+ ): OperationResponse<Paths.DeprecateCustomEvent.Responses.$204>
2150
+ }
2151
+ ['/v1/events/{event_name}:preview']: {
2152
+ /**
2153
+ * previewCustomEvent - previewCustomEvent
2154
+ *
2155
+ * Assemble and fully validate a persisted custom-event draft without publishing it.
2156
+ */
2157
+ 'post'(
2158
+ parameters?: Parameters<Paths.PreviewCustomEvent.PathParameters> | null,
2159
+ data?: Paths.PreviewCustomEvent.RequestBody,
2160
+ config?: AxiosRequestConfig
2161
+ ): OperationResponse<Paths.PreviewCustomEvent.Responses.$200>
2162
+ }
2163
+ ['/v1/events/{event_name}:publish']: {
2164
+ /**
2165
+ * publishCustomEventDefinition - publishCustomEventDefinition
2166
+ *
2167
+ * Conditionally activate an immutable custom-event v1.0 definition.
2168
+ */
2169
+ 'post'(
2170
+ parameters?: Parameters<Paths.PublishCustomEventDefinition.PathParameters> | null,
2171
+ data?: Paths.PublishCustomEventDefinition.RequestBody,
2172
+ config?: AxiosRequestConfig
2173
+ ): OperationResponse<Paths.PublishCustomEventDefinition.Responses.$200>
2029
2174
  }
2030
2175
  ['/v1/events/{event_name}/json_schema']: {
2031
2176
  /**
@@ -2126,6 +2271,9 @@ interface PathsDictionary {
2126
2271
  * - For events without an entity_graph, only fields are needed
2127
2272
  * - Entity operation context fields (operation, trigger_entity, activity_id, activity_type)
2128
2273
  * are not included when triggering via API
2274
+ * - Events marked `automation_trigger_only` require `_trigger_source_type: automation` and a
2275
+ * stable execution/action ID in `_trigger_source`; retries with that ID return the same
2276
+ * logical event, including while durable delivery is pending
2129
2277
  *
2130
2278
  */
2131
2279
  'post'(
@@ -2142,12 +2290,16 @@ type Client = OpenAPIClient<OperationMethods, PathsDictionary>
2142
2290
  type AttachmentField = Components.Schemas.AttachmentField;
2143
2291
  type CommonEventMetadata = Components.Schemas.CommonEventMetadata;
2144
2292
  type ContextEntity = Components.Schemas.ContextEntity;
2293
+ type CreateCustomEventPayload = Components.Schemas.CreateCustomEventPayload;
2294
+ type CustomEventLineage = Components.Schemas.CustomEventLineage;
2295
+ type CustomSchemaField = Components.Schemas.CustomSchemaField;
2145
2296
  type EntityOperationTrigger = Components.Schemas.EntityOperationTrigger;
2146
2297
  type Event = Components.Schemas.Event;
2147
2298
  type EventAttachment = Components.Schemas.EventAttachment;
2148
2299
  type EventConfig = Components.Schemas.EventConfig;
2149
2300
  type EventConfigBase = Components.Schemas.EventConfigBase;
2150
2301
  type EventJsonSchema = Components.Schemas.EventJsonSchema;
2302
+ type EventMapping = Components.Schemas.EventMapping;
2151
2303
  type EventSummary = Components.Schemas.EventSummary;
2152
2304
  type EventVersionRegistrySummary = Components.Schemas.EventVersionRegistrySummary;
2153
2305
  type FieldChange = Components.Schemas.FieldChange;
@@ -2156,7 +2308,10 @@ type GraphDefinition = Components.Schemas.GraphDefinition;
2156
2308
  type GraphEdge = Components.Schemas.GraphEdge;
2157
2309
  type GraphNode = Components.Schemas.GraphNode;
2158
2310
  type InlineDowngradeStep = Components.Schemas.InlineDowngradeStep;
2311
+ type PreviewEventResponse = Components.Schemas.PreviewEventResponse;
2159
2312
  type PrimitiveField = Components.Schemas.PrimitiveField;
2313
+ type PublishCustomEventPayload = Components.Schemas.PublishCustomEventPayload;
2314
+ type PurposeFilterSnapshot = Components.Schemas.PurposeFilterSnapshot;
2160
2315
  type SchemaField = Components.Schemas.SchemaField;
2161
2316
  type SearchOptions = Components.Schemas.SearchOptions;
2162
2317
  type SearchOptionsV2 = Components.Schemas.SearchOptionsV2;
@@ -2164,6 +2319,7 @@ type SuccessCriterion = Components.Schemas.SuccessCriterion;
2164
2319
  type TriggerEventPayload = Components.Schemas.TriggerEventPayload;
2165
2320
  type TriggerEventResponse = Components.Schemas.TriggerEventResponse;
2166
2321
  type UpdateEventPayload = Components.Schemas.UpdateEventPayload;
2322
+ type ValidationIssue = Components.Schemas.ValidationIssue;
2167
2323
  type VersionMeta = Components.Schemas.VersionMeta;
2168
2324
 
2169
- export { type AttachmentField as A, type Client as C, type EntityOperationTrigger as E, type FieldChange as F, type GraphDefinition as G, type InlineDowngradeStep as I, type OperationMethods as O, Paths as P, type SchemaField as S, type TriggerEventPayload as T, type UpdateEventPayload as U, type VersionMeta as V, Components as a, type PathsDictionary as b, type CommonEventMetadata as c, type ContextEntity as d, type Event as e, type EventAttachment as f, type EventConfig as g, type EventConfigBase as h, type EventJsonSchema as i, type EventSummary as j, type EventVersionRegistrySummary as k, type FieldsParam as l, type GraphEdge as m, type GraphNode as n, type PrimitiveField as o, type SearchOptions as p, type SearchOptionsV2 as q, type SuccessCriterion as r, type TriggerEventResponse as s };
2325
+ export { type AttachmentField as A, type VersionMeta as B, type Client as C, type EntityOperationTrigger as E, type FieldChange as F, type GraphDefinition as G, type InlineDowngradeStep as I, type OperationMethods as O, Paths as P, type SchemaField as S, type TriggerEventPayload as T, type UpdateEventPayload as U, type ValidationIssue as V, Components as a, type PathsDictionary as b, type CommonEventMetadata as c, type ContextEntity as d, type CreateCustomEventPayload as e, type CustomEventLineage as f, type CustomSchemaField as g, type Event as h, type EventAttachment as i, type EventConfig as j, type EventConfigBase as k, type EventJsonSchema as l, type EventMapping as m, type EventSummary as n, type EventVersionRegistrySummary as o, type FieldsParam as p, type GraphEdge as q, type GraphNode as r, type PreviewEventResponse as s, type PrimitiveField as t, type PublishCustomEventPayload as u, type PurposeFilterSnapshot as v, type SearchOptions as w, type SearchOptionsV2 as x, type SuccessCriterion as y, type TriggerEventResponse as z };