@epilot/sdk 2.5.0 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/definitions/event-catalog-runtime.json +1 -1
  2. package/definitions/event-catalog.json +256 -1
  3. package/definitions/integration-toolkit-runtime.json +1 -1
  4. package/definitions/integration-toolkit.json +480 -4
  5. package/definitions/metering-runtime.json +1 -1
  6. package/definitions/metering.json +728 -64
  7. package/definitions/webhooks.json +19 -4
  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 +6 -6
  17. package/dist/apis/app.js +1 -1
  18. package/dist/apis/audit-logs.cjs +6 -6
  19. package/dist/apis/audit-logs.js +1 -1
  20. package/dist/apis/automation.cjs +6 -6
  21. package/dist/apis/automation.js +1 -1
  22. package/dist/apis/billing.cjs +6 -6
  23. package/dist/apis/billing.js +1 -1
  24. package/dist/apis/blueprint-manifest.cjs +6 -6
  25. package/dist/apis/blueprint-manifest.js +1 -1
  26. package/dist/apis/calendar.cjs +6 -6
  27. package/dist/apis/calendar.js +1 -1
  28. package/dist/apis/configuration-hub.cjs +6 -6
  29. package/dist/apis/configuration-hub.js +1 -1
  30. package/dist/apis/consent.cjs +6 -6
  31. package/dist/apis/consent.js +1 -1
  32. package/dist/apis/customer-portal.cjs +6 -6
  33. package/dist/apis/customer-portal.js +1 -1
  34. package/dist/apis/dashboard.cjs +6 -6
  35. package/dist/apis/dashboard.js +1 -1
  36. package/dist/apis/data-governance.cjs +6 -6
  37. package/dist/apis/data-governance.js +1 -1
  38. package/dist/apis/deduplication.cjs +6 -6
  39. package/dist/apis/deduplication.js +1 -1
  40. package/dist/apis/design.cjs +6 -6
  41. package/dist/apis/design.js +1 -1
  42. package/dist/apis/document.cjs +6 -6
  43. package/dist/apis/document.js +1 -1
  44. package/dist/apis/email-settings.cjs +6 -6
  45. package/dist/apis/email-settings.js +1 -1
  46. package/dist/apis/email-template.cjs +6 -6
  47. package/dist/apis/email-template.js +1 -1
  48. package/dist/apis/entity-mapping.cjs +6 -6
  49. package/dist/apis/entity-mapping.js +1 -1
  50. package/dist/apis/entity.cjs +6 -6
  51. package/dist/apis/entity.js +1 -1
  52. package/dist/apis/environments.cjs +6 -6
  53. package/dist/apis/environments.js +1 -1
  54. package/dist/apis/event-catalog.cjs +8 -8
  55. package/dist/apis/event-catalog.d.cts +2 -2
  56. package/dist/apis/event-catalog.d.ts +2 -2
  57. package/dist/apis/event-catalog.js +2 -2
  58. package/dist/apis/file.cjs +6 -6
  59. package/dist/apis/file.js +1 -1
  60. package/dist/apis/iban.cjs +6 -6
  61. package/dist/apis/iban.js +1 -1
  62. package/dist/apis/integration-toolkit.cjs +8 -8
  63. package/dist/apis/integration-toolkit.d.cts +2 -2
  64. package/dist/apis/integration-toolkit.d.ts +2 -2
  65. package/dist/apis/integration-toolkit.js +2 -2
  66. package/dist/apis/journey.cjs +6 -6
  67. package/dist/apis/journey.js +1 -1
  68. package/dist/apis/kanban.cjs +6 -6
  69. package/dist/apis/kanban.js +1 -1
  70. package/dist/apis/message.cjs +6 -6
  71. package/dist/apis/message.js +1 -1
  72. package/dist/apis/metering.cjs +8 -8
  73. package/dist/apis/metering.d.cts +2 -2
  74. package/dist/apis/metering.d.ts +2 -2
  75. package/dist/apis/metering.js +2 -2
  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/submission.cjs +6 -6
  99. package/dist/apis/submission.js +1 -1
  100. package/dist/apis/target.cjs +6 -6
  101. package/dist/apis/target.js +1 -1
  102. package/dist/apis/targeting.cjs +6 -6
  103. package/dist/apis/targeting.js +1 -1
  104. package/dist/apis/template-variables.cjs +6 -6
  105. package/dist/apis/template-variables.js +1 -1
  106. package/dist/apis/user.cjs +6 -6
  107. package/dist/apis/user.js +1 -1
  108. package/dist/apis/validation-rules.cjs +6 -6
  109. package/dist/apis/validation-rules.js +1 -1
  110. package/dist/apis/webhooks.cjs +6 -6
  111. package/dist/apis/webhooks.d.cts +2 -2
  112. package/dist/apis/webhooks.d.ts +2 -2
  113. package/dist/apis/webhooks.js +1 -1
  114. package/dist/apis/workflow-definition.cjs +6 -6
  115. package/dist/apis/workflow-definition.js +1 -1
  116. package/dist/apis/workflow.cjs +6 -6
  117. package/dist/apis/workflow.js +1 -1
  118. package/dist/{chunk-C7GDYBXX.cjs → chunk-35CN2YFK.cjs} +7 -7
  119. package/dist/{chunk-JTFWOEZF.cjs → chunk-4FFGRWLS.cjs} +1 -1
  120. package/dist/chunk-56MMZJOD.js +14 -0
  121. package/dist/{chunk-BLNXQAMX.cjs → chunk-CBDKPGO5.cjs} +1 -1
  122. package/dist/{chunk-WRD2XFHY.js → chunk-JB7LITSP.js} +7 -7
  123. package/dist/{chunk-TME4YJNP.js → chunk-OCMIXJWC.js} +1 -1
  124. package/dist/chunk-T6A22LSD.cjs +14 -0
  125. package/dist/chunk-WM74R3BD.js +14 -0
  126. package/dist/event-catalog-37B6JC7G.js +7 -0
  127. package/dist/event-catalog-5JBHJJ2I.cjs +7 -0
  128. package/dist/{event-catalog-runtime-5HQSAJVX.cjs → event-catalog-runtime-B2BPKQVG.cjs} +2 -2
  129. package/dist/{event-catalog-runtime-6FA3SCRI.js → event-catalog-runtime-N262TQ3Y.js} +1 -1
  130. package/dist/{event-catalog.d-ENw6HO-w.d.cts → event-catalog.d-mQJLSYUo.d.cts} +351 -6
  131. package/dist/{event-catalog.d-ENw6HO-w.d.ts → event-catalog.d-mQJLSYUo.d.ts} +351 -6
  132. package/dist/index.cjs +14 -14
  133. package/dist/index.d.cts +4 -4
  134. package/dist/index.d.ts +4 -4
  135. package/dist/index.js +4 -4
  136. package/dist/integration-toolkit-3I3IPVFN.cjs +7 -0
  137. package/dist/integration-toolkit-XAFQXNQY.js +7 -0
  138. package/dist/{integration-toolkit-runtime-5KG3LGXF.cjs → integration-toolkit-runtime-YHTU4X5J.cjs} +2 -2
  139. package/dist/{integration-toolkit-runtime-LYHFVIRW.js → integration-toolkit-runtime-YR4CIMKH.js} +1 -1
  140. package/dist/{integration-toolkit.d-Ry-KC9ow.d.cts → integration-toolkit.d-BstNqiJb.d.cts} +460 -20
  141. package/dist/{integration-toolkit.d-Ry-KC9ow.d.ts → integration-toolkit.d-BstNqiJb.d.ts} +460 -20
  142. package/dist/metering-3IUSYAGN.js +7 -0
  143. package/dist/metering-MHBFU7QH.cjs +7 -0
  144. package/dist/{metering-runtime-HAIWXZXJ.cjs → metering-runtime-IUZJHBVS.cjs} +2 -2
  145. package/dist/{metering-runtime-NJ6NEUMB.js → metering-runtime-KZMJKKUZ.js} +1 -1
  146. package/dist/{metering.d-DvtPv7wk.d.ts → metering.d-CUICZDiL.d.cts} +718 -130
  147. package/dist/{metering.d-DvtPv7wk.d.cts → metering.d-CUICZDiL.d.ts} +718 -130
  148. package/dist/{webhooks-XLBUXXCS.js → webhooks-NZHJBT64.js} +1 -1
  149. package/dist/{webhooks-NZ3TM3AY.cjs → webhooks-SK2STDKR.cjs} +1 -1
  150. package/dist/{webhooks.d-D79qib9f.d.cts → webhooks.d-ByePoUWs.d.cts} +40 -4
  151. package/dist/{webhooks.d-D79qib9f.d.ts → webhooks.d-ByePoUWs.d.ts} +40 -4
  152. package/docs/event-catalog.md +247 -1
  153. package/docs/integration-toolkit.md +334 -19
  154. package/docs/metering.md +570 -48
  155. package/docs/webhooks.md +3 -1
  156. package/package.json +1 -1
  157. package/dist/chunk-265TE2OV.js +0 -14
  158. package/dist/chunk-4ZMLRFDX.cjs +0 -14
  159. package/dist/chunk-U4PUHKZC.js +0 -14
  160. package/dist/event-catalog-C45ISVMP.cjs +0 -7
  161. package/dist/event-catalog-D7VJ7WRS.js +0 -7
  162. package/dist/integration-toolkit-FRPFOYT2.js +0 -7
  163. package/dist/integration-toolkit-VNMDI55O.cjs +0 -7
  164. package/dist/metering-DZNZPPY6.cjs +0 -7
  165. package/dist/metering-KOSCPPKB.js +0 -7
