@epilot/sdk 2.20.46 → 2.20.48

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 (133) hide show
  1. package/definitions/event-catalog.json +16 -0
  2. package/definitions/integration-toolkit.json +2 -1
  3. package/dist/apis/access-token.cjs +6 -6
  4. package/dist/apis/access-token.js +1 -1
  5. package/dist/apis/address-suggestions.cjs +6 -6
  6. package/dist/apis/address-suggestions.js +1 -1
  7. package/dist/apis/address.cjs +6 -6
  8. package/dist/apis/address.js +1 -1
  9. package/dist/apis/ai-agents.cjs +6 -6
  10. package/dist/apis/ai-agents.js +1 -1
  11. package/dist/apis/app.cjs +6 -6
  12. package/dist/apis/app.js +1 -1
  13. package/dist/apis/audit-logs.cjs +6 -6
  14. package/dist/apis/audit-logs.js +1 -1
  15. package/dist/apis/automation.cjs +6 -6
  16. package/dist/apis/automation.js +1 -1
  17. package/dist/apis/billing.cjs +6 -6
  18. package/dist/apis/billing.js +1 -1
  19. package/dist/apis/blueprint-manifest.cjs +6 -6
  20. package/dist/apis/blueprint-manifest.js +1 -1
  21. package/dist/apis/calendar.cjs +6 -6
  22. package/dist/apis/calendar.js +1 -1
  23. package/dist/apis/chat.cjs +6 -6
  24. package/dist/apis/chat.js +1 -1
  25. package/dist/apis/configuration-hub.cjs +6 -6
  26. package/dist/apis/configuration-hub.js +1 -1
  27. package/dist/apis/consent.cjs +6 -6
  28. package/dist/apis/consent.js +1 -1
  29. package/dist/apis/customer-portal.cjs +6 -6
  30. package/dist/apis/customer-portal.js +1 -1
  31. package/dist/apis/dashboard.cjs +6 -6
  32. package/dist/apis/dashboard.js +1 -1
  33. package/dist/apis/data-governance.cjs +6 -6
  34. package/dist/apis/data-governance.js +1 -1
  35. package/dist/apis/deduplication.cjs +6 -6
  36. package/dist/apis/deduplication.js +1 -1
  37. package/dist/apis/design.cjs +6 -6
  38. package/dist/apis/design.js +1 -1
  39. package/dist/apis/document.cjs +6 -6
  40. package/dist/apis/document.js +1 -1
  41. package/dist/apis/email-settings.cjs +6 -6
  42. package/dist/apis/email-settings.js +1 -1
  43. package/dist/apis/email-template.cjs +6 -6
  44. package/dist/apis/email-template.js +1 -1
  45. package/dist/apis/entity-mapping.cjs +6 -6
  46. package/dist/apis/entity-mapping.js +1 -1
  47. package/dist/apis/entity.cjs +6 -6
  48. package/dist/apis/entity.js +1 -1
  49. package/dist/apis/environments.cjs +6 -6
  50. package/dist/apis/environments.js +1 -1
  51. package/dist/apis/event-catalog.cjs +6 -6
  52. package/dist/apis/event-catalog.d.cts +2 -2
  53. package/dist/apis/event-catalog.d.ts +2 -2
  54. package/dist/apis/event-catalog.js +1 -1
  55. package/dist/apis/file.cjs +6 -6
  56. package/dist/apis/file.js +1 -1
  57. package/dist/apis/iban.cjs +6 -6
  58. package/dist/apis/iban.js +1 -1
  59. package/dist/apis/identity.cjs +6 -6
  60. package/dist/apis/identity.js +1 -1
  61. package/dist/apis/integration-toolkit.cjs +12 -8
  62. package/dist/apis/integration-toolkit.d.cts +2 -2
  63. package/dist/apis/integration-toolkit.d.ts +2 -2
  64. package/dist/apis/integration-toolkit.js +7 -3
  65. package/dist/apis/journey.cjs +6 -6
  66. package/dist/apis/journey.js +1 -1
  67. package/dist/apis/kanban.cjs +6 -6
  68. package/dist/apis/kanban.js +1 -1
  69. package/dist/apis/message.cjs +6 -6
  70. package/dist/apis/message.js +1 -1
  71. package/dist/apis/metering.cjs +6 -6
  72. package/dist/apis/metering.js +1 -1
  73. package/dist/apis/notes.cjs +6 -6
  74. package/dist/apis/notes.js +1 -1
  75. package/dist/apis/notification.cjs +6 -6
  76. package/dist/apis/notification.js +1 -1
  77. package/dist/apis/organization.cjs +6 -6
  78. package/dist/apis/organization.js +1 -1
  79. package/dist/apis/partner-directory.cjs +6 -6
  80. package/dist/apis/partner-directory.js +1 -1
  81. package/dist/apis/permissions.cjs +6 -6
  82. package/dist/apis/permissions.js +1 -1
  83. package/dist/apis/pricing-tier.cjs +6 -6
  84. package/dist/apis/pricing-tier.js +1 -1
  85. package/dist/apis/pricing.cjs +6 -6
  86. package/dist/apis/pricing.js +1 -1
  87. package/dist/apis/purpose.cjs +6 -6
  88. package/dist/apis/purpose.js +1 -1
  89. package/dist/apis/query.cjs +6 -6
  90. package/dist/apis/query.js +1 -1
  91. package/dist/apis/sandbox.cjs +6 -6
  92. package/dist/apis/sandbox.js +1 -1
  93. package/dist/apis/sharing.cjs +6 -6
  94. package/dist/apis/sharing.js +1 -1
  95. package/dist/apis/snapshot.cjs +6 -6
  96. package/dist/apis/snapshot.js +1 -1
  97. package/dist/apis/submission.cjs +6 -6
  98. package/dist/apis/submission.js +1 -1
  99. package/dist/apis/target.cjs +6 -6
  100. package/dist/apis/target.js +1 -1
  101. package/dist/apis/targeting.cjs +6 -6
  102. package/dist/apis/targeting.js +1 -1
  103. package/dist/apis/template-variables.cjs +6 -6
  104. package/dist/apis/template-variables.js +1 -1
  105. package/dist/apis/user.cjs +6 -6
  106. package/dist/apis/user.js +1 -1
  107. package/dist/apis/validation-rules.cjs +6 -6
  108. package/dist/apis/validation-rules.js +1 -1
  109. package/dist/apis/webhooks.cjs +6 -6
  110. package/dist/apis/webhooks.js +1 -1
  111. package/dist/apis/workflow-definition.cjs +6 -6
  112. package/dist/apis/workflow-definition.js +1 -1
  113. package/dist/apis/workflow.cjs +6 -6
  114. package/dist/apis/workflow.js +1 -1
  115. package/dist/{chunk-5NZXNIBE.cjs → chunk-KP2RRRO5.cjs} +2 -2
  116. package/dist/{chunk-KHQACGLY.js → chunk-UORN27QE.js} +2 -2
  117. package/dist/event-catalog-R4ZGZQVY.js +7 -0
  118. package/dist/event-catalog-YYCD2DBK.cjs +7 -0
  119. package/dist/{event-catalog.d-BQqG_LGF.d.cts → event-catalog.d-BrAxYS9D.d.cts} +21 -0
  120. package/dist/{event-catalog.d-BQqG_LGF.d.ts → event-catalog.d-BrAxYS9D.d.ts} +21 -0
  121. package/dist/index.cjs +8 -8
  122. package/dist/index.d.cts +2 -2
  123. package/dist/index.d.ts +2 -2
  124. package/dist/index.js +1 -1
  125. package/dist/{integration-toolkit-GGXTCIBG.cjs → integration-toolkit-CG6SFVKC.cjs} +1 -1
  126. package/dist/{integration-toolkit-XPSFIGHA.js → integration-toolkit-TLIEE3DY.js} +1 -1
  127. package/dist/{integration-toolkit.d-93TYFohH.d.cts → integration-toolkit.d-CLlaZx6b.d.cts} +1 -1
  128. package/dist/{integration-toolkit.d-93TYFohH.d.ts → integration-toolkit.d-CLlaZx6b.d.ts} +1 -1
  129. package/docs/event-catalog.md +41 -12
  130. package/docs/integration-toolkit.md +1 -1
  131. package/package.json +1 -1
  132. package/dist/event-catalog-5HHAS7NI.js +0 -7
  133. package/dist/event-catalog-SAH4ZEOO.cjs +0 -7
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
2
+
3
+ // src/docs/event-catalog.json
4
+ var event_catalog_default = '# Event Catalog API\n\n- **Base URL:** `https://event-catalog.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/event-catalog](https://docs.epilot.io/api/event-catalog)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.eventCatalog.listEvents(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/event-catalog\'\n\nconst eventCatalogClient = getClient()\nauthorize(eventCatalogClient, () => \'<token>\')\nconst { data } = await eventCatalogClient.listEvents(...)\n```\n\n## Operations\n\n**Event Catalog**\n- [`listEvents`](#listevents)\n- [`createCustomEvent`](#createcustomevent)\n- [`getEvent`](#getevent)\n- [`patchEvent`](#patchevent)\n- [`replaceCustomEventDraft`](#replacecustomeventdraft)\n- [`deprecateCustomEvent`](#deprecatecustomevent)\n- [`previewCustomEvent`](#previewcustomevent)\n- [`publishCustomEventDefinition`](#publishcustomeventdefinition)\n- [`getCustomEventVersionDraft`](#getcustomeventversiondraft)\n- [`putCustomEventVersionDraft`](#putcustomeventversiondraft)\n- [`deleteCustomEventVersionDraft`](#deletecustomeventversiondraft)\n- [`publishCustomEventVersion`](#publishcustomeventversion)\n- [`getEventJSONSchema`](#geteventjsonschema)\n- [`getEventExample`](#geteventexample)\n- [`listEventVersions`](#listeventversions)\n- [`searchEventHistory`](#searcheventhistory)\n- [`searchEventHistoryV2`](#searcheventhistoryv2)\n- [`getHistoricalEvent`](#gethistoricalevent)\n- [`triggerEvent`](#triggerevent)\n\n**Schemas**\n- [`EventConfigBase`](#eventconfigbase)\n- [`EventConfig`](#eventconfig)\n- [`CreateCustomEventPayload`](#createcustomeventpayload)\n- [`EventMapping`](#eventmapping)\n- [`CustomEventLineage`](#customeventlineage)\n- [`PurposeFilterSnapshot`](#purposefiltersnapshot)\n- [`PublishCustomEventPayload`](#publishcustomeventpayload)\n- [`CustomEventVersionDraft`](#customeventversiondraft)\n- [`PublishCustomEventVersionPayload`](#publishcustomeventversionpayload)\n- [`ValidationIssue`](#validationissue)\n- [`PreviewEventResponse`](#previeweventresponse)\n- [`UpdateEventPayload`](#updateeventpayload)\n- [`PrimitiveField`](#primitivefield)\n- [`ContextEntity`](#contextentity)\n- [`AttachmentField`](#attachmentfield)\n- [`CustomSchemaField`](#customschemafield)\n- [`SchemaField`](#schemafield)\n- [`SuccessCriterion`](#successcriterion)\n- [`CommonEventMetadata`](#commoneventmetadata)\n- [`EventJsonSchema`](#eventjsonschema)\n- [`InlineDowngradeStep`](#inlinedowngradestep)\n- [`Event`](#event)\n- [`EventSummary`](#eventsummary)\n- [`GraphDefinition`](#graphdefinition)\n- [`GraphNode`](#graphnode)\n- [`GraphEdge`](#graphedge)\n- [`EntityOperationTrigger`](#entityoperationtrigger)\n- [`SearchOptions`](#searchoptions)\n- [`SearchOptionsV2`](#searchoptionsv2)\n- [`FieldsParam`](#fieldsparam)\n- [`TriggerEventPayload`](#triggereventpayload)\n- [`TriggerEventResponse`](#triggereventresponse)\n- [`EventAttachment`](#eventattachment)\n- [`FieldChange`](#fieldchange)\n- [`VersionMeta`](#versionmeta)\n- [`EventVersionRegistrySummary`](#eventversionregistrysummary)\n\n### `listEvents`\n\nRetrieve list of available business events\n\n`GET /v1/events`\n\n```ts\nconst { data } = await client.listEvents()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "event_name": "AddMeterReading",\n "event_title": "Add Meter Reading",\n "event_description": "Triggered when a new meter reading is added",\n "event_version": "1.0",\n "event_status": "active",\n "deprecated_at": "2026-09-30T12:00:00.000Z",\n "event_tags": ["builtin", "metering", "erp"],\n "schema_fields": {},\n "entity_graph": {\n "nodes": [\n {\n "id": "contact",\n "schema": "contact",\n "cardinality": "one",\n "fields": ["_id", "_title", "first_name", "account", "!account.*._files", "**._product"]\n }\n ],\n "edges": [\n {\n "from": "contact",\n "to": "billing_account"\n }\n ]\n },\n "entity_operation": {\n "operation": ["createEntity", "updateEntity"],\n "schema": ["contact", "contract", "order"],\n "attribute": ["email", "phone", "status"],\n "purpose": ["K\xFCndigung", "Umzug/Auszug"],\n "purpose_filters": [\n {\n "id": "string",\n "display_name": "string"\n }\n ]\n },\n "enabled": true,\n "auto_trigger": true,\n "automation_trigger": true,\n "api_trigger": true,\n "automation_trigger_only": true,\n "automation_trigger_seed_node": "ticket",\n "event_origin": "builtin",\n "mapping": {\n "mode": "guided",\n "jsonata": "string",\n "payload": "extend"\n },\n "lineage": {\n "base_event_name": "string",\n "base_event_version": "string"\n },\n "success_criteria": [\n {\n "entity_schema": "contract",\n "attribute": "installment_amount"\n },\n {\n "entity_schema": "billing_account",\n "attribute": "due_date"\n }\n ]\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createCustomEvent`\n\nReserve 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, \n\n`POST /v1/events`\n\n```ts\nconst { data } = await client.createCustomEvent(\n null,\n {\n event_name: \'string\',\n event_title: \'string\',\n event_description: \'string\',\n event_tags: [\'string\'],\n schema_fields: {},\n entity_graph: {\n nodes: [\n {\n id: \'contact\',\n schema: \'contact\',\n cardinality: \'one\',\n fields: [\'_id\', \'_title\', \'first_name\', \'account\', \'!account.*._files\', \'**._product\']\n }\n ],\n edges: [\n {\n from: \'contact\',\n to: \'billing_account\'\n }\n ]\n },\n entity_operation: {\n operation: [\'createEntity\', \'updateEntity\'],\n schema: [\'contact\', \'contract\', \'order\'],\n attribute: [\'email\', \'phone\', \'status\'],\n purpose: [\'K\xFCndigung\', \'Umzug/Auszug\'],\n purpose_filters: [\n {\n id: \'string\',\n display_name: \'string\'\n }\n ]\n },\n automation_trigger: true,\n api_trigger: true,\n automation_trigger_only: false,\n automation_trigger_seed_node: \'string\',\n mapping: {\n mode: \'guided\',\n jsonata: \'string\',\n payload: \'extend\'\n },\n lineage: {\n base_event_name: \'string\',\n base_event_version: \'string\'\n },\n example: {}\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "event_name": "AddMeterReading",\n "event_title": "Add Meter Reading",\n "event_description": "Triggered when a new meter reading is added",\n "event_version": "1.0",\n "event_status": "active",\n "deprecated_at": "2026-09-30T12:00:00.000Z",\n "event_tags": ["builtin", "metering", "erp"],\n "schema_fields": {},\n "entity_graph": {\n "nodes": [\n {\n "id": "contact",\n "schema": "contact",\n "cardinality": "one",\n "fields": ["_id", "_title", "first_name", "account", "!account.*._files", "**._product"]\n }\n ],\n "edges": [\n {\n "from": "contact",\n "to": "billing_account"\n }\n ]\n },\n "entity_operation": {\n "operation": ["createEntity", "updateEntity"],\n "schema": ["contact", "contract", "order"],\n "attribute": ["email", "phone", "status"],\n "purpose": ["K\xFCndigung", "Umzug/Auszug"],\n "purpose_filters": [\n {\n "id": "string",\n "display_name": "string"\n }\n ]\n },\n "enabled": true,\n "auto_trigger": true,\n "automation_trigger": true,\n "api_trigger": true,\n "automation_trigger_only": true,\n "automation_trigger_seed_node": "ticket",\n "event_origin": "builtin",\n "mapping": {\n "mode": "guided",\n "jsonata": "string",\n "payload": "extend"\n },\n "lineage": {\n "base_event_name": "string",\n "base_event_version": "string"\n },\n "success_criteria": [\n {\n "entity_schema": "contract",\n "attribute": "installment_amount"\n },\n {\n "entity_schema": "billing_account",\n "attribute": "due_date"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getEvent`\n\nRetrieve the configuration of a specific business event\n\n`GET /v1/events/{event_name}`\n\n```ts\nconst { data } = await client.getEvent({\n event_name: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "event_name": "AddMeterReading",\n "event_title": "Add Meter Reading",\n "event_description": "Triggered when a new meter reading is added",\n "event_version": "1.0",\n "event_status": "active",\n "deprecated_at": "2026-09-30T12:00:00.000Z",\n "event_tags": ["builtin", "metering", "erp"],\n "schema_fields": {},\n "entity_graph": {\n "nodes": [\n {\n "id": "contact",\n "schema": "contact",\n "cardinality": "one",\n "fields": ["_id", "_title", "first_name", "account", "!account.*._files", "**._product"]\n }\n ],\n "edges": [\n {\n "from": "contact",\n "to": "billing_account"\n }\n ]\n },\n "entity_operation": {\n "operation": ["createEntity", "updateEntity"],\n "schema": ["contact", "contract", "order"],\n "attribute": ["email", "phone", "status"],\n "purpose": ["K\xFCndigung", "Umzug/Auszug"],\n "purpose_filters": [\n {\n "id": "string",\n "display_name": "string"\n }\n ]\n },\n "enabled": true,\n "auto_trigger": true,\n "automation_trigger": true,\n "api_trigger": true,\n "automation_trigger_only": true,\n "automation_trigger_seed_node": "ticket",\n "event_origin": "builtin",\n "mapping": {\n "mode": "guided",\n "jsonata": "string",\n "payload": "extend"\n },\n "lineage": {\n "base_event_name": "string",\n "base_event_version": "string"\n },\n "success_criteria": [\n {\n "entity_schema": "contract",\n "attribute": "installment_amount"\n },\n {\n "entity_schema": "billing_account",\n "attribute": "due_date"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `patchEvent`\n\nUpdate the configuration of a specific business event for the organization\n\n`PATCH /v1/events/{event_name}`\n\n```ts\nconst { data } = await client.patchEvent(\n {\n event_name: \'example\',\n },\n {\n enabled: true,\n auto_trigger: true,\n success_criteria: [\n {\n entity_schema: \'contract\',\n attribute: \'installment_amount\'\n }\n ]\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "event_name": "AddMeterReading",\n "event_title": "Add Meter Reading",\n "event_description": "Triggered when a new meter reading is added",\n "event_version": "1.0",\n "event_status": "active",\n "deprecated_at": "2026-09-30T12:00:00.000Z",\n "event_tags": ["builtin", "metering", "erp"],\n "schema_fields": {},\n "entity_graph": {\n "nodes": [\n {\n "id": "contact",\n "schema": "contact",\n "cardinality": "one",\n "fields": ["_id", "_title", "first_name", "account", "!account.*._files", "**._product"]\n }\n ],\n "edges": [\n {\n "from": "contact",\n "to": "billing_account"\n }\n ]\n },\n "entity_operation": {\n "operation": ["createEntity", "updateEntity"],\n "schema": ["contact", "contract", "order"],\n "attribute": ["email", "phone", "status"],\n "purpose": ["K\xFCndigung", "Umzug/Auszug"],\n "purpose_filters": [\n {\n "id": "string",\n "display_name": "string"\n }\n ]\n },\n "enabled": true,\n "auto_trigger": true,\n "automation_trigger": true,\n "api_trigger": true,\n "automation_trigger_only": true,\n "automation_trigger_seed_node": "ticket",\n "event_origin": "builtin",\n "mapping": {\n "mode": "guided",\n "jsonata": "string",\n "payload": "extend"\n },\n "lineage": {\n "base_event_name": "string",\n "base_event_version": "string"\n },\n "success_criteria": [\n {\n "entity_schema": "contract",\n "attribute": "installment_amount"\n },\n {\n "entity_schema": "billing_account",\n "attribute": "due_date"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `replaceCustomEventDraft`\n\nReplace 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 ide\n\n`PUT /v1/events/{event_name}`\n\n```ts\nconst { data } = await client.replaceCustomEventDraft(\n {\n event_name: \'example\',\n },\n {\n event_name: \'string\',\n event_title: \'string\',\n event_description: \'string\',\n event_tags: [\'string\'],\n schema_fields: {},\n entity_graph: {\n nodes: [\n {\n id: \'contact\',\n schema: \'contact\',\n cardinality: \'one\',\n fields: [\'_id\', \'_title\', \'first_name\', \'account\', \'!account.*._files\', \'**._product\']\n }\n ],\n edges: [\n {\n from: \'contact\',\n to: \'billing_account\'\n }\n ]\n },\n entity_operation: {\n operation: [\'createEntity\', \'updateEntity\'],\n schema: [\'contact\', \'contract\', \'order\'],\n attribute: [\'email\', \'phone\', \'status\'],\n purpose: [\'K\xFCndigung\', \'Umzug/Auszug\'],\n purpose_filters: [\n {\n id: \'string\',\n display_name: \'string\'\n }\n ]\n },\n automation_trigger: true,\n api_trigger: true,\n automation_trigger_only: false,\n automation_trigger_seed_node: \'string\',\n mapping: {\n mode: \'guided\',\n jsonata: \'string\',\n payload: \'extend\'\n },\n lineage: {\n base_event_name: \'string\',\n base_event_version: \'string\'\n },\n example: {}\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "event_name": "AddMeterReading",\n "event_title": "Add Meter Reading",\n "event_description": "Triggered when a new meter reading is added",\n "event_version": "1.0",\n "event_status": "active",\n "deprecated_at": "2026-09-30T12:00:00.000Z",\n "event_tags": ["builtin", "metering", "erp"],\n "schema_fields": {},\n "entity_graph": {\n "nodes": [\n {\n "id": "contact",\n "schema": "contact",\n "cardinality": "one",\n "fields": ["_id", "_title", "first_name", "account", "!account.*._files", "**._product"]\n }\n ],\n "edges": [\n {\n "from": "contact",\n "to": "billing_account"\n }\n ]\n },\n "entity_operation": {\n "operation": ["createEntity", "updateEntity"],\n "schema": ["contact", "contract", "order"],\n "attribute": ["email", "phone", "status"],\n "purpose": ["K\xFCndigung", "Umzug/Auszug"],\n "purpose_filters": [\n {\n "id": "string",\n "display_name": "string"\n }\n ]\n },\n "enabled": true,\n "auto_trigger": true,\n "automation_trigger": true,\n "api_trigger": true,\n "automation_trigger_only": true,\n "automation_trigger_seed_node": "ticket",\n "event_origin": "builtin",\n "mapping": {\n "mode": "guided",\n "jsonata": "string",\n "payload": "extend"\n },\n "lineage": {\n "base_event_name": "string",\n "base_event_version": "string"\n },\n "success_criteria": [\n {\n "entity_schema": "contract",\n "attribute": "installment_amount"\n },\n {\n "entity_schema": "billing_account",\n "attribute": "due_date"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `deprecateCustomEvent`\n\nSoft-deprecate an org-scoped custom event. Definitions and v1.0 history remain readable.\n\n`DELETE /v1/events/{event_name}`\n\n```ts\nconst { data } = await client.deprecateCustomEvent({\n event_name: \'example\',\n})\n```\n\n---\n\n### `previewCustomEvent`\n\nAssemble and fully validate a persisted custom-event draft without publishing it.\n\n`POST /v1/events/{event_name}:preview`\n\n```ts\nconst { data } = await client.previewCustomEvent(\n {\n event_name: \'example\',\n },\n {\n seed: {\n entity_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n node_id: \'ticket\'\n },\n _trigger_source_type: \'automation\',\n _trigger_source: \'execution-id/action-id\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "payload": {},\n "errors": [\n {\n "path": "string",\n "message": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `publishCustomEventDefinition`\n\nConditionally activate an immutable custom-event v1.0 definition.\n\n`POST /v1/events/{event_name}:publish`\n\n```ts\nconst { data } = await client.publishCustomEventDefinition(\n {\n event_name: \'example\',\n },\n {\n enabled: true,\n auto_trigger: true,\n base_auto_trigger_enabled: true\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "event_name": "AddMeterReading",\n "event_title": "Add Meter Reading",\n "event_description": "Triggered when a new meter reading is added",\n "event_version": "1.0",\n "event_status": "active",\n "deprecated_at": "2026-09-30T12:00:00.000Z",\n "event_tags": ["builtin", "metering", "erp"],\n "schema_fields": {},\n "entity_graph": {\n "nodes": [\n {\n "id": "contact",\n "schema": "contact",\n "cardinality": "one",\n "fields": ["_id", "_title", "first_name", "account", "!account.*._files", "**._product"]\n }\n ],\n "edges": [\n {\n "from": "contact",\n "to": "billing_account"\n }\n ]\n },\n "entity_operation": {\n "operation": ["createEntity", "updateEntity"],\n "schema": ["contact", "contract", "order"],\n "attribute": ["email", "phone", "status"],\n "purpose": ["K\xFCndigung", "Umzug/Auszug"],\n "purpose_filters": [\n {\n "id": "string",\n "display_name": "string"\n }\n ]\n },\n "enabled": true,\n "auto_trigger": true,\n "automation_trigger": true,\n "api_trigger": true,\n "automation_trigger_only": true,\n "automation_trigger_seed_node": "ticket",\n "event_origin": "builtin",\n "mapping": {\n "mode": "guided",\n "jsonata": "string",\n "payload": "extend"\n },\n "lineage": {\n "base_event_name": "string",\n "base_event_version": "string"\n },\n "success_criteria": [\n {\n "entity_schema": "contract",\n "attribute": "installment_amount"\n },\n {\n "entity_schema": "billing_account",\n "attribute": "due_date"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getCustomEventVersionDraft`\n\nRead 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\n`GET /v1/events/{event_name}/version_draft`\n\n```ts\nconst { data } = await client.getCustomEventVersionDraft({\n event_name: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "config": {\n "event_name": "AddMeterReading",\n "event_title": "Add Meter Reading",\n "event_description": "Triggered when a new meter reading is added",\n "event_version": "1.0",\n "event_status": "active",\n "deprecated_at": "2026-09-30T12:00:00.000Z",\n "event_tags": ["builtin", "metering", "erp"],\n "schema_fields": {},\n "entity_graph": {\n "nodes": [\n {\n "id": "contact",\n "schema": "contact",\n "cardinality": "one",\n "fields": ["_id", "_title", "first_name", "account", "!account.*._files", "**._product"]\n }\n ],\n "edges": [\n {\n "from": "contact",\n "to": "billing_account"\n }\n ]\n },\n "entity_operation": {\n "operation": ["createEntity", "updateEntity"],\n "schema": ["contact", "contract", "order"],\n "attribute": ["email", "phone", "status"],\n "purpose": ["K\xFCndigung", "Umzug/Auszug"],\n "purpose_filters": [\n {\n "id": "string",\n "display_name": "string"\n }\n ]\n },\n "enabled": true,\n "auto_trigger": true,\n "automation_trigger": true,\n "api_trigger": true,\n "automation_trigger_only": true,\n "automation_trigger_seed_node": "ticket",\n "event_origin": "builtin",\n "mapping": {\n "mode": "guided",\n "jsonata": "string",\n "payload": "extend"\n },\n "lineage": {\n "base_event_name": "string",\n "base_event_version": "string"\n },\n "success_criteria": [\n {\n "entity_schema": "contract",\n "attribute": "installment_amount"\n },\n {\n "entity_schema": "billing_account",\n "attribute": "due_date"\n }\n ]\n },\n "change_class": "none",\n "next_version": "1.1",\n "changes": [\n {\n "field": "reading",\n "op": "added",\n "type_old": "string",\n "type_new": "string"\n }\n ],\n "remapped_fields": ["string"],\n "added_nodes": ["string"],\n "blocked_reason": "string"\n}\n```\n\n</details>\n\n---\n\n### `putCustomEventVersionDraft`\n\nCreate or replace the successor of a published custom event. The published definition stays\nimmutable and keeps firing; only publishing the draft promotes it.\n\n`PUT /v1/events/{event_name}/version_draft`\n\n```ts\nconst { data } = await client.putCustomEventVersionDraft(\n {\n event_name: \'example\',\n },\n {\n event_name: \'string\',\n event_title: \'string\',\n event_description: \'string\',\n event_tags: [\'string\'],\n schema_fields: {},\n entity_graph: {\n nodes: [\n {\n id: \'contact\',\n schema: \'contact\',\n cardinality: \'one\',\n fields: [\'_id\', \'_title\', \'first_name\', \'account\', \'!account.*._files\', \'**._product\']\n }\n ],\n edges: [\n {\n from: \'contact\',\n to: \'billing_account\'\n }\n ]\n },\n entity_operation: {\n operation: [\'createEntity\', \'updateEntity\'],\n schema: [\'contact\', \'contract\', \'order\'],\n attribute: [\'email\', \'phone\', \'status\'],\n purpose: [\'K\xFCndigung\', \'Umzug/Auszug\'],\n purpose_filters: [\n {\n id: \'string\',\n display_name: \'string\'\n }\n ]\n },\n automation_trigger: true,\n api_trigger: true,\n automation_trigger_only: false,\n automation_trigger_seed_node: \'string\',\n mapping: {\n mode: \'guided\',\n jsonata: \'string\',\n payload: \'extend\'\n },\n lineage: {\n base_event_name: \'string\',\n base_event_version: \'string\'\n },\n example: {}\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "config": {\n "event_name": "AddMeterReading",\n "event_title": "Add Meter Reading",\n "event_description": "Triggered when a new meter reading is added",\n "event_version": "1.0",\n "event_status": "active",\n "deprecated_at": "2026-09-30T12:00:00.000Z",\n "event_tags": ["builtin", "metering", "erp"],\n "schema_fields": {},\n "entity_graph": {\n "nodes": [\n {\n "id": "contact",\n "schema": "contact",\n "cardinality": "one",\n "fields": ["_id", "_title", "first_name", "account", "!account.*._files", "**._product"]\n }\n ],\n "edges": [\n {\n "from": "contact",\n "to": "billing_account"\n }\n ]\n },\n "entity_operation": {\n "operation": ["createEntity", "updateEntity"],\n "schema": ["contact", "contract", "order"],\n "attribute": ["email", "phone", "status"],\n "purpose": ["K\xFCndigung", "Umzug/Auszug"],\n "purpose_filters": [\n {\n "id": "string",\n "display_name": "string"\n }\n ]\n },\n "enabled": true,\n "auto_trigger": true,\n "automation_trigger": true,\n "api_trigger": true,\n "automation_trigger_only": true,\n "automation_trigger_seed_node": "ticket",\n "event_origin": "builtin",\n "mapping": {\n "mode": "guided",\n "jsonata": "string",\n "payload": "extend"\n },\n "lineage": {\n "base_event_name": "string",\n "base_event_version": "string"\n },\n "success_criteria": [\n {\n "entity_schema": "contract",\n "attribute": "installment_amount"\n },\n {\n "entity_schema": "billing_account",\n "attribute": "due_date"\n }\n ]\n },\n "change_class": "none",\n "next_version": "1.1",\n "changes": [\n {\n "field": "reading",\n "op": "added",\n "type_old": "string",\n "type_new": "string"\n }\n ],\n "remapped_fields": ["string"],\n "added_nodes": ["string"],\n "blocked_reason": "string"\n}\n```\n\n</details>\n\n---\n\n### `deleteCustomEventVersionDraft`\n\nDiscard the next-version draft. The published version is untouched.\n\n`DELETE /v1/events/{event_name}/version_draft`\n\n```ts\nconst { data } = await client.deleteCustomEventVersionDraft({\n event_name: \'example\',\n})\n```\n\n---\n\n### `publishCustomEventVersion`\n\nPublish the next-version draft as the event\'s new live version.\n\n`POST /v1/events/{event_name}/version_draft:publish`\n\n```ts\nconst { data } = await client.publishCustomEventVersion(\n {\n event_name: \'example\',\n },\n {\n change_summary: \'string\',\n change_notes: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "event_name": "AddMeterReading",\n "event_title": "Add Meter Reading",\n "event_description": "Triggered when a new meter reading is added",\n "event_version": "1.0",\n "event_status": "active",\n "deprecated_at": "2026-09-30T12:00:00.000Z",\n "event_tags": ["builtin", "metering", "erp"],\n "schema_fields": {},\n "entity_graph": {\n "nodes": [\n {\n "id": "contact",\n "schema": "contact",\n "cardinality": "one",\n "fields": ["_id", "_title", "first_name", "account", "!account.*._files", "**._product"]\n }\n ],\n "edges": [\n {\n "from": "contact",\n "to": "billing_account"\n }\n ]\n },\n "entity_operation": {\n "operation": ["createEntity", "updateEntity"],\n "schema": ["contact", "contract", "order"],\n "attribute": ["email", "phone", "status"],\n "purpose": ["K\xFCndigung", "Umzug/Auszug"],\n "purpose_filters": [\n {\n "id": "string",\n "display_name": "string"\n }\n ]\n },\n "enabled": true,\n "auto_trigger": true,\n "automation_trigger": true,\n "api_trigger": true,\n "automation_trigger_only": true,\n "automation_trigger_seed_node": "ticket",\n "event_origin": "builtin",\n "mapping": {\n "mode": "guided",\n "jsonata": "string",\n "payload": "extend"\n },\n "lineage": {\n "base_event_name": "string",\n "base_event_version": "string"\n },\n "success_criteria": [\n {\n "entity_schema": "contract",\n "attribute": "installment_amount"\n },\n {\n "entity_schema": "billing_account",\n "attribute": "due_date"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getEventJSONSchema`\n\nRetrieve 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\n`GET /v1/events/{event_name}/json_schema`\n\n```ts\nconst { data } = await client.getEventJSONSchema({\n event_name: \'example\',\n Epilot-Event-Version: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "type": "object",\n "properties": {\n "_org_id": {\n "type": "string",\n "description": "epilot tenant/organization ID"\n },\n "_event_time": {\n "type": "string",\n "format": "date-time",\n "description": "ISO 8601 timestamp when event occurred"\n },\n "_event_id": {\n "type": "string",\n "description": "Unique event identifier (ULID)"\n },\n "_event_name": {\n "type": "string",\n "description": "Event name from catalog"\n },\n "_event_version": {\n "type": "string",\n "description": "Event payload version (MAJOR.MINOR)"\n },\n "_event_source": {\n "type": "string",\n "description": "Source that triggered the event"\n },\n "reading_value": {\n "type": "number",\n "description": "The meter reading value"\n },\n "reading_date": {\n "type": "string",\n "format": "date-time",\n "description": "ISO 8601 timestamp when reading was taken"\n },\n "read_by": {\n "type": "string",\n "description": "Name or identifier of who submitted the reading"\n },\n "reason": {\n "type": "string",\n "enum": ["regular", "move-in", "move-out", "supplier-change", "correction", "final"],\n "description": "Reason for the meter reading"\n },\n "direction": {\n "type": "string",\n "enum": ["feed-in", "feed-out"],\n "description": "Direction of energy flow"\n },\n "source": {\n "type": "string",\n "enum": ["portal", "360", "api", "automation"],\n "description": "Source system where reading was submitted"\n },\n "meter_id": {\n "type": "string",\n "format": "uuid",\n "description": "Entity ID of the meter"\n },\n "counter_id": {\n "type": "string",\n "format": "uuid",\n "description": "Entity ID of the meter counter"\n },\n "meter_number": {\n "type": "string",\n "description": "Human-readable meter number"\n },\n "obis_number": {\n "type": "string",\n "description": "OBIS code of the counter"\n },\n "unit": {\n "type": "string",\n "description": "Unit of measurement (e.g., kWh, m3)"\n },\n "customer_id": {\n "type": "string",\n "format": "uuid",\n "description": "Entity ID of the customer"\n },\n "contract_id": {\n "type": "string",\n "format": "uuid",\n "description": "Entity ID of the contract"\n },\n "user_id": {\n "type": "string",\n "description": "ID of the user who submitted the reading"\n },\n "user_email": {\n "type": "string",\n "format": "email",\n "description": "Email of the user who submitted the reading"\n }\n },\n "required": ["_org_id", "_event_time", "_event_id", "_event_name", "_event_version", "_event_source", "reading_value", "reading_date", "read_by", "reason", "direction", "source", "meter_id", "counter_id", "meter_number", "obis_number", "unit", "customer_id", "contract_id"]\n}\n```\n\n</details>\n\n---\n\n### `getEventExample`\n\nGenerate 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 versio\n\n`GET /v1/events/{event_name}/example`\n\n```ts\nconst { data } = await client.getEventExample({\n event_name: \'example\',\n Epilot-Event-Version: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{}\n```\n\n</details>\n\n---\n\n### `listEventVersions`\n\nList every known version of an event, along with the `latest`\nand the set of currently `active` versions. See \xA73.2 of the\nEvent Payload Versioning RFC.\n\n`GET /v1/events/{event_name}/versions`\n\n```ts\nconst { data } = await client.listEventVersions({\n event_name: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "event_name": "MeterReadingAdded",\n "latest": "1.0",\n "versions": [\n {\n "version": "1.0",\n "released_at": "2025-11-15",\n "change_summary": "string",\n "change_notes": "string",\n "changes": [\n {\n "field": "reading",\n "op": "added",\n "type_old": "string",\n "type_new": "string"\n }\n ]\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `searchEventHistory`\n\nPaginated history of events\n\n`POST /v1/events/{event_name}:history`\n\n```ts\nconst { data } = await client.searchEventHistory(\n {\n event_name: \'example\',\n },\n {\n limit: 10,\n cursor: {\n event_time: \'2025-10-31 12:34:56\',\n event_id: \'evt_1234567890abcdef\'\n },\n timestamp: {\n from: \'2025-10-01T00:00:00Z\',\n to: \'2025-10-31T23:59:59Z\'\n },\n event_id: \'evt_1234567890abcdef\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "_org_id": "org_123456",\n "_event_time": "2024-01-01T12:00:00Z",\n "_event_id": "01FZ4Z5FZ5FZ5FZ5FZ5FZ5FZ5F",\n "_event_name": "MeterReading",\n "_event_version": "1.0",\n "_event_source": "api",\n "_trigger_source_type": "api",\n "_trigger_source": "user_123456",\n "reading_value": 123.45,\n "reading_date": "2024-01-01T11:59:00Z",\n "read_by": "John Doe",\n "reason": "regular",\n "direction": "feed-out",\n "source": "portal",\n "meter_id": "550e8400-e29b-41d4-a716-446655440000",\n "counter_id": "660e8400-e29b-41d4-a716-446655440000",\n "meter_number": "MT123456789",\n "obis_number": "1-0:1.8.0",\n "unit": "kWh",\n "customer_id": "770e8400-e29b-41d4-a716-446655440000",\n "contract_id": "880e8400-e29b-41d4-a716-446655440000"\n }\n ],\n "next_cursor": {\n "event_time": "2025-10-31T12:34:56Z",\n "event_id": "evt_1234567890abcdef"\n }\n}\n```\n\n</details>\n\n---\n\n### `searchEventHistoryV2`\n\nPaginated history of events with projected/lightweight payload (v2).\n\n`POST /v2/events/{event_name}:history`\n\n```ts\nconst { data } = await client.searchEventHistoryV2(\n {\n event_name: \'example\',\n },\n {\n limit: 10,\n cursor: {\n event_time: \'2025-10-31 12:34:56\',\n event_id: \'evt_1234567890abcdef\'\n },\n timestamp: {\n from: \'2025-10-01T00:00:00Z\',\n to: \'2025-10-31T23:59:59Z\'\n },\n event_id: \'evt_1234567890abcdef\',\n fields: [\'_id\', \'_title\', \'first_name\', \'account\', \'!account.*._files\', \'**._product\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "_org_id": "string",\n "_event_time": "1970-01-01T00:00:00.000Z",\n "_event_id": "string",\n "_event_name": "string",\n "_event_version": "1.0",\n "_event_source": "string",\n "_trigger_source_type": "api",\n "_trigger_source": "string",\n "_ack_id": "string"\n }\n ],\n "next_cursor": {\n "event_time": "2025-10-31T12:34:56Z",\n "event_id": "evt_1234567890abcdef"\n }\n}\n```\n\n</details>\n\n---\n\n### `getHistoricalEvent`\n\nFetch a single historical event by id with full hydration\n\n`GET /v2/events/{event_name}/history/{event_id}`\n\n```ts\nconst { data } = await client.getHistoricalEvent({\n event_name: \'example\',\n event_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_org_id": "org_123456",\n "_event_time": "2024-01-01T12:00:00Z",\n "_event_id": "01FZ4Z5FZ5FZ5FZ5FZ5FZ5FZ5F",\n "_event_name": "MeterReading",\n "_event_version": "1.0",\n "_event_source": "api",\n "_trigger_source_type": "api",\n "_trigger_source": "user_123456",\n "reading_value": 123.45,\n "reading_date": "2024-01-01T11:59:00Z",\n "read_by": "John Doe",\n "reason": "regular",\n "direction": "feed-out",\n "source": "portal",\n "meter_id": "550e8400-e29b-41d4-a716-446655440000",\n "counter_id": "660e8400-e29b-41d4-a716-446655440000",\n "meter_number": "MT123456789",\n "obis_number": "1-0:1.8.0",\n "unit": "kWh",\n "customer_id": "770e8400-e29b-41d4-a716-446655440000",\n "contract_id": "880e8400-e29b-41d4-a716-446655440000"\n}\n```\n\n</details>\n\n---\n\n### `triggerEvent`\n\nExplicitly 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`POST /v1/events/{event_name}:trigger`\n\n```ts\nconst { data } = await client.triggerEvent(\n {\n event_name: \'example\',\n },\n {\n seed: {\n entity_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n node_id: \'ticket\'\n },\n _trigger_source_type: \'automation\',\n _trigger_source: \'execution-id/action-id\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "success": true,\n "event_id": "string",\n "event_bridge_event_id": "string"\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `EventConfigBase`\n\nBase properties shared between EventConfig and UpdateEventPayload\n\n```ts\ntype EventConfigBase = {\n event_name?: string\n event_title?: string\n event_description?: string\n event_version?: string\n event_status?: "active" | "deprecated" | "draft" | "disabled"\n deprecated_at?: string // date-time\n event_tags?: string[]\n schema_fields?: Record<string, {\n json_schema: object\n required?: boolean\n graph_source?: string\n } | {\n entity_schema: string\n required?: boolean\n } | {\n items: {\n entity_id: { ... }\n filename?: { ... }\n mime_type?: { ... }\n size_bytes?: { ... }\n s3ref?: { ... }\n version_index: { ... }\n readable_size?: { ... }\n }\n required?: boolean\n }>\n entity_graph?: {\n nodes: Array<{\n id: { ... }\n schema: { ... }\n cardinality?: { ... }\n fields?: { ... }\n }>\n edges: Array<{\n from: { ... }\n to: { ... }\n }>\n }\n entity_operation?: {\n operation: "createEntity" | "updateEntity" | "deleteEntity"[]\n schema: string[]\n attribute?: string[]\n purpose?: string[]\n purpose_filters?: Array<{\n id: { ... }\n display_name: { ... }\n }>\n }\n enabled?: boolean\n auto_trigger?: boolean\n automation_trigger?: boolean\n api_trigger?: boolean\n automation_trigger_only?: boolean\n automation_trigger_seed_node?: string\n event_origin?: "builtin" | "custom"\n mapping?: {\n mode: "guided" | "jsonata"\n jsonata?: string\n payload?: "extend" | "replace"\n }\n lineage?: {\n base_event_name: string\n base_event_version: string\n }\n success_criteria?: Array<{\n entity_schema: string\n attribute: string\n }>\n}\n```\n\n### `EventConfig`\n\nEvent configuration with required fields\n\n```ts\ntype EventConfig = {\n event_name: string\n event_title?: string\n event_description?: string\n event_version: string\n event_status?: "active" | "deprecated" | "draft" | "disabled"\n deprecated_at?: string // date-time\n event_tags?: string[]\n schema_fields: Record<string, {\n json_schema: object\n required?: boolean\n graph_source?: string\n } | {\n entity_schema: string\n required?: boolean\n } | {\n items: {\n entity_id: { ... }\n filename?: { ... }\n mime_type?: { ... }\n size_bytes?: { ... }\n s3ref?: { ... }\n version_index: { ... }\n readable_size?: { ... }\n }\n required?: boolean\n }>\n entity_graph?: {\n nodes: Array<{\n id: { ... }\n schema: { ... }\n cardinality?: { ... }\n fields?: { ... }\n }>\n edges: Array<{\n from: { ... }\n to: { ... }\n }>\n }\n entity_operation?: {\n operation: "createEntity" | "updateEntity" | "deleteEntity"[]\n schema: string[]\n attribute?: string[]\n purpose?: string[]\n purpose_filters?: Array<{\n id: { ... }\n display_name: { ... }\n }>\n }\n enabled?: boolean\n auto_trigger?: boolean\n automation_trigger?: boolean\n api_trigger?: boolean\n automation_trigger_only?: boolean\n automation_trigger_seed_node?: string\n event_origin?: "builtin" | "custom"\n mapping?: {\n mode: "guided" | "jsonata"\n jsonata?: string\n payload?: "extend" | "replace"\n }\n lineage?: {\n base_event_name: string\n base_event_version: string\n }\n success_criteria?: Array<{\n entity_schema: string\n attribute: string\n }>\n}\n```\n\n### `CreateCustomEventPayload`\n\nComplete immutable custom-event v1.0 definition projected from a required entity graph. Publication is a separate conditional action.\n\n```ts\ntype CreateCustomEventPayload = {\n event_name: string\n event_title: string\n event_description?: string\n event_tags?: string[]\n schema_fields: Record<string, {\n json_schema: object\n required?: boolean\n graph_source?: string\n } | {\n entity_schema: string\n required?: boolean\n }>\n entity_graph: {\n nodes: Array<{\n id: { ... }\n schema: { ... }\n cardinality?: { ... }\n fields?: { ... }\n }>\n edges: Array<{\n from: { ... }\n to: { ... }\n }>\n }\n entity_operation?: {\n operation: "createEntity" | "updateEntity" | "deleteEntity"[]\n schema: string[]\n attribute?: string[]\n purpose?: string[]\n purpose_filters?: Array<{\n id: { ... }\n display_name: { ... }\n }>\n }\n automation_trigger?: boolean\n api_trigger?: boolean\n automation_trigger_only?: boolean\n automation_trigger_seed_node?: string\n mapping?: {\n mode: "guided" | "jsonata"\n jsonata?: string\n payload?: "extend" | "replace"\n }\n lineage?: {\n base_event_name: string\n base_event_version: string\n }\n example?: Record<string, unknown>\n}\n```\n\n### `EventMapping`\n\nGuided mappings use schema_fields graph_source expressions; raw mode evaluates one JSONata object transform.\n\n```ts\ntype EventMapping = {\n mode: "guided" | "jsonata"\n jsonata?: string\n payload?: "extend" | "replace"\n}\n```\n\n### `CustomEventLineage`\n\nOptional catalog lineage to a separately named base event. Built-in inheritance is validated against this exact registered version; its trigger restrictions cannot be removed or replaced. It does not replace the base event.\n\n```ts\ntype CustomEventLineage = {\n base_event_name: string\n base_event_version: string\n}\n```\n\n### `PurposeFilterSnapshot`\n\n```ts\ntype PurposeFilterSnapshot = {\n id: string\n display_name: string\n}\n```\n\n### `PublishCustomEventPayload`\n\n```ts\ntype PublishCustomEventPayload = {\n enabled?: boolean\n auto_trigger?: boolean\n base_auto_trigger_enabled?: boolean\n}\n```\n\n### `CustomEventVersionDraft`\n\nA pending successor to a published custom event, with the version it would become.\n\n\n```ts\ntype CustomEventVersionDraft = {\n config: {\n event_name: string\n event_title?: string\n event_description?: string\n event_version: string\n event_status?: "active" | "deprecated" | "draft" | "disabled"\n deprecated_at?: string // date-time\n event_tags?: string[]\n schema_fields: Record<string, {\n json_schema: { ... }\n required?: { ... }\n graph_source?: { ... }\n } | {\n entity_schema: { ... }\n required?: { ... }\n } | {\n items: { ... }\n required?: { ... }\n }>\n entity_graph?: {\n nodes: { ... }\n edges: { ... }\n }\n entity_operation?: {\n operation: { ... }\n schema: { ... }\n attribute?: { ... }\n purpose?: { ... }\n purpose_filters?: { ... }\n }\n enabled?: boolean\n auto_trigger?: boolean\n automation_trigger?: boolean\n api_trigger?: boolean\n automation_trigger_only?: boolean\n automation_trigger_seed_node?: string\n event_origin?: "builtin" | "custom"\n mapping?: {\n mode: { ... }\n jsonata?: { ... }\n payload?: { ... }\n }\n lineage?: {\n base_event_name: { ... }\n base_event_version: { ... }\n }\n success_criteria?: Array<{\n entity_schema: { ... }\n attribute: { ... }\n }>\n }\n change_class: "none" | "minor" | "major" | "blocked"\n next_version?: string\n changes: Array<{\n field: string\n op: "added" | "removed" | "type-changed"\n type_old?: string\n type_new?: string\n }>\n remapped_fields: string[]\n added_nodes: string[]\n blocked_reason?: string\n}\n```\n\n### `PublishCustomEventVersionPayload`\n\n```ts\ntype PublishCustomEventVersionPayload = {\n change_summary?: string\n change_notes?: string\n}\n```\n\n### `ValidationIssue`\n\n```ts\ntype ValidationIssue = {\n path: string\n message: string\n}\n```\n\n### `PreviewEventResponse`\n\n```ts\ntype PreviewEventResponse = {\n payload: Record<string, unknown>\n errors: Array<{\n path: string\n message: string\n }>\n}\n```\n\n### `UpdateEventPayload`\n\nMutable org activation overlay. Immutable event definition fields are not accepted.\n\n```ts\ntype UpdateEventPayload = {\n enabled?: boolean\n auto_trigger?: boolean\n success_criteria?: Array<{\n entity_schema: string\n attribute: string\n }>\n}\n```\n\n### `PrimitiveField`\n\nA primitive JSON Schema field definition\n\n```ts\ntype PrimitiveField = {\n json_schema: object\n required?: boolean\n graph_source?: string\n}\n```\n\n### `ContextEntity`\n\n```ts\ntype ContextEntity = {\n entity_schema: string\n required?: boolean\n}\n```\n\n### `AttachmentField`\n\nA schema field representing file attachments associated with the event.\nPresent in schema_fields for events tagged with "attachment".\n\n\n```ts\ntype AttachmentField = {\n items: {\n entity_id: string // uuid\n filename?: string\n mime_type?: string\n size_bytes?: number\n s3ref?: {\n bucket: { ... }\n key: { ... }\n }\n version_index: number\n readable_size?: string\n }\n required?: boolean\n}\n```\n\n### `CustomSchemaField`\n\nCustom v1 fields support graph-projected JSON Schema values and context entities; attachment semantics are built-in-only.\n\n```ts\ntype CustomSchemaField = {\n json_schema: object\n required?: boolean\n graph_source?: string\n} | {\n entity_schema: string\n required?: boolean\n}\n```\n\n### `SchemaField`\n\n```ts\ntype SchemaField = {\n json_schema: object\n required?: boolean\n graph_source?: string\n} | {\n entity_schema: string\n required?: boolean\n} | {\n items: {\n entity_id: string // uuid\n filename?: string\n mime_type?: string\n size_bytes?: number\n s3ref?: {\n bucket: { ... }\n key: { ... }\n }\n version_index: number\n readable_size?: string\n }\n required?: boolean\n}\n```\n\n### `SuccessCriterion`\n\nA single org-defined success criterion: an entity attribute that must be captured\nfor this event\'s change request to be considered complete.\n\nIdentity is the entity schema plus the attribute name \u2014 mirroring the\nEntityOperationTrigger `schema`/`attribute` vocabulary. On write (PATCH), both\n`attribut\n\n```ts\ntype SuccessCriterion = {\n entity_schema: string\n attribute: string\n}\n```\n\n### `CommonEventMetadata`\n\nCommon metadata fields present in all event payloads\n\n```ts\ntype CommonEventMetadata = object\n```\n\n### `EventJsonSchema`\n\nJSON Schema declaring the event payload structure\n\n```ts\ntype EventJsonSchema = object\n```\n\n### `InlineDowngradeStep`\n\nOne 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.\n\n```ts\ntype InlineDowngradeStep = {\n to: string\n jsonata: string\n}\n```\n\n### `Event`\n\nAn event instance in the event history\n\n```ts\ntype Event = {\n _org_id: string\n _event_time: string // date-time\n _event_id: string\n _event_name: string\n _event_version: string\n _event_source: string\n _trigger_source_type?: string\n _trigger_source?: string\n _ack_id?: string\n _downgrades?: Array<{\n to: string\n jsonata: string\n }>\n _automation_chain?: string[]\n}\n```\n\n### `EventSummary`\n\nA lightweight event summary returned by the v2 history endpoint.\n\nIncludes the standard `_*` metadata fields plus a projected subset of the\nevent payload. Hydrated entity objects (values carrying `_schema` or `_id`)\n\u2014 and arrays of such objects \u2014 are reduced to reference stubs\n`{_schema, _id, _title\n\n```ts\ntype EventSummary = {\n _org_id: string\n _event_time: string // date-time\n _event_id: string\n _event_name: string\n _event_version: string\n _event_source: string\n _trigger_source_type?: string\n _trigger_source?: string\n _ack_id?: string\n}\n```\n\n### `GraphDefinition`\n\nEntity graph definition for resolving related entities\n\n```ts\ntype GraphDefinition = {\n nodes: Array<{\n id: string\n schema: string\n cardinality?: "one" | "many"\n fields?: object\n }>\n edges: Array<{\n from: string\n to: string\n }>\n}\n```\n\n### `GraphNode`\n\nA node in the entity graph\n\n```ts\ntype GraphNode = {\n id: string\n schema: string\n cardinality?: "one" | "many"\n fields?: object\n}\n```\n\n### `GraphEdge`\n\nAn edge connecting two nodes in the graph\n\n```ts\ntype GraphEdge = {\n from: string\n to: string\n}\n```\n\n### `EntityOperationTrigger`\n\nConfiguration for triggering an event based on entity operations.\n\nWhen an entity operation matches the configured criteria, the event will be triggered.\n- On createEntity: the attribute must be present in the entity payload\n- On updateEntity: the attribute must be in diff.added, diff.updated, or di\n\n```ts\ntype EntityOperationTrigger = {\n operation: "createEntity" | "updateEntity" | "deleteEntity"[]\n schema: string[]\n attribute?: string[]\n purpose?: string[]\n purpose_filters?: Array<{\n id: string\n display_name: string\n }>\n}\n```\n\n### `SearchOptions`\n\n```ts\ntype SearchOptions = {\n limit?: number\n cursor?: {\n event_time?: string\n event_id?: string\n }\n timestamp?: {\n from?: string // date-time\n to?: string // date-time\n }\n event_id?: string\n}\n```\n\n### `SearchOptionsV2`\n\nSearch options for the v2 history endpoint.\n\nExtends `SearchOptions` with an optional `fields` projection. When `fields`\nis omitted, the response includes all `_*` metadata plus all scalar payload\nfields (and primitive arrays / empty objects/arrays) after entity stripping.\nWhen `fields` is provided,\n\n```ts\ntype SearchOptionsV2 = {\n limit?: number\n cursor?: {\n event_time?: string\n event_id?: string\n }\n timestamp?: {\n from?: string // date-time\n to?: string // date-time\n }\n event_id?: string\n fields?: string[]\n}\n```\n\n### `FieldsParam`\n\nList of entity fields to include or exclude in the response\n\nUse ! to exclude fields, e.g. `!_id` to exclude the `_id` field.\n\nGlobbing and globstart (**) is supported for nested fields.\n\n\n```ts\ntype FieldsParam = string[]\n```\n\n### `TriggerEventPayload`\n\nPayload for explicitly triggering an event via API\n\n```ts\ntype TriggerEventPayload = {\n seed?: {\n entity_id: string // uuid\n node_id: string\n }\n fields?: Record<string, unknown>\n skip_hydration?: string[]\n _trigger_source_type?: string\n _trigger_source?: string\n _automation_chain?: string[]\n}\n```\n\n### `TriggerEventResponse`\n\nResponse from triggering an event\n\n```ts\ntype TriggerEventResponse = {\n success: boolean\n event_id: string\n event_bridge_event_id?: string\n}\n```\n\n### `EventAttachment`\n\nA file attachment associated with an event\n\n```ts\ntype EventAttachment = {\n entity_id: string // uuid\n filename?: string\n mime_type?: string\n size_bytes?: number\n s3ref?: {\n bucket: string\n key: string\n }\n version_index: number\n readable_size?: string\n}\n```\n\n### `FieldChange`\n\nA field-level change descriptor. Powers the declarative half of the\nversion DSL.\n\n\n```ts\ntype FieldChange = {\n field: string\n op: "added" | "removed" | "type-changed"\n type_old?: string\n type_new?: string\n}\n```\n\n### `VersionMeta`\n\nOne entry of an event\'s version timeline.\n\n```ts\ntype VersionMeta = {\n version: string\n released_at: string\n change_summary: string\n change_notes?: string\n changes: Array<{\n field: string\n op: "added" | "removed" | "type-changed"\n type_old?: string\n type_new?: string\n }>\n}\n```\n\n### `EventVersionRegistrySummary`\n\nSummary of an event\'s version timeline returned by\n`GET /v1/events/{event_name}/versions`.\n\n\n```ts\ntype EventVersionRegistrySummary = {\n event_name: string\n latest: string\n versions: Array<{\n version: string\n released_at: string\n change_summary: string\n change_notes?: string\n changes: Array<{\n field: { ... }\n op: { ... }\n type_old?: { ... }\n type_new?: { ... }\n }>\n }>\n}\n```\n';
5
+
6
+
7
+ exports.default = event_catalog_default;
@@ -394,6 +394,12 @@ declare namespace Components {
394
394
  * active
395
395
  */
396
396
  event_status?: "active" | "deprecated" | "draft" | "disabled";
397
+ /**
398
+ * When a custom event was deprecated. Only present on deprecated custom events.
399
+ * example:
400
+ * 2026-09-30T12:00:00.000Z
401
+ */
402
+ deprecated_at?: string; // date-time
397
403
  /**
398
404
  * Tags associated with the event for categorization and filtering
399
405
  *
@@ -616,6 +622,12 @@ declare namespace Components {
616
622
  * active
617
623
  */
618
624
  event_status?: "active" | "deprecated" | "draft" | "disabled";
625
+ /**
626
+ * When a custom event was deprecated. Only present on deprecated custom events.
627
+ * example:
628
+ * 2026-09-30T12:00:00.000Z
629
+ */
630
+ deprecated_at?: string; // date-time
619
631
  /**
620
632
  * Tags associated with the event for categorization and filtering
621
633
  *
@@ -951,6 +963,15 @@ declare namespace Components {
951
963
  export interface EventMapping {
952
964
  mode: "guided" | "jsonata";
953
965
  jsonata?: string;
966
+ /**
967
+ * How the mapped fields relate to the entity data. `extend` emits the mapped fields followed by
968
+ * every graph node; `replace` emits only the mapped fields, so the graph is hydrated to compute
969
+ * them but never travels with the event. A replace-mode event can only gain fields in later
970
+ * versions, because remapping an existing field needs the entity data in the payload to
971
+ * rebuild its previous value.
972
+ *
973
+ */
974
+ payload?: "extend" | "replace";
954
975
  }
