@epilot/erp-integration-client 0.26.1 → 0.27.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
@@ -205,6 +205,11 @@ declare namespace Components {
205
205
  * Use case name
206
206
  */
207
207
  name: string;
208
+ /**
209
+ * 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.
210
+ *
211
+ */
212
+ slug?: string; // ^[a-z0-9][a-z0-9_-]*$
208
213
  /**
209
214
  * Whether the use case is enabled
210
215
  */
@@ -216,7 +221,7 @@ declare namespace Components {
216
221
  configuration?: /**
217
222
  * Configuration for file_proxy use cases. Defines how to authenticate and fetch files from external document systems.
218
223
  *
219
- * The file proxy download URL always requires `orgId`, `integrationId`, and `useCaseId` as query parameters.
224
+ * The file proxy download URL always requires `orgId`, `integrationId`, and either `useCaseSlug` (recommended) or `useCaseId` (legacy UUID) as query parameters.
220
225
  * The `orgId` is included in the signed URL to establish organization context without requiring authentication.
221
226
  * Additional use-case-specific parameters are declared in the `params` array.
222
227
  *
@@ -228,6 +233,11 @@ declare namespace Components {
228
233
  * Use case name
229
234
  */
230
235
  name: string;
236
+ /**
237
+ * 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.
238
+ *
239
+ */
240
+ slug?: string; // ^[a-z0-9][a-z0-9_-]*$
231
241
  /**
232
242
  * Whether the use case is enabled
233
243
  */
@@ -266,6 +276,11 @@ declare namespace Components {
266
276
  * Use case name
267
277
  */
268
278
  name: string;
279
+ /**
280
+ * 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.
281
+ *
282
+ */
283
+ slug?: string; // ^[a-z0-9][a-z0-9_-]*$
269
284
  /**
270
285
  * Whether the use case is enabled
271
286
  */
@@ -282,6 +297,11 @@ declare namespace Components {
282
297
  * Use case name
283
298
  */
284
299
  name: string;
300
+ /**
301
+ * 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.
302
+ *
303
+ */
304
+ slug?: string; // ^[a-z0-9][a-z0-9_-]*$
285
305
  /**
286
306
  * Whether the use case is enabled
287
307
  */
@@ -331,6 +351,11 @@ declare namespace Components {
331
351
  * Use case name
332
352
  */
333
353
  name: string;
354
+ /**
355
+ * URL-safe identifier for the use case. Recommended for portable cross-environment referencing. Must be unique per integration. Immutable after creation.
356
+ *
357
+ */
358
+ slug?: string; // ^[a-z0-9][a-z0-9_-]*$
334
359
  /**
335
360
  * Whether the use case is enabled
336
361
  */
@@ -358,6 +383,11 @@ declare namespace Components {
358
383
  * Use case name
359
384
  */
360
385
  name: string;
386
+ /**
387
+ * URL-safe identifier for the use case. Recommended for portable cross-environment referencing. Must be unique per integration. Immutable after creation.
388
+ *
389
+ */
390
+ slug?: string; // ^[a-z0-9][a-z0-9_-]*$
361
391
  /**
362
392
  * Whether the use case is enabled
363
393
  */
@@ -386,6 +416,11 @@ declare namespace Components {
386
416
  * Use case name
387
417
  */
388
418
  name: string;
419
+ /**
420
+ * URL-safe identifier for the use case. Recommended for portable cross-environment referencing. Must be unique per integration. Immutable after creation.
421
+ *
422
+ */
423
+ slug?: string; // ^[a-z0-9][a-z0-9_-]*$
389
424
  /**
390
425
  * Whether the use case is enabled
391
426
  */
@@ -489,6 +524,11 @@ declare namespace Components {
489
524
  payload: /* The object data payload - can be either a serialized string or a direct JSON object */ string | {
490
525
  [name: string]: any;
491
526
  };
527
+ /**
528
+ * 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.
529
+ *
530
+ */
531
+ use_case_slug?: string; // ^[a-z0-9][a-z0-9_-]*$
492
532
  /**
493
533
  * Optional unique identifier for idempotency - prevents duplicate processing of the same event within 24 hours in context of the same integration. Must contain only alphanumeric characters, hyphens, and underscores.
494
534
  *
@@ -556,6 +596,32 @@ declare namespace Components {
556
596
  * Optional OAuth2 scope
557
597
  */
558
598
  scope?: string;
599
+ /**
600
+ * Handlebars template for the OAuth2 audience parameter
601
+ */
602
+ audience?: string;
603
+ /**
604
+ * Handlebars template for the OAuth2 resource parameter
605
+ */
606
+ resource?: string;
607
+ /**
608
+ * Additional key-value pairs to include in the token request body. Values support Handlebars templates.
609
+ */
610
+ body_params?: {
611
+ [name: string]: string;
612
+ };
613
+ /**
614
+ * Additional headers to include in the token request. Values support Handlebars templates.
615
+ */
616
+ headers?: {
617
+ [name: string]: string;
618
+ };
619
+ /**
620
+ * Additional query parameters to append to the token URL. Values support Handlebars templates.
621
+ */
622
+ query_params?: {
623
+ [name: string]: string;
624
+ };
559
625
  }
560
626
  export interface FileProxyParam {
561
627
  /**
@@ -614,20 +680,28 @@ declare namespace Components {
614
680
  response_type: "json" | "binary";
615
681
  }
616
682
  /**
617
- * Auto-constructs a file proxy download URL. orgId and integrationId are injected from context.
683
+ * Auto-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.
684
+ *
618
685
  */
619
- export interface FileProxyUrlConfig {
686
+ export type FileProxyUrlConfig = /**
687
+ * Auto-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.
688
+ *
689
+ */
690
+ {
620
691
  /**
621
- * UUID of the file_proxy use case. Maps to useCaseId query parameter.
692
+ * Recommended. Slug of the file_proxy use case. Maps to useCaseSlug query parameter. Portable across environments.
693
+ *
622
694
  */
623
- use_case_id: string;
695
+ use_case_slug: string; // ^[a-z0-9][a-z0-9_-]*$
696
+ params?: /* Custom query parameters. Keys become URL param names, values resolved from payload. */ FileProxyUrlParams;
697
+ } | {
624
698
  /**
625
- * Custom query parameters. Keys become URL param names, values resolved from payload.
699
+ * Legacy. UUID of the file_proxy use case. Maps to useCaseId query parameter. Prefer use_case_slug for portable configuration.
700
+ *
626
701
  */
627
- params?: {
628
- [name: string]: /* Parameter for file proxy URL. Exactly one of field, constant, or jsonataExpression must be set. */ FileProxyUrlParam;
629
- };
630
- }
702
+ use_case_id: string;
703
+ params?: /* Custom query parameters. Keys become URL param names, values resolved from payload. */ FileProxyUrlParams;
704
+ };
631
705
  /**
632
706
  * Parameter for file proxy URL. Exactly one of field, constant, or jsonataExpression must be set.
633
707
  */
@@ -647,6 +721,12 @@ declare namespace Components {
647
721
  */
648
722
  jsonataExpression: string;
649
723
  };
724
+ /**
725
+ * Custom query parameters. Keys become URL param names, values resolved from payload.
726
+ */
727
+ export interface FileProxyUrlParams {
728
+ [name: string]: /* Parameter for file proxy URL. Exactly one of field, constant, or jsonataExpression must be set. */ FileProxyUrlParam;
729
+ }
650
730
  export interface FileProxyUseCase {
651
731
  /**
652
732
  * Unique identifier for the use case
@@ -660,6 +740,11 @@ declare namespace Components {
660
740
  * Use case name
661
741
  */
662
742
  name: string;
743
+ /**
744
+ * 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.
745
+ *
746
+ */
747
+ slug?: string; // ^[a-z0-9][a-z0-9_-]*$
663
748
  /**
664
749
  * Use case type
665
750
  */
@@ -680,7 +765,7 @@ declare namespace Components {
680
765
  configuration?: /**
681
766
  * Configuration for file_proxy use cases. Defines how to authenticate and fetch files from external document systems.
682
767
  *
683
- * The file proxy download URL always requires `orgId`, `integrationId`, and `useCaseId` as query parameters.
768
+ * The file proxy download URL always requires `orgId`, `integrationId`, and either `useCaseSlug` (recommended) or `useCaseId` (legacy UUID) as query parameters.
684
769
  * The `orgId` is included in the signed URL to establish organization context without requiring authentication.
685
770
  * Additional use-case-specific parameters are declared in the `params` array.
686
771
  *
@@ -690,7 +775,7 @@ declare namespace Components {
690
775
  /**
691
776
  * Configuration for file_proxy use cases. Defines how to authenticate and fetch files from external document systems.
692
777
  *
693
- * The file proxy download URL always requires `orgId`, `integrationId`, and `useCaseId` as query parameters.
778
+ * The file proxy download URL always requires `orgId`, `integrationId`, and either `useCaseSlug` (recommended) or `useCaseId` (legacy UUID) as query parameters.
694
779
  * The `orgId` is included in the signed URL to establish organization context without requiring authentication.
695
780
  * Additional use-case-specific parameters are declared in the `params` array.
696
781
  *
@@ -702,7 +787,7 @@ declare namespace Components {
702
787
  requires_vpc?: boolean;
703
788
  auth?: FileProxyAuth;
704
789
  /**
705
- * Additional use-case-specific parameters expected in the download URL query string (beyond the required orgId, integrationId, useCaseId)
790
+ * Additional use-case-specific parameters expected in the download URL query string (beyond the required orgId, integrationId, and useCaseSlug or useCaseId)
706
791
  */
707
792
  params?: FileProxyParam[];
708
793
  /**
@@ -731,6 +816,10 @@ declare namespace Components {
731
816
  * Use case name at this point in history
732
817
  */
733
818
  name: string;
819
+ /**
820
+ * Use case slug at this point in history
821
+ */
822
+ slug?: string;
734
823
  /**
735
824
  * Whether the use case was enabled at this point in history
736
825
  */
@@ -758,7 +847,7 @@ declare namespace Components {
758
847
  configuration?: /**
759
848
  * Configuration for file_proxy use cases. Defines how to authenticate and fetch files from external document systems.
760
849
  *
761
- * The file proxy download URL always requires `orgId`, `integrationId`, and `useCaseId` as query parameters.
850
+ * The file proxy download URL always requires `orgId`, `integrationId`, and either `useCaseSlug` (recommended) or `useCaseId` (legacy UUID) as query parameters.
762
851
  * The `orgId` is included in the signed URL to establish organization context without requiring authentication.
763
852
  * Additional use-case-specific parameters are declared in the `params` array.
764
853
  *
@@ -911,6 +1000,11 @@ declare namespace Components {
911
1000
  * Use case name
912
1001
  */
913
1002
  name: string;
1003
+ /**
1004
+ * 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.
1005
+ *
1006
+ */
1007
+ slug?: string; // ^[a-z0-9][a-z0-9_-]*$
914
1008
  /**
915
1009
  * Use case type
916
1010
  */
@@ -947,6 +1041,10 @@ declare namespace Components {
947
1041
  * Use case name at this point in history
948
1042
  */
949
1043
  name: string;
1044
+ /**
1045
+ * Use case slug at this point in history
1046
+ */
1047
+ slug?: string;
950
1048
  /**
951
1049
  * Whether the use case was enabled at this point in history
952
1050
  */
@@ -1146,7 +1244,11 @@ declare namespace Components {
1146
1244
  *
1147
1245
  */
1148
1246
  RelationRefsConfig;
1149
- file_proxy_url?: /* Auto-constructs a file proxy download URL. orgId and integrationId are injected from context. */ FileProxyUrlConfig;
1247
+ file_proxy_url?: /**
1248
+ * Auto-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.
1249
+ *
1250
+ */
1251
+ FileProxyUrlConfig;
1150
1252
  }
1151
1253
  export interface IntegrationFieldV1 {
1152
1254
  /**
@@ -1604,6 +1706,11 @@ declare namespace Components {
1604
1706
  * Use case name
1605
1707
  */
1606
1708
  name: string;
1709
+ /**
1710
+ * 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.
1711
+ *
1712
+ */
1713
+ slug?: string; // ^[a-z0-9][a-z0-9_-]*$
1607
1714
  /**
1608
1715
  * Use case type
1609
1716
  */
@@ -1640,6 +1747,10 @@ declare namespace Components {
1640
1747
  * Use case name at this point in history
1641
1748
  */
1642
1749
  name: string;
1750
+ /**
1751
+ * Use case slug at this point in history
1752
+ */
1753
+ slug?: string;
1643
1754
  /**
1644
1755
  * Whether the use case was enabled at this point in history
1645
1756
  */
@@ -2299,6 +2410,11 @@ declare namespace Components {
2299
2410
  * Use case name
2300
2411
  */
2301
2412
  name?: string;
2413
+ /**
2414
+ * 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.
2415
+ *
2416
+ */
2417
+ slug?: string; // ^[a-z0-9][a-z0-9_-]*$
2302
2418
  /**
2303
2419
  * Whether the use case is enabled
2304
2420
  */
@@ -2314,7 +2430,7 @@ declare namespace Components {
2314
2430
  configuration?: /**
2315
2431
  * Configuration for file_proxy use cases. Defines how to authenticate and fetch files from external document systems.
2316
2432
  *
2317
- * The file proxy download URL always requires `orgId`, `integrationId`, and `useCaseId` as query parameters.
2433
+ * The file proxy download URL always requires `orgId`, `integrationId`, and either `useCaseSlug` (recommended) or `useCaseId` (legacy UUID) as query parameters.
2318
2434
  * The `orgId` is included in the signed URL to establish organization context without requiring authentication.
2319
2435
  * Additional use-case-specific parameters are declared in the `params` array.
2320
2436
  *
@@ -2326,6 +2442,11 @@ declare namespace Components {
2326
2442
  * Use case name
2327
2443
  */
2328
2444
  name?: string;
2445
+ /**
2446
+ * 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.
2447
+ *
2448
+ */
2449
+ slug?: string; // ^[a-z0-9][a-z0-9_-]*$
2329
2450
  /**
2330
2451
  * Whether the use case is enabled
2331
2452
  */
@@ -2346,6 +2467,11 @@ declare namespace Components {
2346
2467
  * Use case name
2347
2468
  */
2348
2469
  name?: string;
2470
+ /**
2471
+ * 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.
2472
+ *
2473
+ */
2474
+ slug?: string; // ^[a-z0-9][a-z0-9_-]*$
2349
2475
  /**
2350
2476
  * Whether the use case is enabled
2351
2477
  */
@@ -2366,6 +2492,11 @@ declare namespace Components {
2366
2492
  * Use case name
2367
2493
  */
2368
2494
  name?: string;
2495
+ /**
2496
+ * 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.
2497
+ *
2498
+ */
2499
+ slug?: string; // ^[a-z0-9][a-z0-9_-]*$
2369
2500
  /**
2370
2501
  * Whether the use case is enabled
2371
2502
  */
@@ -2425,6 +2556,11 @@ declare namespace Components {
2425
2556
  * Use case name
2426
2557
  */
2427
2558
  name: string;
2559
+ /**
2560
+ * 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.
2561
+ *
2562
+ */
2563
+ slug?: string; // ^[a-z0-9][a-z0-9_-]*$
2428
2564
  /**
2429
2565
  * Use case type
2430
2566
  */
@@ -2461,6 +2597,10 @@ declare namespace Components {
2461
2597
  * Use case name at this point in history
2462
2598
  */
2463
2599
  name: string;
2600
+ /**
2601
+ * Use case slug at this point in history
2602
+ */
2603
+ slug?: string;
2464
2604
  /**
2465
2605
  * Whether the use case was enabled at this point in history
2466
2606
  */
@@ -3870,6 +4010,7 @@ export type FileProxyResponseConfig = Components.Schemas.FileProxyResponseConfig
3870
4010
  export type FileProxyStep = Components.Schemas.FileProxyStep;
3871
4011
  export type FileProxyUrlConfig = Components.Schemas.FileProxyUrlConfig;
3872
4012
  export type FileProxyUrlParam = Components.Schemas.FileProxyUrlParam;
4013
+ export type FileProxyUrlParams = Components.Schemas.FileProxyUrlParams;
3873
4014
  export type FileProxyUseCase = Components.Schemas.FileProxyUseCase;
3874
4015
  export type FileProxyUseCaseConfiguration = Components.Schemas.FileProxyUseCaseConfiguration;
3875
4016
  export type FileProxyUseCaseHistoryEntry = Components.Schemas.FileProxyUseCaseHistoryEntry;
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.43.0",
5
+ "version": "0.45.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": [
@@ -2404,6 +2404,13 @@
2404
2404
  ],
2405
2405
  "description": "The object data payload - can be either a serialized string or a direct JSON object"
2406
2406
  },
2407
+ "use_case_slug": {
2408
+ "type": "string",
2409
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
2410
+ "minLength": 1,
2411
+ "maxLength": 255,
2412
+ "description": "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.\n"
2413
+ },
2407
2414
  "deduplication_id": {
2408
2415
  "type": "string",
2409
2416
  "pattern": "^[a-zA-Z0-9_-]+$",
@@ -3095,25 +3102,48 @@
3095
3102
  }
3096
3103
  ]
3097
3104
  },
3098
- "FileProxyUrlConfig": {
3105
+ "FileProxyUrlParams": {
3099
3106
  "type": "object",
3100
- "required": [
3101
- "use_case_id"
3102
- ],
3103
- "description": "Auto-constructs a file proxy download URL. orgId and integrationId are injected from context.",
3104
- "properties": {
3105
- "use_case_id": {
3106
- "type": "string",
3107
- "description": "UUID of the file_proxy use case. Maps to useCaseId query parameter."
3107
+ "description": "Custom query parameters. Keys become URL param names, values resolved from payload.",
3108
+ "additionalProperties": {
3109
+ "$ref": "#/components/schemas/FileProxyUrlParam"
3110
+ }
3111
+ },
3112
+ "FileProxyUrlConfig": {
3113
+ "description": "Auto-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",
3114
+ "oneOf": [
3115
+ {
3116
+ "type": "object",
3117
+ "required": [
3118
+ "use_case_slug"
3119
+ ],
3120
+ "properties": {
3121
+ "use_case_slug": {
3122
+ "type": "string",
3123
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
3124
+ "description": "Recommended. Slug of the file_proxy use case. Maps to useCaseSlug query parameter. Portable across environments.\n"
3125
+ },
3126
+ "params": {
3127
+ "$ref": "#/components/schemas/FileProxyUrlParams"
3128
+ }
3129
+ }
3108
3130
  },
3109
- "params": {
3131
+ {
3110
3132
  "type": "object",
3111
- "description": "Custom query parameters. Keys become URL param names, values resolved from payload.",
3112
- "additionalProperties": {
3113
- "$ref": "#/components/schemas/FileProxyUrlParam"
3133
+ "required": [
3134
+ "use_case_id"
3135
+ ],
3136
+ "properties": {
3137
+ "use_case_id": {
3138
+ "type": "string",
3139
+ "description": "Legacy. UUID of the file_proxy use case. Maps to useCaseId query parameter. Prefer use_case_slug for portable configuration.\n"
3140
+ },
3141
+ "params": {
3142
+ "$ref": "#/components/schemas/FileProxyUrlParams"
3143
+ }
3114
3144
  }
3115
3145
  }
3116
- }
3146
+ ]
3117
3147
  },
3118
3148
  "EmbeddedUseCaseRequest": {
3119
3149
  "oneOf": [
@@ -3151,6 +3181,13 @@
3151
3181
  "maxLength": 255,
3152
3182
  "description": "Use case name"
3153
3183
  },
3184
+ "slug": {
3185
+ "type": "string",
3186
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
3187
+ "minLength": 1,
3188
+ "maxLength": 255,
3189
+ "description": "URL-safe identifier for the use case. Recommended for portable cross-environment referencing. Must be unique per integration. Immutable after creation.\n"
3190
+ },
3154
3191
  "enabled": {
3155
3192
  "type": "boolean",
3156
3193
  "description": "Whether the use case is enabled"
@@ -3238,6 +3275,13 @@
3238
3275
  "type": "string",
3239
3276
  "description": "Use case name"
3240
3277
  },
3278
+ "slug": {
3279
+ "type": "string",
3280
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
3281
+ "minLength": 1,
3282
+ "maxLength": 255,
3283
+ "description": "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.\n"
3284
+ },
3241
3285
  "type": {
3242
3286
  "type": "string",
3243
3287
  "enum": [
@@ -3398,6 +3442,13 @@
3398
3442
  "maxLength": 255,
3399
3443
  "description": "Use case name"
3400
3444
  },
3445
+ "slug": {
3446
+ "type": "string",
3447
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
3448
+ "minLength": 1,
3449
+ "maxLength": 255,
3450
+ "description": "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.\n"
3451
+ },
3401
3452
  "enabled": {
3402
3453
  "type": "boolean",
3403
3454
  "description": "Whether the use case is enabled"
@@ -3509,6 +3560,13 @@
3509
3560
  "maxLength": 255,
3510
3561
  "description": "Use case name"
3511
3562
  },
3563
+ "slug": {
3564
+ "type": "string",
3565
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
3566
+ "minLength": 1,
3567
+ "maxLength": 255,
3568
+ "description": "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.\n"
3569
+ },
3512
3570
  "enabled": {
3513
3571
  "type": "boolean",
3514
3572
  "description": "Whether the use case is enabled"
@@ -3640,6 +3698,10 @@
3640
3698
  "type": "string",
3641
3699
  "description": "Use case name at this point in history"
3642
3700
  },
3701
+ "slug": {
3702
+ "type": "string",
3703
+ "description": "Use case slug at this point in history"
3704
+ },
3643
3705
  "enabled": {
3644
3706
  "type": "boolean",
3645
3707
  "description": "Whether the use case was enabled at this point in history"
@@ -3746,7 +3808,7 @@
3746
3808
  "steps",
3747
3809
  "response"
3748
3810
  ],
3749
- "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",
3811
+ "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 either `useCaseSlug` (recommended) or `useCaseId` (legacy UUID) 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",
3750
3812
  "properties": {
3751
3813
  "requires_vpc": {
3752
3814
  "type": "boolean",
@@ -3762,7 +3824,7 @@
3762
3824
  "items": {
3763
3825
  "$ref": "#/components/schemas/FileProxyParam"
3764
3826
  },
3765
- "description": "Additional use-case-specific parameters expected in the download URL query string (beyond the required orgId, integrationId, useCaseId)"
3827
+ "description": "Additional use-case-specific parameters expected in the download URL query string (beyond the required orgId, integrationId, and useCaseSlug or useCaseId)"
3766
3828
  },
3767
3829
  "steps": {
3768
3830
  "type": "array",
@@ -3808,6 +3870,35 @@
3808
3870
  "scope": {
3809
3871
  "type": "string",
3810
3872
  "description": "Optional OAuth2 scope"
3873
+ },
3874
+ "audience": {
3875
+ "type": "string",
3876
+ "description": "Handlebars template for the OAuth2 audience parameter"
3877
+ },
3878
+ "resource": {
3879
+ "type": "string",
3880
+ "description": "Handlebars template for the OAuth2 resource parameter"
3881
+ },
3882
+ "body_params": {
3883
+ "type": "object",
3884
+ "additionalProperties": {
3885
+ "type": "string"
3886
+ },
3887
+ "description": "Additional key-value pairs to include in the token request body. Values support Handlebars templates."
3888
+ },
3889
+ "headers": {
3890
+ "type": "object",
3891
+ "additionalProperties": {
3892
+ "type": "string"
3893
+ },
3894
+ "description": "Additional headers to include in the token request. Values support Handlebars templates."
3895
+ },
3896
+ "query_params": {
3897
+ "type": "object",
3898
+ "additionalProperties": {
3899
+ "type": "string"
3900
+ },
3901
+ "description": "Additional query parameters to append to the token URL. Values support Handlebars templates."
3811
3902
  }
3812
3903
  }
3813
3904
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/erp-integration-client",
3
- "version": "0.26.1",
3
+ "version": "0.27.0",
4
4
  "description": "Client library for ePilot ERP Integration API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",