package/docs/webhooks.md CHANGED
@@ -875,7 +875,9 @@ type WebhookConfig = {
875
875
  deliveryMode?: "json_base64" | "binary_multipart"
876
876
  multipartConfig?: {
877
877
  fileFieldName?: string
878
- metadataFieldName?: string
878
+ fileFieldStrategy?: "single" | "multi"
879
+ fileSource?: string
880
+ extraFields?: Record<string, string>
879
881
  }
880
882
  filterConditions?: {
881
883
  conditions?: Array<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/sdk",
3
- "version": "2.5.0",
3
+ "version": "2.7.0",
4
4
  "description": "JavaScript/TypeScript SDK for epilot APIs",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -1,14 +0,0 @@
1
- import {
2
- __commonJS
3
- } from "./chunk-YPSWSI3M.js";
4
-
5
- // src/definitions/metering-runtime.json
6
- var require_metering_runtime = __commonJS({
7
- "src/definitions/metering-runtime.json"(exports, module) {
8
- module.exports = { s: "https://metering.sls.epilot.io", o: [["getCustomerMeters", "get", "/v1/metering/meter"], ["getMetersByContractId", "get", "/v1/metering/contract/meters/{contract_id}", [["contract_id", "p", true]]], ["updateMeter", "patch", "/v1/metering/meter/{id}", [["id", "p", true]], 1], ["getMeter", "get", "/v1/metering/meter/{id}", [["id", "p", true]]], ["getMeterCounters", "get", "/v1/metering/counter", [["meter_id", "q", true]]], ["getCounterDetails", "get", "/v1/metering/counter/{counter_id}", [["counter_id", "p", true]]], ["createMeterReading", "post", "/v1/metering/reading", null, 1], ["createMeterReadings", "post", "/v1/metering/readings", [["async", "q"], ["ActivityIdQueryParam"], ["SkipValidationQueryParam"]], 1], ["createPortalMeterReadings", "post", "/v1/metering/readings/{meter_id}", [["meter_id", "p", true]], 1], ["batchWriteMeterReadings", "post", "/v2/metering/readings", [["async", "q"], ["SkipValidationQueryParam"], ["ActivityIdQueryParam"]], 1], ["createMeterReadingFromSubmission", "post", "/v1/metering/reading/submission", null, 1], ["getAllowedReadingForMeter", "get", "/v1/metering/allowed/reading/{meter_id}", [["meter_id", "p", true], ["timestamp", "q"]]], ["createReadingWithMeter", "post", "/v1/metering/reading/with-meter", null, 1], ["getReadingsByInterval", "get", "/v1/metering/reading/{meter_id}/{counter_id}", [["meter_id", "p", true], ["counter_id", "p", true], ["start_date", "q"], ["end_date", "q"], ["direction", "q"], ["size", "q"], ["from", "q"], ["type", "q", true], ["sort", "q"]]], ["updateMeterReading", "put", "/v1/metering/reading/{meter_id}/{counter_id}", [["meter_id", "p", true], ["counter_id", "p", true], ["timestamp", "q", true]], 1], ["deleteMeterReading", "delete", "/v1/metering/reading/{meter_id}/{counter_id}", [["meter_id", "p", true], ["counter_id", "p", true], ["timestamp", "q", true]]]], v: "3.0.3", cp: { ActivityIdQueryParam: ["activity_id", "q"], SkipValidationQueryParam: ["skip_validation", "q"] } };
9
- }
10
- });
11
-
12
- export {
13
- require_metering_runtime
14
- };
@@ -1,14 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
- var _chunkNJK5F5TFcjs = require('./chunk-NJK5F5TF.cjs');
4
-
5
- // src/definitions/metering-runtime.json
6
- var require_metering_runtime = _chunkNJK5F5TFcjs.__commonJS.call(void 0, {
7
- "src/definitions/metering-runtime.json"(exports, module) {
8
- module.exports = { s: "https://metering.sls.epilot.io", o: [["getCustomerMeters", "get", "/v1/metering/meter"], ["getMetersByContractId", "get", "/v1/metering/contract/meters/{contract_id}", [["contract_id", "p", true]]], ["updateMeter", "patch", "/v1/metering/meter/{id}", [["id", "p", true]], 1], ["getMeter", "get", "/v1/metering/meter/{id}", [["id", "p", true]]], ["getMeterCounters", "get", "/v1/metering/counter", [["meter_id", "q", true]]], ["getCounterDetails", "get", "/v1/metering/counter/{counter_id}", [["counter_id", "p", true]]], ["createMeterReading", "post", "/v1/metering/reading", null, 1], ["createMeterReadings", "post", "/v1/metering/readings", [["async", "q"], ["ActivityIdQueryParam"], ["SkipValidationQueryParam"]], 1], ["createPortalMeterReadings", "post", "/v1/metering/readings/{meter_id}", [["meter_id", "p", true]], 1], ["batchWriteMeterReadings", "post", "/v2/metering/readings", [["async", "q"], ["SkipValidationQueryParam"], ["ActivityIdQueryParam"]], 1], ["createMeterReadingFromSubmission", "post", "/v1/metering/reading/submission", null, 1], ["getAllowedReadingForMeter", "get", "/v1/metering/allowed/reading/{meter_id}", [["meter_id", "p", true], ["timestamp", "q"]]], ["createReadingWithMeter", "post", "/v1/metering/reading/with-meter", null, 1], ["getReadingsByInterval", "get", "/v1/metering/reading/{meter_id}/{counter_id}", [["meter_id", "p", true], ["counter_id", "p", true], ["start_date", "q"], ["end_date", "q"], ["direction", "q"], ["size", "q"], ["from", "q"], ["type", "q", true], ["sort", "q"]]], ["updateMeterReading", "put", "/v1/metering/reading/{meter_id}/{counter_id}", [["meter_id", "p", true], ["counter_id", "p", true], ["timestamp", "q", true]], 1], ["deleteMeterReading", "delete", "/v1/metering/reading/{meter_id}/{counter_id}", [["meter_id", "p", true], ["counter_id", "p", true], ["timestamp", "q", true]]]], v: "3.0.3", cp: { ActivityIdQueryParam: ["activity_id", "q"], SkipValidationQueryParam: ["skip_validation", "q"] } };
9
- }
10
- });
11
-
12
-
13
-
14
- exports.require_metering_runtime = require_metering_runtime;
@@ -1,14 +0,0 @@
1
- import {
2
- __commonJS
3
- } from "./chunk-YPSWSI3M.js";
4
-
5
- // src/definitions/integration-toolkit-runtime.json
6
- var require_integration_toolkit_runtime = __commonJS({
7
- "src/definitions/integration-toolkit-runtime.json"(exports, module) {
8
- module.exports = { s: "https://integration-toolkit.sls.epilot.io", o: [["acknowledgeTracking", "post", "/v1/erp/tracking/acknowledgement", null, 1], ["triggerErp", "post", "/v1/erp/trigger", null, 1], ["processErpUpdatesEvents", "post", "/v1/erp/updates/events", null, 1], ["processErpUpdatesEventsV2", "post", "/v2/erp/updates/events", null, 1], ["processErpUpdatesEventsV3", "post", "/v3/erp/updates/events", null, 1], ["simulateMappingV2", "post", "/v2/erp/updates/mapping_simulation", null, 1], ["simulateMapping", "post", "/v1/erp/updates/mapping_simulation", null, 1], ["listIntegrations", "get", "/v1/integrations"], ["createIntegration", "post", "/v1/integrations", null, 1], ["getIntegration", "get", "/v1/integrations/{integrationId}", [["integrationId", "p", true]]], ["updateIntegration", "put", "/v1/integrations/{integrationId}", [["integrationId", "p", true]], 1], ["deleteIntegration", "delete", "/v1/integrations/{integrationId}", [["integrationId", "p", true]]], ["queryEvents", "post", "/v1/integrations/{integrationId}/events", [["integrationId", "p", true]], 1], ["replayEvents", "post", "/v1/integrations/{integrationId}/events/replay", [["integrationId", "p", true]], 1], ["listUseCases", "get", "/v1/integrations/{integrationId}/use-cases", [["integrationId", "p", true]]], ["createUseCase", "post", "/v1/integrations/{integrationId}/use-cases", [["integrationId", "p", true]], 1], ["getUseCase", "get", "/v1/integrations/{integrationId}/use-cases/{useCaseId}", [["integrationId", "p", true], ["useCaseId", "p", true]]], ["updateUseCase", "put", "/v1/integrations/{integrationId}/use-cases/{useCaseId}", [["integrationId", "p", true], ["useCaseId", "p", true]], 1], ["deleteUseCase", "delete", "/v1/integrations/{integrationId}/use-cases/{useCaseId}", [["integrationId", "p", true], ["useCaseId", "p", true]]], ["listUseCaseHistory", "get", "/v1/integrations/{integrationId}/use-cases/{useCaseId}/history", [["integrationId", "p", true], ["useCaseId", "p", true], ["cursor", "q"]]], ["listIntegrationsV2", "get", "/v2/integrations"], ["createIntegrationV2", "post", "/v2/integrations", null, 1], ["getIntegrationV2", "get", "/v2/integrations/{integrationId}", [["integrationId", "p", true]]], ["updateIntegrationV2", "put", "/v2/integrations/{integrationId}", [["integrationId", "p", true]], 1], ["deleteIntegrationV2", "delete", "/v2/integrations/{integrationId}", [["integrationId", "p", true]]], ["setIntegrationAppMapping", "put", "/v1/integrations/{integrationId}/app-mapping", [["integrationId", "p", true]], 1], ["deleteIntegrationAppMapping", "delete", "/v1/integrations/{integrationId}/app-mapping", [["integrationId", "p", true]], 1], ["queryInboundMonitoringEvents", "post", "/v1/integrations/{integrationId}/monitoring/inbound-events", [["integrationId", "p", true]], 1], ["getMonitoringStats", "post", "/v1/integrations/{integrationId}/monitoring/stats", [["integrationId", "p", true]], 1], ["getMonitoringTimeSeries", "post", "/v1/integrations/{integrationId}/monitoring/timeseries", [["integrationId", "p", true]], 1], ["getOutboundStatus", "get", "/v1/integrations/{integrationId}/outbound-status", [["integrationId", "p", true]]], ["queryAccessLogs", "post", "/v1/integrations/{integrationId}/monitoring/access-logs", [["integrationId", "p", true]], 1], ["queryOutboundMonitoringEvents", "post", "/v1/integrations/{integrationId}/monitoring/outbound-events", [["integrationId", "p", true]], 1], ["queryMonitoringEventsV2", "post", "/v2/integrations/{integrationId}/monitoring/events", [["integrationId", "p", true]], 1], ["getMonitoringStatsV2", "post", "/v2/integrations/{integrationId}/monitoring/stats", [["integrationId", "p", true]], 1], ["getMonitoringTimeSeriesV2", "post", "/v2/integrations/{integrationId}/monitoring/time-series", [["integrationId", "p", true]], 1], ["getAssociatedMonitoringEvents", "get", "/v2/integrations/{integrationId}/monitoring/events/{eventId}/associated", [["integrationId", "p", true], ["eventId", "p", true]]], ["listSecureProxies", "get", "/v1/integrations/secure-proxies"], ["secureProxy", "post", "/v1/secure-proxy", null, 1], ["managedCallExecute", "post", "/v1/managed-call/{slug}/execute", [["slug", "p", true]], 1], ["generateTypesPreview", "post", "/v1/integrations/{integrationId}/generate-types-preview", [["integrationId", "p", true]]], ["generateTypes", "post", "/v1/integrations/{integrationId}/generate-types", [["integrationId", "p", true]], 1], ["commitTypes", "post", "/v1/integrations/{integrationId}/commit-types", [["integrationId", "p", true]], 1]], v: "3.0.3" };
9
- }
10
- });
11
-
12
- export {
13
- require_integration_toolkit_runtime
14
- };
@@ -1,7 +0,0 @@
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- [`getEvent`](#getevent)\n- [`patchEvent`](#patchevent)\n- [`getEventJSONSchema`](#geteventjsonschema)\n- [`getEventExample`](#geteventexample)\n- [`searchEventHistory`](#searcheventhistory)\n- [`triggerEvent`](#triggerevent)\n\n**Schemas**\n- [`EventConfigBase`](#eventconfigbase)\n- [`EventConfig`](#eventconfig)\n- [`UpdateEventPayload`](#updateeventpayload)\n- [`PrimitiveField`](#primitivefield)\n- [`ContextEntity`](#contextentity)\n- [`SchemaField`](#schemafield)\n- [`CommonEventMetadata`](#commoneventmetadata)\n- [`EventJsonSchema`](#eventjsonschema)\n- [`Event`](#event)\n- [`GraphDefinition`](#graphdefinition)\n- [`GraphNode`](#graphnode)\n- [`GraphEdge`](#graphedge)\n- [`EntityOperationTrigger`](#entityoperationtrigger)\n- [`SearchOptions`](#searchoptions)\n- [`FieldsParam`](#fieldsparam)\n- [`TriggerEventPayload`](#triggereventpayload)\n- [`TriggerEventResponse`](#triggereventresponse)\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.0",\n "event_status": "active",\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 },\n "enabled": true,\n "auto_trigger": true,\n "automation_trigger": true\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.0",\n "event_status": "active",\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 },\n "enabled": true,\n "auto_trigger": true,\n "automation_trigger": true\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 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.0\',\n event_status: \'active\',\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 },\n enabled: true,\n auto_trigger: true,\n automation_trigger: 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.0",\n "event_status": "active",\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 },\n "enabled": true,\n "auto_trigger": true,\n "automation_trigger": true\n}\n```\n\n</details>\n\n---\n\n### `getEventJSONSchema`\n\nRetrieve the JSON Schema of a specific business event\n\n`GET /v1/events/{event_name}/json_schema`\n\n```ts\nconst { data } = await client.getEventJSONSchema({\n event_name: \'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 version (semver)"\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\n\n`GET /v1/events/{event_name}/example`\n\n```ts\nconst { data } = await client.getEventExample({\n event_name: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\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.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### `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: \'string\'\n },\n fields: {},\n skip_hydration: [\'string\'],\n _trigger_source_type: \'string\',\n _trigger_source: \'string\'\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 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 }\n enabled?: boolean\n auto_trigger?: boolean\n automation_trigger?: boolean\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 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 }\n enabled?: boolean\n auto_trigger?: boolean\n automation_trigger?: boolean\n}\n```\n\n### `UpdateEventPayload`\n\nPayload for updating an event configuration.\nAccepts the same fields as EventConfig (all optional for PATCH).\nCurrently only `enabled` and `auto_trigger` fields are processed, other fields are ignored.\n\n\n```ts\ntype UpdateEventPayload = {\n event_name?: string\n event_title?: string\n event_description?: string\n event_version?: string\n event_status?: "active" | "deprecated" | "draft" | "disabled"\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 }\n enabled?: boolean\n auto_trigger?: boolean\n automation_trigger?: boolean\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### `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```\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### `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}\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}\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### `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}\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';
5
-
6
-
7
- exports.default = event_catalog_default;
@@ -1,7 +0,0 @@
1
- import "./chunk-YPSWSI3M.js";
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- [`getEvent`](#getevent)\n- [`patchEvent`](#patchevent)\n- [`getEventJSONSchema`](#geteventjsonschema)\n- [`getEventExample`](#geteventexample)\n- [`searchEventHistory`](#searcheventhistory)\n- [`triggerEvent`](#triggerevent)\n\n**Schemas**\n- [`EventConfigBase`](#eventconfigbase)\n- [`EventConfig`](#eventconfig)\n- [`UpdateEventPayload`](#updateeventpayload)\n- [`PrimitiveField`](#primitivefield)\n- [`ContextEntity`](#contextentity)\n- [`SchemaField`](#schemafield)\n- [`CommonEventMetadata`](#commoneventmetadata)\n- [`EventJsonSchema`](#eventjsonschema)\n- [`Event`](#event)\n- [`GraphDefinition`](#graphdefinition)\n- [`GraphNode`](#graphnode)\n- [`GraphEdge`](#graphedge)\n- [`EntityOperationTrigger`](#entityoperationtrigger)\n- [`SearchOptions`](#searchoptions)\n- [`FieldsParam`](#fieldsparam)\n- [`TriggerEventPayload`](#triggereventpayload)\n- [`TriggerEventResponse`](#triggereventresponse)\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.0",\n "event_status": "active",\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 },\n "enabled": true,\n "auto_trigger": true,\n "automation_trigger": true\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.0",\n "event_status": "active",\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 },\n "enabled": true,\n "auto_trigger": true,\n "automation_trigger": true\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 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.0\',\n event_status: \'active\',\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 },\n enabled: true,\n auto_trigger: true,\n automation_trigger: 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.0",\n "event_status": "active",\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 },\n "enabled": true,\n "auto_trigger": true,\n "automation_trigger": true\n}\n```\n\n</details>\n\n---\n\n### `getEventJSONSchema`\n\nRetrieve the JSON Schema of a specific business event\n\n`GET /v1/events/{event_name}/json_schema`\n\n```ts\nconst { data } = await client.getEventJSONSchema({\n event_name: \'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 version (semver)"\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\n\n`GET /v1/events/{event_name}/example`\n\n```ts\nconst { data } = await client.getEventExample({\n event_name: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\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.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### `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: \'string\'\n },\n fields: {},\n skip_hydration: [\'string\'],\n _trigger_source_type: \'string\',\n _trigger_source: \'string\'\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 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 }\n enabled?: boolean\n auto_trigger?: boolean\n automation_trigger?: boolean\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 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 }\n enabled?: boolean\n auto_trigger?: boolean\n automation_trigger?: boolean\n}\n```\n\n### `UpdateEventPayload`\n\nPayload for updating an event configuration.\nAccepts the same fields as EventConfig (all optional for PATCH).\nCurrently only `enabled` and `auto_trigger` fields are processed, other fields are ignored.\n\n\n```ts\ntype UpdateEventPayload = {\n event_name?: string\n event_title?: string\n event_description?: string\n event_version?: string\n event_status?: "active" | "deprecated" | "draft" | "disabled"\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 }\n enabled?: boolean\n auto_trigger?: boolean\n automation_trigger?: boolean\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### `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```\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### `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}\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}\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### `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}\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';
5
- export {
6
- event_catalog_default as default
7
- };
@@ -1,7 +0,0 @@
1
- import "./chunk-YPSWSI3M.js";
2
-
3
- // src/docs/integration-toolkit.json
4
- var integration_toolkit_default = '# Integration Toolkit API\n\n- **Base URL:** `https://integration-toolkit.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/integration-toolkit](https://docs.epilot.io/api/integration-toolkit)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.integrationToolkit.acknowledgeTracking(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/integration-toolkit\'\n\nconst integrationToolkitClient = getClient()\nauthorize(integrationToolkitClient, () => \'<token>\')\nconst { data } = await integrationToolkitClient.acknowledgeTracking(...)\n```\n\n## Operations\n\n**erp**\n- [`acknowledgeTracking`](#acknowledgetracking)\n- [`triggerErp`](#triggererp)\n- [`processErpUpdatesEventsV3`](#processerpupdateseventsv3)\n- [`simulateMappingV2`](#simulatemappingv2)\n- [`simulateMapping`](#simulatemapping)\n\n**integrations**\n- [`listIntegrations`](#listintegrations)\n- [`createIntegration`](#createintegration)\n- [`getIntegration`](#getintegration)\n- [`updateIntegration`](#updateintegration)\n- [`deleteIntegration`](#deleteintegration)\n- [`queryEvents`](#queryevents)\n- [`replayEvents`](#replayevents)\n- [`listUseCases`](#listusecases)\n- [`createUseCase`](#createusecase)\n- [`getUseCase`](#getusecase)\n- [`updateUseCase`](#updateusecase)\n- [`deleteUseCase`](#deleteusecase)\n- [`listUseCaseHistory`](#listusecasehistory)\n- [`listIntegrationsV2`](#listintegrationsv2)\n- [`createIntegrationV2`](#createintegrationv2)\n- [`getIntegrationV2`](#getintegrationv2)\n- [`updateIntegrationV2`](#updateintegrationv2)\n- [`deleteIntegrationV2`](#deleteintegrationv2)\n- [`setIntegrationAppMapping`](#setintegrationappmapping)\n- [`deleteIntegrationAppMapping`](#deleteintegrationappmapping)\n- [`getOutboundStatus`](#getoutboundstatus)\n- [`listSecureProxies`](#listsecureproxies)\n- [`generateTypesPreview`](#generatetypespreview)\n- [`generateTypes`](#generatetypes)\n- [`commitTypes`](#committypes)\n\n**monitoring**\n- [`queryInboundMonitoringEvents`](#queryinboundmonitoringevents)\n- [`getMonitoringStats`](#getmonitoringstats)\n- [`getMonitoringTimeSeries`](#getmonitoringtimeseries)\n- [`queryAccessLogs`](#queryaccesslogs)\n- [`queryOutboundMonitoringEvents`](#queryoutboundmonitoringevents)\n- [`queryMonitoringEventsV2`](#querymonitoringeventsv2)\n- [`getMonitoringStatsV2`](#getmonitoringstatsv2)\n- [`getMonitoringTimeSeriesV2`](#getmonitoringtimeseriesv2)\n- [`getAssociatedMonitoringEvents`](#getassociatedmonitoringevents)\n\n**proxy**\n- [`secureProxy`](#secureproxy)\n\n**managed-call**\n- [`managedCallExecute`](#managedcallexecute)\n\n**Schemas**\n- [`ErrorResponseBase`](#errorresponsebase)\n- [`ErpEvent`](#erpevent)\n- [`ErpUpdatesEventsV2Request`](#erpupdateseventsv2request)\n- [`ErpEventV3`](#erpeventv3)\n- [`ErpUpdatesEventsV3Request`](#erpupdateseventsv3request)\n- [`TriggerErpActionRequest`](#triggererpactionrequest)\n- [`TriggerWebhookResp`](#triggerwebhookresp)\n- [`IntegrationEditableFields`](#integrationeditablefields)\n- [`ConnectorConfig`](#connectorconfig)\n- [`ManagedCallAuth`](#managedcallauth)\n- [`Integration`](#integration)\n- [`CreateIntegrationRequest`](#createintegrationrequest)\n- [`UpdateIntegrationRequest`](#updateintegrationrequest)\n- [`EnvironmentFieldConfig`](#environmentfieldconfig)\n- [`IntegrationSettings`](#integrationsettings)\n- [`AutoRefreshSettings`](#autorefreshsettings)\n- [`SetIntegrationAppMappingRequest`](#setintegrationappmappingrequest)\n- [`DeleteIntegrationAppMappingRequest`](#deleteintegrationappmappingrequest)\n- [`IntegrationAppMapping`](#integrationappmapping)\n- [`IntegrationWithUseCases`](#integrationwithusecases)\n- [`UpsertIntegrationWithUseCasesRequest`](#upsertintegrationwithusecasesrequest)\n- [`InboundIntegrationEventConfiguration`](#inboundintegrationeventconfiguration)\n- [`OutboundIntegrationEventConfiguration`](#outboundintegrationeventconfiguration)\n- [`IntegrationEntity`](#integrationentity)\n- [`IntegrationMeterReading`](#integrationmeterreading)\n- [`PruneScopeConfig`](#prunescopeconfig)\n- [`MeterReadingPruneScopeConfig`](#meterreadingprunescopeconfig)\n- [`MeterUniqueIdsConfig`](#meteruniqueidsconfig)\n- [`IntegrationEntityField`](#integrationentityfield)\n- [`FileProxyUrlParam`](#fileproxyurlparam)\n- [`FileProxyUrlParams`](#fileproxyurlparams)\n- [`FileProxyUrlConfig`](#fileproxyurlconfig)\n- [`EmbeddedUseCaseRequest`](#embeddedusecaserequest)\n- [`EmbeddedUseCaseRequestBase`](#embeddedusecaserequestbase)\n- [`EmbeddedInboundUseCaseRequest`](#embeddedinboundusecaserequest)\n- [`EmbeddedOutboundUseCaseRequest`](#embeddedoutboundusecaserequest)\n- [`EmbeddedFileProxyUseCaseRequest`](#embeddedfileproxyusecaserequest)\n- [`EmbeddedManagedCallUseCaseRequest`](#embeddedmanagedcallusecaserequest)\n- [`EmbeddedSecureProxyUseCaseRequest`](#embeddedsecureproxyusecaserequest)\n- [`UseCaseBase`](#usecasebase)\n- [`InboundUseCase`](#inboundusecase)\n- [`OutboundUseCase`](#outboundusecase)\n- [`FileProxyUseCase`](#fileproxyusecase)\n- [`ManagedCallUseCase`](#managedcallusecase)\n- [`SecureProxyUseCase`](#secureproxyusecase)\n- [`UseCase`](#usecase)\n- [`CreateUseCaseRequest`](#createusecaserequest)\n- [`CreateUseCaseRequestBase`](#createusecaserequestbase)\n- [`CreateInboundUseCaseRequest`](#createinboundusecaserequest)\n- [`CreateOutboundUseCaseRequest`](#createoutboundusecaserequest)\n- [`CreateFileProxyUseCaseRequest`](#createfileproxyusecaserequest)\n- [`CreateManagedCallUseCaseRequest`](#createmanagedcallusecaserequest)\n- [`CreateSecureProxyUseCaseRequest`](#createsecureproxyusecaserequest)\n- [`UpdateUseCaseRequest`](#updateusecaserequest)\n- [`UpdateUseCaseRequestBase`](#updateusecaserequestbase)\n- [`UpdateInboundUseCaseRequest`](#updateinboundusecaserequest)\n- [`UpdateOutboundUseCaseRequest`](#updateoutboundusecaserequest)\n- [`UpdateFileProxyUseCaseRequest`](#updatefileproxyusecaserequest)\n- [`UpdateManagedCallUseCaseRequest`](#updatemanagedcallusecaserequest)\n- [`UpdateSecureProxyUseCaseRequest`](#updatesecureproxyusecaserequest)\n- [`UseCaseHistoryEntry`](#usecasehistoryentry)\n- [`UseCaseHistoryEntryBase`](#usecasehistoryentrybase)\n- [`InboundUseCaseHistoryEntry`](#inboundusecasehistoryentry)\n- [`OutboundUseCaseHistoryEntry`](#outboundusecasehistoryentry)\n- [`FileProxyUseCaseHistoryEntry`](#fileproxyusecasehistoryentry)\n- [`ManagedCallUseCaseHistoryEntry`](#managedcallusecasehistoryentry)\n- [`SecureProxyUseCaseHistoryEntry`](#secureproxyusecasehistoryentry)\n- [`SecureProxyUseCaseConfiguration`](#secureproxyusecaseconfiguration)\n- [`SecureProxySummary`](#secureproxysummary)\n- [`SecureProxyRequest`](#secureproxyrequest)\n- [`SecureProxyResponse`](#secureproxyresponse)\n- [`ManagedCallOperationConfig`](#managedcalloperationconfig)\n- [`ManagedCallOperation`](#managedcalloperation)\n- [`ManagedCallExecuteRequest`](#managedcallexecuterequest)\n- [`ManagedCallExecuteResponse`](#managedcallexecuteresponse)\n- [`ManagedCallErrorResponse`](#managedcallerrorresponse)\n- [`TypeAnnotations`](#typeannotations)\n- [`TypeDescriptor`](#typedescriptor)\n- [`UseCaseTypePreview`](#usecasetypepreview)\n- [`GenerateTypesPreviewResponse`](#generatetypespreviewresponse)\n- [`GenerateTypesRequest`](#generatetypesrequest)\n- [`GenerateTypesResponse`](#generatetypesresponse)\n- [`CommitTypesRequest`](#committypesrequest)\n- [`CommitTypesResponse`](#committypesresponse)\n- [`FileProxyUseCaseConfiguration`](#fileproxyusecaseconfiguration)\n- [`FileProxySecureProxyAttachment`](#fileproxysecureproxyattachment)\n- [`FileProxyAuth`](#fileproxyauth)\n- [`FileProxyParam`](#fileproxyparam)\n- [`FileProxyStep`](#fileproxystep)\n- [`FileProxyResponseConfig`](#fileproxyresponseconfig)\n- [`MappingSimulationRequest`](#mappingsimulationrequest)\n- [`MappingSimulationV2Request`](#mappingsimulationv2request)\n- [`MappingSimulationResponse`](#mappingsimulationresponse)\n- [`MappingSimulationWarning`](#mappingsimulationwarning)\n- [`EntityUpdate`](#entityupdate)\n- [`MeterReadingUpdate`](#meterreadingupdate)\n- [`IntegrationConfigurationV1`](#integrationconfigurationv1)\n- [`IntegrationObjectV1`](#integrationobjectv1)\n- [`IntegrationFieldV1`](#integrationfieldv1)\n- [`IntegrationConfigurationV2`](#integrationconfigurationv2)\n- [`OutboundMapping`](#outboundmapping)\n- [`DeliveryConfig`](#deliveryconfig)\n- [`OutboundStatusResponse`](#outboundstatusresponse)\n- [`OutboundUseCaseStatus`](#outboundusecasestatus)\n- [`WebhookStatus`](#webhookstatus)\n- [`OutboundConflict`](#outboundconflict)\n- [`RelationConfig`](#relationconfig)\n- [`RelationItemConfig`](#relationitemconfig)\n- [`RelationUniqueIdField`](#relationuniqueidfield)\n- [`RelationRefsConfig`](#relationrefsconfig)\n- [`RelationRefItemConfig`](#relationrefitemconfig)\n- [`RelationRefValueConfig`](#relationrefvalueconfig)\n- [`RepeatableFieldType`](#repeatablefieldtype)\n- [`ReplayEventsRequest`](#replayeventsrequest)\n- [`QueryEventsRequest`](#queryeventsrequest)\n- [`QueryInboundMonitoringEventsRequest`](#queryinboundmonitoringeventsrequest)\n- [`QueryAccessLogsRequest`](#queryaccesslogsrequest)\n- [`AccessLogEntry`](#accesslogentry)\n- [`GetMonitoringStatsRequest`](#getmonitoringstatsrequest)\n- [`GetMonitoringTimeSeriesRequest`](#getmonitoringtimeseriesrequest)\n- [`TimeSeriesBucket`](#timeseriesbucket)\n- [`QueryOutboundMonitoringEventsRequest`](#queryoutboundmonitoringeventsrequest)\n- [`OutboundMonitoringEvent`](#outboundmonitoringevent)\n- [`MonitoringStats`](#monitoringstats)\n- [`InboundMonitoringEvent`](#inboundmonitoringevent)\n- [`QueryMonitoringEventsV2Request`](#querymonitoringeventsv2request)\n- [`MonitoringEventV2`](#monitoringeventv2)\n- [`GetMonitoringStatsV2Request`](#getmonitoringstatsv2request)\n- [`MonitoringStatsV2`](#monitoringstatsv2)\n- [`GetMonitoringTimeSeriesV2Request`](#getmonitoringtimeseriesv2request)\n- [`TimeSeriesBreakdownItemV2`](#timeseriesbreakdownitemv2)\n- [`TimeSeriesBucketV2`](#timeseriesbucketv2)\n\n### `acknowledgeTracking`\n\nAcknowledges an ERP tracking record by removing it from the tracking table, requires public authentication\n\n`POST /v1/erp/tracking/acknowledgement`\n\n```ts\nconst { data } = await client.acknowledgeTracking(\n null,\n {\n ack_id: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "message": "string"\n}\n```\n\n</details>\n\n---\n\n### `triggerErp`\n\nTriggers the ERP integration process\n\n`POST /v1/erp/trigger`\n\n```ts\nconst { data } = await client.triggerErp(\n null,\n {\n execution_id: \'string\',\n org_id: \'string\',\n webhook_id: \'string\',\n flow_id: \'string\',\n created_at: \'1970-01-01T00:00:00.000Z\',\n action_id: \'string\',\n flow_action_id: \'string\',\n flow_name: \'string\',\n activity_id: \'string\',\n entity_id: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "status_code": "string",\n "message": "string",\n "body": {},\n "code": "string",\n "status": "succeeded",\n "start_date": "string",\n "end_date": "string",\n "event_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `processErpUpdatesEventsV3`\n\nHandles updates from ERP systems using integration_id directly.\nThis is the v3 version that removes the unused event_type field and renames object_type to event_name\nto align with the integration UI n\n\n`POST /v3/erp/updates/events`\n\n```ts\nconst { data } = await client.processErpUpdatesEventsV3(\n null,\n {\n integration_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n correlation_id: \'string\',\n events: [\n {},\n {}\n ]\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "event_id": "string",\n "status": "success",\n "message": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `simulateMappingV2`\n\nTest v2.0 mapping configuration by transforming a payload using the provided mapping rules without persisting data.\n\n`POST /v2/erp/updates/mapping_simulation`\n\n```ts\nconst { data } = await client.simulateMappingV2(\n null,\n {\n event_configuration: {\n entities: [\n { /* ... */ }\n ],\n meter_readings: [\n { /* ... */ }\n ]\n },\n format: \'json\',\n payload: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "entity_updates": [\n {\n "entity_slug": "string",\n "unique_identifiers": {},\n "attributes": {}\n }\n ],\n "meter_readings_updates": [\n {\n "meter": {\n "$entity_unique_ids": {}\n },\n "meter_counter": {\n "$entity_unique_ids": {}\n },\n "attributes": {}\n }\n ],\n "warnings": [\n {\n "entity_schema": "string",\n "field": "string",\n "message": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `simulateMapping`\n\nTest mapping configuration by transforming a payload using the provided mapping rules without persisting data.\n\n`POST /v1/erp/updates/mapping_simulation`\n\n```ts\nconst { data } = await client.simulateMapping(\n null,\n {\n mapping_configuration: {\n version: \'1.0\',\n mapping: {\n objects: {}\n }\n },\n object_type: \'string\',\n format: \'json\',\n payload: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "entity_updates": [\n {\n "entity_slug": "string",\n "unique_identifiers": {},\n "attributes": {}\n }\n ],\n "meter_readings_updates": [\n {\n "meter": {\n "$entity_unique_ids": {}\n },\n "meter_counter": {\n "$entity_unique_ids": {}\n },\n "attributes": {}\n }\n ],\n "warnings": [\n {\n "entity_schema": "string",\n "field": "string",\n "message": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `listIntegrations`\n\nRetrieve all integrations for the authenticated organization\n\n`GET /v1/integrations`\n\n```ts\nconst { data } = await client.listIntegrations()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "integrations": [\n {\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "orgId": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "name": "string",\n "description": "string",\n "access_token_ids": ["string"],\n "app_ids": ["string"],\n "environment_config": [\n {\n "key": "string",\n "label": "string",\n "type": "String",\n "description": "string",\n "required": false,\n "order": 0\n }\n ],\n "settings": {\n "autoRefresh": {\n "enabled": false,\n "freshnessThresholdMinutes": 1\n }\n },\n "integration_type": "erp",\n "connector_config": {\n "base_url": "string",\n "auth": {\n "type": "oauth2_client_credentials",\n "token_url": "string",\n "client_id": "string",\n "client_secret": "string",\n "scope": "string",\n "audience": "string",\n "resource": "string",\n "body_params": {},\n "headers": {},\n "query_params": {},\n "api_key_header": "string",\n "api_key": "string",\n "token": "string"\n },\n "types_versions": [\n {\n "version": "string",\n "package_name": "string",\n "generated_at": "1970-01-01T00:00:00.000Z",\n "generated_by": "string",\n "status": "active"\n }\n ],\n "latest_types_version": "string",\n "latest_types_package_name": "string"\n },\n "protected": true,\n "_manifest": ["string"]\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createIntegration`\n\nCreate a new integration configuration\n\n`POST /v1/integrations`\n\n```ts\nconst { data } = await client.createIntegration(\n null,\n {\n name: \'string\',\n description: \'string\',\n access_token_ids: [\'string\'],\n app_ids: [\'string\'],\n environment_config: [\n {\n key: \'string\',\n label: \'string\',\n type: \'String\',\n description: \'string\',\n required: false,\n order: 0\n }\n ],\n settings: {\n autoRefresh: {\n enabled: false,\n freshnessThresholdMinutes: 1\n }\n },\n integration_type: \'erp\',\n connector_config: {\n base_url: \'string\',\n auth: {\n type: \'oauth2_client_credentials\',\n token_url: \'string\',\n client_id: \'string\',\n client_secret: \'string\',\n scope: \'string\',\n audience: \'string\',\n resource: \'string\',\n body_params: {},\n headers: {},\n query_params: {},\n api_key_header: \'string\',\n api_key: \'string\',\n token: \'string\'\n },\n types_versions: [\n {\n version: \'string\',\n package_name: \'string\',\n generated_at: \'1970-01-01T00:00:00.000Z\',\n generated_by: \'string\',\n status: \'active\'\n }\n ],\n latest_types_version: \'string\',\n latest_types_package_name: \'string\'\n },\n protected: true,\n _manifest: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "orgId": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "name": "string",\n "description": "string",\n "access_token_ids": ["string"],\n "app_ids": ["string"],\n "environment_config": [\n {\n "key": "string",\n "label": "string",\n "type": "String",\n "description": "string",\n "required": false,\n "order": 0\n }\n ],\n "settings": {\n "autoRefresh": {\n "enabled": false,\n "freshnessThresholdMinutes": 1\n }\n },\n "integration_type": "erp",\n "connector_config": {\n "base_url": "string",\n "auth": {\n "type": "oauth2_client_credentials",\n "token_url": "string",\n "client_id": "string",\n "client_secret": "string",\n "scope": "string",\n "audience": "string",\n "resource": "string",\n "body_params": {},\n "headers": {},\n "query_params": {},\n "api_key_header": "string",\n "api_key": "string",\n "token": "string"\n },\n "types_versions": [\n {\n "version": "string",\n "package_name": "string",\n "generated_at": "1970-01-01T00:00:00.000Z",\n "generated_by": "string",\n "status": "active"\n }\n ],\n "latest_types_version": "string",\n "latest_types_package_name": "string"\n },\n "protected": true,\n "_manifest": ["string"]\n}\n```\n\n</details>\n\n---\n\n### `getIntegration`\n\nRetrieve a specific integration by its ID\n\n`GET /v1/integrations/{integrationId}`\n\n```ts\nconst { data } = await client.getIntegration({\n integrationId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "orgId": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "name": "string",\n "description": "string",\n "access_token_ids": ["string"],\n "app_ids": ["string"],\n "environment_config": [\n {\n "key": "string",\n "label": "string",\n "type": "String",\n "description": "string",\n "required": false,\n "order": 0\n }\n ],\n "settings": {\n "autoRefresh": {\n "enabled": false,\n "freshnessThresholdMinutes": 1\n }\n },\n "integration_type": "erp",\n "connector_config": {\n "base_url": "string",\n "auth": {\n "type": "oauth2_client_credentials",\n "token_url": "string",\n "client_id": "string",\n "client_secret": "string",\n "scope": "string",\n "audience": "string",\n "resource": "string",\n "body_params": {},\n "headers": {},\n "query_params": {},\n "api_key_header": "string",\n "api_key": "string",\n "token": "string"\n },\n "types_versions": [\n {\n "version": "string",\n "package_name": "string",\n "generated_at": "1970-01-01T00:00:00.000Z",\n "generated_by": "string",\n "status": "active"\n }\n ],\n "latest_types_version": "string",\n "latest_types_package_name": "string"\n },\n "protected": true,\n "_manifest": ["string"]\n}\n```\n\n</details>\n\n---\n\n### `updateIntegration`\n\nUpdate an existing integration configuration\n\n`PUT /v1/integrations/{integrationId}`\n\n```ts\nconst { data } = await client.updateIntegration(\n {\n integrationId: \'example\',\n },\n {},\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "orgId": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "name": "string",\n "description": "string",\n "access_token_ids": ["string"],\n "app_ids": ["string"],\n "environment_config": [\n {\n "key": "string",\n "label": "string",\n "type": "String",\n "description": "string",\n "required": false,\n "order": 0\n }\n ],\n "settings": {\n "autoRefresh": {\n "enabled": false,\n "freshnessThresholdMinutes": 1\n }\n },\n "integration_type": "erp",\n "connector_config": {\n "base_url": "string",\n "auth": {\n "type": "oauth2_client_credentials",\n "token_url": "string",\n "client_id": "string",\n "client_secret": "string",\n "scope": "string",\n "audience": "string",\n "resource": "string",\n "body_params": {},\n "headers": {},\n "query_params": {},\n "api_key_header": "string",\n "api_key": "string",\n "token": "string"\n },\n "types_versions": [\n {\n "version": "string",\n "package_name": "string",\n "generated_at": "1970-01-01T00:00:00.000Z",\n "generated_by": "string",\n "status": "active"\n }\n ],\n "latest_types_version": "string",\n "latest_types_package_name": "string"\n },\n "protected": true,\n "_manifest": ["string"]\n}\n```\n\n</details>\n\n---\n\n### `deleteIntegration`\n\nDelete an integration and all its use cases\n\n`DELETE /v1/integrations/{integrationId}`\n\n```ts\nconst { data } = await client.deleteIntegration({\n integrationId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "message": "string"\n}\n```\n\n</details>\n\n---\n\n### `queryEvents`\n\nQuery events for a specific integration\n\n`POST /v1/integrations/{integrationId}/events`\n\n```ts\nconst { data } = await client.queryEvents(\n {\n integrationId: \'example\',\n },\n {\n event_id: \'string\',\n event_type: \'CREATE\',\n correlation_id: \'string\',\n object_type: \'string\',\n event_name: \'string\',\n limit: 25,\n cursor: {\n event_time: \'2025-10-31T12:34:56Z\',\n event_id: \'evt_1234567890abcdef\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": [\n {\n "event_type": "CREATE",\n "object_type": "string",\n "timestamp": "1970-01-01T00:00:00.000Z",\n "format": "json",\n "payload": "string",\n "deduplication_id": "evt-2025-05-01-12345-create-bp"\n }\n ],\n "next_cursor": {\n "event_time": "2025-10-31T12:34:56Z",\n "event_id": "evt_1234567890abcdef"\n },\n "has_more": true\n}\n```\n\n</details>\n\n---\n\n### `replayEvents`\n\nReplay one or more events for a specific integration. Events will be re-processed with their original payloads but with a new correlation ID for traceability.\n\n`POST /v1/integrations/{integrationId}/events/replay`\n\n```ts\nconst { data } = await client.replayEvents(\n {\n integrationId: \'example\',\n },\n {\n event_ids: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "event_ids": ["string"]\n}\n```\n\n</details>\n\n---\n\n### `listUseCases`\n\nRetrieve all use cases for a specific integration\n\n`GET /v1/integrations/{integrationId}/use-cases`\n\n```ts\nconst { data } = await client.listUseCases({\n integrationId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "use_cases": [\n {\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "integrationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "name": "string",\n "slug": "string",\n "type": "inbound",\n "enabled": true,\n "change_description": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "configuration": {}\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createUseCase`\n\nCreate a new use case for an integration\n\n`POST /v1/integrations/{integrationId}/use-cases`\n\n```ts\nconst { data } = await client.createUseCase(\n {\n integrationId: \'example\',\n },\n {\n name: \'string\',\n slug: \'string\',\n enabled: true,\n type: \'inbound\',\n configuration: {\n entities: [\n { /* ... */ }\n ],\n meter_readings: [\n { /* ... */ }\n ]\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "integrationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "name": "string",\n "slug": "string",\n "type": "inbound",\n "enabled": true,\n "change_description": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "configuration": {\n "entities": [\n {}\n ],\n "meter_readings": [\n {}\n ]\n }\n}\n```\n\n</details>\n\n---\n\n### `getUseCase`\n\nRetrieve a specific use case by its ID\n\n`GET /v1/integrations/{integrationId}/use-cases/{useCaseId}`\n\n```ts\nconst { data } = await client.getUseCase({\n integrationId: \'example\',\n useCaseId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "integrationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "name": "string",\n "slug": "string",\n "type": "inbound",\n "enabled": true,\n "change_description": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "configuration": {\n "entities": [\n {}\n ],\n "meter_readings": [\n {}\n ]\n }\n}\n```\n\n</details>\n\n---\n\n### `updateUseCase`\n\nUpdate an existing use case configuration\n\n`PUT /v1/integrations/{integrationId}/use-cases/{useCaseId}`\n\n```ts\nconst { data } = await client.updateUseCase(\n {\n integrationId: \'example\',\n useCaseId: \'example\',\n },\n {\n name: \'string\',\n slug: \'string\',\n enabled: true,\n change_description: \'string\',\n type: \'inbound\',\n configuration: {\n entities: [\n { /* ... */ }\n ],\n meter_readings: [\n { /* ... */ }\n ]\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "integrationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "name": "string",\n "slug": "string",\n "type": "inbound",\n "enabled": true,\n "change_description": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "configuration": {\n "entities": [\n {}\n ],\n "meter_readings": [\n {}\n ]\n }\n}\n```\n\n</details>\n\n---\n\n### `deleteUseCase`\n\nDelete a use case from an integration\n\n`DELETE /v1/integrations/{integrationId}/use-cases/{useCaseId}`\n\n```ts\nconst { data } = await client.deleteUseCase({\n integrationId: \'example\',\n useCaseId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "message": "string"\n}\n```\n\n</details>\n\n---\n\n### `listUseCaseHistory`\n\nRetrieve historical versions of a use case\'s configuration.\nHistory entries are returned in reverse chronological order (newest first).\nUse the \'cursor\' parameter for pagination to fetch additional en\n\n`GET /v1/integrations/{integrationId}/use-cases/{useCaseId}/history`\n\n```ts\nconst { data } = await client.listUseCaseHistory({\n integrationId: \'example\',\n useCaseId: \'example\',\n cursor: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "history": [\n {\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "useCaseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "integrationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "name": "string",\n "slug": "string",\n "enabled": true,\n "change_description": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "history_created_at": "1970-01-01T00:00:00.000Z",\n "type": "inbound",\n "configuration": {}\n }\n ],\n "next_cursor": "string"\n}\n```\n\n</details>\n\n---\n\n### `listIntegrationsV2`\n\nRetrieve all integrations with embedded use cases for the authenticated organization\n\n`GET /v2/integrations`\n\n```ts\nconst { data } = await client.listIntegrationsV2()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "integrations": [\n {\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "orgId": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "name": "string",\n "description": "string",\n "access_token_ids": ["string"],\n "app_ids": ["string"],\n "environment_config": [],\n "settings": {},\n "integration_type": "erp",\n "connector_config": {},\n "protected": true,\n "_manifest": ["string"],\n "use_cases": []\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createIntegrationV2`\n\nCreate a new integration with embedded use cases.\n\n`POST /v2/integrations`\n\n```ts\nconst { data } = await client.createIntegrationV2(\n null,\n {\n name: \'string\',\n description: \'string\',\n access_token_ids: [\'string\'],\n app_ids: [\'string\'],\n environment_config: [\n {\n key: \'string\',\n label: \'string\',\n type: \'String\',\n description: \'string\',\n required: false,\n order: 0\n }\n ],\n settings: {\n autoRefresh: {\n enabled: false,\n freshnessThresholdMinutes: 1\n }\n },\n integration_type: \'erp\',\n connector_config: {\n base_url: \'string\',\n auth: {\n type: \'oauth2_client_credentials\',\n token_url: \'string\',\n client_id: \'string\',\n client_secret: \'string\',\n scope: \'string\',\n audience: \'string\',\n resource: \'string\',\n body_params: {},\n headers: {},\n query_params: {},\n api_key_header: \'string\',\n api_key: \'string\',\n token: \'string\'\n },\n types_versions: [\n { /* ... */ }\n ],\n latest_types_version: \'string\',\n latest_types_package_name: \'string\'\n },\n protected: true,\n _manifest: [\'string\'],\n use_cases: [\n {\n id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n name: \'string\',\n slug: \'string\',\n enabled: true,\n change_description: \'string\',\n type: \'inbound\',\n configuration: { /* ... */ }\n }\n ]\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "orgId": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "name": "string",\n "description": "string",\n "access_token_ids": ["string"],\n "app_ids": ["string"],\n "environment_config": [\n {\n "key": "string",\n "label": "string",\n "type": "String",\n "description": "string",\n "required": false,\n "order": 0\n }\n ],\n "settings": {\n "autoRefresh": {\n "enabled": false,\n "freshnessThresholdMinutes": 1\n }\n },\n "integration_type": "erp",\n "connector_config": {\n "base_url": "string",\n "auth": {\n "type": "oauth2_client_credentials",\n "token_url": "string",\n "client_id": "string",\n "client_secret": "string",\n "scope": "string",\n "audience": "string",\n "resource": "string",\n "body_params": {},\n "headers": {},\n "query_params": {},\n "api_key_header": "string",\n "api_key": "string",\n "token": "string"\n },\n "types_versions": [\n {}\n ],\n "latest_types_version": "string",\n "latest_types_package_name": "string"\n },\n "protected": true,\n "_manifest": ["string"],\n "use_cases": [\n {\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "integrationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "name": "string",\n "slug": "string",\n "type": "inbound",\n "enabled": true,\n "change_description": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "configuration": {}\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getIntegrationV2`\n\nRetrieve a specific integration with all its embedded use cases\n\n`GET /v2/integrations/{integrationId}`\n\n```ts\nconst { data } = await client.getIntegrationV2({\n integrationId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "orgId": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "name": "string",\n "description": "string",\n "access_token_ids": ["string"],\n "app_ids": ["string"],\n "environment_config": [\n {\n "key": "string",\n "label": "string",\n "type": "String",\n "description": "string",\n "required": false,\n "order": 0\n }\n ],\n "settings": {\n "autoRefresh": {\n "enabled": false,\n "freshnessThresholdMinutes": 1\n }\n },\n "integration_type": "erp",\n "connector_config": {\n "base_url": "string",\n "auth": {\n "type": "oauth2_client_credentials",\n "token_url": "string",\n "client_id": "string",\n "client_secret": "string",\n "scope": "string",\n "audience": "string",\n "resource": "string",\n "body_params": {},\n "headers": {},\n "query_params": {},\n "api_key_header": "string",\n "api_key": "string",\n "token": "string"\n },\n "types_versions": [\n {}\n ],\n "latest_types_version": "string",\n "latest_types_package_name": "string"\n },\n "protected": true,\n "_manifest": ["string"],\n "use_cases": [\n {\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "integrationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "name": "string",\n "slug": "string",\n "type": "inbound",\n "enabled": true,\n "change_description": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "configuration": {}\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `updateIntegrationV2`\n\nUpdate an existing integration with embedded use cases.\nThe integration must already exist.\nUse cases are updated declaratively:\n- Use cases in the request with matching IDs are updated\n- Use cases in\n\n`PUT /v2/integrations/{integrationId}`\n\n```ts\nconst { data } = await client.updateIntegrationV2(\n {\n integrationId: \'example\',\n },\n {\n name: \'string\',\n description: \'string\',\n access_token_ids: [\'string\'],\n app_ids: [\'string\'],\n environment_config: [\n {\n key: \'string\',\n label: \'string\',\n type: \'String\',\n description: \'string\',\n required: false,\n order: 0\n }\n ],\n settings: {\n autoRefresh: {\n enabled: false,\n freshnessThresholdMinutes: 1\n }\n },\n integration_type: \'erp\',\n connector_config: {\n base_url: \'string\',\n auth: {\n type: \'oauth2_client_credentials\',\n token_url: \'string\',\n client_id: \'string\',\n client_secret: \'string\',\n scope: \'string\',\n audience: \'string\',\n resource: \'string\',\n body_params: {},\n headers: {},\n query_params: {},\n api_key_header: \'string\',\n api_key: \'string\',\n token: \'string\'\n },\n types_versions: [\n { /* ... */ }\n ],\n latest_types_version: \'string\',\n latest_types_package_name: \'string\'\n },\n protected: true,\n _manifest: [\'string\'],\n use_cases: [\n {\n id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n name: \'string\',\n slug: \'string\',\n enabled: true,\n change_description: \'string\',\n type: \'inbound\',\n configuration: { /* ... */ }\n }\n ]\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "orgId": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "name": "string",\n "description": "string",\n "access_token_ids": ["string"],\n "app_ids": ["string"],\n "environment_config": [\n {\n "key": "string",\n "label": "string",\n "type": "String",\n "description": "string",\n "required": false,\n "order": 0\n }\n ],\n "settings": {\n "autoRefresh": {\n "enabled": false,\n "freshnessThresholdMinutes": 1\n }\n },\n "integration_type": "erp",\n "connector_config": {\n "base_url": "string",\n "auth": {\n "type": "oauth2_client_credentials",\n "token_url": "string",\n "client_id": "string",\n "client_secret": "string",\n "scope": "string",\n "audience": "string",\n "resource": "string",\n "body_params": {},\n "headers": {},\n "query_params": {},\n "api_key_header": "string",\n "api_key": "string",\n "token": "string"\n },\n "types_versions": [\n {}\n ],\n "latest_types_version": "string",\n "latest_types_package_name": "string"\n },\n "protected": true,\n "_manifest": ["string"],\n "use_cases": [\n {\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "integrationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "name": "string",\n "slug": "string",\n "type": "inbound",\n "enabled": true,\n "change_description": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "configuration": {}\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `deleteIntegrationV2`\n\nDelete an integration and all its use cases\n\n`DELETE /v2/integrations/{integrationId}`\n\n```ts\nconst { data } = await client.deleteIntegrationV2({\n integrationId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "message": "string"\n}\n```\n\n</details>\n\n---\n\n### `setIntegrationAppMapping`\n\nCreates or updates a mapping from an app/component to an integration.\nThis allows ERP updates sent via app_id and component_id to be associated\nwith a specific integration configuration.\n\n`PUT /v1/integrations/{integrationId}/app-mapping`\n\n```ts\nconst { data } = await client.setIntegrationAppMapping(\n {\n integrationId: \'example\',\n },\n {\n app_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n component_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n overwrite: false\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "integration_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"\n}\n```\n\n</details>\n\n---\n\n### `deleteIntegrationAppMapping`\n\nRemoves a mapping from an app/component to an integration.\n\n`DELETE /v1/integrations/{integrationId}/app-mapping`\n\n```ts\nconst { data } = await client.deleteIntegrationAppMapping(\n {\n integrationId: \'example\',\n },\n {\n app_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n component_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "message": "string"\n}\n```\n\n</details>\n\n---\n\n### `queryInboundMonitoringEvents`\n\nQuery inbound monitoring events for a specific integration.\nReturns detailed information about inbound sync events from ERP systems,\nincluding success rates, error breakdowns, and processing metrics.\n\n`POST /v1/integrations/{integrationId}/monitoring/inbound-events`\n\n```ts\nconst { data } = await client.queryInboundMonitoringEvents(\n {\n integrationId: \'example\',\n },\n {\n use_case_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n event_type: \'CREATE\',\n sync_type: \'entity\',\n status: \'success\',\n error_category: \'validation\',\n correlation_id: \'string\',\n object_type: \'string\',\n event_name: \'string\',\n event_id: \'string\',\n from_date: \'2025-01-01T00:00:00Z\',\n to_date: \'2025-01-31T23:59:59Z\',\n limit: 50,\n cursor: {\n completed_at: \'1970-01-01T00:00:00.000Z\',\n event_id: \'string\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": [\n {\n "org_id": "string",\n "event_id": "string",\n "correlation_id": "string",\n "integration_id": "string",\n "use_case_id": "string",\n "event_type": "CREATE",\n "object_type": "string",\n "sync_type": "entity",\n "status": "success",\n "error_code": "string",\n "error_message": "string",\n "error_category": "validation",\n "processing_duration_ms": 0,\n "received_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z"\n }\n ],\n "next_cursor": {\n "completed_at": "1970-01-01T00:00:00.000Z",\n "event_id": "string"\n },\n "has_more": true\n}\n```\n\n</details>\n\n---\n\n### `getMonitoringStats`\n\nGet aggregated statistics for both inbound and outbound monitoring events for a specific integration.\nReturns summary metrics for inbound (ERP sync) and outbound (webhook delivery) events,\nincluding s\n\n`POST /v1/integrations/{integrationId}/monitoring/stats`\n\n```ts\nconst { data } = await client.getMonitoringStats(\n {\n integrationId: \'example\',\n },\n {\n from_date: \'2025-01-01T00:00:00Z\',\n to_date: \'2025-01-31T23:59:59Z\',\n inbound_group_by: [\'use_case_id\', \'status\'],\n outbound_group_by: [\'event_name\', \'status\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "inbound": {\n "total_events": 0,\n "total_correlations": 0,\n "success_count": 0,\n "error_count": 0,\n "skipped_count": 0,\n "warning_count": 0,\n "success_rate": 0,\n "last_error_at": "1970-01-01T00:00:00.000Z",\n "breakdown": [\n {}\n ]\n },\n "outbound": {\n "total_events": 0,\n "success_count": 0,\n "error_count": 0,\n "pending_count": 0,\n "success_rate": 0,\n "last_error_at": "1970-01-01T00:00:00.000Z",\n "breakdown": [\n {}\n ]\n }\n}\n```\n\n</details>\n\n---\n\n### `getMonitoringTimeSeries`\n\nGet time-series aggregated event counts for monitoring charts.\nReturns pre-bucketed counts at configurable intervals for both inbound and outbound events.\nMaximum of 200 buckets per request. Returns 4\n\n`POST /v1/integrations/{integrationId}/monitoring/timeseries`\n\n```ts\nconst { data } = await client.getMonitoringTimeSeries(\n {\n integrationId: \'example\',\n },\n {\n from_date: \'2025-01-01T00:00:00Z\',\n to_date: \'2025-01-31T23:59:59Z\',\n interval: \'1h\',\n direction: \'both\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "interval": "5m",\n "from_date": "1970-01-01T00:00:00.000Z",\n "to_date": "1970-01-01T00:00:00.000Z",\n "buckets": [\n {\n "timestamp": "1970-01-01T00:00:00.000Z",\n "inbound": {\n "success_count": 0,\n "error_count": 0,\n "warning_count": 0,\n "skipped_count": 0,\n "total_count": 0\n },\n "outbound": {\n "success_count": 0,\n "error_count": 0,\n "pending_count": 0,\n "total_count": 0\n }\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getOutboundStatus`\n\nGet the status of all outbound use cases for a specific integration.\nReturns conflict information when events or webhooks are disabled but the use case is enabled.\n\n`GET /v1/integrations/{integrationId}/outbound-status`\n\n```ts\nconst { data } = await client.getOutboundStatus({\n integrationId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "useCases": [\n {\n "useCaseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "name": "string",\n "useCaseEnabled": true,\n "eventCatalogEvent": "contract.created",\n "eventEnabled": true,\n "webhooks": [\n {\n "webhookId": "string",\n "webhookName": "string",\n "enabled": true\n }\n ],\n "status": "ok",\n "conflicts": [\n {\n "type": "event_disabled",\n "webhookId": "string",\n "message": "string"\n }\n ]\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `queryAccessLogs`\n\nQuery API access logs for a specific integration\'s organization.\nReturns access token usage analytics filtered by user_id (access token).\nSupports infinite scroll pagination with cursor-based navigati\n\n`POST /v1/integrations/{integrationId}/monitoring/access-logs`\n\n```ts\nconst { data } = await client.queryAccessLogs(\n {\n integrationId: \'example\',\n },\n {\n token_id: \'api_5ZugdRXasLfWBypHi93Fk\',\n service: \'entity\',\n method: \'GET\',\n path: \'/v1/entity\',\n status: 200,\n from_date: \'2025-01-01T00:00:00Z\',\n to_date: \'2025-01-31T23:59:59Z\',\n limit: 50,\n cursor: {\n timestamp: \'1970-01-01T00:00:00.000Z\',\n request_id: \'string\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": [\n {\n "timestamp": "1970-01-01T00:00:00.000Z",\n "environment": "string",\n "service": "string",\n "request_id": "string",\n "method": "string",\n "path": "string",\n "status": 0,\n "response_latency_ms": 0,\n "response_length": 0,\n "token_id": "string",\n "org_id": "string",\n "origin": "string",\n "source_ip": "string"\n }\n ],\n "next_cursor": {\n "timestamp": "1970-01-01T00:00:00.000Z",\n "request_id": "string"\n },\n "has_more": true\n}\n```\n\n</details>\n\n---\n\n### `queryOutboundMonitoringEvents`\n\nQuery outbound monitoring events for a specific integration.\nReturns detailed information about outbound event deliveries,\nfiltered by event_name (event_catalog_event) linked to the integration\'s outb\n\n`POST /v1/integrations/{integrationId}/monitoring/outbound-events`\n\n```ts\nconst { data } = await client.queryOutboundMonitoringEvents(\n {\n integrationId: \'example\',\n },\n {\n event_name: \'automation_flow_target\',\n status: \'succeeded\',\n webhook_config_id: \'string\',\n from_date: \'2025-01-01T00:00:00Z\',\n to_date: \'2025-01-31T23:59:59Z\',\n limit: 50,\n cursor: {\n created_at: \'1970-01-01T00:00:00.000Z\',\n event_id: \'string\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": [\n {\n "org_id": "string",\n "event_id": "string",\n "event_name": "string",\n "status": "succeeded",\n "url": "string",\n "http_method": "string",\n "http_response": {},\n "webhook_config_id": "string",\n "metadata": {},\n "execution_context": {},\n "payload": {},\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z"\n }\n ],\n "next_cursor": {\n "created_at": "1970-01-01T00:00:00.000Z",\n "event_id": "string"\n },\n "has_more": true\n}\n```\n\n</details>\n\n---\n\n### `queryMonitoringEventsV2`\n\nQuery monitoring events from the unified erp_monitoring_v2 table.\nReturns all event types (inbound, outbound, file_proxy, etc.) in a single list.\nReplaces the separate v1 inbound-events and outbound-e\n\n`POST /v2/integrations/{integrationId}/monitoring/events`\n\n```ts\nconst { data } = await client.queryMonitoringEventsV2(\n {\n integrationId: \'example\',\n },\n {\n use_case_id: \'string\',\n use_case_type: \'inbound\',\n level: \'success\',\n code: \'string\',\n event_id: \'string\',\n correlation_id: \'string\',\n from_date: \'2025-01-01T00:00:00Z\',\n to_date: \'2025-01-31T23:59:59Z\',\n limit: 50,\n cursor: {\n created_at: \'1970-01-01T00:00:00.000Z\',\n id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": [\n {\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "org_id": "string",\n "integration_id": "string",\n "event_id": "string",\n "correlation_id": "string",\n "use_case_id": "string",\n "use_case_type": "inbound",\n "level": "success",\n "code": "string",\n "message": "string",\n "detail": {},\n "created_at": "1970-01-01T00:00:00.000Z"\n }\n ],\n "next_cursor": {\n "created_at": "1970-01-01T00:00:00.000Z",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"\n },\n "has_more": true\n}\n```\n\n</details>\n\n---\n\n### `getMonitoringStatsV2`\n\nGet aggregated statistics from the unified erp_monitoring_v2 table.\nReturns combined metrics for all event types with optional breakdowns.\n\n`POST /v2/integrations/{integrationId}/monitoring/stats`\n\n```ts\nconst { data } = await client.getMonitoringStatsV2(\n {\n integrationId: \'example\',\n },\n {\n from_date: \'2025-01-01T00:00:00Z\',\n to_date: \'2025-01-31T23:59:59Z\',\n use_case_type: \'inbound\',\n group_by: \'use_case_id\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "total_events": 0,\n "success_count": 0,\n "error_count": 0,\n "warning_count": 0,\n "skipped_count": 0,\n "ack_timeout_count": 0,\n "success_rate": 0,\n "last_error_at": "1970-01-01T00:00:00.000Z",\n "breakdown": [\n {}\n ]\n}\n```\n\n</details>\n\n---\n\n### `getMonitoringTimeSeriesV2`\n\nGet time-series aggregated event counts from the unified erp_monitoring_v2 table.\nReturns bucketed counts for chart rendering.\n\n`POST /v2/integrations/{integrationId}/monitoring/time-series`\n\n```ts\nconst { data } = await client.getMonitoringTimeSeriesV2(\n {\n integrationId: \'example\',\n },\n {\n from_date: \'2025-01-01T00:00:00Z\',\n to_date: \'2025-01-31T23:59:59Z\',\n interval: \'5m\',\n use_case_type: \'inbound\',\n group_by: \'use_case_type\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "interval": "5m",\n "from_date": "1970-01-01T00:00:00.000Z",\n "to_date": "1970-01-01T00:00:00.000Z",\n "buckets": [\n {\n "timestamp": "1970-01-01T00:00:00.000Z",\n "success_count": 0,\n "error_count": 0,\n "warning_count": 0,\n "skipped_count": 0,\n "total_count": 0,\n "breakdown": [\n {\n "use_case_type": "inbound",\n "use_case_id": "string",\n "success_count": 0,\n "error_count": 0,\n "warning_count": 0,\n "skipped_count": 0,\n "total_count": 0\n }\n ]\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getAssociatedMonitoringEvents`\n\nReturns all monitoring events sharing the same event_id, ordered chronologically.\nAlso includes the original inbound event payload from erp_incoming_events if available.\nUsed to display a full event t\n\n`GET /v2/integrations/{integrationId}/monitoring/events/{eventId}/associated`\n\n```ts\nconst { data } = await client.getAssociatedMonitoringEvents({\n integrationId: \'example\',\n eventId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "monitoring_events": [\n {\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "org_id": "string",\n "integration_id": "string",\n "event_id": "string",\n "correlation_id": "string",\n "use_case_id": "string",\n "use_case_type": "inbound",\n "level": "success",\n "code": "string",\n "message": "string",\n "detail": {},\n "created_at": "1970-01-01T00:00:00.000Z"\n }\n ],\n "inbound_event": {}\n}\n```\n\n</details>\n\n---\n\n### `listSecureProxies`\n\nList all secure proxy use cases\n\n`GET /v1/integrations/secure-proxies`\n\n```ts\nconst { data } = await client.listSecureProxies()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "secure_proxies": [\n {\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "name": "string",\n "slug": "string",\n "enabled": true,\n "vpc_mode": "static_ip",\n "allowed_domains": ["string"],\n "allowed_ips": ["string"],\n "integration_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "integration_name": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `secureProxy`\n\nProxy HTTP request through secure VPC\n\n`POST /v1/secure-proxy`\n\n```ts\nconst { data } = await client.secureProxy(\n null,\n {\n integration_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n use_case_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n use_case_slug: \'string\',\n url: \'https://example.com/path\',\n method: \'GET\',\n headers: {},\n body: {},\n response_type: \'json\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "status_code": 0,\n "headers": {},\n "body": {}\n}\n```\n\n</details>\n\n---\n\n### `managedCallExecute`\n\nExecute a managed call operation\n\n`POST /v1/managed-call/{slug}/execute`\n\n```ts\nconst { data } = await client.managedCallExecute(\n {\n slug: \'example\',\n },\n {\n integration_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n payload: {},\n correlation_id: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{}\n```\n\n</details>\n\n---\n\n### `generateTypesPreview`\n\nPreview scaffolded types for a connector integration\n\n`POST /v1/integrations/{integrationId}/generate-types-preview`\n\n```ts\nconst { data } = await client.generateTypesPreview({\n integrationId: \'example\',\n})\n```\n\n---\n\n### `generateTypes`\n\nGenerate a TypeScript npm package for a connector integration\n\n`POST /v1/integrations/{integrationId}/generate-types`\n\n```ts\nconst { data } = await client.generateTypes(\n {\n integrationId: \'example\',\n },\n {\n package_name: \'@epilot/hems-cleverpv\',\n version: \'1.0.0\',\n description: \'string\',\n domain_package: \'@epilot/hems\',\n domain_map_name: \'HemsUseCaseMap\',\n annotations: {}\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "package_name": "string",\n "version": "string",\n "files": {},\n "warnings": ["string"]\n}\n```\n\n</details>\n\n---\n\n### `commitTypes`\n\nCommit generated types and lock use case configurations\n\n`POST /v1/integrations/{integrationId}/commit-types`\n\n```ts\nconst { data } = await client.commitTypes(\n {\n integrationId: \'example\',\n },\n {\n package_name: \'@epilot/hems-cleverpv\',\n version: \'1.0.0\',\n annotations: {}\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "committed": true,\n "warnings": ["string"]\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `ErrorResponseBase`\n\n```ts\ntype ErrorResponseBase = {\n code?: string\n message?: string\n}\n```\n\n### `ErpEvent`\n\n```ts\ntype ErpEvent = {\n event_type: "CREATE" | "UPDATE" | "DELETE"\n object_type: string\n timestamp: string // date-time\n format: "json" | "xml"\n payload: string | Record<string, unknown>\n deduplication_id?: string\n}\n```\n\n### `ErpUpdatesEventsV2Request`\n\n```ts\ntype ErpUpdatesEventsV2Request = {\n integration_id: string // uuid\n correlation_id?: string\n events: Array<{\n event_type: "CREATE" | "UPDATE" | "DELETE"\n object_type: string\n timestamp: string // date-time\n format: "json" | "xml"\n payload: string | Record<string, unknown>\n deduplication_id?: string\n }>\n}\n```\n\n### `ErpEventV3`\n\n```ts\ntype ErpEventV3 = unknown | unknown\n```\n\n### `ErpUpdatesEventsV3Request`\n\n```ts\ntype ErpUpdatesEventsV3Request = {\n integration_id: string // uuid\n correlation_id?: string\n events: unknown | unknown[]\n}\n```\n\n### `TriggerErpActionRequest`\n\n```ts\ntype TriggerErpActionRequest = {\n execution_id: string\n org_id: string\n webhook_id: string\n flow_id: string\n created_at: string // date-time\n action_id: string\n flow_action_id: string\n flow_name: string\n activity_id: string\n entity_id: string\n}\n```\n\n### `TriggerWebhookResp`\n\n```ts\ntype TriggerWebhookResp = {\n status_code?: string\n message?: string\n body?: object\n code?: string\n status?: "succeeded" | "failed"\n start_date?: string\n end_date?: string\n event_id?: string\n}\n```\n\n### `IntegrationEditableFields`\n\n```ts\ntype IntegrationEditableFields = {\n name?: string\n description?: string\n access_token_ids?: string[]\n app_ids?: string[]\n environment_config?: Array<{\n key: string\n label: string\n type: "String" | "SecretString"\n description?: string\n required?: boolean\n order?: number\n }>\n settings?: {\n autoRefresh?: {\n enabled?: { ... }\n freshnessThresholdMinutes?: { ... }\n }\n }\n integration_type?: "erp" | "connector"\n connector_config?: {\n base_url?: string\n auth?: {\n type?: { ... }\n token_url?: { ... }\n client_id?: { ... }\n client_secret?: { ... }\n scope?: { ... }\n audience?: { ... }\n resource?: { ... }\n body_params?: { ... }\n headers?: { ... }\n query_params?: { ... }\n api_key_header?: { ... }\n api_key?: { ... }\n token?: { ... }\n }\n types_versions?: Array<{\n version: { ... }\n package_name: { ... }\n generated_at: { ... }\n generated_by: { ... }\n status: { ... }\n }>\n latest_types_version?: string\n latest_types_package_name?: string\n }\n protected?: boolean\n _manifest?: string[]\n}\n```\n\n### `ConnectorConfig`\n\nShared configuration for connector-type integrations\n\n```ts\ntype ConnectorConfig = {\n base_url?: string\n auth?: {\n type?: "oauth2_client_credentials" | "api_key" | "bearer"\n token_url?: string\n client_id?: string\n client_secret?: string\n scope?: string\n audience?: string\n resource?: string\n body_params?: Record<string, string>\n headers?: Record<string, string>\n query_params?: Record<string, string>\n api_key_header?: string\n api_key?: string\n token?: string\n }\n types_versions?: Array<{\n version: string\n package_name: string\n generated_at: string // date-time\n generated_by: string\n status: "active" | "deprecated"\n }>\n latest_types_version?: string\n latest_types_package_name?: string\n}\n```\n\n### `ManagedCallAuth`\n\nAuthentication configuration for managed call requests\n\n```ts\ntype ManagedCallAuth = {\n type?: "oauth2_client_credentials" | "api_key" | "bearer"\n token_url?: string\n client_id?: string\n client_secret?: string\n scope?: string\n audience?: string\n resource?: string\n body_params?: Record<string, string>\n headers?: Record<string, string>\n query_params?: Record<string, string>\n api_key_header?: string\n api_key?: string\n token?: string\n}\n```\n\n### `Integration`\n\n```ts\ntype Integration = {\n id: string // uuid\n orgId: string\n created_at: string // date-time\n updated_at: string // date-time\n name: string\n description?: string\n access_token_ids?: string[]\n app_ids?: string[]\n environment_config?: Array<{\n key: string\n label: string\n type: "String" | "SecretString"\n description?: string\n required?: boolean\n order?: number\n }>\n settings?: {\n autoRefresh?: {\n enabled?: { ... }\n freshnessThresholdMinutes?: { ... }\n }\n }\n integration_type?: "erp" | "connector"\n connector_config?: {\n base_url?: string\n auth?: {\n type?: { ... }\n token_url?: { ... }\n client_id?: { ... }\n client_secret?: { ... }\n scope?: { ... }\n audience?: { ... }\n resource?: { ... }\n body_params?: { ... }\n headers?: { ... }\n query_params?: { ... }\n api_key_header?: { ... }\n api_key?: { ... }\n token?: { ... }\n }\n types_versions?: Array<{\n version: { ... }\n package_name: { ... }\n generated_at: { ... }\n generated_by: { ... }\n status: { ... }\n }>\n latest_types_version?: string\n latest_types_package_name?: string\n }\n protected?: boolean\n _manifest?: string[]\n}\n```\n\n### `CreateIntegrationRequest`\n\n```ts\ntype CreateIntegrationRequest = {\n name: string\n description?: string\n access_token_ids?: string[]\n app_ids?: string[]\n environment_config?: Array<{\n key: string\n label: string\n type: "String" | "SecretString"\n description?: string\n required?: boolean\n order?: number\n }>\n settings?: {\n autoRefresh?: {\n enabled?: { ... }\n freshnessThresholdMinutes?: { ... }\n }\n }\n integration_type?: "erp" | "connector"\n connector_config?: {\n base_url?: string\n auth?: {\n type?: { ... }\n token_url?: { ... }\n client_id?: { ... }\n client_secret?: { ... }\n scope?: { ... }\n audience?: { ... }\n resource?: { ... }\n body_params?: { ... }\n headers?: { ... }\n query_params?: { ... }\n api_key_header?: { ... }\n api_key?: { ... }\n token?: { ... }\n }\n types_versions?: Array<{\n version: { ... }\n package_name: { ... }\n generated_at: { ... }\n generated_by: { ... }\n status: { ... }\n }>\n latest_types_version?: string\n latest_types_package_name?: string\n }\n protected?: boolean\n _manifest?: string[]\n}\n```\n\n### `UpdateIntegrationRequest`\n\n```ts\ntype UpdateIntegrationRequest = {\n name?: string\n description?: string\n access_token_ids?: string[]\n app_ids?: string[]\n environment_config?: Array<{\n key: string\n label: string\n type: "String" | "SecretString"\n description?: string\n required?: boolean\n order?: number\n }>\n settings?: {\n autoRefresh?: {\n enabled?: { ... }\n freshnessThresholdMinutes?: { ... }\n }\n }\n integration_type?: "erp" | "connector"\n connector_config?: {\n base_url?: string\n auth?: {\n type?: { ... }\n token_url?: { ... }\n client_id?: { ... }\n client_secret?: { ... }\n scope?: { ... }\n audience?: { ... }\n resource?: { ... }\n body_params?: { ... }\n headers?: { ... }\n query_params?: { ... }\n api_key_header?: { ... }\n api_key?: { ... }\n token?: { ... }\n }\n types_versions?: Array<{\n version: { ... }\n package_name: { ... }\n generated_at: { ... }\n generated_by: { ... }\n status: { ... }\n }>\n latest_types_version?: string\n latest_types_package_name?: string\n }\n protected?: boolean\n _manifest?: string[]\n}\n```\n\n### `EnvironmentFieldConfig`\n\n```ts\ntype EnvironmentFieldConfig = {\n key: string\n label: string\n type: "String" | "SecretString"\n description?: string\n required?: boolean\n order?: number\n}\n```\n\n### `IntegrationSettings`\n\nSettings for the integration\n\n```ts\ntype IntegrationSettings = {\n autoRefresh?: {\n enabled?: boolean\n freshnessThresholdMinutes?: number\n }\n}\n```\n\n### `AutoRefreshSettings`\n\nAuto-refresh settings for keeping integration data fresh\n\n```ts\ntype AutoRefreshSettings = {\n enabled?: boolean\n freshnessThresholdMinutes?: number\n}\n```\n\n### `SetIntegrationAppMappingRequest`\n\n```ts\ntype SetIntegrationAppMappingRequest = {\n app_id: string // uuid\n component_id: string // uuid\n overwrite?: boolean\n}\n```\n\n### `DeleteIntegrationAppMappingRequest`\n\n```ts\ntype DeleteIntegrationAppMappingRequest = {\n app_id: string // uuid\n component_id: string // uuid\n}\n```\n\n### `IntegrationAppMapping`\n\n```ts\ntype IntegrationAppMapping = {\n integration_id: string // uuid\n}\n```\n\n### `IntegrationWithUseCases`\n\n```ts\ntype IntegrationWithUseCases = {\n use_cases: Array<{\n id: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n type: "inbound"\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n configuration?: {\n entities?: { ... }\n meter_readings?: { ... }\n }\n } | {\n id: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n type: "outbound"\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n configuration?: {\n event_catalog_event: { ... }\n mappings: { ... }\n }\n } | {\n id: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n type: "file_proxy"\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n configuration?: {\n secure_proxy?: { ... }\n auth?: { ... }\n params?: { ... }\n steps: { ... }\n response: { ... }\n }\n } | {\n id: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n type: "managed_call"\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n configuration?: {\n operation: { ... }\n request_mapping?: { ... }\n response_mapping?: { ... }\n inbound_use_case_slug?: { ... }\n }\n type_annotations?: {\n request?: { ... }\n response?: { ... }\n }\n types_locked?: boolean\n } | {\n id: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n type: "secure_proxy"\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n configuration?: {\n vpc_mode: { ... }\n allowed_domains?: { ... }\n allowed_ips?: { ... }\n }\n }>\n}\n```\n\n### `UpsertIntegrationWithUseCasesRequest`\n\n```ts\ntype UpsertIntegrationWithUseCasesRequest = {\n name: string\n description?: string\n access_token_ids?: string[]\n app_ids?: string[]\n environment_config?: Array<{\n key: string\n label: string\n type: "String" | "SecretString"\n description?: string\n required?: boolean\n order?: number\n }>\n settings?: {\n autoRefresh?: {\n enabled?: { ... }\n freshnessThresholdMinutes?: { ... }\n }\n }\n integration_type?: "erp" | "connector"\n connector_config?: {\n base_url?: string\n auth?: {\n type?: { ... }\n token_url?: { ... }\n client_id?: { ... }\n client_secret?: { ... }\n scope?: { ... }\n audience?: { ... }\n resource?: { ... }\n body_params?: { ... }\n headers?: { ... }\n query_params?: { ... }\n api_key_header?: { ... }\n api_key?: { ... }\n token?: { ... }\n }\n types_versions?: Array<{\n version: { ... }\n package_name: { ... }\n generated_at: { ... }\n generated_by: { ... }\n status: { ... }\n }>\n latest_types_version?: string\n latest_types_package_name?: string\n }\n protected?: boolean\n _manifest?: string[]\n use_cases?: Array<{\n id?: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n type: "inbound"\n configuration?: {\n entities?: { ... }\n meter_readings?: { ... }\n }\n } | {\n id?: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n type: "outbound"\n configuration?: {\n event_catalog_event: { ... }\n mappings: { ... }\n }\n } | {\n id?: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n type: "file_proxy"\n configuration?: {\n secure_proxy?: { ... }\n auth?: { ... }\n params?: { ... }\n steps: { ... }\n response: { ... }\n }\n } | {\n id?: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n type: "managed_call"\n configuration?: {\n operation: { ... }\n request_mapping?: { ... }\n response_mapping?: { ... }\n inbound_use_case_slug?: { ... }\n }\n } | {\n id?: string // uuid\n // ...\n}\n```\n\n### `InboundIntegrationEventConfiguration`\n\nConfiguration for inbound use cases (ERP to epilot)\n\n```ts\ntype InboundIntegrationEventConfiguration = {\n entities?: Array<{\n entity_schema: string\n unique_ids: string[]\n jsonataExpression?: string\n enabled?: boolean | string\n mode?: "upsert" | "delete" | "purge" | "upsert-prune-scope-purge" | "upsert-prune-scope-delete"\n scope?: {\n scope_mode: { ... }\n schema?: { ... }\n unique_ids?: { ... }\n query?: { ... }\n }\n fields: Array<{\n attribute: { ... }\n field?: { ... }\n jsonataExpression?: { ... }\n constant?: { ... }\n _type?: { ... }\n enabled?: { ... }\n relations?: { ... }\n relation_refs?: { ... }\n file_proxy_url?: { ... }\n }>\n }>\n meter_readings?: Array<{\n jsonataExpression?: string\n reading_matching?: "external_id" | "strict-date"\n mode?: "upsert" | "delete" | "upsert-prune-scope"\n scope?: {\n source?: { ... }\n }\n meter: {\n unique_ids: { ... }\n }\n meter_counter?: {\n unique_ids: { ... }\n }\n fields: Array<{\n attribute: { ... }\n field?: { ... }\n jsonataExpression?: { ... }\n constant?: { ... }\n _type?: { ... }\n enabled?: { ... }\n relations?: { ... }\n relation_refs?: { ... }\n file_proxy_url?: { ... }\n }>\n }>\n}\n```\n\n### `OutboundIntegrationEventConfiguration`\n\nConfiguration for outbound use cases. Defines the event that triggers the flow and the webhook mappings.\n\n```ts\ntype OutboundIntegrationEventConfiguration = {\n event_catalog_event: string\n mappings: Array<{\n id?: string // uuid\n name: string\n jsonata_expression: string\n enabled: boolean\n delivery: {\n type: { ... }\n webhook_id: { ... }\n webhook_name?: { ... }\n webhook_url?: { ... }\n }\n created_at?: string // date-time\n updated_at?: string // date-time\n }>\n}\n```\n\n### `IntegrationEntity`\n\n```ts\ntype IntegrationEntity = {\n entity_schema: string\n unique_ids: string[]\n jsonataExpression?: string\n enabled?: boolean | string\n mode?: "upsert" | "delete" | "purge" | "upsert-prune-scope-purge" | "upsert-prune-scope-delete"\n scope?: {\n scope_mode: "relations" | "query"\n schema?: string\n unique_ids?: Array<{\n attribute: { ... }\n _type?: { ... }\n field?: { ... }\n jsonataExpression?: { ... }\n constant?: { ... }\n }>\n query?: Array<{\n attribute: { ... }\n _type?: { ... }\n field?: { ... }\n jsonataExpression?: { ... }\n constant?: { ... }\n }>\n }\n fields: Array<{\n attribute: string\n field?: string\n jsonataExpression?: string\n constant?: unknown\n _type?: "email" | "phone"\n enabled?: boolean | string\n relations?: {\n operation: { ... }\n items?: { ... }\n jsonataExpression?: { ... }\n }\n relation_refs?: {\n operation: { ... }\n items?: { ... }\n jsonataExpression?: { ... }\n }\n file_proxy_url?: {\n use_case_slug: { ... }\n params?: { ... }\n } | {\n use_case_id: { ... }\n params?: { ... }\n }\n }>\n}\n```\n\n### `IntegrationMeterReading`\n\n```ts\ntype IntegrationMeterReading = {\n jsonataExpression?: string\n reading_matching?: "external_id" | "strict-date"\n mode?: "upsert" | "delete" | "upsert-prune-scope"\n scope?: {\n source?: string\n }\n meter: {\n unique_ids: Array<{\n attribute: { ... }\n _type?: { ... }\n field?: { ... }\n jsonataExpression?: { ... }\n constant?: { ... }\n }>\n }\n meter_counter?: {\n unique_ids: Array<{\n attribute: { ... }\n _type?: { ... }\n field?: { ... }\n jsonataExpression?: { ... }\n constant?: { ... }\n }>\n }\n fields: Array<{\n attribute: string\n field?: string\n jsonataExpression?: string\n constant?: unknown\n _type?: "email" | "phone"\n enabled?: boolean | string\n relations?: {\n operation: { ... }\n items?: { ... }\n jsonataExpression?: { ... }\n }\n relation_refs?: {\n operation: { ... }\n items?: { ... }\n jsonataExpression?: { ... }\n }\n file_proxy_url?: {\n use_case_slug: { ... }\n params?: { ... }\n } | {\n use_case_id: { ... }\n params?: { ... }\n }\n }>\n}\n```\n\n### `PruneScopeConfig`\n\nScope configuration for upsert-prune-scope modes.\nDefines how to find entities that should be pruned if not in the upsert payload.\nThe scope is resolved against the original event payload (not individual array items).\n\n\n```ts\ntype PruneScopeConfig = {\n scope_mode: "relations" | "query"\n schema?: string\n unique_ids?: Array<{\n attribute: string\n _type?: "email" | "phone"\n field?: string\n jsonataExpression?: string\n constant?: unknown\n }>\n query?: Array<{\n attribute: string\n _type?: "email" | "phone"\n field?: string\n jsonataExpression?: string\n constant?: unknown\n }>\n}\n```\n\n### `MeterReadingPruneScopeConfig`\n\nScope configuration for meter reading upsert-prune-scope mode.\nThe scope is all readings for the same meter + counter.\n\n\n```ts\ntype MeterReadingPruneScopeConfig = {\n source?: string\n}\n```\n\n### `MeterUniqueIdsConfig`\n\n```ts\ntype MeterUniqueIdsConfig = {\n unique_ids: Array<{\n attribute: string\n _type?: "email" | "phone"\n field?: string\n jsonataExpression?: string\n constant?: unknown\n }>\n}\n```\n\n### `IntegrationEntityField`\n\n```ts\ntype IntegrationEntityField = {\n attribute: string\n field?: string\n jsonataExpression?: string\n constant?: unknown\n _type?: "email" | "phone"\n enabled?: boolean | string\n relations?: {\n operation: "_set" | "_append" | "_append_all"\n items?: Array<{\n entity_schema: { ... }\n _tags?: { ... }\n unique_ids: { ... }\n }>\n jsonataExpression?: string\n }\n relation_refs?: {\n operation: "_set" | "_append" | "_append_all"\n items?: Array<{\n entity_schema: { ... }\n unique_ids: { ... }\n path: { ... }\n value: { ... }\n }>\n jsonataExpression?: string\n }\n file_proxy_url?: {\n use_case_slug: string\n params?: Record<string, {\n field: { ... }\n } | {\n constant: { ... }\n } | {\n jsonataExpression: { ... }\n }>\n } | {\n use_case_id: string\n params?: Record<string, {\n field: { ... }\n } | {\n constant: { ... }\n } | {\n jsonataExpression: { ... }\n }>\n }\n}\n```\n\n### `FileProxyUrlParam`\n\nParameter for file proxy URL. Exactly one of field, constant, or jsonataExpression must be set.\n\n```ts\ntype FileProxyUrlParam = {\n field: string\n} | {\n constant: unknown\n} | {\n jsonataExpression: string\n}\n```\n\n### `FileProxyUrlParams`\n\nCustom query parameters. Keys become URL param names, values resolved from payload.\n\n```ts\ntype FileProxyUrlParams = Record<string, {\n field: string\n} | {\n constant: unknown\n} | {\n jsonataExpression: string\n}>\n```\n\n### `FileProxyUrlConfig`\n\nAuto-constructs a file proxy download URL. orgId and integrationId are injected from context. Exactly one of use_case_id or use_case_slug must be provided. Using use_case_slug is recommended as it is portable across environments.\n\n\n```ts\ntype FileProxyUrlConfig = {\n use_case_slug: string\n params?: Record<string, {\n field: string\n } | {\n constant: unknown\n } | {\n jsonataExpression: string\n }>\n} | {\n use_case_id: string\n params?: Record<string, {\n field: string\n } | {\n constant: unknown\n } | {\n jsonataExpression: string\n }>\n}\n```\n\n### `EmbeddedUseCaseRequest`\n\n```ts\ntype EmbeddedUseCaseRequest = {\n id?: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n type: "inbound"\n configuration?: {\n entities?: Array<{\n entity_schema: { ... }\n unique_ids: { ... }\n jsonataExpression?: { ... }\n enabled?: { ... }\n mode?: { ... }\n scope?: { ... }\n fields: { ... }\n }>\n meter_readings?: Array<{\n jsonataExpression?: { ... }\n reading_matching?: { ... }\n mode?: { ... }\n scope?: { ... }\n meter: { ... }\n meter_counter?: { ... }\n fields: { ... }\n }>\n }\n} | {\n id?: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n type: "outbound"\n configuration?: {\n event_catalog_event: string\n mappings: Array<{\n id?: { ... }\n name: { ... }\n jsonata_expression: { ... }\n enabled: { ... }\n delivery: { ... }\n created_at?: { ... }\n updated_at?: { ... }\n }>\n }\n} | {\n id?: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n type: "file_proxy"\n configuration?: {\n secure_proxy?: {\n use_case_slug: { ... }\n }\n auth?: {\n type: { ... }\n token_url: { ... }\n client_id: { ... }\n client_secret: { ... }\n scope?: { ... }\n audience?: { ... }\n resource?: { ... }\n username?: { ... }\n password?: { ... }\n body_params?: { ... }\n headers?: { ... }\n query_params?: { ... }\n }\n params?: Array<{\n name: { ... }\n required: { ... }\n description?: { ... }\n }>\n steps: Array<{\n url: { ... }\n method: { ... }\n headers?: { ... }\n body?: { ... }\n response_type: { ... }\n }>\n response: {\n body: { ... }\n encoding: { ... }\n filename?: { ... }\n content_type?: { ... }\n }\n }\n} | {\n id?: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n type: "managed_call"\n configuration?: {\n operation: {\n method: { ... }\n // ...\n}\n```\n\n### `EmbeddedUseCaseRequestBase`\n\n```ts\ntype EmbeddedUseCaseRequestBase = {\n id?: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n}\n```\n\n### `EmbeddedInboundUseCaseRequest`\n\n```ts\ntype EmbeddedInboundUseCaseRequest = {\n id?: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n type: "inbound"\n configuration?: {\n entities?: Array<{\n entity_schema: { ... }\n unique_ids: { ... }\n jsonataExpression?: { ... }\n enabled?: { ... }\n mode?: { ... }\n scope?: { ... }\n fields: { ... }\n }>\n meter_readings?: Array<{\n jsonataExpression?: { ... }\n reading_matching?: { ... }\n mode?: { ... }\n scope?: { ... }\n meter: { ... }\n meter_counter?: { ... }\n fields: { ... }\n }>\n }\n}\n```\n\n### `EmbeddedOutboundUseCaseRequest`\n\n```ts\ntype EmbeddedOutboundUseCaseRequest = {\n id?: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n type: "outbound"\n configuration?: {\n event_catalog_event: string\n mappings: Array<{\n id?: { ... }\n name: { ... }\n jsonata_expression: { ... }\n enabled: { ... }\n delivery: { ... }\n created_at?: { ... }\n updated_at?: { ... }\n }>\n }\n}\n```\n\n### `EmbeddedFileProxyUseCaseRequest`\n\n```ts\ntype EmbeddedFileProxyUseCaseRequest = {\n id?: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n type: "file_proxy"\n configuration?: {\n secure_proxy?: {\n use_case_slug: { ... }\n }\n auth?: {\n type: { ... }\n token_url: { ... }\n client_id: { ... }\n client_secret: { ... }\n scope?: { ... }\n audience?: { ... }\n resource?: { ... }\n username?: { ... }\n password?: { ... }\n body_params?: { ... }\n headers?: { ... }\n query_params?: { ... }\n }\n params?: Array<{\n name: { ... }\n required: { ... }\n description?: { ... }\n }>\n steps: Array<{\n url: { ... }\n method: { ... }\n headers?: { ... }\n body?: { ... }\n response_type: { ... }\n }>\n response: {\n body: { ... }\n encoding: { ... }\n filename?: { ... }\n content_type?: { ... }\n }\n }\n}\n```\n\n### `EmbeddedManagedCallUseCaseRequest`\n\n```ts\ntype EmbeddedManagedCallUseCaseRequest = {\n id?: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n type: "managed_call"\n configuration?: {\n operation: {\n method: { ... }\n path: { ... }\n headers?: { ... }\n query_params?: { ... }\n }\n request_mapping?: string\n response_mapping?: string\n inbound_use_case_slug?: string\n }\n}\n```\n\n### `EmbeddedSecureProxyUseCaseRequest`\n\n```ts\ntype EmbeddedSecureProxyUseCaseRequest = {\n id?: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n type: "secure_proxy"\n configuration?: {\n vpc_mode: "static_ip" | "secure_link"\n allowed_domains?: string[]\n allowed_ips?: string[]\n }\n}\n```\n\n### `UseCaseBase`\n\n```ts\ntype UseCaseBase = {\n id: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n type: "inbound" | "outbound" | "file_proxy" | "managed_call" | "secure_proxy"\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n}\n```\n\n### `InboundUseCase`\n\n```ts\ntype InboundUseCase = {\n id: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n type: "inbound"\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n configuration?: {\n entities?: Array<{\n entity_schema: { ... }\n unique_ids: { ... }\n jsonataExpression?: { ... }\n enabled?: { ... }\n mode?: { ... }\n scope?: { ... }\n fields: { ... }\n }>\n meter_readings?: Array<{\n jsonataExpression?: { ... }\n reading_matching?: { ... }\n mode?: { ... }\n scope?: { ... }\n meter: { ... }\n meter_counter?: { ... }\n fields: { ... }\n }>\n }\n}\n```\n\n### `OutboundUseCase`\n\n```ts\ntype OutboundUseCase = {\n id: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n type: "outbound"\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n configuration?: {\n event_catalog_event: string\n mappings: Array<{\n id?: { ... }\n name: { ... }\n jsonata_expression: { ... }\n enabled: { ... }\n delivery: { ... }\n created_at?: { ... }\n updated_at?: { ... }\n }>\n }\n}\n```\n\n### `FileProxyUseCase`\n\n```ts\ntype FileProxyUseCase = {\n id: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n type: "file_proxy"\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n configuration?: {\n secure_proxy?: {\n use_case_slug: { ... }\n }\n auth?: {\n type: { ... }\n token_url: { ... }\n client_id: { ... }\n client_secret: { ... }\n scope?: { ... }\n audience?: { ... }\n resource?: { ... }\n username?: { ... }\n password?: { ... }\n body_params?: { ... }\n headers?: { ... }\n query_params?: { ... }\n }\n params?: Array<{\n name: { ... }\n required: { ... }\n description?: { ... }\n }>\n steps: Array<{\n url: { ... }\n method: { ... }\n headers?: { ... }\n body?: { ... }\n response_type: { ... }\n }>\n response: {\n body: { ... }\n encoding: { ... }\n filename?: { ... }\n content_type?: { ... }\n }\n }\n}\n```\n\n### `ManagedCallUseCase`\n\n```ts\ntype ManagedCallUseCase = {\n id: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n type: "managed_call"\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n configuration?: {\n operation: {\n method: { ... }\n path: { ... }\n headers?: { ... }\n query_params?: { ... }\n }\n request_mapping?: string\n response_mapping?: string\n inbound_use_case_slug?: string\n }\n type_annotations?: {\n request?: Record<string, string>\n response?: Record<string, string>\n }\n types_locked?: boolean\n}\n```\n\n### `SecureProxyUseCase`\n\n```ts\ntype SecureProxyUseCase = {\n id: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n type: "secure_proxy"\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n configuration?: {\n vpc_mode: "static_ip" | "secure_link"\n allowed_domains?: string[]\n allowed_ips?: string[]\n }\n}\n```\n\n### `UseCase`\n\n```ts\ntype UseCase = {\n id: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n type: "inbound"\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n configuration?: {\n entities?: Array<{\n entity_schema: { ... }\n unique_ids: { ... }\n jsonataExpression?: { ... }\n enabled?: { ... }\n mode?: { ... }\n scope?: { ... }\n fields: { ... }\n }>\n meter_readings?: Array<{\n jsonataExpression?: { ... }\n reading_matching?: { ... }\n mode?: { ... }\n scope?: { ... }\n meter: { ... }\n meter_counter?: { ... }\n fields: { ... }\n }>\n }\n} | {\n id: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n type: "outbound"\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n configuration?: {\n event_catalog_event: string\n mappings: Array<{\n id?: { ... }\n name: { ... }\n jsonata_expression: { ... }\n enabled: { ... }\n delivery: { ... }\n created_at?: { ... }\n updated_at?: { ... }\n }>\n }\n} | {\n id: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n type: "file_proxy"\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n configuration?: {\n secure_proxy?: {\n use_case_slug: { ... }\n }\n auth?: {\n type: { ... }\n token_url: { ... }\n client_id: { ... }\n client_secret: { ... }\n scope?: { ... }\n audience?: { ... }\n resource?: { ... }\n username?: { ... }\n password?: { ... }\n body_params?: { ... }\n headers?: { ... }\n query_params?: { ... }\n }\n params?: Array<{\n name: { ... }\n required: { ... }\n description?: { ... }\n }>\n steps: Array<{\n url: { ... }\n method: { ... }\n headers?: { ... }\n body?: { ... }\n response_type: { ... }\n }>\n response: {\n body: { ... }\n encoding: { ... }\n filename?: { ... }\n content_type?: { ... }\n }\n }\n} | {\n // ...\n}\n```\n\n### `CreateUseCaseRequest`\n\n```ts\ntype CreateUseCaseRequest = {\n name: string\n slug?: string\n enabled: boolean\n type: "inbound"\n configuration?: {\n entities?: Array<{\n entity_schema: { ... }\n unique_ids: { ... }\n jsonataExpression?: { ... }\n enabled?: { ... }\n mode?: { ... }\n scope?: { ... }\n fields: { ... }\n }>\n meter_readings?: Array<{\n jsonataExpression?: { ... }\n reading_matching?: { ... }\n mode?: { ... }\n scope?: { ... }\n meter: { ... }\n meter_counter?: { ... }\n fields: { ... }\n }>\n }\n} | {\n name: string\n slug?: string\n enabled: boolean\n type: "outbound"\n configuration?: {\n event_catalog_event: string\n mappings: Array<{\n id?: { ... }\n name: { ... }\n jsonata_expression: { ... }\n enabled: { ... }\n delivery: { ... }\n created_at?: { ... }\n updated_at?: { ... }\n }>\n }\n} | {\n name: string\n slug?: string\n enabled: boolean\n type: "file_proxy"\n configuration?: {\n secure_proxy?: {\n use_case_slug: { ... }\n }\n auth?: {\n type: { ... }\n token_url: { ... }\n client_id: { ... }\n client_secret: { ... }\n scope?: { ... }\n audience?: { ... }\n resource?: { ... }\n username?: { ... }\n password?: { ... }\n body_params?: { ... }\n headers?: { ... }\n query_params?: { ... }\n }\n params?: Array<{\n name: { ... }\n required: { ... }\n description?: { ... }\n }>\n steps: Array<{\n url: { ... }\n method: { ... }\n headers?: { ... }\n body?: { ... }\n response_type: { ... }\n }>\n response: {\n body: { ... }\n encoding: { ... }\n filename?: { ... }\n content_type?: { ... }\n }\n }\n} | {\n name: string\n slug?: string\n enabled: boolean\n type: "managed_call"\n configuration?: {\n operation: {\n method: { ... }\n path: { ... }\n headers?: { ... }\n query_params?: { ... }\n }\n request_mapping?: string\n response_mapping?: string\n inbound_use_case_slug?: string\n }\n // ...\n}\n```\n\n### `CreateUseCaseRequestBase`\n\n```ts\ntype CreateUseCaseRequestBase = {\n name: string\n slug?: string\n enabled: boolean\n}\n```\n\n### `CreateInboundUseCaseRequest`\n\n```ts\ntype CreateInboundUseCaseRequest = {\n name: string\n slug?: string\n enabled: boolean\n type: "inbound"\n configuration?: {\n entities?: Array<{\n entity_schema: { ... }\n unique_ids: { ... }\n jsonataExpression?: { ... }\n enabled?: { ... }\n mode?: { ... }\n scope?: { ... }\n fields: { ... }\n }>\n meter_readings?: Array<{\n jsonataExpression?: { ... }\n reading_matching?: { ... }\n mode?: { ... }\n scope?: { ... }\n meter: { ... }\n meter_counter?: { ... }\n fields: { ... }\n }>\n }\n}\n```\n\n### `CreateOutboundUseCaseRequest`\n\n```ts\ntype CreateOutboundUseCaseRequest = {\n name: string\n slug?: string\n enabled: boolean\n type: "outbound"\n configuration?: {\n event_catalog_event: string\n mappings: Array<{\n id?: { ... }\n name: { ... }\n jsonata_expression: { ... }\n enabled: { ... }\n delivery: { ... }\n created_at?: { ... }\n updated_at?: { ... }\n }>\n }\n}\n```\n\n### `CreateFileProxyUseCaseRequest`\n\n```ts\ntype CreateFileProxyUseCaseRequest = {\n name: string\n slug?: string\n enabled: boolean\n type: "file_proxy"\n configuration?: {\n secure_proxy?: {\n use_case_slug: { ... }\n }\n auth?: {\n type: { ... }\n token_url: { ... }\n client_id: { ... }\n client_secret: { ... }\n scope?: { ... }\n audience?: { ... }\n resource?: { ... }\n username?: { ... }\n password?: { ... }\n body_params?: { ... }\n headers?: { ... }\n query_params?: { ... }\n }\n params?: Array<{\n name: { ... }\n required: { ... }\n description?: { ... }\n }>\n steps: Array<{\n url: { ... }\n method: { ... }\n headers?: { ... }\n body?: { ... }\n response_type: { ... }\n }>\n response: {\n body: { ... }\n encoding: { ... }\n filename?: { ... }\n content_type?: { ... }\n }\n }\n}\n```\n\n### `CreateManagedCallUseCaseRequest`\n\n```ts\ntype CreateManagedCallUseCaseRequest = {\n name: string\n slug?: string\n enabled: boolean\n type: "managed_call"\n configuration?: {\n operation: {\n method: { ... }\n path: { ... }\n headers?: { ... }\n query_params?: { ... }\n }\n request_mapping?: string\n response_mapping?: string\n inbound_use_case_slug?: string\n }\n}\n```\n\n### `CreateSecureProxyUseCaseRequest`\n\n```ts\ntype CreateSecureProxyUseCaseRequest = {\n name: string\n slug?: string\n enabled: boolean\n type: "secure_proxy"\n configuration?: {\n vpc_mode: "static_ip" | "secure_link"\n allowed_domains?: string[]\n allowed_ips?: string[]\n }\n}\n```\n\n### `UpdateUseCaseRequest`\n\n```ts\ntype UpdateUseCaseRequest = {\n name?: string\n slug?: string\n enabled?: boolean\n change_description?: string\n type?: "inbound"\n configuration?: {\n entities?: Array<{\n entity_schema: { ... }\n unique_ids: { ... }\n jsonataExpression?: { ... }\n enabled?: { ... }\n mode?: { ... }\n scope?: { ... }\n fields: { ... }\n }>\n meter_readings?: Array<{\n jsonataExpression?: { ... }\n reading_matching?: { ... }\n mode?: { ... }\n scope?: { ... }\n meter: { ... }\n meter_counter?: { ... }\n fields: { ... }\n }>\n }\n} | {\n name?: string\n slug?: string\n enabled?: boolean\n change_description?: string\n type?: "outbound"\n configuration?: {\n event_catalog_event: string\n mappings: Array<{\n id?: { ... }\n name: { ... }\n jsonata_expression: { ... }\n enabled: { ... }\n delivery: { ... }\n created_at?: { ... }\n updated_at?: { ... }\n }>\n }\n} | {\n name?: string\n slug?: string\n enabled?: boolean\n change_description?: string\n type?: "file_proxy"\n configuration?: {\n secure_proxy?: {\n use_case_slug: { ... }\n }\n auth?: {\n type: { ... }\n token_url: { ... }\n client_id: { ... }\n client_secret: { ... }\n scope?: { ... }\n audience?: { ... }\n resource?: { ... }\n username?: { ... }\n password?: { ... }\n body_params?: { ... }\n headers?: { ... }\n query_params?: { ... }\n }\n params?: Array<{\n name: { ... }\n required: { ... }\n description?: { ... }\n }>\n steps: Array<{\n url: { ... }\n method: { ... }\n headers?: { ... }\n body?: { ... }\n response_type: { ... }\n }>\n response: {\n body: { ... }\n encoding: { ... }\n filename?: { ... }\n content_type?: { ... }\n }\n }\n} | {\n name?: string\n slug?: string\n enabled?: boolean\n change_description?: string\n type?: "managed_call"\n configuration?: {\n operation: {\n method: { ... }\n path: { ... }\n headers?: { ... }\n query_params?: { ... }\n }\n // ...\n}\n```\n\n### `UpdateUseCaseRequestBase`\n\n```ts\ntype UpdateUseCaseRequestBase = {\n name?: string\n slug?: string\n enabled?: boolean\n change_description?: string\n}\n```\n\n### `UpdateInboundUseCaseRequest`\n\n```ts\ntype UpdateInboundUseCaseRequest = {\n name?: string\n slug?: string\n enabled?: boolean\n change_description?: string\n type?: "inbound"\n configuration?: {\n entities?: Array<{\n entity_schema: { ... }\n unique_ids: { ... }\n jsonataExpression?: { ... }\n enabled?: { ... }\n mode?: { ... }\n scope?: { ... }\n fields: { ... }\n }>\n meter_readings?: Array<{\n jsonataExpression?: { ... }\n reading_matching?: { ... }\n mode?: { ... }\n scope?: { ... }\n meter: { ... }\n meter_counter?: { ... }\n fields: { ... }\n }>\n }\n}\n```\n\n### `UpdateOutboundUseCaseRequest`\n\n```ts\ntype UpdateOutboundUseCaseRequest = {\n name?: string\n slug?: string\n enabled?: boolean\n change_description?: string\n type?: "outbound"\n configuration?: {\n event_catalog_event: string\n mappings: Array<{\n id?: { ... }\n name: { ... }\n jsonata_expression: { ... }\n enabled: { ... }\n delivery: { ... }\n created_at?: { ... }\n updated_at?: { ... }\n }>\n }\n}\n```\n\n### `UpdateFileProxyUseCaseRequest`\n\n```ts\ntype UpdateFileProxyUseCaseRequest = {\n name?: string\n slug?: string\n enabled?: boolean\n change_description?: string\n type?: "file_proxy"\n configuration?: {\n secure_proxy?: {\n use_case_slug: { ... }\n }\n auth?: {\n type: { ... }\n token_url: { ... }\n client_id: { ... }\n client_secret: { ... }\n scope?: { ... }\n audience?: { ... }\n resource?: { ... }\n username?: { ... }\n password?: { ... }\n body_params?: { ... }\n headers?: { ... }\n query_params?: { ... }\n }\n params?: Array<{\n name: { ... }\n required: { ... }\n description?: { ... }\n }>\n steps: Array<{\n url: { ... }\n method: { ... }\n headers?: { ... }\n body?: { ... }\n response_type: { ... }\n }>\n response: {\n body: { ... }\n encoding: { ... }\n filename?: { ... }\n content_type?: { ... }\n }\n }\n}\n```\n\n### `UpdateManagedCallUseCaseRequest`\n\n```ts\ntype UpdateManagedCallUseCaseRequest = {\n name?: string\n slug?: string\n enabled?: boolean\n change_description?: string\n type?: "managed_call"\n configuration?: {\n operation: {\n method: { ... }\n path: { ... }\n headers?: { ... }\n query_params?: { ... }\n }\n request_mapping?: string\n response_mapping?: string\n inbound_use_case_slug?: string\n }\n type_annotations?: {\n request?: Record<string, string>\n response?: Record<string, string>\n }\n}\n```\n\n### `UpdateSecureProxyUseCaseRequest`\n\n```ts\ntype UpdateSecureProxyUseCaseRequest = {\n name?: string\n slug?: string\n enabled?: boolean\n change_description?: string\n type?: "secure_proxy"\n configuration?: {\n vpc_mode: "static_ip" | "secure_link"\n allowed_domains?: string[]\n allowed_ips?: string[]\n }\n}\n```\n\n### `UseCaseHistoryEntry`\n\n```ts\ntype UseCaseHistoryEntry = {\n id: string // uuid\n useCaseId: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n history_created_at: string // date-time\n type: "inbound"\n configuration?: {\n entities?: Array<{\n entity_schema: { ... }\n unique_ids: { ... }\n jsonataExpression?: { ... }\n enabled?: { ... }\n mode?: { ... }\n scope?: { ... }\n fields: { ... }\n }>\n meter_readings?: Array<{\n jsonataExpression?: { ... }\n reading_matching?: { ... }\n mode?: { ... }\n scope?: { ... }\n meter: { ... }\n meter_counter?: { ... }\n fields: { ... }\n }>\n }\n} | {\n id: string // uuid\n useCaseId: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n history_created_at: string // date-time\n type: "outbound"\n configuration?: {\n event_catalog_event: string\n mappings: Array<{\n id?: { ... }\n name: { ... }\n jsonata_expression: { ... }\n enabled: { ... }\n delivery: { ... }\n created_at?: { ... }\n updated_at?: { ... }\n }>\n }\n} | {\n id: string // uuid\n useCaseId: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n history_created_at: string // date-time\n type: "file_proxy"\n configuration?: {\n secure_proxy?: {\n use_case_slug: { ... }\n }\n auth?: {\n type: { ... }\n token_url: { ... }\n client_id: { ... }\n client_secret: { ... }\n scope?: { ... }\n audience?: { ... }\n resource?: { ... }\n username?: { ... }\n password?: { ... }\n body_params?: { ... }\n headers?: { ... }\n query_params?: { ... }\n }\n params?: Array<{\n name: { ... }\n required: { ... }\n description?: { ... }\n }>\n steps: Array<{\n url: { ... }\n method: { ... }\n headers?: { ... }\n body?: { ... }\n response_type: { ... }\n }>\n response: {\n body: { ... }\n // ...\n}\n```\n\n### `UseCaseHistoryEntryBase`\n\n```ts\ntype UseCaseHistoryEntryBase = {\n id: string // uuid\n useCaseId: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n history_created_at: string // date-time\n}\n```\n\n### `InboundUseCaseHistoryEntry`\n\n```ts\ntype InboundUseCaseHistoryEntry = {\n id: string // uuid\n useCaseId: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n history_created_at: string // date-time\n type: "inbound"\n configuration?: {\n entities?: Array<{\n entity_schema: { ... }\n unique_ids: { ... }\n jsonataExpression?: { ... }\n enabled?: { ... }\n mode?: { ... }\n scope?: { ... }\n fields: { ... }\n }>\n meter_readings?: Array<{\n jsonataExpression?: { ... }\n reading_matching?: { ... }\n mode?: { ... }\n scope?: { ... }\n meter: { ... }\n meter_counter?: { ... }\n fields: { ... }\n }>\n }\n}\n```\n\n### `OutboundUseCaseHistoryEntry`\n\n```ts\ntype OutboundUseCaseHistoryEntry = {\n id: string // uuid\n useCaseId: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n history_created_at: string // date-time\n type: "outbound"\n configuration?: {\n event_catalog_event: string\n mappings: Array<{\n id?: { ... }\n name: { ... }\n jsonata_expression: { ... }\n enabled: { ... }\n delivery: { ... }\n created_at?: { ... }\n updated_at?: { ... }\n }>\n }\n}\n```\n\n### `FileProxyUseCaseHistoryEntry`\n\n```ts\ntype FileProxyUseCaseHistoryEntry = {\n id: string // uuid\n useCaseId: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n history_created_at: string // date-time\n type: "file_proxy"\n configuration?: {\n secure_proxy?: {\n use_case_slug: { ... }\n }\n auth?: {\n type: { ... }\n token_url: { ... }\n client_id: { ... }\n client_secret: { ... }\n scope?: { ... }\n audience?: { ... }\n resource?: { ... }\n username?: { ... }\n password?: { ... }\n body_params?: { ... }\n headers?: { ... }\n query_params?: { ... }\n }\n params?: Array<{\n name: { ... }\n required: { ... }\n description?: { ... }\n }>\n steps: Array<{\n url: { ... }\n method: { ... }\n headers?: { ... }\n body?: { ... }\n response_type: { ... }\n }>\n response: {\n body: { ... }\n encoding: { ... }\n filename?: { ... }\n content_type?: { ... }\n }\n }\n}\n```\n\n### `ManagedCallUseCaseHistoryEntry`\n\n```ts\ntype ManagedCallUseCaseHistoryEntry = {\n id: string // uuid\n useCaseId: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n history_created_at: string // date-time\n type: "managed_call"\n configuration?: {\n operation: {\n method: { ... }\n path: { ... }\n headers?: { ... }\n query_params?: { ... }\n }\n request_mapping?: string\n response_mapping?: string\n inbound_use_case_slug?: string\n }\n type_annotations?: {\n request?: Record<string, string>\n response?: Record<string, string>\n }\n types_locked?: boolean\n}\n```\n\n### `SecureProxyUseCaseHistoryEntry`\n\n```ts\ntype SecureProxyUseCaseHistoryEntry = {\n id: string // uuid\n useCaseId: string // uuid\n integrationId: string // uuid\n name: string\n slug?: string\n enabled: boolean\n change_description?: string\n created_at: string // date-time\n updated_at: string // date-time\n history_created_at: string // date-time\n type: "secure_proxy"\n configuration?: {\n vpc_mode: "static_ip" | "secure_link"\n allowed_domains?: string[]\n allowed_ips?: string[]\n }\n}\n```\n\n### `SecureProxyUseCaseConfiguration`\n\nConfiguration for secure_proxy use cases. Defines how to route requests through a secure VPC.\n\n\n```ts\ntype SecureProxyUseCaseConfiguration = {\n vpc_mode: "static_ip" | "secure_link"\n allowed_domains?: string[]\n allowed_ips?: string[]\n}\n```\n\n### `SecureProxySummary`\n\n```ts\ntype SecureProxySummary = {\n id: string // uuid\n name: string\n slug?: string\n enabled: boolean\n vpc_mode: "static_ip" | "secure_link"\n allowed_domains?: string[]\n allowed_ips?: string[]\n integration_id: string // uuid\n integration_name: string\n}\n```\n\n### `SecureProxyRequest`\n\n```ts\ntype SecureProxyRequest = {\n integration_id: string // uuid\n use_case_id?: string // uuid\n use_case_slug?: string\n url: string // uri\n method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE"\n headers?: Record<string, string>\n body?: unknown\n response_type?: "json" | "binary"\n}\n```\n\n### `SecureProxyResponse`\n\n```ts\ntype SecureProxyResponse = {\n status_code?: number\n headers?: Record<string, string>\n body?: unknown\n}\n```\n\n### `ManagedCallOperationConfig`\n\nConfiguration for managed_call use cases. Defines a single API operation with JSONata mapping.\n\n```ts\ntype ManagedCallOperationConfig = {\n operation: {\n method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE"\n path: string\n headers?: Record<string, string>\n query_params?: Record<string, string>\n }\n request_mapping?: string\n response_mapping?: string\n inbound_use_case_slug?: string\n}\n```\n\n### `ManagedCallOperation`\n\nHTTP operation configuration for managed calls\n\n```ts\ntype ManagedCallOperation = {\n method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE"\n path: string\n headers?: Record<string, string>\n query_params?: Record<string, string>\n}\n```\n\n### `ManagedCallExecuteRequest`\n\n```ts\ntype ManagedCallExecuteRequest = {\n integration_id: string // uuid\n payload?: Record<string, unknown>\n correlation_id?: string\n}\n```\n\n### `ManagedCallExecuteResponse`\n\nThe response from a managed call execution.\nOn success, returns the JSONata-mapped response data directly (no wrapper).\nThe shape is entirely defined by your response_mapping JSONata expression.\nIf no response_mapping is configured, returns the raw external API response.\nCheck the X-Inbound-Event-Id\n\n```ts\ntype ManagedCallExecuteResponse = unknown\n```\n\n### `ManagedCallErrorResponse`\n\n```ts\ntype ManagedCallErrorResponse = {\n error: {\n code: string\n message: string\n details?: Record<string, unknown>\n }\n}\n```\n\n### `TypeAnnotations`\n\nDeveloper-provided type annotations for a use case\'s request and response fields\n\n```ts\ntype TypeAnnotations = {\n request?: Record<string, string>\n response?: Record<string, string>\n}\n```\n\n### `TypeDescriptor`\n\nDescribes the inferred type shape of a JSONata expression\n\n```ts\ntype TypeDescriptor = {\n kind: "object" | "array" | "string" | "number" | "boolean" | "null" | "unknown" | "union"\n properties?: Record<string, {\n kind: "object" | "array" | "string" | "number" | "boolean" | "null" | "unknown" | "union"\n properties?: Record<string, {\n kind: { ... }\n properties?: { ... }\n items?: { ... }\n source?: { ... }\n variants?: { ... }\n }>\n items?: {\n kind: { ... }\n properties?: { ... }\n items?: { ... }\n source?: { ... }\n variants?: { ... }\n }\n source?: string\n variants?: Array<{\n kind: { ... }\n properties?: { ... }\n items?: { ... }\n source?: { ... }\n variants?: { ... }\n }>\n }>\n items?: {\n kind: "object" | "array" | "string" | "number" | "boolean" | "null" | "unknown" | "union"\n properties?: Record<string, {\n kind: { ... }\n properties?: { ... }\n items?: { ... }\n source?: { ... }\n variants?: { ... }\n }>\n items?: {\n kind: { ... }\n properties?: { ... }\n items?: { ... }\n source?: { ... }\n variants?: { ... }\n }\n source?: string\n variants?: Array<{\n kind: { ... }\n properties?: { ... }\n items?: { ... }\n source?: { ... }\n variants?: { ... }\n }>\n }\n source?: string\n variants?: Array<{\n kind: "object" | "array" | "string" | "number" | "boolean" | "null" | "unknown" | "union"\n properties?: Record<string, {\n kind: { ... }\n properties?: { ... }\n items?: { ... }\n source?: { ... }\n variants?: { ... }\n }>\n items?: {\n kind: { ... }\n properties?: { ... }\n items?: { ... }\n source?: { ... }\n variants?: { ... }\n }\n source?: string\n variants?: Array<{\n kind: { ... }\n properties?: { ... }\n items?: { ... }\n source?: { ... }\n variants?: { ... }\n }>\n }>\n}\n```\n\n### `UseCaseTypePreview`\n\nScaffolded type descriptors for a single use case\n\n```ts\ntype UseCaseTypePreview = {\n slug: string\n name?: string\n request_shape: {\n kind: "object" | "array" | "string" | "number" | "boolean" | "null" | "unknown" | "union"\n properties?: Record<string, {\n kind: { ... }\n properties?: { ... }\n items?: { ... }\n source?: { ... }\n variants?: { ... }\n }>\n items?: {\n kind: { ... }\n properties?: { ... }\n items?: { ... }\n source?: { ... }\n variants?: { ... }\n }\n source?: string\n variants?: Array<{\n kind: { ... }\n properties?: { ... }\n items?: { ... }\n source?: { ... }\n variants?: { ... }\n }>\n }\n response_shape: {\n kind: "object" | "array" | "string" | "number" | "boolean" | "null" | "unknown" | "union"\n properties?: Record<string, {\n kind: { ... }\n properties?: { ... }\n items?: { ... }\n source?: { ... }\n variants?: { ... }\n }>\n items?: {\n kind: { ... }\n properties?: { ... }\n items?: { ... }\n source?: { ... }\n variants?: { ... }\n }\n source?: string\n variants?: Array<{\n kind: { ... }\n properties?: { ... }\n items?: { ... }\n source?: { ... }\n variants?: { ... }\n }>\n }\n existing_annotations?: {\n request?: Record<string, string>\n response?: Record<string, string>\n }\n}\n```\n\n### `GenerateTypesPreviewResponse`\n\n```ts\ntype GenerateTypesPreviewResponse = {\n integration_name?: string\n use_cases: Array<{\n slug: string\n name?: string\n request_shape: {\n kind: { ... }\n properties?: { ... }\n items?: { ... }\n source?: { ... }\n variants?: { ... }\n }\n response_shape: {\n kind: { ... }\n properties?: { ... }\n items?: { ... }\n source?: { ... }\n variants?: { ... }\n }\n existing_annotations?: {\n request?: { ... }\n response?: { ... }\n }\n }>\n previous_version?: string\n suggested_version?: string\n suggested_bump?: "major" | "minor"\n detected_changes?: Array<{\n slug: string\n field: string\n type: "breaking" | "non-breaking"\n description: string\n }>\n}\n```\n\n### `GenerateTypesRequest`\n\n```ts\ntype GenerateTypesRequest = {\n package_name: string\n version: string\n description?: string\n domain_package?: string\n domain_map_name?: string\n annotations?: Record<string, {\n request?: Record<string, string>\n response?: Record<string, string>\n }>\n}\n```\n\n### `GenerateTypesResponse`\n\n```ts\ntype GenerateTypesResponse = {\n package_name: string\n version: string\n files: Record<string, string>\n warnings?: string[]\n}\n```\n\n### `CommitTypesRequest`\n\n```ts\ntype CommitTypesRequest = {\n package_name: string\n version: string\n annotations?: Record<string, {\n request?: Record<string, string>\n response?: Record<string, string>\n }>\n}\n```\n\n### `CommitTypesResponse`\n\n```ts\ntype CommitTypesResponse = {\n committed: boolean\n warnings?: string[]\n}\n```\n\n### `FileProxyUseCaseConfiguration`\n\nConfiguration for file_proxy use cases. Defines how to authenticate and fetch files from external document systems.\n\nThe file proxy download URL always requires `orgId`, `integrationId`, and either `useCaseSlug` (recommended) or `useCaseId` (legacy UUID) as query parameters.\nThe `orgId` is included \n\n```ts\ntype FileProxyUseCaseConfiguration = {\n secure_proxy?: {\n use_case_slug: string\n }\n auth?: {\n type: "oauth2_client_credentials" | "oauth2_password"\n token_url: string\n client_id: string\n client_secret: string\n scope?: string\n audience?: string\n resource?: string\n username?: string\n password?: string\n body_params?: Record<string, string>\n headers?: Record<string, string>\n query_params?: Record<string, string>\n }\n params?: Array<{\n name: string\n required: boolean\n description?: string\n }>\n steps: Array<{\n url: string\n method: "GET" | "POST"\n headers?: Record<string, string>\n body?: string\n response_type: "json" | "binary"\n }>\n response: {\n body: string\n encoding: "base64" | "binary"\n filename?: string\n content_type?: string\n }\n}\n```\n\n### `FileProxySecureProxyAttachment`\n\n```ts\ntype FileProxySecureProxyAttachment = {\n use_case_slug: string\n}\n```\n\n### `FileProxyAuth`\n\n```ts\ntype FileProxyAuth = {\n type: "oauth2_client_credentials" | "oauth2_password"\n token_url: string\n client_id: string\n client_secret: string\n scope?: string\n audience?: string\n resource?: string\n username?: string\n password?: string\n body_params?: Record<string, string>\n headers?: Record<string, string>\n query_params?: Record<string, string>\n}\n```\n\n### `FileProxyParam`\n\n```ts\ntype FileProxyParam = {\n name: string\n required: boolean\n description?: string\n}\n```\n\n### `FileProxyStep`\n\n```ts\ntype FileProxyStep = {\n url: string\n method: "GET" | "POST"\n headers?: Record<string, string>\n body?: string\n response_type: "json" | "binary"\n}\n```\n\n### `FileProxyResponseConfig`\n\n```ts\ntype FileProxyResponseConfig = {\n body: string\n encoding: "base64" | "binary"\n filename?: string\n content_type?: string\n}\n```\n\n### `MappingSimulationRequest`\n\n```ts\ntype MappingSimulationRequest = {\n mapping_configuration: {\n version?: "1.0"\n mapping: {\n objects: { ... }\n }\n } | {\n version: "2.0"\n mapping: {\n events: { ... }\n }\n }\n object_type: string\n format: "json" | "xml"\n payload: string | Record<string, unknown>\n}\n```\n\n### `MappingSimulationV2Request`\n\nRequest for v2 mapping simulation. Uses the same configuration format stored in integration use case resources,\nmaking it easier to test configurations before saving them.\n\n\n```ts\ntype MappingSimulationV2Request = {\n event_configuration: {\n entities?: Array<{\n entity_schema: { ... }\n unique_ids: { ... }\n jsonataExpression?: { ... }\n enabled?: { ... }\n mode?: { ... }\n scope?: { ... }\n fields: { ... }\n }>\n meter_readings?: Array<{\n jsonataExpression?: { ... }\n reading_matching?: { ... }\n mode?: { ... }\n scope?: { ... }\n meter: { ... }\n meter_counter?: { ... }\n fields: { ... }\n }>\n }\n format: "json" | "xml"\n payload: string | Record<string, unknown>\n}\n```\n\n### `MappingSimulationResponse`\n\n```ts\ntype MappingSimulationResponse = {\n entity_updates: Array<{\n entity_slug: string\n unique_identifiers: Record<string, unknown>\n attributes: Record<string, unknown>\n }>\n meter_readings_updates?: Array<{\n meter: {\n $entity_unique_ids: { ... }\n }\n meter_counter?: {\n $entity_unique_ids?: { ... }\n }\n attributes: Record<string, unknown>\n }>\n warnings?: Array<{\n entity_schema: string\n field: string\n message: string\n }>\n}\n```\n\n### `MappingSimulationWarning`\n\n```ts\ntype MappingSimulationWarning = {\n entity_schema: string\n field: string\n message: string\n}\n```\n\n### `EntityUpdate`\n\n```ts\ntype EntityUpdate = {\n entity_slug: string\n unique_identifiers: Record<string, unknown>\n attributes: Record<string, unknown>\n}\n```\n\n### `MeterReadingUpdate`\n\n```ts\ntype MeterReadingUpdate = {\n meter: {\n $entity_unique_ids: Record<string, unknown>\n }\n meter_counter?: {\n $entity_unique_ids?: Record<string, unknown>\n }\n attributes: Record<string, unknown>\n}\n```\n\n### `IntegrationConfigurationV1`\n\n```ts\ntype IntegrationConfigurationV1 = {\n version?: "1.0"\n mapping: {\n objects: Record<string, {\n unique_ids: { ... }\n fields: { ... }\n }>\n }\n}\n```\n\n### `IntegrationObjectV1`\n\n```ts\ntype IntegrationObjectV1 = {\n unique_ids: Record<string, string[] | Record<string, string>>\n fields: Array<{\n entity: string\n attribute: string\n field?: string\n jsonataExpression?: string\n }>\n}\n```\n\n### `IntegrationFieldV1`\n\n```ts\ntype IntegrationFieldV1 = {\n entity: string\n attribute: string\n field?: string\n jsonataExpression?: string\n}\n```\n\n### `IntegrationConfigurationV2`\n\n```ts\ntype IntegrationConfigurationV2 = {\n version: "2.0"\n mapping: {\n events: Record<string, {\n entities?: { ... }\n meter_readings?: { ... }\n }>\n }\n}\n```\n\n### `OutboundMapping`\n\nA mapping that transforms an event and delivers it to a webhook\n\n```ts\ntype OutboundMapping = {\n id?: string // uuid\n name: string\n jsonata_expression: string\n enabled: boolean\n delivery: {\n type: "webhook"\n webhook_id: string\n webhook_name?: string\n webhook_url?: string\n }\n created_at?: string // date-time\n updated_at?: string // date-time\n}\n```\n\n### `DeliveryConfig`\n\nConfiguration for how the transformed event should be delivered\n\n```ts\ntype DeliveryConfig = {\n type: "webhook"\n webhook_id: string\n webhook_name?: string\n webhook_url?: string\n}\n```\n\n### `OutboundStatusResponse`\n\n```ts\ntype OutboundStatusResponse = {\n useCases: Array<{\n useCaseId: string // uuid\n name: string\n useCaseEnabled: boolean\n eventCatalogEvent?: string\n eventEnabled?: boolean\n webhooks?: Array<{\n webhookId: { ... }\n webhookName?: { ... }\n enabled?: { ... }\n }>\n status: "ok" | "conflict" | "disabled"\n conflicts?: Array<{\n type: { ... }\n webhookId?: { ... }\n message: { ... }\n }>\n }>\n}\n```\n\n### `OutboundUseCaseStatus`\n\n```ts\ntype OutboundUseCaseStatus = {\n useCaseId: string // uuid\n name: string\n useCaseEnabled: boolean\n eventCatalogEvent?: string\n eventEnabled?: boolean\n webhooks?: Array<{\n webhookId: string\n webhookName?: string\n enabled?: boolean\n }>\n status: "ok" | "conflict" | "disabled"\n conflicts?: Array<{\n type: "event_disabled" | "all_webhooks_disabled" | "event_enabled_while_disabled" | "webhook_enabled_while_disabled"\n webhookId?: string\n message: string\n }>\n}\n```\n\n### `WebhookStatus`\n\n```ts\ntype WebhookStatus = {\n webhookId: string\n webhookName?: string\n enabled?: boolean\n}\n```\n\n### `OutboundConflict`\n\n```ts\ntype OutboundConflict = {\n type: "event_disabled" | "all_webhooks_disabled" | "event_enabled_while_disabled" | "webhook_enabled_while_disabled"\n webhookId?: string\n message: string\n}\n```\n\n### `RelationConfig`\n\n```ts\ntype RelationConfig = {\n operation: "_set" | "_append" | "_append_all"\n items?: Array<{\n entity_schema: string\n _tags?: string[]\n unique_ids: Array<{\n attribute: { ... }\n _type?: { ... }\n field?: { ... }\n jsonataExpression?: { ... }\n constant?: { ... }\n }>\n }>\n jsonataExpression?: string\n}\n```\n\n### `RelationItemConfig`\n\n```ts\ntype RelationItemConfig = {\n entity_schema: string\n _tags?: string[]\n unique_ids: Array<{\n attribute: string\n _type?: "email" | "phone"\n field?: string\n jsonataExpression?: string\n constant?: unknown\n }>\n}\n```\n\n### `RelationUniqueIdField`\n\n```ts\ntype RelationUniqueIdField = {\n attribute: string\n _type?: "email" | "phone"\n field?: string\n jsonataExpression?: string\n constant?: unknown\n}\n```\n\n### `RelationRefsConfig`\n\nConfiguration for relation references ($relation_ref).\nRelation references link to a specific item within a repeatable attribute on a related entity.\nCommon use case: referencing a specific address within a contact\'s address list.\n\n\n```ts\ntype RelationRefsConfig = {\n operation: "_set" | "_append" | "_append_all"\n items?: Array<{\n entity_schema: string\n unique_ids: Array<{\n attribute: { ... }\n _type?: { ... }\n field?: { ... }\n jsonataExpression?: { ... }\n constant?: { ... }\n }>\n path: string\n value: {\n attribute: { ... }\n operation?: { ... }\n field?: { ... }\n jsonataExpression?: { ... }\n constant?: { ... }\n }\n }>\n jsonataExpression?: string\n}\n```\n\n### `RelationRefItemConfig`\n\nConfiguration for a single relation reference item\n\n```ts\ntype RelationRefItemConfig = {\n entity_schema: string\n unique_ids: Array<{\n attribute: string\n _type?: "email" | "phone"\n field?: string\n jsonataExpression?: string\n constant?: unknown\n }>\n path: string\n value: {\n attribute: string\n operation?: "_set" | "_append" | "_append_all"\n field?: string\n jsonataExpression?: string\n constant?: unknown\n }\n}\n```\n\n### `RelationRefValueConfig`\n\nConfiguration for the value to set on the related entity\'s attribute\n\n```ts\ntype RelationRefValueConfig = {\n attribute: string\n operation?: "_set" | "_append" | "_append_all"\n field?: string\n jsonataExpression?: string\n constant?: unknown\n}\n```\n\n### `RepeatableFieldType`\n\nType hint for repeatable fields that require special search handling.\nThese fields are stored as arrays of objects (e.g., email: [{ email: "value" }]).\n\n\n```ts\ntype RepeatableFieldType = "email" | "phone"\n```\n\n### `ReplayEventsRequest`\n\n```ts\ntype ReplayEventsRequest = {\n event_ids: string[]\n}\n```\n\n### `QueryEventsRequest`\n\n```ts\ntype QueryEventsRequest = {\n event_id?: string\n event_type?: "CREATE" | "UPDATE" | "DELETE"\n correlation_id?: string\n object_type?: string\n event_name?: string\n limit?: number\n cursor?: {\n event_time?: string // date-time\n event_id?: string\n }\n}\n```\n\n### `QueryInboundMonitoringEventsRequest`\n\n```ts\ntype QueryInboundMonitoringEventsRequest = {\n use_case_id?: string // uuid\n event_type?: "CREATE" | "UPDATE" | "DELETE" | "TRIGGER"\n sync_type?: "entity" | "meter_reading" | "webhook" | "api_deprecation"\n status?: "success" | "error" | "skipped" | "warning"\n error_category?: "validation" | "configuration" | "downstream_api" | "timeout" | "system"\n correlation_id?: string\n object_type?: string\n event_name?: string\n event_id?: string\n from_date?: string // date-time\n to_date?: string // date-time\n limit?: number\n cursor?: {\n completed_at?: string // date-time\n event_id?: string\n }\n}\n```\n\n### `QueryAccessLogsRequest`\n\n```ts\ntype QueryAccessLogsRequest = {\n token_id?: string\n service?: string\n method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD"\n path?: string\n status?: number\n from_date?: string // date-time\n to_date?: string // date-time\n limit?: number\n cursor?: {\n timestamp?: string // date-time\n request_id?: string\n }\n}\n```\n\n### `AccessLogEntry`\n\n```ts\ntype AccessLogEntry = {\n timestamp?: string // date-time\n environment?: string\n service?: string\n request_id?: string\n method?: string\n path?: string\n status?: number\n response_latency_ms?: number\n response_length?: number\n token_id?: string\n org_id?: string\n origin?: string\n source_ip?: string\n}\n```\n\n### `GetMonitoringStatsRequest`\n\n```ts\ntype GetMonitoringStatsRequest = {\n from_date?: string // date-time\n to_date?: string // date-time\n inbound_group_by?: "use_case_id" | "sync_type" | "status" | "error_category" | "object_type" | "event_name" | "date"[]\n outbound_group_by?: "event_name" | "status" | "webhook_config_id" | "date"[]\n}\n```\n\n### `GetMonitoringTimeSeriesRequest`\n\n```ts\ntype GetMonitoringTimeSeriesRequest = {\n from_date: string // date-time\n to_date?: string // date-time\n interval: "5m" | "10m" | "30m" | "1h" | "3h" | "1d"\n direction?: "inbound" | "outbound" | "both"\n}\n```\n\n### `TimeSeriesBucket`\n\n```ts\ntype TimeSeriesBucket = {\n timestamp: string // date-time\n inbound?: {\n success_count?: number\n error_count?: number\n warning_count?: number\n skipped_count?: number\n total_count?: number\n }\n outbound?: {\n success_count?: number\n error_count?: number\n pending_count?: number\n total_count?: number\n }\n}\n```\n\n### `QueryOutboundMonitoringEventsRequest`\n\n```ts\ntype QueryOutboundMonitoringEventsRequest = {\n event_name?: string\n status?: "succeeded" | "failed" | "pending"\n webhook_config_id?: string\n from_date?: string // date-time\n to_date?: string // date-time\n limit?: number\n cursor?: {\n created_at?: string // date-time\n event_id?: string\n }\n}\n```\n\n### `OutboundMonitoringEvent`\n\n```ts\ntype OutboundMonitoringEvent = {\n org_id: string\n event_id: string\n event_name: string\n status: "succeeded" | "failed" | "pending"\n url?: string\n http_method?: string\n http_response?: Record<string, unknown>\n webhook_config_id?: string\n metadata?: Record<string, unknown>\n execution_context?: Record<string, unknown>\n payload?: Record<string, unknown>\n created_at: string // date-time\n updated_at?: string // date-time\n}\n```\n\n### `MonitoringStats`\n\n```ts\ntype MonitoringStats = {\n inbound: {\n total_events: number\n total_correlations?: number\n success_count: number\n error_count: number\n skipped_count: number\n warning_count?: number\n success_rate?: number\n last_error_at?: string // date-time\n breakdown?: Record<string, unknown>[]\n }\n outbound: {\n total_events: number\n success_count: number\n error_count: number\n pending_count?: number\n success_rate?: number\n last_error_at?: string // date-time\n breakdown?: Record<string, unknown>[]\n }\n}\n```\n\n### `InboundMonitoringEvent`\n\n```ts\ntype InboundMonitoringEvent = {\n org_id: string\n event_id: string\n correlation_id?: string\n integration_id?: string\n use_case_id?: string\n event_type?: "CREATE" | "UPDATE" | "DELETE" | "TRIGGER"\n object_type: string\n sync_type: "entity" | "meter_reading" | "webhook" | "api_deprecation"\n status: "success" | "error" | "skipped" | "warning"\n error_code?: string\n error_message?: string\n error_category?: "validation" | "configuration" | "downstream_api" | "timeout" | "system"\n processing_duration_ms?: number\n received_at: string // date-time\n completed_at: string // date-time\n}\n```\n\n### `QueryMonitoringEventsV2Request`\n\n```ts\ntype QueryMonitoringEventsV2Request = {\n use_case_id?: string\n use_case_type?: "inbound" | "outbound" | "file_proxy" | "managed_call" | "secure_proxy"\n level?: "success" | "error" | "skipped" | "warning"\n code?: string\n event_id?: string\n correlation_id?: string\n from_date?: string // date-time\n to_date?: string // date-time\n limit?: number\n cursor?: {\n created_at?: string // date-time\n id?: string // uuid\n }\n}\n```\n\n### `MonitoringEventV2`\n\n```ts\ntype MonitoringEventV2 = {\n id: string // uuid\n org_id: string\n integration_id: string\n event_id: string\n correlation_id?: string\n use_case_id?: string\n use_case_type: "inbound" | "outbound" | "file_proxy" | "managed_call" | "secure_proxy" | ""\n level: "success" | "error" | "skipped" | "warning"\n code?: string\n message?: string\n detail?: Record<string, unknown>\n created_at: string // date-time\n}\n```\n\n### `GetMonitoringStatsV2Request`\n\n```ts\ntype GetMonitoringStatsV2Request = {\n from_date?: string // date-time\n to_date?: string // date-time\n use_case_type?: "inbound" | "outbound" | "file_proxy" | "managed_call" | "secure_proxy"\n group_by?: "use_case_id" | "use_case_type" | "level" | "code" | "date"\n}\n```\n\n### `MonitoringStatsV2`\n\n```ts\ntype MonitoringStatsV2 = {\n total_events: number\n success_count: number\n error_count: number\n warning_count: number\n skipped_count: number\n ack_timeout_count?: number\n success_rate?: number\n last_error_at?: string // date-time\n breakdown?: Record<string, unknown>[]\n}\n```\n\n### `GetMonitoringTimeSeriesV2Request`\n\n```ts\ntype GetMonitoringTimeSeriesV2Request = {\n from_date: string // date-time\n to_date?: string // date-time\n interval: "5m" | "10m" | "30m" | "1h" | "3h" | "1d"\n use_case_type?: "inbound" | "outbound" | "file_proxy" | "managed_call" | "secure_proxy"\n group_by?: "use_case_type" | "use_case"\n}\n```\n\n### `TimeSeriesBreakdownItemV2`\n\n```ts\ntype TimeSeriesBreakdownItemV2 = {\n use_case_type?: "inbound" | "outbound" | "file_proxy" | "managed_call" | "secure_proxy"\n use_case_id?: string\n success_count: number\n error_count: number\n warning_count: number\n skipped_count: number\n total_count: number\n}\n```\n\n### `TimeSeriesBucketV2`\n\n```ts\ntype TimeSeriesBucketV2 = {\n timestamp: string // date-time\n success_count?: number\n error_count?: number\n warning_count?: number\n skipped_count?: number\n total_count: number\n breakdown?: Array<{\n use_case_type?: "inbound" | "outbound" | "file_proxy" | "managed_call" | "secure_proxy"\n use_case_id?: string\n success_count: number\n error_count: number\n warning_count: number\n skipped_count: number\n total_count: number\n }>\n}\n```\n';
5
- export {
6
- integration_toolkit_default as default
7
- };