955
976
  /**
956
977
  * A lightweight event summary returned by the v2 history endpoint.
@@ -394,6 +394,12 @@ declare namespace Components {
394
394
  * active
395
395
  */
396
396
  event_status?: "active" | "deprecated" | "draft" | "disabled";
397
+ /**
398
+ * When a custom event was deprecated. Only present on deprecated custom events.
399
+ * example:
400
+ * 2026-09-30T12:00:00.000Z
401
+ */
402
+ deprecated_at?: string; // date-time
397
403
  /**
398
404
  * Tags associated with the event for categorization and filtering
399
405
  *
@@ -616,6 +622,12 @@ declare namespace Components {
616
622
  * active
617
623
  */
618
624
  event_status?: "active" | "deprecated" | "draft" | "disabled";
625
+ /**
626
+ * When a custom event was deprecated. Only present on deprecated custom events.
627
+ * example:
628
+ * 2026-09-30T12:00:00.000Z
629
+ */
630
+ deprecated_at?: string; // date-time
619
631
  /**
620
632
  * Tags associated with the event for categorization and filtering
621
633
  *
@@ -951,6 +963,15 @@ declare namespace Components {
951
963
  export interface EventMapping {
952
964
  mode: "guided" | "jsonata";
953
965
  jsonata?: string;
966
+ /**
967
+ * How the mapped fields relate to the entity data. `extend` emits the mapped fields followed by
968
+ * every graph node; `replace` emits only the mapped fields, so the graph is hydrated to compute
969
+ * them but never travels with the event. A replace-mode event can only gain fields in later
970
+ * versions, because remapping an existing field needs the entity data in the payload to
971
+ * rebuild its previous value.
972
+ *
973
+ */
974
+ payload?: "extend" | "replace";
954
975
  }
