@epilot/erp-integration-client 0.24.1 → 0.24.3

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.
@@ -1 +1 @@
1
- (()=>{"use strict";var e={330:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=r(n(466));t.default=o.default},466:e=>{e.exports=JSON.parse('{"openapi":"3.0.3","info":{"title":"","version":""},"servers":[{"url":"https://erp-integration-api.sls.epilot.io"}],"paths":{"/v1/erp/tracking/acknowledgement":{"post":{"operationId":"acknowledgeTracking","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/erp/trigger":{"post":{"operationId":"triggerErp","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/erp/updates/events":{"post":{"deprecated":true,"operationId":"processErpUpdatesEvents","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/erp/updates/events":{"post":{"deprecated":true,"operationId":"processErpUpdatesEventsV2","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v3/erp/updates/events":{"post":{"operationId":"processErpUpdatesEventsV3","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/erp/updates/mapping_simulation":{"post":{"operationId":"simulateMappingV2","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/erp/updates/mapping_simulation":{"post":{"operationId":"simulateMapping","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations":{"get":{"operationId":"listIntegrations","responses":{}},"post":{"operationId":"createIntegration","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}":{"get":{"operationId":"getIntegration","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}},"put":{"operationId":"updateIntegration","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteIntegration","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}}},"/v1/integrations/{integrationId}/events":{"post":{"operationId":"queryEvents","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/events/replay":{"post":{"operationId":"replayEvents","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/use-cases":{"get":{"operationId":"listUseCases","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}},"post":{"operationId":"createUseCase","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/use-cases/{useCaseId}":{"get":{"operationId":"getUseCase","parameters":[{"name":"integrationId","in":"path","required":true},{"name":"useCaseId","in":"path","required":true}],"responses":{}},"put":{"operationId":"updateUseCase","parameters":[{"name":"integrationId","in":"path","required":true},{"name":"useCaseId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteUseCase","parameters":[{"name":"integrationId","in":"path","required":true},{"name":"useCaseId","in":"path","required":true}],"responses":{}}},"/v1/integrations/{integrationId}/use-cases/{useCaseId}/history":{"get":{"operationId":"listUseCaseHistory","parameters":[{"name":"integrationId","in":"path","required":true},{"name":"useCaseId","in":"path","required":true},{"name":"cursor","in":"query","required":false}],"responses":{}}},"/v2/integrations":{"get":{"operationId":"listIntegrationsV2","responses":{}},"post":{"operationId":"createIntegrationV2","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v2/integrations/{integrationId}":{"get":{"operationId":"getIntegrationV2","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}},"put":{"operationId":"updateIntegrationV2","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteIntegrationV2","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}}},"/v1/integrations/{integrationId}/app-mapping":{"put":{"operationId":"setIntegrationAppMapping","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteIntegrationAppMapping","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/monitoring/inbound-events":{"post":{"operationId":"queryInboundMonitoringEvents","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/monitoring/stats":{"post":{"operationId":"getMonitoringStats","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/monitoring/timeseries":{"post":{"operationId":"getMonitoringTimeSeries","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/outbound-status":{"get":{"operationId":"getOutboundStatus","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}}},"/v1/integrations/{integrationId}/monitoring/access-logs":{"post":{"operationId":"queryAccessLogs","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/monitoring/outbound-events":{"post":{"operationId":"queryOutboundMonitoringEvents","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}}},"components":{"responses":{"BadRequest":{"content":{"application/json":{}}},"NotFound":{"content":{"application/json":{}}},"Unauthorized":{"content":{"application/json":{}}},"InternalServerError":{"content":{"application/json":{}}},"QueryInboundMonitoringEventsResponse":{"content":{"application/json":{}}},"GetMonitoringStatsResponse":{"content":{"application/json":{}}},"GetMonitoringTimeSeriesResponse":{"content":{"application/json":{}}},"QueryAccessLogsResponse":{"content":{"application/json":{}}},"QueryOutboundMonitoringEventsResponse":{"content":{"application/json":{}}},"ReplayEventsResponse":{"content":{"application/json":{}}},"ERPUpdatesResponse":{"content":{"application/json":{}}},"TriggerWebhookResponse":{"content":{"application/json":{}}},"QueryEventsResponse":{"content":{"application/json":{}}}}}}')}},t={},n=function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}(330),r=exports;for(var o in n)r[o]=n[o];n.__esModule&&Object.defineProperty(r,"__esModule",{value:!0})})();
1
+ (()=>{"use strict";var e={330(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=r(n(466));t.default=o.default},466(e){e.exports=JSON.parse('{"openapi":"3.0.3","info":{"title":"","version":""},"servers":[{"url":"https://erp-integration-api.sls.epilot.io"}],"paths":{"/v1/erp/tracking/acknowledgement":{"post":{"operationId":"acknowledgeTracking","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/erp/trigger":{"post":{"operationId":"triggerErp","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/erp/updates/events":{"post":{"deprecated":true,"operationId":"processErpUpdatesEvents","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/erp/updates/events":{"post":{"deprecated":true,"operationId":"processErpUpdatesEventsV2","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v3/erp/updates/events":{"post":{"operationId":"processErpUpdatesEventsV3","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/erp/updates/mapping_simulation":{"post":{"operationId":"simulateMappingV2","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/erp/updates/mapping_simulation":{"post":{"operationId":"simulateMapping","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations":{"get":{"operationId":"listIntegrations","responses":{}},"post":{"operationId":"createIntegration","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}":{"get":{"operationId":"getIntegration","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}},"put":{"operationId":"updateIntegration","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteIntegration","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}}},"/v1/integrations/{integrationId}/events":{"post":{"operationId":"queryEvents","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/events/replay":{"post":{"operationId":"replayEvents","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/use-cases":{"get":{"operationId":"listUseCases","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}},"post":{"operationId":"createUseCase","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/use-cases/{useCaseId}":{"get":{"operationId":"getUseCase","parameters":[{"name":"integrationId","in":"path","required":true},{"name":"useCaseId","in":"path","required":true}],"responses":{}},"put":{"operationId":"updateUseCase","parameters":[{"name":"integrationId","in":"path","required":true},{"name":"useCaseId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteUseCase","parameters":[{"name":"integrationId","in":"path","required":true},{"name":"useCaseId","in":"path","required":true}],"responses":{}}},"/v1/integrations/{integrationId}/use-cases/{useCaseId}/history":{"get":{"operationId":"listUseCaseHistory","parameters":[{"name":"integrationId","in":"path","required":true},{"name":"useCaseId","in":"path","required":true},{"name":"cursor","in":"query","required":false}],"responses":{}}},"/v2/integrations":{"get":{"operationId":"listIntegrationsV2","responses":{}},"post":{"operationId":"createIntegrationV2","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v2/integrations/{integrationId}":{"get":{"operationId":"getIntegrationV2","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}},"put":{"operationId":"updateIntegrationV2","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteIntegrationV2","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}}},"/v1/integrations/{integrationId}/app-mapping":{"put":{"operationId":"setIntegrationAppMapping","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteIntegrationAppMapping","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/monitoring/inbound-events":{"post":{"operationId":"queryInboundMonitoringEvents","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/monitoring/stats":{"post":{"operationId":"getMonitoringStats","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/monitoring/timeseries":{"post":{"operationId":"getMonitoringTimeSeries","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/outbound-status":{"get":{"operationId":"getOutboundStatus","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}}},"/v1/integrations/{integrationId}/monitoring/access-logs":{"post":{"operationId":"queryAccessLogs","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/monitoring/outbound-events":{"post":{"operationId":"queryOutboundMonitoringEvents","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}}},"components":{"responses":{"BadRequest":{"content":{"application/json":{}}},"NotFound":{"content":{"application/json":{}}},"Unauthorized":{"content":{"application/json":{}}},"InternalServerError":{"content":{"application/json":{}}},"QueryInboundMonitoringEventsResponse":{"content":{"application/json":{}}},"GetMonitoringStatsResponse":{"content":{"application/json":{}}},"GetMonitoringTimeSeriesResponse":{"content":{"application/json":{}}},"QueryAccessLogsResponse":{"content":{"application/json":{}}},"QueryOutboundMonitoringEventsResponse":{"content":{"application/json":{}}},"ReplayEventsResponse":{"content":{"application/json":{}}},"ERPUpdatesResponse":{"content":{"application/json":{}}},"TriggerWebhookResponse":{"content":{"application/json":{}}},"QueryEventsResponse":{"content":{"application/json":{}}}}}}')}},t={},n=function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}(330),r=exports;for(var o in n)r[o]=n[o];n.__esModule&&Object.defineProperty(r,"__esModule",{value:!0})})();
package/dist/openapi.d.ts CHANGED
@@ -187,6 +187,46 @@ declare namespace Components {
187
187
  */
188
188
  source_ip?: string;
189
189
  }
