@epilot/erp-integration-client 0.28.0 → 0.29.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.
package/dist/openapi.d.ts CHANGED
@@ -22,6 +22,7 @@ declare namespace Components {
22
22
  message?: string;
23
23
  }[];
24
24
  }
25
+ export type Forbidden = Schemas.ErrorResponseBase;
25
26
  export type GetMonitoringStatsResponse = Schemas.MonitoringStats;
26
27
  export interface GetMonitoringTimeSeriesResponse {
27
28
  /**
@@ -198,6 +199,16 @@ declare namespace Components {
198
199
  */
199
200
  freshnessThresholdMinutes?: number;
200
201
  }
202
+ /**
203
+ * Shared configuration for connector-type integrations
204
+ */
205
+ export interface ConnectorConfig {
206
+ /**
207
+ * Base URL for the partner API
208
+ */
209
+ base_url?: string;
210
+ auth?: /* Authentication configuration for managed call requests */ ManagedCallAuth;
211
+ }
201
212
  export interface CreateFileProxyUseCaseRequest {
202
213
  /**
203
214
  * Use case name
@@ -268,6 +279,36 @@ declare namespace Components {
268
279
  */
269
280
  environment_config?: EnvironmentFieldConfig[];
270
281
  settings?: /* Settings for the integration */ IntegrationSettings;
282
+ /**
283
+ * Type of integration. "erp" is the ERP integration with inbound/outbound use cases. "connector" is for complex proxy integrations with external APIs.
284
+ *
285
+ */
286
+ integration_type?: "erp" | "connector";
287
+ connector_config?: /* Shared configuration for connector-type integrations */ ConnectorConfig;
288
+ /**
289
+ * If true, integration is displayed in read-only mode in the UI to discourage changes
290
+ */
291
+ protected?: boolean;
292
+ }
293
+ export interface CreateManagedCallUseCaseRequest {
294
+ /**
295
+ * Use case name
296
+ */
297
+ name: string;
298
+ /**
299
+ * URL-safe identifier for the use case. Recommended for portable cross-environment referencing. Must be unique per integration. Immutable after creation. Lowercase alphanumeric, hyphens, and underscores only.
300
+ *
301
+ */
302
+ slug?: string; // ^[a-z0-9][a-z0-9_-]*$
303
+ /**
304
+ * Whether the use case is enabled
305
+ */
306
+ enabled: boolean;
307
+ /**
308
+ * Use case type for managed API calls
309
+ */
310
+ type: "managed_call";
311
+ configuration?: /* Configuration for managed_call use cases. Defines a single API operation with JSONata mapping. */ ManagedCallOperationConfig;
271
312
  }
272
313
  export interface CreateOutboundUseCaseRequest {
273
314
  /**
@@ -313,7 +354,7 @@ declare namespace Components {
313
354
  */
314
355
  SecureProxyUseCaseConfiguration;
315
356
  }
316
- export type CreateUseCaseRequest = CreateInboundUseCaseRequest | CreateOutboundUseCaseRequest | CreateFileProxyUseCaseRequest | CreateSecureProxyUseCaseRequest;
357
+ export type CreateUseCaseRequest = CreateInboundUseCaseRequest | CreateOutboundUseCaseRequest | CreateFileProxyUseCaseRequest | CreateManagedCallUseCaseRequest | CreateSecureProxyUseCaseRequest;
317
358
  export interface CreateUseCaseRequestBase {
318
359
  /**
319
360
  * Use case name
@@ -432,6 +473,38 @@ declare namespace Components {
432
473
  type: "inbound";
433
474
  configuration?: /* Configuration for inbound use cases (ERP to epilot) */ InboundIntegrationEventConfiguration;
434
475
  }
476
+ export interface EmbeddedManagedCallUseCaseRequest {
477
+ /**
478
+ * Optional use case ID for update matching.
479
+ * - If provided and matches an existing use case, that use case is updated
480
+ * - If provided but no match, a new use case with this ID is created
481
+ * - If omitted, a new use case with auto-generated ID is created
482
+ *
483
+ */
484
+ id?: string; // uuid
485
+ /**
486
+ * Use case name
487
+ */
488
+ name: string;
489
+ /**
490
+ * URL-safe identifier for the use case. Recommended for portable cross-environment referencing. Must be unique per integration. Immutable after creation.
491
+ *
492
+ */
493
+ slug?: string; // ^[a-z0-9][a-z0-9_-]*$
494
+ /**
495
+ * Whether the use case is enabled
496
+ */
497
+ enabled: boolean;
498
+ /**
499
+ * Optional description of this change (like a commit message)
500
+ */
501
+ change_description?: string;
502
+ /**
503
+ * Use case type for managed API calls
504
+ */
505
+ type: "managed_call";
506
+ configuration?: /* Configuration for managed_call use cases. Defines a single API operation with JSONata mapping. */ ManagedCallOperationConfig;
507
+ }
435
508
  export interface EmbeddedOutboundUseCaseRequest {
436
509
  /**
437
510
  * Optional use case ID for update matching.
@@ -500,7 +573,7 @@ declare namespace Components {
500
573
  */
501
574
  SecureProxyUseCaseConfiguration;
502
575
  }