955
976
  /**
956
977
  * A lightweight event summary returned by the v2 history endpoint.
package/dist/index.cjs CHANGED
@@ -164,7 +164,7 @@ var _chunkWOUASZJWcjs = require('./chunk-WOUASZJW.cjs');
164
164
 
165
165
 
166
166
 
167
- var _chunk5NZXNIBEcjs = require('./chunk-5NZXNIBE.cjs');
167
+ var _chunkKP2RRRO5cjs = require('./chunk-KP2RRRO5.cjs');
168
168
 
169
169
 
170
170
  var _chunkNJK5F5TFcjs = require('./chunk-NJK5F5TF.cjs');
@@ -231,7 +231,7 @@ var resolveClient = (params) => {
231
231
  }
232
232
  if (!entry.instance) {
233
233
  const definition = entry.loader();
234
- entry.instance = _chunk5NZXNIBEcjs.createApiClient.call(void 0, {
234
+ entry.instance = _chunkKP2RRRO5cjs.createApiClient.call(void 0, {
235
235
  definition,
236
236
  token: state.token,
237
237
  headers: state.globalHeaders,
@@ -264,7 +264,7 @@ var resetAllClients = (registry) => {
264
264
  };
265
265
 
266
266
  // src/apis/_registry.ts
267
- var expandDef = (mod) => _chunk5NZXNIBEcjs.expand.call(void 0, _nullishCoalesce(mod.default, () => ( mod)));
267
+ var expandDef = (mod) => _chunkKP2RRRO5cjs.expand.call(void 0, _nullishCoalesce(mod.default, () => ( mod)));
268
268
  var registerBuiltinApis = (registry) => {
269
269
  registerApi({
270
270
  registry,
@@ -617,9 +617,9 @@ var createSDK = () => {
617
617
  const available = [...registry.keys()].join(", ");
618
618
  throw new Error(`Unknown API: "${name}". Available: ${available}`);
619
619
  }
620
- return _chunk5NZXNIBEcjs.createApiHandle.call(void 0, {
620
+ return _chunkKP2RRRO5cjs.createApiHandle.call(void 0, {
621
621
  resolveClient: () => resolveClient({ registry, name, state }),
622
- createClient: () => _chunk5NZXNIBEcjs.createApiClient.call(void 0, { definition: entry.loader(), apiName: name }),
622
+ createClient: () => _chunkKP2RRRO5cjs.createApiClient.call(void 0, { definition: entry.loader(), apiName: name }),
623
623
  apiName: name
624
624
  });
625
625
  };
@@ -667,9 +667,9 @@ var createSDK = () => {
667
667
  return interceptorUse;
668
668
  }
669
669
  case "help":
670
- return (apiName) => _chunk5NZXNIBEcjs.help.call(void 0, apiName);
670
+ return (apiName) => _chunkKP2RRRO5cjs.help.call(void 0, apiName);
671
671
  case "openapi":
672
- return (apiName) => _chunk5NZXNIBEcjs.openapi.call(void 0, apiName);
672
+ return (apiName) => _chunkKP2RRRO5cjs.openapi.call(void 0, apiName);
673
673
  case "then":
674
674
  case "catch":
675
675
  case "finally":
@@ -699,4 +699,4 @@ var epilot = createSDK();
699
699
 
700
700
 
701
701
 
702
- exports.applyLargeResponseInterceptor = applyLargeResponseInterceptor; exports.applyRetryInterceptor = applyRetryInterceptor; exports.authorize = _chunk5NZXNIBEcjs.authorize; exports.createSDK = createSDK; exports.epilot = epilot; exports.help = _chunk5NZXNIBEcjs.help; exports.openapi = _chunk5NZXNIBEcjs.openapi;
702
+ exports.applyLargeResponseInterceptor = applyLargeResponseInterceptor; exports.applyRetryInterceptor = applyRetryInterceptor; exports.authorize = _chunkKP2RRRO5cjs.authorize; exports.createSDK = createSDK; exports.epilot = epilot; exports.help = _chunkKP2RRRO5cjs.help; exports.openapi = _chunkKP2RRRO5cjs.openapi;
package/dist/index.d.cts CHANGED
@@ -27,11 +27,11 @@ import { C as Client$k } from './email-template.d-gtQkdaXM.cjs';
27
27
  import { C as Client$l } from './entity.d-BwsBk0Po.cjs';
28
28
  import { C as Client$m } from './entity-mapping.d-8MtWa2_L.cjs';
29
29
  import { C as Client$n } from './environments.d-qL1urwAq.cjs';
30
- import { C as Client$o } from './event-catalog.d-BQqG_LGF.cjs';
30
+ import { C as Client$o } from './event-catalog.d-BrAxYS9D.cjs';
31
31
  import { C as Client$p } from './file.d-DELNV63w.cjs';
32
32
  import { C as Client$q } from './iban.d-BwdiGbxi.cjs';
33
33
  import { C as Client$r } from './identity.d-BBL0NI_O.cjs';
34
- import { C as Client$s } from './integration-toolkit.d-93TYFohH.cjs';
34
+ import { C as Client$s } from './integration-toolkit.d-CLlaZx6b.cjs';
35
35
  import { C as Client$t } from './journey.d-Dj93v-Lw.cjs';
36
36
  import { C as Client$u } from './kanban.d-BHnSRCYW.cjs';
37
37
  import { C as Client$v } from './message.d-DwnqO-Us.cjs';
package/dist/index.d.ts CHANGED
@@ -27,11 +27,11 @@ import { C as Client$k } from './email-template.d-gtQkdaXM.js';
27
27
  import { C as Client$l } from './entity.d-BwsBk0Po.js';
28
28
  import { C as Client$m } from './entity-mapping.d-8MtWa2_L.js';
29
29
  import { C as Client$n } from './environments.d-qL1urwAq.js';
30
- import { C as Client$o } from './event-catalog.d-BQqG_LGF.js';
30
+ import { C as Client$o } from './event-catalog.d-BrAxYS9D.js';
31
31
  import { C as Client$p } from './file.d-DELNV63w.js';
32
32
  import { C as Client$q } from './iban.d-BwdiGbxi.js';
33
33
  import { C as Client$r } from './identity.d-BBL0NI_O.js';
34
- import { C as Client$s } from './integration-toolkit.d-93TYFohH.js';
34
+ import { C as Client$s } from './integration-toolkit.d-CLlaZx6b.js';
35
35
  import { C as Client$t } from './journey.d-Dj93v-Lw.js';
36
36
  import { C as Client$u } from './kanban.d-BHnSRCYW.js';
37
37
  import { C as Client$v } from './message.d-DwnqO-Us.js';
package/dist/index.js CHANGED
@@ -164,7 +164,7 @@ import {
164
164
  expand,
165
165
  help,
166
166
  openapi
167
- } from "./chunk-KHQACGLY.js";
167
+ } from "./chunk-UORN27QE.js";
168
168
  import {
169
169
  __require
170
170
  } from "./chunk-YPSWSI3M.js";