190
+ /**
191
+ * Auto-refresh settings for keeping integration data fresh
192
+ */
193
+ export interface AutoRefreshSettings {
194
+ /**
195
+ * Whether auto-refresh is enabled
196
+ */
197
+ enabled?: boolean;
198
+ /**
199
+ * Maximum age (in minutes) of data before it is considered stale and eligible for refresh
200
+ */
201
+ freshnessThresholdMinutes?: number;
202
+ /**
203
+ * Minimum interval (in minutes) between consecutive sync operations to prevent excessive API calls
204
+ */
205
+ minIntervalBetweenSyncsMinutes?: number;
206
+ }
207
+ export interface CreateFileProxyUseCaseRequest {
208
+ /**
209
+ * Use case name
210
+ */
211
+ name: string;
212
+ /**
213
+ * Whether the use case is enabled
214
+ */
215
+ enabled: boolean;
216
+ /**
217
+ * Use case type
218
+ */
219
+ type: "file_proxy";
220
+ configuration?: /**
221
+ * Configuration for file_proxy use cases. Defines how to authenticate and fetch files from external document systems.
222
+ *
223
+ * The file proxy download URL always requires `orgId`, `integrationId`, and `useCaseId` as query parameters.
224
+ * The `orgId` is included in the signed URL to establish organization context without requiring authentication.
225
+ * Additional use-case-specific parameters are declared in the `params` array.
226
+ *
227
+ */
228
+ FileProxyUseCaseConfiguration;
229
+ }
190
230
  export interface CreateInboundUseCaseRequest {
191
231
  /**
192
232
  * Use case name
@@ -215,10 +255,15 @@ declare namespace Components {
215
255
  * List of access token IDs to associate with this integration
216
256
  */
217
257
  access_token_ids?: string[];
258
+ /**
259
+ * List of app IDs to associate with this integration
260
+ */
261
+ app_ids?: string[];
218
262
  /**
219
263
  * Configuration defining environment variables needed by this integration
220
264
  */
221
265
  environment_config?: EnvironmentFieldConfig[];
266
+ settings?: /* Settings for the integration */ IntegrationSettings;
222
267
  }
223
268
  export interface CreateOutboundUseCaseRequest {
224
269
  /**
@@ -235,7 +280,7 @@ declare namespace Components {
235
280
  type: "outbound";
236
281
  configuration?: /* Configuration for outbound use cases. Defines the event that triggers the flow and the webhook mappings. */ OutboundIntegrationEventConfiguration;
237
282
  }
238
- export type CreateUseCaseRequest = CreateInboundUseCaseRequest | CreateOutboundUseCaseRequest;
283
+ export type CreateUseCaseRequest = CreateInboundUseCaseRequest | CreateOutboundUseCaseRequest | CreateFileProxyUseCaseRequest;
239
284
  export interface CreateUseCaseRequestBase {
240
285
  /**
241
286
  * Use case name
@@ -494,6 +539,202 @@ declare namespace Components {
494
539
  */
495
540
  message?: string;
496
541
  }