503
- export type EmbeddedUseCaseRequest = EmbeddedInboundUseCaseRequest | EmbeddedOutboundUseCaseRequest | EmbeddedFileProxyUseCaseRequest | EmbeddedSecureProxyUseCaseRequest;
576
+ export type EmbeddedUseCaseRequest = EmbeddedInboundUseCaseRequest | EmbeddedOutboundUseCaseRequest | EmbeddedFileProxyUseCaseRequest | EmbeddedManagedCallUseCaseRequest | EmbeddedSecureProxyUseCaseRequest;
504
577
  export interface EmbeddedUseCaseRequestBase {
505
578
  /**
506
579
  * Optional use case ID for update matching.
@@ -607,25 +680,40 @@ declare namespace Components {
607
680
  /**
608
681
  * Event name from integration mapping (e.g., business_partner, contract_account). Required when use_case_slug is not provided.
609
682
  *
683
+ * example:
684
+ * business_partner
610
685
  */
611
686
  event_name: string;
612
687
  /**
613
688
  * Timestamp when the event occurred
689
+ * example:
690
+ * 2025-05-01T08:30:00Z
614
691
  */
615
692
  timestamp: string; // date-time
616
693
  /**
617
694
  * Format of the payload data
695
+ * example:
696
+ * json
618
697
  */
619
698
  format: "json" | "xml";
620
699
  /**
621
700
  * The object data payload - can be either a serialized string or a direct JSON object
701
+ * example:
702
+ * {"id":"BP10001","name":"Acme Corporation","type":"organization","tax_id":"DE123456789","status":"active"}
703
+ */
704
+ payload: /**
705
+ * The object data payload - can be either a serialized string or a direct JSON object
706
+ * example:
707
+ * {"id":"BP10001","name":"Acme Corporation","type":"organization","tax_id":"DE123456789","status":"active"}
622
708
  */
623
- payload: /* The object data payload - can be either a serialized string or a direct JSON object */ string | {
709
+ string | {
624
710
  [name: string]: any;
625
711
  };
626
712
  /**
627
713
  * Recommended. Use case slug for routing this event to the correct use case configuration. If provided, takes precedence over event_name for use case lookup. Preferred over event_name-based routing as slugs are portable across environments.
628
714
  *
715
+ * example:
716
+ * business_partner
629
717
  */
630
718
  use_case_slug?: string; // ^[a-z0-9][a-z0-9_-]*$
631
719
  /**
@@ -639,25 +727,40 @@ declare namespace Components {
639
727
  /**
640
728
  * Event name from integration mapping (e.g., business_partner, contract_account). Required when use_case_slug is not provided.
641
729
  *
730
+ * example:
731
+ * business_partner
642
732
  */
643
733
  event_name?: string;
644
734
  /**
645
735
  * Timestamp when the event occurred
736
+ * example:
737
+ * 2025-05-01T08:30:00Z
646
738
  */
647
739
  timestamp: string; // date-time
648
740
  /**
649
741
  * Format of the payload data
742
+ * example:
743
+ * json
650
744
  */
651
745
  format: "json" | "xml";
652
746
  /**
653
747
  * The object data payload - can be either a serialized string or a direct JSON object
748
+ * example:
749
+ * {"id":"BP10001","name":"Acme Corporation","type":"organization","tax_id":"DE123456789","status":"active"}
654
750
  */
655
- payload: /* The object data payload - can be either a serialized string or a direct JSON object */ string | {
751
+ payload: /**
752
+ * The object data payload - can be either a serialized string or a direct JSON object
753
+ * example:
754
+ * {"id":"BP10001","name":"Acme Corporation","type":"organization","tax_id":"DE123456789","status":"active"}
755
+ */
756
+ string | {
656
757
  [name: string]: any;
657
758
  };
658
759
  /**
659
760
  * Recommended. Use case slug for routing this event to the correct use case configuration. If provided, takes precedence over event_name for use case lookup. Preferred over event_name-based routing as slugs are portable across environments.
660
761
  *
762
+ * example:
763
+ * business_partner
661
764
  */
662
765
  use_case_slug: string; // ^[a-z0-9][a-z0-9_-]*$
663
766
  /**
@@ -893,7 +996,7 @@ declare namespace Components {
893
996
  /**
894
997
  * Use case type
895
998
  */
896
- type: "inbound" | "outbound" | "file_proxy" | "secure_proxy" | "file_proxy";
999
+ type: "inbound" | "outbound" | "file_proxy" | "managed_call" | "secure_proxy" | "file_proxy";
897
1000
  enabled: boolean;
898
1001
  /**
899
1002
  * Description of the last change made to this use case
@@ -932,7 +1035,12 @@ declare namespace Components {
932
1035
  * must belong to the same integration.
933
1036
  *
934
1037
  */
935
- secure_proxy?: FileProxySecureProxyAttachment;
1038
+ secure_proxy?: {
1039
+ /**
1040
+ * Slug of the secure_proxy use case in the same integration.
1041
+ */
1042
+ use_case_slug: string;
1043
+ };
936
1044
  auth?: FileProxyAuth;
937
1045
  /**
938
1046
  * Additional use-case-specific parameters expected in the download URL query string (beyond the required orgId, integrationId, and useCaseSlug or useCaseId)
@@ -1156,7 +1264,7 @@ declare namespace Components {
1156
1264
  /**
1157
1265
  * Use case type
1158
1266
  */
1159
- type: "inbound" | "outbound" | "file_proxy" | "secure_proxy" | "inbound";
1267
+ type: "inbound" | "outbound" | "file_proxy" | "managed_call" | "secure_proxy" | "inbound";
1160
1268
  enabled: boolean;
1161
1269
  /**
1162
1270
  * Description of the last change made to this use case
@@ -1257,6 +1365,16 @@ declare namespace Components {
1257
1365
  */
1258
1366
  environment_config?: EnvironmentFieldConfig[];
1259
1367
  settings?: /* Settings for the integration */ IntegrationSettings;
1368
+ /**
1369
+ * Type of integration. "erp" is the ERP integration with inbound/outbound use cases. "connector" is for complex proxy integrations with external APIs.
1370
+ *
1371
+ */
1372
+ integration_type?: "erp" | "connector";
1373
+ connector_config?: /* Shared configuration for connector-type integrations */ ConnectorConfig;
1374
+ /**
1375
+ * If true, integration is displayed in read-only mode in the UI to discourage changes
1376
+ */
1377
+ protected?: boolean;
1260
1378
  }
1261
1379
  export interface IntegrationAppMapping {
1262
1380
  /**
@@ -1314,6 +1432,16 @@ declare namespace Components {
1314
1432
  */
1315
1433
  environment_config?: EnvironmentFieldConfig[];
1316
1434
  settings?: /* Settings for the integration */ IntegrationSettings;
1435
+ /**
1436
+ * Type of integration. "erp" is the ERP integration with inbound/outbound use cases. "connector" is for complex proxy integrations with external APIs.
1437
+ *
1438
+ */
1439
+ integration_type?: "erp" | "connector";
1440
+ connector_config?: /* Shared configuration for connector-type integrations */ ConnectorConfig;
1441
+ /**
1442
+ * If true, integration is displayed in read-only mode in the UI to discourage changes
1443
+ */
1444
+ protected?: boolean;
1317
1445
  }
1318
1446
  export interface IntegrationEntity {
1319
1447
  /**
@@ -1514,11 +1642,250 @@ declare namespace Components {
1514
1642
  */
1515
1643
  environment_config?: EnvironmentFieldConfig[];
1516
1644
  settings?: /* Settings for the integration */ IntegrationSettings;
1645
+ /**
1646
+ * Type of integration. "erp" is the ERP integration with inbound/outbound use cases. "connector" is for complex proxy integrations with external APIs.
1647
+ *
1648
+ */
1649
+ integration_type?: "erp" | "connector";
1650
+ connector_config?: /* Shared configuration for connector-type integrations */ ConnectorConfig;
1651
+ /**
1652
+ * If true, integration is displayed in read-only mode in the UI to discourage changes
1653
+ */
1654
+ protected?: boolean;
1517
1655
  /**
1518
1656
  * All use cases belonging to this integration
1519
1657
  */
1520
1658
  use_cases: UseCase[];
1521
1659
  }
1660
+ /**
1661
+ * Authentication configuration for managed call requests
1662
+ */
1663
+ export interface ManagedCallAuth {
1664
+ /**
1665
+ * Authentication type
1666
+ */
1667
+ type?: "oauth2_client_credentials" | "api_key" | "bearer";
1668
+ /**
1669
+ * OAuth2 token URL. Can be plain text or {{env.key}} reference.
1670
+ */
1671
+ token_url?: string;
1672
+ /**
1673
+ * OAuth2 client ID. Can be plain text or {{env.key}} reference.
1674
+ */
1675
+ client_id?: string;
1676
+ /**
1677
+ * OAuth2 client secret. Must be an {{env.key}} reference (secret).
1678
+ */
1679
+ client_secret?: string;
1680
+ /**
1681
+ * OAuth2 scope
1682
+ */
1683
+ scope?: string;
1684
+ /**
1685
+ * OAuth2 audience parameter (e.g. for Auth0, Azure AD). Can be plain text or {{env.key}} reference.
1686
+ */
1687
+ audience?: string;
1688
+ /**
1689
+ * OAuth2 resource parameter (e.g. for Azure AD). Can be plain text or {{env.key}} reference.
1690
+ */
1691
+ resource?: string;
1692
+ /**
1693
+ * Additional key-value pairs for the OAuth2 token request body. Values can be {{env.key}} references.
1694
+ */
1695
+ body_params?: {
1696
+ [name: string]: string;
1697
+ };
1698
+ /**
1699
+ * Additional headers for the OAuth2 token request. Values can be {{env.key}} references.
1700
+ */
1701
+ headers?: {
1702
+ [name: string]: string;
1703
+ };
1704
+ /**
1705
+ * Additional query parameters for the OAuth2 token URL. Values can be {{env.key}} references.
1706
+ */
1707
+ query_params?: {
1708
+ [name: string]: string;
1709
+ };
1710
+ /**
1711
+ * Header name for API key auth (default X-API-Key)
1712
+ */
1713
+ api_key_header?: string;
1714
+ /**
1715
+ * API key value. Must be an {{env.key}} reference (secret).
1716
+ */
1717
+ api_key?: string;
1718
+ /**
1719
+ * Bearer token value. Must be an {{env.key}} reference (secret).
1720
+ */
1721
+ token?: string;
1722
+ }
1723
+ export interface ManagedCallErrorResponse {
1724
+ error: {
1725
+ /**
1726
+ * Error code (e.g., EXTERNAL_API_ERROR, SSRF_BLOCKED, MANAGED_CALL_EXECUTION_ERROR)
1727
+ */
1728
+ code: string;
1729
+ /**
1730
+ * Human-readable error message
1731
+ */
1732
+ message: string;
1733
+ /**
1734
+ * Additional error details (e.g., status code and body for external API errors)
1735
+ */
1736
+ details?: {
1737
+ [name: string]: any;
1738
+ };
1739
+ };
1740
+ }
1741
+ export interface ManagedCallExecuteRequest {
1742
+ /**
1743
+ * Integration ID
1744
+ */
1745
+ integration_id: string; // uuid
1746
+ /**
1747
+ * Request payload for the managed call operation
1748
+ */
1749
+ payload?: {
1750
+ [name: string]: any;
1751
+ };
1752
+ /**
1753
+ * Correlation ID for tracing related events (auto-generated if not provided)
1754
+ */
1755
+ correlation_id?: string;
1756
+ }
1757
+ /**
1758
+ * The response from a managed call execution.
1759
+ * On success, returns the JSONata-mapped response data directly (no wrapper).
1760
+ * The shape is entirely defined by your response_mapping JSONata expression.
1761
+ * If no response_mapping is configured, returns the raw external API response.
1762
+ * Check the X-Inbound-Event-Id header for inbound pipeline tracking when inbound routing is configured.
1763
+ *
1764
+ */
1765
+ export interface ManagedCallExecuteResponse {
1766
+ [name: string]: any;
1767
+ }
1768
+ /**
1769
+ * HTTP operation configuration for managed calls
1770
+ */
1771
+ export interface ManagedCallOperation {
1772
+ method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
1773
+ /**
1774
+ * URL path template with {{variable}} interpolation
1775
+ */
1776
+ path: string;
1777
+ headers?: {
1778
+ [name: string]: string;
1779
+ };
1780
+ query_params?: {
1781
+ [name: string]: string;
1782
+ };
1783
+ }
1784
+ /**
1785
+ * Configuration for managed_call use cases. Defines a single API operation with JSONata mapping.
1786
+ */
1787
+ export interface ManagedCallOperationConfig {
1788
+ operation: /* HTTP operation configuration for managed calls */ ManagedCallOperation;
1789
+ /**
1790
+ * JSONata expression for outbound body transformation
1791
+ */
1792
+ request_mapping?: string;
1793
+ /**
1794
+ * JSONata expression for inbound response transformation
1795
+ */
1796
+ response_mapping?: string;
1797
+ /**
1798
+ * Slug of the inbound use case to route responses to for async entity processing.
1799
+ * When set, the managed call response is queued to the inbound pipeline and processed
1800
+ * using the referenced inbound use case's mapping configuration.
1801
+ *
1802
+ */
1803
+ inbound_use_case_slug?: string;
1804
+ }
1805
+ export interface ManagedCallUseCase {
1806
+ /**
1807
+ * Unique identifier for the use case
1808
+ */
1809
+ id: string; // uuid
1810
+ /**
1811
+ * Parent integration ID
1812
+ */
1813
+ integrationId: string; // uuid
1814
+ /**
1815
+ * Use case name
1816
+ */
1817
+ name: string;
1818
+ /**
1819
+ * URL-safe identifier for the use case. Recommended for portable cross-environment referencing. Unique per integration. Immutable after creation. Lowercase alphanumeric, hyphens, and underscores only.
1820
+ *
1821
+ */
1822
+ slug?: string; // ^[a-z0-9][a-z0-9_-]*$
1823
+ /**
1824
+ * Use case type for managed API calls
1825
+ */
1826
+ type: "inbound" | "outbound" | "file_proxy" | "managed_call" | "secure_proxy" | "managed_call";
1827
+ enabled: boolean;
1828
+ /**
1829
+ * Description of the last change made to this use case
1830
+ */
1831
+ change_description?: string;
1832
+ /**
1833
+ * ISO-8601 timestamp when the use case was created
1834
+ */
1835
+ created_at: string; // date-time
1836
+ /**
1837
+ * ISO-8601 timestamp when the use case was last updated
1838
+ */
1839
+ updated_at: string; // date-time
1840
+ configuration?: /* Configuration for managed_call use cases. Defines a single API operation with JSONata mapping. */ ManagedCallOperationConfig;
1841
+ }
1842
+ export interface ManagedCallUseCaseHistoryEntry {
1843
+ /**
1844
+ * Unique identifier for this history entry
1845
+ */
1846
+ id: string; // uuid
1847
+ /**
1848
+ * Reference to the parent use case
1849
+ */
1850
+ useCaseId: string; // uuid
1851
+ /**
1852
+ * Parent integration ID
1853
+ */
1854
+ integrationId: string; // uuid
1855
+ /**
1856
+ * Use case name at this point in history
1857
+ */
1858
+ name: string;
1859
+ /**
1860
+ * Use case slug at this point in history
1861
+ */
1862
+ slug?: string;
1863
+ /**
1864
+ * Whether the use case was enabled at this point in history
1865
+ */
1866
+ enabled: boolean;
1867
+ /**
1868
+ * Description of the change that was made at this point in history
1869
+ */
1870
+ change_description?: string;
1871
+ /**
1872
+ * ISO-8601 timestamp when the use case was originally created
1873
+ */
1874
+ created_at: string; // date-time
1875
+ /**
1876
+ * ISO-8601 timestamp of this historical snapshot (before the update)
1877
+ */
1878
+ updated_at: string; // date-time
1879
+ /**
1880
+ * ISO-8601 timestamp when this history entry was created
1881
+ */
1882
+ history_created_at: string; // date-time
1883
+ /**
1884
+ * Use case type for managed API calls
1885
+ */
1886
+ type: "managed_call";
1887
+ configuration?: /* Configuration for managed_call use cases. Defines a single API operation with JSONata mapping. */ ManagedCallOperationConfig;
1888
+ }
1522
1889
  export interface MappingSimulationRequest {
1523
1890
  mapping_configuration: IntegrationConfigurationV1 | IntegrationConfigurationV2;
1524
1891
  /**
@@ -1862,7 +2229,7 @@ declare namespace Components {
1862
2229
  /**
1863
2230
  * Use case type
1864
2231
  */
1865
- type: "inbound" | "outbound" | "file_proxy" | "secure_proxy" | "outbound";
2232
+ type: "inbound" | "outbound" | "file_proxy" | "managed_call" | "secure_proxy" | "outbound";
1866
2233
  enabled: boolean;
1867
2234
  /**
1868
2235
  * Description of the last change made to this use case
@@ -2543,7 +2910,7 @@ declare namespace Components {
2543
2910
  /**
2544
2911
  * Use case type
2545
2912
  */
2546
- type: "inbound" | "outbound" | "file_proxy" | "secure_proxy" | "secure_proxy";
2913
+ type: "inbound" | "outbound" | "file_proxy" | "managed_call" | "secure_proxy" | "secure_proxy";
2547
2914
  enabled: boolean;
2548
2915
  /**
2549
2916
  * Description of the last change made to this use case
@@ -2783,6 +3150,30 @@ declare namespace Components {
2783
3150
  configuration?: /* Configuration for inbound use cases (ERP to epilot) */ InboundIntegrationEventConfiguration;
2784
3151
  }
2785
3152
  export type UpdateIntegrationRequest = IntegrationEditableFields;
3153
+ export interface UpdateManagedCallUseCaseRequest {
3154
+ /**
3155
+ * Use case name
3156
+ */
3157
+ name?: string;
3158
+ /**
3159
+ * URL-safe identifier for the use case. Recommended for portable cross-environment referencing. Can only be set once on use cases that don't have a slug yet. Immutable after being set.
3160
+ *
3161
+ */
3162
+ slug?: string; // ^[a-z0-9][a-z0-9_-]*$
3163
+ /**
3164
+ * Whether the use case is enabled
3165
+ */
3166
+ enabled?: boolean;
3167
+ /**
3168
+ * Optional description of this change (like a commit message)
3169
+ */
3170
+ change_description?: string;
3171
+ /**
3172
+ * Use case type for managed API calls
3173
+ */
3174
+ type?: "managed_call";
3175
+ configuration?: /* Configuration for managed_call use cases. Defines a single API operation with JSONata mapping. */ ManagedCallOperationConfig;
3176
+ }
2786
3177
  export interface UpdateOutboundUseCaseRequest {
2787
3178
  /**
2788
3179
  * Use case name
@@ -2835,7 +3226,7 @@ declare namespace Components {
2835
3226
  */
2836
3227
  SecureProxyUseCaseConfiguration;
2837
3228
  }
2838
- export type UpdateUseCaseRequest = UpdateInboundUseCaseRequest | UpdateOutboundUseCaseRequest | UpdateFileProxyUseCaseRequest | UpdateSecureProxyUseCaseRequest;
3229
+ export type UpdateUseCaseRequest = UpdateInboundUseCaseRequest | UpdateOutboundUseCaseRequest | UpdateFileProxyUseCaseRequest | UpdateManagedCallUseCaseRequest | UpdateSecureProxyUseCaseRequest;
2839
3230
  export interface UpdateUseCaseRequestBase {
2840
3231
  /**
2841
3232
  * Use case name
@@ -2882,6 +3273,16 @@ declare namespace Components {
2882
3273
  */
2883
3274
  environment_config?: EnvironmentFieldConfig[];
2884
3275
  settings?: /* Settings for the integration */ IntegrationSettings;
3276
+ /**
3277
+ * Type of integration. "erp" is the ERP integration with inbound/outbound use cases. "connector" is for complex proxy integrations with external APIs.
3278
+ *
3279
+ */
3280
+ integration_type?: "erp" | "connector";
3281
+ connector_config?: /* Shared configuration for connector-type integrations */ ConnectorConfig;
3282
+ /**
3283
+ * If true, integration is displayed in read-only mode in the UI to discourage changes
3284
+ */
3285
+ protected?: boolean;
2885
3286
  /**
2886
3287
  * Full list of use cases (declarative). This replaces ALL existing use cases.
2887
3288
  * - Use cases with an `id` field matching an existing use case will be updated
@@ -2891,7 +3292,7 @@ declare namespace Components {
2891
3292
  */
2892
3293
  use_cases?: EmbeddedUseCaseRequest[];
2893
3294
  }
2894
- export type UseCase = InboundUseCase | OutboundUseCase | FileProxyUseCase | SecureProxyUseCase;
3295
+ export type UseCase = InboundUseCase | OutboundUseCase | FileProxyUseCase | ManagedCallUseCase | SecureProxyUseCase;
2895
3296
  export interface UseCaseBase {
2896
3297
  /**
2897
3298
  * Unique identifier for the use case
@@ -2913,7 +3314,7 @@ declare namespace Components {
2913
3314
  /**
2914
3315
  * Use case type
2915
3316
  */
2916
- type: "inbound" | "outbound" | "file_proxy" | "secure_proxy";
3317
+ type: "inbound" | "outbound" | "file_proxy" | "managed_call" | "secure_proxy";
2917
3318
  enabled: boolean;
2918
3319
  /**
2919
3320
  * Description of the last change made to this use case
@@ -2928,7 +3329,7 @@ declare namespace Components {
2928
3329
  */
2929
3330
  updated_at: string; // date-time
2930
3331
  }
2931
- export type UseCaseHistoryEntry = InboundUseCaseHistoryEntry | OutboundUseCaseHistoryEntry | FileProxyUseCaseHistoryEntry | SecureProxyUseCaseHistoryEntry;
3332
+ export type UseCaseHistoryEntry = InboundUseCaseHistoryEntry | OutboundUseCaseHistoryEntry | FileProxyUseCaseHistoryEntry | ManagedCallUseCaseHistoryEntry | SecureProxyUseCaseHistoryEntry;
2932
3333
  export interface UseCaseHistoryEntryBase {
2933
3334
  /**
2934
3335
  * Unique identifier for this history entry
@@ -3286,6 +3687,32 @@ declare namespace Paths {
3286
3687
  export type $500 = Components.Responses.InternalServerError;
3287
3688
  }
3288
3689
  }
3690
+ namespace ManagedCallExecute {
3691
+ namespace Parameters {
3692
+ export type Slug = string; // ^[a-z0-9][a-z0-9_-]*$
3693
+ }
3694
+ export interface PathParameters {
3695
+ slug: Parameters.Slug /* ^[a-z0-9][a-z0-9_-]*$ */;
3696
+ }
3697
+ export type RequestBody = Components.Schemas.ManagedCallExecuteRequest;
3698
+ namespace Responses {
3699
+ export type $200 = /**
3700
+ * The response from a managed call execution.
3701
+ * On success, returns the JSONata-mapped response data directly (no wrapper).
3702
+ * The shape is entirely defined by your response_mapping JSONata expression.
3703
+ * If no response_mapping is configured, returns the raw external API response.
3704
+ * Check the X-Inbound-Event-Id header for inbound pipeline tracking when inbound routing is configured.
3705
+ *
3706
+ */
3707
+ Components.Schemas.ManagedCallExecuteResponse;
3708
+ export type $400 = Components.Schemas.ManagedCallErrorResponse;
3709
+ export type $401 = Components.Responses.Unauthorized;
3710
+ export type $403 = Components.Responses.Forbidden;
3711
+ export type $404 = Components.Responses.NotFound;
3712
+ export type $500 = Components.Responses.InternalServerError;
3713
+ export type $502 = Components.Schemas.ManagedCallErrorResponse;
3714
+ }
3715
+ }
3289
3716
  namespace ProcessErpUpdatesEvents {
3290
3717
  export interface RequestBody {
3291
3718
  /**
@@ -3947,6 +4374,18 @@ export interface OperationMethods {
3947
4374
  data?: Paths.SecureProxy.RequestBody,
3948
4375
  config?: AxiosRequestConfig
3949
4376
  ): OperationResponse<Paths.SecureProxy.Responses.$200>
4377
+ /**
4378
+ * managedCallExecute - Execute a managed call operation
4379
+ *
4380
+ * Execute a managed call operation synchronously. The slug in the path acts as the RPC method name.
4381
+ * Calls an external partner API with JSONata mapping on both request and response.
4382
+ *
4383
+ */
4384
+ 'managedCallExecute'(
4385
+ parameters?: Parameters<Paths.ManagedCallExecute.PathParameters> | null,
4386
+ data?: Paths.ManagedCallExecute.RequestBody,
4387
+ config?: AxiosRequestConfig
4388
+ ): OperationResponse<Paths.ManagedCallExecute.Responses.$200>
3950
4389
  }
3951
4390
 
3952
4391
  export interface PathsDictionary {
@@ -4402,6 +4841,20 @@ export interface PathsDictionary {
4402
4841
  config?: AxiosRequestConfig
4403
4842
  ): OperationResponse<Paths.SecureProxy.Responses.$200>
4404
4843
  }
4844
+ ['/v1/managed-call/{slug}/execute']: {
4845
+ /**
4846
+ * managedCallExecute - Execute a managed call operation
4847
+ *
4848
+ * Execute a managed call operation synchronously. The slug in the path acts as the RPC method name.
4849
+ * Calls an external partner API with JSONata mapping on both request and response.
4850
+ *
4851
+ */
4852
+ 'post'(
4853
+ parameters?: Parameters<Paths.ManagedCallExecute.PathParameters> | null,
4854
+ data?: Paths.ManagedCallExecute.RequestBody,
4855
+ config?: AxiosRequestConfig
4856
+ ): OperationResponse<Paths.ManagedCallExecute.Responses.$200>
4857
+ }
4405
4858
  }
4406
4859
 
4407
4860
  export type Client = OpenAPIClient<OperationMethods, PathsDictionary>
@@ -4409,9 +4862,11 @@ export type Client = OpenAPIClient<OperationMethods, PathsDictionary>
4409
4862
 
4410
4863
  export type AccessLogEntry = Components.Schemas.AccessLogEntry;
4411
4864
  export type AutoRefreshSettings = Components.Schemas.AutoRefreshSettings;
4865
+ export type ConnectorConfig = Components.Schemas.ConnectorConfig;
4412
4866
  export type CreateFileProxyUseCaseRequest = Components.Schemas.CreateFileProxyUseCaseRequest;
4413
4867
  export type CreateInboundUseCaseRequest = Components.Schemas.CreateInboundUseCaseRequest;
4414
4868
  export type CreateIntegrationRequest = Components.Schemas.CreateIntegrationRequest;
4869
+ export type CreateManagedCallUseCaseRequest = Components.Schemas.CreateManagedCallUseCaseRequest;
4415
4870
  export type CreateOutboundUseCaseRequest = Components.Schemas.CreateOutboundUseCaseRequest;
4416
4871
  export type CreateSecureProxyUseCaseRequest = Components.Schemas.CreateSecureProxyUseCaseRequest;
4417
4872
  export type CreateUseCaseRequest = Components.Schemas.CreateUseCaseRequest;
@@ -4420,6 +4875,7 @@ export type DeleteIntegrationAppMappingRequest = Components.Schemas.DeleteIntegr
4420
4875
  export type DeliveryConfig = Components.Schemas.DeliveryConfig;
4421
4876
  export type EmbeddedFileProxyUseCaseRequest = Components.Schemas.EmbeddedFileProxyUseCaseRequest;
4422
4877
  export type EmbeddedInboundUseCaseRequest = Components.Schemas.EmbeddedInboundUseCaseRequest;
4878
+ export type EmbeddedManagedCallUseCaseRequest = Components.Schemas.EmbeddedManagedCallUseCaseRequest;
4423
4879
  export type EmbeddedOutboundUseCaseRequest = Components.Schemas.EmbeddedOutboundUseCaseRequest;
4424
4880
  export type EmbeddedSecureProxyUseCaseRequest = Components.Schemas.EmbeddedSecureProxyUseCaseRequest;
4425
4881
  export type EmbeddedUseCaseRequest = Components.Schemas.EmbeddedUseCaseRequest;
@@ -4460,6 +4916,14 @@ export type IntegrationMeterReading = Components.Schemas.IntegrationMeterReading
4460
4916
  export type IntegrationObjectV1 = Components.Schemas.IntegrationObjectV1;
4461
4917
  export type IntegrationSettings = Components.Schemas.IntegrationSettings;
4462
4918
  export type IntegrationWithUseCases = Components.Schemas.IntegrationWithUseCases;
4919
+ export type ManagedCallAuth = Components.Schemas.ManagedCallAuth;
4920
+ export type ManagedCallErrorResponse = Components.Schemas.ManagedCallErrorResponse;
4921
+ export type ManagedCallExecuteRequest = Components.Schemas.ManagedCallExecuteRequest;
4922
+ export type ManagedCallExecuteResponse = Components.Schemas.ManagedCallExecuteResponse;
4923
+ export type ManagedCallOperation = Components.Schemas.ManagedCallOperation;
4924
+ export type ManagedCallOperationConfig = Components.Schemas.ManagedCallOperationConfig;
4925
+ export type ManagedCallUseCase = Components.Schemas.ManagedCallUseCase;
4926
+ export type ManagedCallUseCaseHistoryEntry = Components.Schemas.ManagedCallUseCaseHistoryEntry;
4463
4927
  export type MappingSimulationRequest = Components.Schemas.MappingSimulationRequest;
4464
4928
  export type MappingSimulationResponse = Components.Schemas.MappingSimulationResponse;
4465
4929
  export type MappingSimulationV2Request = Components.Schemas.MappingSimulationV2Request;
@@ -4502,6 +4966,7 @@ export type TriggerWebhookResp = Components.Schemas.TriggerWebhookResp;
4502
4966
  export type UpdateFileProxyUseCaseRequest = Components.Schemas.UpdateFileProxyUseCaseRequest;
4503
4967
  export type UpdateInboundUseCaseRequest = Components.Schemas.UpdateInboundUseCaseRequest;
4504
4968
  export type UpdateIntegrationRequest = Components.Schemas.UpdateIntegrationRequest;
4969
+ export type UpdateManagedCallUseCaseRequest = Components.Schemas.UpdateManagedCallUseCaseRequest;
4505
4970
  export type UpdateOutboundUseCaseRequest = Components.Schemas.UpdateOutboundUseCaseRequest;
4506
4971
  export type UpdateSecureProxyUseCaseRequest = Components.Schemas.UpdateSecureProxyUseCaseRequest;
4507
4972
  export type UpdateUseCaseRequest = Components.Schemas.UpdateUseCaseRequest;