542
+ export interface FileProxyAuth {
543
+ /**
544
+ * Authentication type
545
+ */
546
+ type: "oauth2_client_credentials";
547
+ /**
548
+ * Handlebars template for the OAuth2 token endpoint URL
549
+ */
550
+ token_url: string;
551
+ /**
552
+ * Handlebars template for the OAuth2 client ID
553
+ */
554
+ client_id: string;
555
+ /**
556
+ * Handlebars template for the OAuth2 client secret
557
+ */
558
+ client_secret: string;
559
+ /**
560
+ * Optional OAuth2 scope
561
+ */
562
+ scope?: string;
563
+ }
564
+ export interface FileProxyParam {
565
+ /**
566
+ * Parameter name as it appears in the query string
567
+ */
568
+ name: string;
569
+ /**
570
+ * Whether this parameter is required
571
+ */
572
+ required: boolean;
573
+ /**
574
+ * Human-readable description of the parameter
575
+ */
576
+ description?: string;
577
+ }
578
+ export interface FileProxyResponseConfig {
579
+ /**
580
+ * JSONata expression to extract file content from step results
581
+ */
582
+ body: string;
583
+ /**
584
+ * Encoding of the extracted body
585
+ */
586
+ encoding: "base64" | "binary";
587
+ /**
588
+ * JSONata expression to extract the filename
589
+ */
590
+ filename?: string;
591
+ /**
592
+ * JSONata expression to extract the content type
593
+ */
594
+ content_type?: string;
595
+ }
596
+ export interface FileProxyStep {
597
+ /**
598
+ * Handlebars template for the request URL
599
+ */
600
+ url: string;
601
+ /**
602
+ * HTTP method
603
+ */
604
+ method: "GET" | "POST";
605
+ /**
606
+ * Handlebars templates for request headers
607
+ */
608
+ headers?: {
609
+ [name: string]: string;
610
+ };
611
+ /**
612
+ * Handlebars template for the request body (POST only)
613
+ */
614
+ body?: string;
615
+ /**
616
+ * Expected response type
617
+ */
618
+ response_type: "json" | "binary";
619
+ }
620
+ export interface FileProxyUseCase {
621
+ /**
622
+ * Unique identifier for the use case
623
+ */
624
+ id: string; // uuid
625
+ /**
626
+ * Parent integration ID
627
+ */
628
+ integrationId: string; // uuid
629
+ /**
630
+ * Use case name
631
+ */
632
+ name: string;
633
+ /**
634
+ * Use case type
635
+ */
636
+ type: "inbound" | "outbound" | "file_proxy" | "file_proxy";
637
+ enabled: boolean;
638
+ /**
639
+ * Description of the last change made to this use case
640
+ */
641
+ change_description?: string;
642
+ /**
643
+ * ISO-8601 timestamp when the use case was created
644
+ */
645
+ created_at: string; // date-time
646
+ /**
647
+ * ISO-8601 timestamp when the use case was last updated
648
+ */
649
+ updated_at: string; // date-time
650
+ configuration?: /**
651
+ * Configuration for file_proxy use cases. Defines how to authenticate and fetch files from external document systems.
652
+ *
653
+ * The file proxy download URL always requires `orgId`, `integrationId`, and `useCaseId` as query parameters.
654
+ * The `orgId` is included in the signed URL to establish organization context without requiring authentication.
655
+ * Additional use-case-specific parameters are declared in the `params` array.
656
+ *
657
+ */
658
+ FileProxyUseCaseConfiguration;
659
+ }
660
+ /**
661
+ * Configuration for file_proxy use cases. Defines how to authenticate and fetch files from external document systems.
662
+ *
663
+ * The file proxy download URL always requires `orgId`, `integrationId`, and `useCaseId` as query parameters.
664
+ * The `orgId` is included in the signed URL to establish organization context without requiring authentication.
665
+ * Additional use-case-specific parameters are declared in the `params` array.
666
+ *
667
+ */
668
+ export interface FileProxyUseCaseConfiguration {
669
+ /**
670
+ * Whether requests require VPC routing for IP allowlisting
671
+ */
672
+ requires_vpc?: boolean;
673
+ auth?: FileProxyAuth;
674
+ /**
675
+ * Additional use-case-specific parameters expected in the download URL query string (beyond the required orgId, integrationId, useCaseId)
676
+ */
677
+ params?: FileProxyParam[];
678
+ /**
679
+ * Ordered list of HTTP steps to execute to retrieve the file
680
+ */
681
+ steps: [
682
+ FileProxyStep,
683
+ ...FileProxyStep[]
684
+ ];
685
+ response: FileProxyResponseConfig;
686
+ }
687
+ export interface FileProxyUseCaseHistoryEntry {
688
+ /**
689
+ * Unique identifier for this history entry
690
+ */
691
+ id: string; // uuid
692
+ /**
693
+ * Reference to the parent use case
694
+ */
695
+ useCaseId: string; // uuid
696
+ /**
697
+ * Parent integration ID
698
+ */
699
+ integrationId: string; // uuid
700
+ /**
701
+ * Use case name at this point in history
702
+ */
703
+ name: string;
704
+ /**
705
+ * Whether the use case was enabled at this point in history
706
+ */
707
+ enabled: boolean;
708
+ /**
709
+ * Description of the change that was made at this point in history
710
+ */
711
+ change_description?: string;
712
+ /**
713
+ * ISO-8601 timestamp when the use case was originally created
714
+ */
715
+ created_at: string; // date-time
716
+ /**
717
+ * ISO-8601 timestamp of this historical snapshot (before the update)
718
+ */
719
+ updated_at: string; // date-time
720
+ /**
721
+ * ISO-8601 timestamp when this history entry was created
722
+ */
723
+ history_created_at: string; // date-time
724
+ /**
725
+ * Use case type
726
+ */
727
+ type: "file_proxy";
728
+ configuration?: /**
729
+ * Configuration for file_proxy use cases. Defines how to authenticate and fetch files from external document systems.
730
+ *
731
+ * The file proxy download URL always requires `orgId`, `integrationId`, and `useCaseId` as query parameters.
732
+ * The `orgId` is included in the signed URL to establish organization context without requiring authentication.
733
+ * Additional use-case-specific parameters are declared in the `params` array.
734
+ *
735
+ */
736
+ FileProxyUseCaseConfiguration;
737
+ }
497
738
  export interface GetMonitoringStatsRequest {
498
739
  /**
499
740
  * Start date for statistics period (inclusive)
@@ -643,7 +884,7 @@ declare namespace Components {
643
884
  /**
644
885
  * Use case type
645
886
  */
646
- type: "inbound" | "outbound" | "inbound";
887
+ type: "inbound" | "outbound" | "file_proxy" | "inbound";
647
888
  enabled: boolean;
648
889
  /**
649
890
  * Description of the last change made to this use case
@@ -723,10 +964,15 @@ declare namespace Components {
723
964
  * List of access token IDs associated with this integration
724
965
  */
725
966
  access_token_ids?: string[];
967
+ /**
968
+ * List of app IDs associated with this integration
969
+ */
970
+ app_ids?: string[];
726
971
  /**
727
972
  * Configuration defining environment variables needed by this integration. Values are stored in the Environments API.
728
973
  */
729
974
  environment_config?: EnvironmentFieldConfig[];
975
+ settings?: /* Settings for the integration */ IntegrationSettings;
730
976
  /**
731
977
  * ISO-8601 timestamp when the integration was created
732
978
  */
@@ -917,6 +1163,12 @@ declare namespace Components {
917
1163
  */
918
1164
  fields: IntegrationFieldV1[];
919
1165
  }
1166
+ /**
1167
+ * Settings for the integration
1168
+ */
1169
+ export interface IntegrationSettings {
1170
+ autoRefresh?: /* Auto-refresh settings for keeping integration data fresh */ AutoRefreshSettings;
1171
+ }
920
1172
  /**
921
1173
  * Integration with embedded use cases for atomic CRUD operations
922
1174
  */
@@ -941,6 +1193,7 @@ declare namespace Components {
941
1193
  * List of access token IDs associated with this integration
942
1194
  */
943
1195
  access_token_ids?: string[];
1196
+ settings?: /* Settings for the integration */ IntegrationSettings;
944
1197
  /**
945
1198
  * All use cases belonging to this integration
946
1199
  */
@@ -1274,7 +1527,7 @@ declare namespace Components {
1274
1527
  /**
1275
1528
  * Use case type
1276
1529
  */
1277
- type: "inbound" | "outbound" | "outbound";
1530
+ type: "inbound" | "outbound" | "file_proxy" | "outbound";
1278
1531
  enabled: boolean;
1279
1532
  /**
1280
1533
  * Description of the last change made to this use case
@@ -1961,6 +2214,33 @@ declare namespace Components {
1961
2214
  end_date?: string;
1962
2215
  event_id?: string;
1963
2216
  }
2217
+ export interface UpdateFileProxyUseCaseRequest {
2218
+ /**
2219
+ * Use case name
2220
+ */
2221
+ name?: string;
2222
+ /**
2223
+ * Whether the use case is enabled
2224
+ */
2225
+ enabled?: boolean;
2226
+ /**
2227
+ * Optional description of this change (like a commit message)
2228
+ */
2229
+ change_description?: string;
2230
+ /**
2231
+ * Use case type
2232
+ */
2233
+ type?: "file_proxy";
2234
+ configuration?: /**
2235
+ * Configuration for file_proxy use cases. Defines how to authenticate and fetch files from external document systems.
2236
+ *
2237
+ * The file proxy download URL always requires `orgId`, `integrationId`, and `useCaseId` as query parameters.
2238
+ * The `orgId` is included in the signed URL to establish organization context without requiring authentication.
2239
+ * Additional use-case-specific parameters are declared in the `params` array.
2240
+ *
2241
+ */
2242
+ FileProxyUseCaseConfiguration;
2243
+ }
1964
2244
  export interface UpdateInboundUseCaseRequest {
1965
2245
  /**
1966
2246
  * Use case name
@@ -1993,10 +2273,15 @@ declare namespace Components {
1993
2273
  * List of access token IDs to associate with this integration
1994
2274
  */
1995
2275
  access_token_ids?: string[];
2276
+ /**
2277
+ * List of app IDs to associate with this integration
2278
+ */
2279
+ app_ids?: string[];
1996
2280
  /**
1997
2281
  * Configuration defining environment variables needed by this integration
1998
2282
  */
1999
2283
  environment_config?: EnvironmentFieldConfig[];
2284
+ settings?: /* Settings for the integration */ IntegrationSettings;
2000
2285
  }
2001
2286
  export interface UpdateOutboundUseCaseRequest {
2002
2287
  /**
@@ -2017,7 +2302,7 @@ declare namespace Components {
2017
2302
  type?: "outbound";
2018
2303
  configuration?: /* Configuration for outbound use cases. Defines the event that triggers the flow and the webhook mappings. */ OutboundIntegrationEventConfiguration;
2019
2304
  }
2020
- export type UpdateUseCaseRequest = UpdateInboundUseCaseRequest | UpdateOutboundUseCaseRequest;
2305
+ export type UpdateUseCaseRequest = UpdateInboundUseCaseRequest | UpdateOutboundUseCaseRequest | UpdateFileProxyUseCaseRequest;
2021
2306
  export interface UpdateUseCaseRequestBase {
2022
2307
  /**
2023
2308
  * Use case name
@@ -2050,6 +2335,7 @@ declare namespace Components {
2050
2335
  * List of access token IDs to associate with this integration
2051
2336
  */
2052
2337
  access_token_ids?: string[];
2338
+ settings?: /* Settings for the integration */ IntegrationSettings;
2053
2339
  /**
2054
2340
  * Full list of use cases (declarative). This replaces ALL existing use cases.
2055
2341
  * - Use cases with an `id` field matching an existing use case will be updated
@@ -2059,7 +2345,7 @@ declare namespace Components {
2059
2345
  */
2060
2346
  use_cases?: EmbeddedUseCaseRequest[];
2061
2347
  }
2062
- export type UseCase = InboundUseCase | OutboundUseCase;
2348
+ export type UseCase = InboundUseCase | OutboundUseCase | FileProxyUseCase;
2063
2349
  export interface UseCaseBase {
2064
2350
  /**
2065
2351
  * Unique identifier for the use case
@@ -2076,7 +2362,7 @@ declare namespace Components {
2076
2362
  /**
2077
2363
  * Use case type
2078
2364
  */
2079
- type: "inbound" | "outbound";
2365
+ type: "inbound" | "outbound" | "file_proxy";
2080
2366
  enabled: boolean;
2081
2367
  /**
2082
2368
  * Description of the last change made to this use case
@@ -2091,7 +2377,7 @@ declare namespace Components {
2091
2377
  */
2092
2378
  updated_at: string; // date-time
2093
2379
  }
2094
- export type UseCaseHistoryEntry = InboundUseCaseHistoryEntry | OutboundUseCaseHistoryEntry;
2380
+ export type UseCaseHistoryEntry = InboundUseCaseHistoryEntry | OutboundUseCaseHistoryEntry | FileProxyUseCaseHistoryEntry;
2095
2381
  export interface UseCaseHistoryEntryBase {
2096
2382
  /**
2097
2383
  * Unique identifier for this history entry
@@ -3492,6 +3778,8 @@ export type Client = OpenAPIClient<OperationMethods, PathsDictionary>
3492
3778
 
3493
3779
 
3494
3780
  export type AccessLogEntry = Components.Schemas.AccessLogEntry;
3781
+ export type AutoRefreshSettings = Components.Schemas.AutoRefreshSettings;
3782
+ export type CreateFileProxyUseCaseRequest = Components.Schemas.CreateFileProxyUseCaseRequest;
3495
3783
  export type CreateInboundUseCaseRequest = Components.Schemas.CreateInboundUseCaseRequest;
3496
3784
  export type CreateIntegrationRequest = Components.Schemas.CreateIntegrationRequest;
3497
3785
  export type CreateOutboundUseCaseRequest = Components.Schemas.CreateOutboundUseCaseRequest;
@@ -3510,6 +3798,13 @@ export type ErpEventV3 = Components.Schemas.ErpEventV3;
3510
3798
  export type ErpUpdatesEventsV2Request = Components.Schemas.ErpUpdatesEventsV2Request;
3511
3799
  export type ErpUpdatesEventsV3Request = Components.Schemas.ErpUpdatesEventsV3Request;
3512
3800
  export type ErrorResponseBase = Components.Schemas.ErrorResponseBase;
3801
+ export type FileProxyAuth = Components.Schemas.FileProxyAuth;
3802
+ export type FileProxyParam = Components.Schemas.FileProxyParam;
3803
+ export type FileProxyResponseConfig = Components.Schemas.FileProxyResponseConfig;
3804
+ export type FileProxyStep = Components.Schemas.FileProxyStep;
3805
+ export type FileProxyUseCase = Components.Schemas.FileProxyUseCase;
3806
+ export type FileProxyUseCaseConfiguration = Components.Schemas.FileProxyUseCaseConfiguration;
3807
+ export type FileProxyUseCaseHistoryEntry = Components.Schemas.FileProxyUseCaseHistoryEntry;
3513
3808
  export type GetMonitoringStatsRequest = Components.Schemas.GetMonitoringStatsRequest;
3514
3809
  export type GetMonitoringTimeSeriesRequest = Components.Schemas.GetMonitoringTimeSeriesRequest;
3515
3810
  export type InboundIntegrationEventConfiguration = Components.Schemas.InboundIntegrationEventConfiguration;
@@ -3525,6 +3820,7 @@ export type IntegrationEntityField = Components.Schemas.IntegrationEntityField;
3525
3820
  export type IntegrationFieldV1 = Components.Schemas.IntegrationFieldV1;
3526
3821
  export type IntegrationMeterReading = Components.Schemas.IntegrationMeterReading;
3527
3822
  export type IntegrationObjectV1 = Components.Schemas.IntegrationObjectV1;
3823
+ export type IntegrationSettings = Components.Schemas.IntegrationSettings;
3528
3824
  export type IntegrationWithUseCases = Components.Schemas.IntegrationWithUseCases;
3529
3825
  export type MappingSimulationRequest = Components.Schemas.MappingSimulationRequest;
3530
3826
  export type MappingSimulationResponse = Components.Schemas.MappingSimulationResponse;
@@ -3558,6 +3854,7 @@ export type SetIntegrationAppMappingRequest = Components.Schemas.SetIntegrationA
3558
3854
  export type TimeSeriesBucket = Components.Schemas.TimeSeriesBucket;
3559
3855
  export type TriggerErpActionRequest = Components.Schemas.TriggerErpActionRequest;
3560
3856
  export type TriggerWebhookResp = Components.Schemas.TriggerWebhookResp;
3857
+ export type UpdateFileProxyUseCaseRequest = Components.Schemas.UpdateFileProxyUseCaseRequest;
3561
3858
  export type UpdateInboundUseCaseRequest = Components.Schemas.UpdateInboundUseCaseRequest;
3562
3859
  export type UpdateIntegrationRequest = Components.Schemas.UpdateIntegrationRequest;
3563
3860
  export type UpdateOutboundUseCaseRequest = Components.Schemas.UpdateOutboundUseCaseRequest;
package/dist/openapi.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.0.3",
3
3
  "info": {
4
4
  "title": "ERP Integration API",
5
- "version": "0.37.0",
5
+ "version": "0.40.0",
6
6
  "description": "API for integrating with ERP systems, handling tracking acknowledgments, triggering ERP processes, and processing ERP updates."
7
7
  },
8
8
  "tags": [
@@ -2560,6 +2560,13 @@
2560
2560
  "type": "string"
2561
2561
  }
2562
2562
  },
2563
+ "app_ids": {
2564
+ "type": "array",
2565
+ "description": "List of app IDs associated with this integration",
2566
+ "items": {
2567
+ "type": "string"
2568
+ }
2569
+ },
2563
2570
  "environment_config": {
2564
2571
  "type": "array",
2565
2572
  "items": {
@@ -2567,6 +2574,9 @@
2567
2574
  },
2568
2575
  "description": "Configuration defining environment variables needed by this integration. Values are stored in the Environments API."
2569
2576
  },
2577
+ "settings": {
2578
+ "$ref": "#/components/schemas/IntegrationSettings"
2579
+ },
2570
2580
  "created_at": {
2571
2581
  "type": "string",
2572
2582
  "format": "date-time",
@@ -2603,12 +2613,22 @@
2603
2613
  "type": "string"
2604
2614
  }
2605
2615
  },
2616
+ "app_ids": {
2617
+ "type": "array",
2618
+ "description": "List of app IDs to associate with this integration",
2619
+ "items": {
2620
+ "type": "string"
2621
+ }
2622
+ },
2606
2623
  "environment_config": {
2607
2624
  "type": "array",
2608
2625
  "items": {
2609
2626
  "$ref": "#/components/schemas/EnvironmentFieldConfig"
2610
2627
  },
2611
2628
  "description": "Configuration defining environment variables needed by this integration"
2629
+ },
2630
+ "settings": {
2631
+ "$ref": "#/components/schemas/IntegrationSettings"
2612
2632
  }
2613
2633
  }
2614
2634
  },
@@ -2633,12 +2653,22 @@
2633
2653
  "type": "string"
2634
2654
  }
2635
2655
  },
2656
+ "app_ids": {
2657
+ "type": "array",
2658
+ "description": "List of app IDs to associate with this integration",
2659
+ "items": {
2660
+ "type": "string"
2661
+ }
2662
+ },
2636
2663
  "environment_config": {
2637
2664
  "type": "array",
2638
2665
  "items": {
2639
2666
  "$ref": "#/components/schemas/EnvironmentFieldConfig"
2640
2667
  },
2641
2668
  "description": "Configuration defining environment variables needed by this integration"
2669
+ },
2670
+ "settings": {
2671
+ "$ref": "#/components/schemas/IntegrationSettings"
2642
2672
  }
2643
2673
  }
2644
2674
  },
@@ -2686,6 +2716,36 @@
2686
2716
  }
2687
2717
  }
2688
2718
  },
2719
+ "IntegrationSettings": {
2720
+ "type": "object",
2721
+ "description": "Settings for the integration",
2722
+ "properties": {
2723
+ "autoRefresh": {
2724
+ "$ref": "#/components/schemas/AutoRefreshSettings"
2725
+ }
2726
+ }
2727
+ },
2728
+ "AutoRefreshSettings": {
2729
+ "type": "object",
2730
+ "description": "Auto-refresh settings for keeping integration data fresh",
2731
+ "properties": {
2732
+ "enabled": {
2733
+ "type": "boolean",
2734
+ "default": false,
2735
+ "description": "Whether auto-refresh is enabled"
2736
+ },
2737
+ "freshnessThresholdMinutes": {
2738
+ "type": "integer",
2739
+ "minimum": 1,
2740
+ "description": "Maximum age (in minutes) of data before it is considered stale and eligible for refresh"
2741
+ },
2742
+ "minIntervalBetweenSyncsMinutes": {
2743
+ "type": "integer",
2744
+ "minimum": 1,
2745
+ "description": "Minimum interval (in minutes) between consecutive sync operations to prevent excessive API calls"
2746
+ }
2747
+ }
2748
+ },
2689
2749
  "SetIntegrationAppMappingRequest": {
2690
2750
  "type": "object",
2691
2751
  "required": [
@@ -2772,7 +2832,8 @@
2772
2832
  "type": "string",
2773
2833
  "enum": [
2774
2834
  "inbound",
2775
- "outbound"
2835
+ "outbound",
2836
+ "file_proxy"
2776
2837
  ],
2777
2838
  "description": "Use case type"
2778
2839
  },
@@ -2846,6 +2907,31 @@
2846
2907
  }
2847
2908
  ]
2848
2909
  },
2910
+ "FileProxyUseCase": {
2911
+ "allOf": [
2912
+ {
2913
+ "$ref": "#/components/schemas/UseCaseBase"
2914
+ },
2915
+ {
2916
+ "type": "object",
2917
+ "required": [
2918
+ "type"
2919
+ ],
2920
+ "properties": {
2921
+ "type": {
2922
+ "type": "string",
2923
+ "enum": [
2924
+ "file_proxy"
2925
+ ],
2926
+ "description": "Use case type"
2927
+ },
2928
+ "configuration": {
2929
+ "$ref": "#/components/schemas/FileProxyUseCaseConfiguration"
2930
+ }
2931
+ }
2932
+ }
2933
+ ]
2934
+ },
2849
2935
  "UseCase": {
2850
2936
  "oneOf": [
2851
2937
  {
@@ -2853,13 +2939,17 @@
2853
2939
  },
2854
2940
  {
2855
2941
  "$ref": "#/components/schemas/OutboundUseCase"
2942
+ },
2943
+ {
2944
+ "$ref": "#/components/schemas/FileProxyUseCase"
2856
2945
  }
2857
2946
  ],
2858
2947
  "discriminator": {
2859
2948
  "propertyName": "type",
2860
2949
  "mapping": {
2861
2950
  "inbound": "#/components/schemas/InboundUseCase",
2862
- "outbound": "#/components/schemas/OutboundUseCase"
2951
+ "outbound": "#/components/schemas/OutboundUseCase",
2952
+ "file_proxy": "#/components/schemas/FileProxyUseCase"
2863
2953
  }
2864
2954
  }
2865
2955
  },
@@ -2870,13 +2960,17 @@
2870
2960
  },
2871
2961
  {
2872
2962
  "$ref": "#/components/schemas/CreateOutboundUseCaseRequest"
2963
+ },
2964
+ {
2965
+ "$ref": "#/components/schemas/CreateFileProxyUseCaseRequest"
2873
2966
  }
2874
2967
  ],
2875
2968
  "discriminator": {
2876
2969
  "propertyName": "type",
2877
2970
  "mapping": {
2878
2971
  "inbound": "#/components/schemas/CreateInboundUseCaseRequest",
2879
- "outbound": "#/components/schemas/CreateOutboundUseCaseRequest"
2972
+ "outbound": "#/components/schemas/CreateOutboundUseCaseRequest",
2973
+ "file_proxy": "#/components/schemas/CreateFileProxyUseCaseRequest"
2880
2974
  }
2881
2975
  }
2882
2976
  },
@@ -2950,6 +3044,31 @@
2950
3044
  }
2951
3045
  ]
2952
3046
  },
3047
+ "CreateFileProxyUseCaseRequest": {
3048
+ "allOf": [
3049
+ {
3050
+ "$ref": "#/components/schemas/CreateUseCaseRequestBase"
3051
+ },
3052
+ {
3053
+ "type": "object",
3054
+ "required": [
3055
+ "type"
3056
+ ],
3057
+ "properties": {
3058
+ "type": {
3059
+ "type": "string",
3060
+ "enum": [
3061
+ "file_proxy"
3062
+ ],
3063
+ "description": "Use case type"
3064
+ },
3065
+ "configuration": {
3066
+ "$ref": "#/components/schemas/FileProxyUseCaseConfiguration"
3067
+ }
3068
+ }
3069
+ }
3070
+ ]
3071
+ },
2953
3072
  "UpdateUseCaseRequest": {
2954
3073
  "oneOf": [
2955
3074
  {
@@ -2957,13 +3076,17 @@
2957
3076
  },
2958
3077
  {
2959
3078
  "$ref": "#/components/schemas/UpdateOutboundUseCaseRequest"
3079
+ },
3080
+ {
3081
+ "$ref": "#/components/schemas/UpdateFileProxyUseCaseRequest"
2960
3082
  }
2961
3083
  ],
2962
3084
  "discriminator": {
2963
3085
  "propertyName": "type",
2964
3086
  "mapping": {
2965
3087
  "inbound": "#/components/schemas/UpdateInboundUseCaseRequest",
2966
- "outbound": "#/components/schemas/UpdateOutboundUseCaseRequest"
3088
+ "outbound": "#/components/schemas/UpdateOutboundUseCaseRequest",
3089
+ "file_proxy": "#/components/schemas/UpdateFileProxyUseCaseRequest"
2967
3090
  }
2968
3091
  }
2969
3092
  },
@@ -3031,6 +3154,28 @@
3031
3154
  }
3032
3155
  ]
3033
3156
  },
3157
+ "UpdateFileProxyUseCaseRequest": {
3158
+ "allOf": [
3159
+ {
3160
+ "$ref": "#/components/schemas/UpdateUseCaseRequestBase"
3161
+ },
3162
+ {
3163
+ "type": "object",
3164
+ "properties": {
3165
+ "type": {
3166
+ "type": "string",
3167
+ "enum": [
3168
+ "file_proxy"
3169
+ ],
3170
+ "description": "Use case type"
3171
+ },
3172
+ "configuration": {
3173
+ "$ref": "#/components/schemas/FileProxyUseCaseConfiguration"
3174
+ }
3175
+ }
3176
+ }
3177
+ ]
3178
+ },
3034
3179
  "UseCaseHistoryEntry": {
3035
3180
  "oneOf": [
3036
3181
  {
@@ -3038,13 +3183,17 @@
3038
3183
  },
3039
3184
  {
3040
3185
  "$ref": "#/components/schemas/OutboundUseCaseHistoryEntry"
3186
+ },
3187
+ {
3188
+ "$ref": "#/components/schemas/FileProxyUseCaseHistoryEntry"
3041
3189
  }
3042
3190
  ],
3043
3191
  "discriminator": {
3044
3192
  "propertyName": "type",
3045
3193
  "mapping": {
3046
3194
  "inbound": "#/components/schemas/InboundUseCaseHistoryEntry",
3047
- "outbound": "#/components/schemas/OutboundUseCaseHistoryEntry"
3195
+ "outbound": "#/components/schemas/OutboundUseCaseHistoryEntry",
3196
+ "file_proxy": "#/components/schemas/FileProxyUseCaseHistoryEntry"
3048
3197
  }
3049
3198
  }
3050
3199
  },
@@ -3156,6 +3305,192 @@
3156
3305
  }
3157
3306
  ]
3158
3307
  },
3308
+ "FileProxyUseCaseHistoryEntry": {
3309
+ "allOf": [
3310
+ {
3311
+ "$ref": "#/components/schemas/UseCaseHistoryEntryBase"
3312
+ },
3313
+ {
3314
+ "type": "object",
3315
+ "required": [
3316
+ "type"
3317
+ ],
3318
+ "properties": {
3319
+ "type": {
3320
+ "type": "string",
3321
+ "enum": [
3322
+ "file_proxy"
3323
+ ],
3324
+ "description": "Use case type"
3325
+ },
3326
+ "configuration": {
3327
+ "$ref": "#/components/schemas/FileProxyUseCaseConfiguration"
3328
+ }
3329
+ }
3330
+ }
3331
+ ]
3332
+ },
3333
+ "FileProxyUseCaseConfiguration": {
3334
+ "type": "object",
3335
+ "required": [
3336
+ "steps",
3337
+ "response"
3338
+ ],
3339
+ "description": "Configuration 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 `useCaseId` as query parameters.\nThe `orgId` is included in the signed URL to establish organization context without requiring authentication.\nAdditional use-case-specific parameters are declared in the `params` array.\n",
3340
+ "properties": {
3341
+ "requires_vpc": {
3342
+ "type": "boolean",
3343
+ "description": "Whether requests require VPC routing for IP allowlisting",
3344
+ "default": false
3345
+ },
3346
+ "auth": {
3347
+ "$ref": "#/components/schemas/FileProxyAuth"
3348
+ },
3349
+ "params": {
3350
+ "type": "array",
3351
+ "items": {
3352
+ "$ref": "#/components/schemas/FileProxyParam"
3353
+ },
3354
+ "description": "Additional use-case-specific parameters expected in the download URL query string (beyond the required orgId, integrationId, useCaseId)"
3355
+ },
3356
+ "steps": {
3357
+ "type": "array",
3358
+ "minItems": 1,
3359
+ "items": {
3360
+ "$ref": "#/components/schemas/FileProxyStep"
3361
+ },
3362
+ "description": "Ordered list of HTTP steps to execute to retrieve the file"
3363
+ },
3364
+ "response": {
3365
+ "$ref": "#/components/schemas/FileProxyResponseConfig"
3366
+ }
3367
+ }
3368
+ },
3369
+ "FileProxyAuth": {
3370
+ "type": "object",
3371
+ "required": [
3372
+ "type",
3373
+ "token_url",
3374
+ "client_id",
3375
+ "client_secret"
3376
+ ],
3377
+ "properties": {
3378
+ "type": {
3379
+ "type": "string",
3380
+ "enum": [
3381
+ "oauth2_client_credentials"
3382
+ ],
3383
+ "description": "Authentication type"
3384
+ },
3385
+ "token_url": {
3386
+ "type": "string",
3387
+ "description": "Handlebars template for the OAuth2 token endpoint URL"
3388
+ },
3389
+ "client_id": {
3390
+ "type": "string",
3391
+ "description": "Handlebars template for the OAuth2 client ID"
3392
+ },
3393
+ "client_secret": {
3394
+ "type": "string",
3395
+ "description": "Handlebars template for the OAuth2 client secret"
3396
+ },
3397
+ "scope": {
3398
+ "type": "string",
3399
+ "description": "Optional OAuth2 scope"
3400
+ }
3401
+ }
3402
+ },
3403
+ "FileProxyParam": {
3404
+ "type": "object",
3405
+ "required": [
3406
+ "name",
3407
+ "required"
3408
+ ],
3409
+ "properties": {
3410
+ "name": {
3411
+ "type": "string",
3412
+ "description": "Parameter name as it appears in the query string"
3413
+ },
3414
+ "required": {
3415
+ "type": "boolean",
3416
+ "description": "Whether this parameter is required"
3417
+ },
3418
+ "description": {
3419
+ "type": "string",
3420
+ "description": "Human-readable description of the parameter"
3421
+ }
3422
+ }
3423
+ },
3424
+ "FileProxyStep": {
3425
+ "type": "object",
3426
+ "required": [
3427
+ "url",
3428
+ "method",
3429
+ "response_type"
3430
+ ],
3431
+ "properties": {
3432
+ "url": {
3433
+ "type": "string",
3434
+ "description": "Handlebars template for the request URL"
3435
+ },
3436
+ "method": {
3437
+ "type": "string",
3438
+ "enum": [
3439
+ "GET",
3440
+ "POST"
3441
+ ],
3442
+ "description": "HTTP method"
3443
+ },
3444
+ "headers": {
3445
+ "type": "object",
3446
+ "additionalProperties": {
3447
+ "type": "string"
3448
+ },
3449
+ "description": "Handlebars templates for request headers"
3450
+ },
3451
+ "body": {
3452
+ "type": "string",
3453
+ "description": "Handlebars template for the request body (POST only)"
3454
+ },
3455
+ "response_type": {
3456
+ "type": "string",
3457
+ "enum": [
3458
+ "json",
3459
+ "binary"
3460
+ ],
3461
+ "description": "Expected response type"
3462
+ }
3463
+ }
3464
+ },
3465
+ "FileProxyResponseConfig": {
3466
+ "type": "object",
3467
+ "required": [
3468
+ "body",
3469
+ "encoding"
3470
+ ],
3471
+ "properties": {
3472
+ "body": {
3473
+ "type": "string",
3474
+ "description": "JSONata expression to extract file content from step results"
3475
+ },
3476
+ "encoding": {
3477
+ "type": "string",
3478
+ "enum": [
3479
+ "base64",
3480
+ "binary"
3481
+ ],
3482
+ "description": "Encoding of the extracted body"
3483
+ },
3484
+ "filename": {
3485
+ "type": "string",
3486
+ "description": "JSONata expression to extract the filename"
3487
+ },
3488
+ "content_type": {
3489
+ "type": "string",
3490
+ "description": "JSONata expression to extract the content type"
3491
+ }
3492
+ }
3493
+ },
3159
3494
  "MappingSimulationRequest": {
3160
3495
  "type": "object",
3161
3496
  "required": [
@@ -4110,6 +4445,9 @@
4110
4445
  "type": "string"
4111
4446
  }
4112
4447
  },
4448
+ "settings": {
4449
+ "$ref": "#/components/schemas/IntegrationSettings"
4450
+ },
4113
4451
  "use_cases": {
4114
4452
  "type": "array",
4115
4453
  "description": "All use cases belonging to this integration",
@@ -4154,6 +4492,9 @@
4154
4492
  "type": "string"
4155
4493
  }
4156
4494
  },
4495
+ "settings": {
4496
+ "$ref": "#/components/schemas/IntegrationSettings"
4497
+ },
4157
4498
  "use_cases": {
4158
4499
  "type": "array",
4159
4500
  "description": "Full list of use cases (declarative). This replaces ALL existing use cases.\n- Use cases with an `id` field matching an existing use case will be updated\n- Use cases without an `id` or with a non-matching `id` will be created\n- Existing use cases not in this list will be deleted\n",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/erp-integration-client",
3
- "version": "0.24.1",
3
+ "version": "0.24.3",
4
4
  "description": "Client library for ePilot ERP Integration API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -61,7 +61,7 @@
61
61
  },
62
62
  "devDependencies": {
63
63
  "@types/jest": "^26.0.20",
64
- "axios": "^1.11.0",
64
+ "axios": "^1.13.5",
65
65
  "copy-webpack-plugin": "^7.0.0",
66
66
  "jest": "^29.6.2",
67
67
  "json-loader": "^0.5.7",
@@ -70,7 +70,7 @@
70
70
  "ts-loader": "^8.0.14",
71
71
  "ts-node": "^10.9.1",
72
72
  "typescript": "^4.1.3",
73
- "webpack": "^5.18.0",
73
+ "webpack": "^5.104.1",
74
74
  "webpack-cli": "^4.4.0"
75
75
  }
76
76
  }