@epilot/sdk 2.18.20 → 2.18.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/definitions/ai-agents.json +121 -27
  2. package/definitions/customer-portal-runtime.json +1 -1
  3. package/definitions/customer-portal.json +207 -17
  4. package/definitions/integration-toolkit.json +26 -6
  5. package/dist/ai-agents-ME5VRKMY.cjs +7 -0
  6. package/dist/ai-agents-MY4QE4CP.js +7 -0
  7. package/dist/{ai-agents.d-BnR7CAeJ.d.cts → ai-agents.d-B3TkP4mo.d.cts} +152 -52
  8. package/dist/{ai-agents.d-BnR7CAeJ.d.ts → ai-agents.d-B3TkP4mo.d.ts} +152 -52
  9. package/dist/apis/access-token.cjs +6 -6
  10. package/dist/apis/access-token.js +1 -1
  11. package/dist/apis/address-suggestions.cjs +6 -6
  12. package/dist/apis/address-suggestions.js +1 -1
  13. package/dist/apis/address.cjs +6 -6
  14. package/dist/apis/address.js +1 -1
  15. package/dist/apis/ai-agents.cjs +6 -6
  16. package/dist/apis/ai-agents.d.cts +2 -2
  17. package/dist/apis/ai-agents.d.ts +2 -2
  18. package/dist/apis/ai-agents.js +1 -1
  19. package/dist/apis/app.cjs +6 -6
  20. package/dist/apis/app.js +1 -1
  21. package/dist/apis/audit-logs.cjs +6 -6
  22. package/dist/apis/audit-logs.js +1 -1
  23. package/dist/apis/automation.cjs +6 -6
  24. package/dist/apis/automation.js +1 -1
  25. package/dist/apis/billing.cjs +6 -6
  26. package/dist/apis/billing.js +1 -1
  27. package/dist/apis/blueprint-manifest.cjs +6 -6
  28. package/dist/apis/blueprint-manifest.js +1 -1
  29. package/dist/apis/calendar.cjs +6 -6
  30. package/dist/apis/calendar.js +1 -1
  31. package/dist/apis/configuration-hub.cjs +6 -6
  32. package/dist/apis/configuration-hub.js +1 -1
  33. package/dist/apis/consent.cjs +6 -6
  34. package/dist/apis/consent.js +1 -1
  35. package/dist/apis/customer-portal.cjs +8 -8
  36. package/dist/apis/customer-portal.d.cts +2 -2
  37. package/dist/apis/customer-portal.d.ts +2 -2
  38. package/dist/apis/customer-portal.js +2 -2
  39. package/dist/apis/dashboard.cjs +6 -6
  40. package/dist/apis/dashboard.js +1 -1
  41. package/dist/apis/data-governance.cjs +6 -6
  42. package/dist/apis/data-governance.js +1 -1
  43. package/dist/apis/deduplication.cjs +6 -6
  44. package/dist/apis/deduplication.js +1 -1
  45. package/dist/apis/design.cjs +6 -6
  46. package/dist/apis/design.js +1 -1
  47. package/dist/apis/document.cjs +6 -6
  48. package/dist/apis/document.js +1 -1
  49. package/dist/apis/email-settings.cjs +6 -6
  50. package/dist/apis/email-settings.js +1 -1
  51. package/dist/apis/email-template.cjs +6 -6
  52. package/dist/apis/email-template.js +1 -1
  53. package/dist/apis/entity-mapping.cjs +6 -6
  54. package/dist/apis/entity-mapping.js +1 -1
  55. package/dist/apis/entity.cjs +6 -6
  56. package/dist/apis/entity.js +1 -1
  57. package/dist/apis/environments.cjs +6 -6
  58. package/dist/apis/environments.js +1 -1
  59. package/dist/apis/event-catalog.cjs +6 -6
  60. package/dist/apis/event-catalog.js +1 -1
  61. package/dist/apis/file.cjs +6 -6
  62. package/dist/apis/file.js +1 -1
  63. package/dist/apis/iban.cjs +6 -6
  64. package/dist/apis/iban.js +1 -1
  65. package/dist/apis/integration-toolkit.cjs +6 -6
  66. package/dist/apis/integration-toolkit.d.cts +2 -2
  67. package/dist/apis/integration-toolkit.d.ts +2 -2
  68. package/dist/apis/integration-toolkit.js +1 -1
  69. package/dist/apis/journey.cjs +6 -6
  70. package/dist/apis/journey.js +1 -1
  71. package/dist/apis/kanban.cjs +6 -6
  72. package/dist/apis/kanban.js +1 -1
  73. package/dist/apis/message.cjs +6 -6
  74. package/dist/apis/message.js +1 -1
  75. package/dist/apis/metering.cjs +6 -6
  76. package/dist/apis/metering.js +1 -1
  77. package/dist/apis/notes.cjs +6 -6
  78. package/dist/apis/notes.js +1 -1
  79. package/dist/apis/notification.cjs +6 -6
  80. package/dist/apis/notification.js +1 -1
  81. package/dist/apis/organization.cjs +6 -6
  82. package/dist/apis/organization.js +1 -1
  83. package/dist/apis/partner-directory.cjs +6 -6
  84. package/dist/apis/partner-directory.js +1 -1
  85. package/dist/apis/permissions.cjs +6 -6
  86. package/dist/apis/permissions.js +1 -1
  87. package/dist/apis/pricing-tier.cjs +6 -6
  88. package/dist/apis/pricing-tier.js +1 -1
  89. package/dist/apis/pricing.cjs +6 -6
  90. package/dist/apis/pricing.js +1 -1
  91. package/dist/apis/purpose.cjs +6 -6
  92. package/dist/apis/purpose.js +1 -1
  93. package/dist/apis/query.cjs +6 -6
  94. package/dist/apis/query.js +1 -1
  95. package/dist/apis/sandbox.cjs +6 -6
  96. package/dist/apis/sandbox.js +1 -1
  97. package/dist/apis/sharing.cjs +6 -6
  98. package/dist/apis/sharing.js +1 -1
  99. package/dist/apis/snapshot.cjs +6 -6
  100. package/dist/apis/snapshot.js +1 -1
  101. package/dist/apis/submission.cjs +6 -6
  102. package/dist/apis/submission.js +1 -1
  103. package/dist/apis/target.cjs +6 -6
  104. package/dist/apis/target.js +1 -1
  105. package/dist/apis/targeting.cjs +6 -6
  106. package/dist/apis/targeting.js +1 -1
  107. package/dist/apis/template-variables.cjs +6 -6
  108. package/dist/apis/template-variables.js +1 -1
  109. package/dist/apis/user.cjs +6 -6
  110. package/dist/apis/user.js +1 -1
  111. package/dist/apis/validation-rules.cjs +6 -6
  112. package/dist/apis/validation-rules.js +1 -1
  113. package/dist/apis/webhooks.cjs +6 -6
  114. package/dist/apis/webhooks.js +1 -1
  115. package/dist/apis/workflow-definition.cjs +6 -6
  116. package/dist/apis/workflow-definition.js +1 -1
  117. package/dist/apis/workflow.cjs +6 -6
  118. package/dist/apis/workflow.js +1 -1
  119. package/dist/{chunk-EPDH37RS.js → chunk-AWKA7GZQ.js} +1 -1
  120. package/dist/{chunk-YGOX7IZC.cjs → chunk-QAEAAKLA.cjs} +4 -4
  121. package/dist/{chunk-LKV3RKOP.cjs → chunk-QKEPXYEF.cjs} +1 -1
  122. package/dist/{chunk-JH7NETLC.js → chunk-S6BWLYUQ.js} +4 -4
  123. package/dist/customer-portal-JLUT56QQ.js +7 -0
  124. package/dist/customer-portal-NUYHT3HX.cjs +7 -0
  125. package/dist/{customer-portal-runtime-FZQLCEJQ.js → customer-portal-runtime-6CECA6UW.js} +1 -1
  126. package/dist/{customer-portal-runtime-7WW3YRWJ.cjs → customer-portal-runtime-QMONBHLN.cjs} +2 -2
  127. package/dist/{customer-portal.d-JVkJjm_e.d.cts → customer-portal.d-Ce8-UnSY.d.cts} +794 -42
  128. package/dist/{customer-portal.d-JVkJjm_e.d.ts → customer-portal.d-Ce8-UnSY.d.ts} +794 -42
  129. package/dist/index.cjs +10 -10
  130. package/dist/index.d.cts +3 -3
  131. package/dist/index.d.ts +3 -3
  132. package/dist/index.js +2 -2
  133. package/dist/integration-toolkit-LMRJVLJA.js +7 -0
  134. package/dist/integration-toolkit-YMVNGSQ5.cjs +7 -0
  135. package/dist/{integration-toolkit.d-CoMi10QU.d.ts → integration-toolkit.d-Dj-tULW0.d.cts} +26 -13
  136. package/dist/{integration-toolkit.d-CoMi10QU.d.cts → integration-toolkit.d-Dj-tULW0.d.ts} +26 -13
  137. package/docs/ai-agents.md +76 -19
  138. package/docs/customer-portal.md +209 -13
  139. package/docs/integration-toolkit.md +6 -5
  140. package/package.json +1 -1
  141. package/dist/ai-agents-3JK4UU2G.js +0 -7
  142. package/dist/ai-agents-XST3YUFA.cjs +0 -7
  143. package/dist/customer-portal-JDIXJD6C.cjs +0 -7
  144. package/dist/customer-portal-WIRQ7UCN.js +0 -7
  145. package/dist/integration-toolkit-GR4ZQAY5.cjs +0 -7
  146. package/dist/integration-toolkit-XGQNDLIZ.js +0 -7
@@ -1347,6 +1347,12 @@ declare namespace Components {
1347
1347
  * Return a sample of the file's first rows in `preview`. Only controls whether the sample comes BACK — the head is read either way, because that read is how an unreadable file gets refused.
1348
1348
  */
1349
1349
  include_preview?: boolean;
1350
+ /**
1351
+ * Repoint an EXISTING import at this file instead of registering a new one — same row, same id, so iterating on which file to import leaves one entry in the history rather than one per attempt.
1352
+ * Only a PENDING import may be repointed; any other status returns 409 with code `IMPORT_NOT_REPLACEABLE`. Past the first check the previous verdict is what tells the user what to fix, and a job that reached the execute phase may already have published rows under `correlation_id`.
1353
+ * An id that names nothing returns 404. It never falls back to registering a new import: a stale id must fail loudly rather than quietly produce a second one.
1354
+ */
1355
+ import_id?: string;
1350
1356
  }
1351
1357
  export interface CreateErpImportResponse {
1352
1358
  job: ErpImportJob;
@@ -2659,9 +2665,10 @@ declare namespace Components {
2659
2665
  }
2660
2666
  /**
2661
2667
  * Upload-side settings for a file_proxy use case with `direction: upload`.
2662
- * Everything about WHAT is sent lives on the outbound mapping
2663
- * (see `FileProxyDeliveryConfig`); this object only governs HOW the transfer is bounded
2664
- * and judged.
2668
+ * The surrounding file_proxy configuration owns WHAT and HOW to send: `fan_out`,
2669
+ * `file_source`, `params_mapping`, lookups, constants, auth, and steps. This nested object
2670
+ * governs upload-specific limits and how the final external response is judged. The
2671
+ * outbound mapping remains a pure pointer to the recipe (see `FileProxyDeliveryConfig`).
2665
2672
  *
2666
2673
  */
2667
2674
  export interface FileProxyUploadConfig {
@@ -2673,10 +2680,10 @@ declare namespace Components {
2673
2680
  */
2674
2681
  max_file_bytes?: number;
2675
2682
  /**
2676
- * Maximum delivery attempts per item before the delivery is marked failed and the
2677
- * message is dead-lettered. Attempts are spaced by an exponential, jittered backoff
2678
- * spanning roughly 16 hours over the default 8 attempts, so an ERP maintenance window
2679
- * does not exhaust them.
2683
+ * Maximum delivery attempts per item before the delivery is marked failed. Attempts
2684
+ * are spaced by an exponential, jittered backoff. The default 8 attempts schedule at
2685
+ * most 7 delays, totaling about 7 hours 40 minutes before jitter, so a normal ERP
2686
+ * maintenance window does not immediately exhaust them.
2680
2687
  *
2681
2688
  * Lives here rather than on the outbound delivery because how hard to retry is a
2682
2689
  * property of the transport — the same judgement as `max_file_bytes` — and the outbound
@@ -2853,9 +2860,10 @@ declare namespace Components {
2853
2860
  direction?: "download" | "upload";
2854
2861
  upload?: /**
2855
2862
  * Upload-side settings for a file_proxy use case with `direction: upload`.
2856
- * Everything about WHAT is sent lives on the outbound mapping
2857
- * (see `FileProxyDeliveryConfig`); this object only governs HOW the transfer is bounded
2858
- * and judged.
2863
+ * The surrounding file_proxy configuration owns WHAT and HOW to send: `fan_out`,
2864
+ * `file_source`, `params_mapping`, lookups, constants, auth, and steps. This nested object
2865
+ * governs upload-specific limits and how the final external response is judged. The
2866
+ * outbound mapping remains a pure pointer to the recipe (see `FileProxyDeliveryConfig`).
2859
2867
  *
2860
2868
  */
2861
2869
  FileProxyUploadConfig;
@@ -5345,7 +5353,7 @@ declare namespace Components {
5345
5353
  */
5346
5354
  export interface OutboundMapping {
5347
5355
  /**
5348
- * Unique identifier for this mapping
5356
+ * Unique identifier for this mapping; generated by the API when omitted
5349
5357
  */
5350
5358
  id?: string; // uuid
5351
5359
  /**
@@ -7474,9 +7482,12 @@ declare namespace Paths {
7474
7482
  namespace CreateErpImport {
7475
7483
  export type RequestBody = /* Register an already-uploaded file as an import. The use case is chosen later, via `:validate` — upload and interpretation are separate decisions. */ Components.Schemas.CreateErpImportRequest;
7476
7484
  namespace Responses {
7485
+ export type $200 = Components.Schemas.CreateErpImportResponse;
7477
7486
  export type $201 = Components.Schemas.CreateErpImportResponse;
7478
7487
  export type $400 = Components.Responses.BadRequest;
7479
7488
  export type $403 = Components.Responses.Forbidden;
7489
+ export type $404 = Components.Responses.NotFound;
7490
+ export type $409 = Components.Responses.Conflict;
7480
7491
  export type $500 = Components.Responses.InternalServerError;
7481
7492
  }
7482
7493
  }
@@ -9358,12 +9369,13 @@ interface OperationMethods {
9358
9369
  * createErpImport - createErpImport
9359
9370
  *
9360
9371
  * Register an already-uploaded file (S3 ref) as a pricing-file import job. Returns the job and a file preview. Nothing runs yet: no use case is chosen and no validation starts here. Optionally rank candidates with POST /v2/erp/imports/{importId}:suggest-use-cases, then start validation with POST /v2/erp/imports/{importId}:validate.
9372
+ * Pass `import_id` to repoint an existing PENDING import at a different file instead, keeping its id and its place in the history.
9361
9373
  */
9362
9374
  'createErpImport'(
9363
9375
  parameters?: Parameters<UnknownParamsObject> | null,
9364
9376
  data?: Paths.CreateErpImport.RequestBody,
9365
9377
  config?: AxiosRequestConfig
9366
- ): OperationResponse<Paths.CreateErpImport.Responses.$201>
9378
+ ): OperationResponse<Paths.CreateErpImport.Responses.$200 | Paths.CreateErpImport.Responses.$201>
9367
9379
  /**
9368
9380
  * getErpImport - getErpImport
9369
9381
  *
@@ -10305,12 +10317,13 @@ interface PathsDictionary {
10305
10317
  * createErpImport - createErpImport
10306
10318
  *
10307
10319
  * Register an already-uploaded file (S3 ref) as a pricing-file import job. Returns the job and a file preview. Nothing runs yet: no use case is chosen and no validation starts here. Optionally rank candidates with POST /v2/erp/imports/{importId}:suggest-use-cases, then start validation with POST /v2/erp/imports/{importId}:validate.
10320
+ * Pass `import_id` to repoint an existing PENDING import at a different file instead, keeping its id and its place in the history.
10308
10321
  */
10309
10322
  'post'(
10310
10323
  parameters?: Parameters<UnknownParamsObject> | null,
10311
10324
  data?: Paths.CreateErpImport.RequestBody,
10312
10325
  config?: AxiosRequestConfig
10313
- ): OperationResponse<Paths.CreateErpImport.Responses.$201>
10326
+ ): OperationResponse<Paths.CreateErpImport.Responses.$200 | Paths.CreateErpImport.Responses.$201>
10314
10327
  /**
10315
10328
  * listErpImports - listErpImports
10316
10329
  *
@@ -1347,6 +1347,12 @@ declare namespace Components {
1347
1347
  * Return a sample of the file's first rows in `preview`. Only controls whether the sample comes BACK — the head is read either way, because that read is how an unreadable file gets refused.
1348
1348
  */
1349
1349
  include_preview?: boolean;
1350
+ /**
1351
+ * Repoint an EXISTING import at this file instead of registering a new one — same row, same id, so iterating on which file to import leaves one entry in the history rather than one per attempt.
1352
+ * Only a PENDING import may be repointed; any other status returns 409 with code `IMPORT_NOT_REPLACEABLE`. Past the first check the previous verdict is what tells the user what to fix, and a job that reached the execute phase may already have published rows under `correlation_id`.
1353
+ * An id that names nothing returns 404. It never falls back to registering a new import: a stale id must fail loudly rather than quietly produce a second one.
1354
+ */
1355
+ import_id?: string;
1350
1356
  }
1351
1357
  export interface CreateErpImportResponse {
1352
1358
  job: ErpImportJob;
@@ -2659,9 +2665,10 @@ declare namespace Components {
2659
2665
  }
2660
2666
  /**
2661
2667
  * Upload-side settings for a file_proxy use case with `direction: upload`.
2662
- * Everything about WHAT is sent lives on the outbound mapping
2663
- * (see `FileProxyDeliveryConfig`); this object only governs HOW the transfer is bounded
2664
- * and judged.
2668
+ * The surrounding file_proxy configuration owns WHAT and HOW to send: `fan_out`,
2669
+ * `file_source`, `params_mapping`, lookups, constants, auth, and steps. This nested object
2670
+ * governs upload-specific limits and how the final external response is judged. The
2671
+ * outbound mapping remains a pure pointer to the recipe (see `FileProxyDeliveryConfig`).
2665
2672
  *
2666
2673
  */
2667
2674
  export interface FileProxyUploadConfig {
@@ -2673,10 +2680,10 @@ declare namespace Components {
2673
2680
  */
2674
2681
  max_file_bytes?: number;
2675
2682
  /**
2676
- * Maximum delivery attempts per item before the delivery is marked failed and the
2677
- * message is dead-lettered. Attempts are spaced by an exponential, jittered backoff
2678
- * spanning roughly 16 hours over the default 8 attempts, so an ERP maintenance window
2679
- * does not exhaust them.
2683
+ * Maximum delivery attempts per item before the delivery is marked failed. Attempts
2684
+ * are spaced by an exponential, jittered backoff. The default 8 attempts schedule at
2685
+ * most 7 delays, totaling about 7 hours 40 minutes before jitter, so a normal ERP
2686
+ * maintenance window does not immediately exhaust them.
2680
2687
  *
2681
2688
  * Lives here rather than on the outbound delivery because how hard to retry is a
2682
2689
  * property of the transport — the same judgement as `max_file_bytes` — and the outbound
@@ -2853,9 +2860,10 @@ declare namespace Components {
2853
2860
  direction?: "download" | "upload";
2854
2861
  upload?: /**
2855
2862
  * Upload-side settings for a file_proxy use case with `direction: upload`.
2856
- * Everything about WHAT is sent lives on the outbound mapping
2857
- * (see `FileProxyDeliveryConfig`); this object only governs HOW the transfer is bounded
2858
- * and judged.
2863
+ * The surrounding file_proxy configuration owns WHAT and HOW to send: `fan_out`,
2864
+ * `file_source`, `params_mapping`, lookups, constants, auth, and steps. This nested object
2865
+ * governs upload-specific limits and how the final external response is judged. The
2866
+ * outbound mapping remains a pure pointer to the recipe (see `FileProxyDeliveryConfig`).
2859
2867
  *
2860
2868
  */
2861
2869
  FileProxyUploadConfig;
@@ -5345,7 +5353,7 @@ declare namespace Components {
5345
5353
  */
5346
5354
  export interface OutboundMapping {
5347
5355
  /**
5348
- * Unique identifier for this mapping
5356
+ * Unique identifier for this mapping; generated by the API when omitted
5349
5357
  */
5350
5358
  id?: string; // uuid
5351
5359
  /**
@@ -7474,9 +7482,12 @@ declare namespace Paths {
7474
7482
  namespace CreateErpImport {
7475
7483
  export type RequestBody = /* Register an already-uploaded file as an import. The use case is chosen later, via `:validate` — upload and interpretation are separate decisions. */ Components.Schemas.CreateErpImportRequest;
7476
7484
  namespace Responses {
7485
+ export type $200 = Components.Schemas.CreateErpImportResponse;
7477
7486
  export type $201 = Components.Schemas.CreateErpImportResponse;
7478
7487
  export type $400 = Components.Responses.BadRequest;
7479
7488
  export type $403 = Components.Responses.Forbidden;
7489
+ export type $404 = Components.Responses.NotFound;
7490
+ export type $409 = Components.Responses.Conflict;
7480
7491
  export type $500 = Components.Responses.InternalServerError;
7481
7492
  }
7482
7493
  }
@@ -9358,12 +9369,13 @@ interface OperationMethods {
9358
9369
  * createErpImport - createErpImport
9359
9370
  *
9360
9371
  * Register an already-uploaded file (S3 ref) as a pricing-file import job. Returns the job and a file preview. Nothing runs yet: no use case is chosen and no validation starts here. Optionally rank candidates with POST /v2/erp/imports/{importId}:suggest-use-cases, then start validation with POST /v2/erp/imports/{importId}:validate.
9372
+ * Pass `import_id` to repoint an existing PENDING import at a different file instead, keeping its id and its place in the history.
9361
9373
  */
9362
9374
  'createErpImport'(
9363
9375
  parameters?: Parameters<UnknownParamsObject> | null,
9364
9376
  data?: Paths.CreateErpImport.RequestBody,
9365
9377
  config?: AxiosRequestConfig
9366
- ): OperationResponse<Paths.CreateErpImport.Responses.$201>
9378
+ ): OperationResponse<Paths.CreateErpImport.Responses.$200 | Paths.CreateErpImport.Responses.$201>
9367
9379
  /**
9368
9380
  * getErpImport - getErpImport
9369
9381
  *
@@ -10305,12 +10317,13 @@ interface PathsDictionary {
10305
10317
  * createErpImport - createErpImport
10306
10318
  *
10307
10319
  * Register an already-uploaded file (S3 ref) as a pricing-file import job. Returns the job and a file preview. Nothing runs yet: no use case is chosen and no validation starts here. Optionally rank candidates with POST /v2/erp/imports/{importId}:suggest-use-cases, then start validation with POST /v2/erp/imports/{importId}:validate.
10320
+ * Pass `import_id` to repoint an existing PENDING import at a different file instead, keeping its id and its place in the history.
10308
10321
  */
10309
10322
  'post'(
10310
10323
  parameters?: Parameters<UnknownParamsObject> | null,
10311
10324
  data?: Paths.CreateErpImport.RequestBody,
10312
10325
  config?: AxiosRequestConfig
10313
- ): OperationResponse<Paths.CreateErpImport.Responses.$201>
10326
+ ): OperationResponse<Paths.CreateErpImport.Responses.$200 | Paths.CreateErpImport.Responses.$201>
10314
10327
  /**
10315
10328
  * listErpImports - listErpImports
10316
10329
  *
package/docs/ai-agents.md CHANGED
@@ -73,6 +73,8 @@ const { data } = await aiAgentsClient.createAgent(...)
73
73
  - [`PendingAction`](#pendingaction)
74
74
  - [`ExecutionError`](#executionerror)
75
75
  - [`ExecutionMetrics`](#executionmetrics)
76
+ - [`AgentExecutionEventStatus`](#agentexecutioneventstatus)
77
+ - [`AgentExecutionEvent`](#agentexecutionevent)
76
78
  - [`ToolPreview`](#toolpreview)
77
79
  - [`PreviewActionType`](#previewactiontype)
78
80
  - [`PreviewEntity`](#previewentity)
@@ -105,7 +107,7 @@ const { data } = await aiAgentsClient.createAgent(...)
105
107
 
106
108
  ### `createAgent`
107
109
 
108
- Create Agent definition
110
+ Creates a new custom agent. System skills cannot be created via this endpoint.
109
111
 
110
112
  `POST /v1/agents`
111
113
 
@@ -215,7 +217,8 @@ const { data } = await client.createAgent(
215
217
 
216
218
  ### `listAgents`
217
219
 
218
- List all agent configurations
220
+ Lists agents from both system skills and custom agents.
221
+ Use query parameters to filter by source, availability, or entity schema.
219
222
 
220
223
  `GET /v1/agents`
221
224
 
@@ -292,7 +295,9 @@ const { data } = await client.listAgents({
292
295
 
293
296
  ### `getAgentById`
294
297
 
295
- Get the agent configuration by ID
298
+ Retrieves an agent by ID. Supports both:
299
+ - System skill IDs (prefixed): "skill:email-categorizer"
300
+ - Custom agent IDs (UUID): "0336a235-9417-4dd8-894c-fe81285bba75"
296
301
 
297
302
  `GET /v1/agents/{agent_id}`
298
303
 
@@ -362,7 +367,7 @@ const { data } = await client.getAgentById({
362
367
 
363
368
  ### `updateAgentById`
364
369
 
365
- Update the agent configuration by ID
370
+ Updates a custom agent. System skills cannot be updated via this endpoint.
366
371
 
367
372
  `PUT /v1/agents/{agent_id}`
368
373
 
@@ -474,7 +479,7 @@ const { data } = await client.updateAgentById(
474
479
 
475
480
  ### `deleteAgentById`
476
481
 
477
- Delete the agent configuration by ID
482
+ Deletes a custom agent. System skills cannot be deleted via this endpoint.
478
483
 
479
484
  `DELETE /v1/agents/{agent_id}`
480
485
 
@@ -488,7 +493,10 @@ const { data } = await client.deleteAgentById({
488
493
 
489
494
  ### `executeAgent`
490
495
 
491
- Execute an agent
496
+ Executes an agent (system skill or custom agent).
497
+ Supports both:
498
+ - System skill IDs (prefixed): "skill:email-categorizer"
499
+ - Custom agent IDs (UUID): "0336a235-9417-4dd8-894c-fe81285bba75"
492
500
 
493
501
  `POST /v1/agents/{agent_id}/execute`
494
502
 
@@ -624,7 +632,9 @@ const { data } = await client.executeAgent(
624
632
 
625
633
  ### `executeAgentStream`
626
634
 
627
- Execute an agent with streaming response
635
+ Executes an agent with real-time streaming of tokens and tool events.
636
+ Returns Server-Sent Events (SSE) stream with token-by-token output,
637
+ tool call progress, and completion status.
628
638
 
629
639
  `POST /v1/agents/{agent_id}/execute/stream`
630
640
 
@@ -1007,7 +1017,7 @@ const { data } = await client.cancelExecution({
1007
1017
 
1008
1018
  ### `getExecutionTrace`
1009
1019
 
1010
- Get execution trace/iterations
1020
+ Returns the step-by-step reasoning and tool calls for ReAct mode executions. Returns empty iterations array for direct mode executions.
1011
1021
 
1012
1022
  `GET /v1/executions/{execution_id}/trace`
1013
1023
 
@@ -1113,7 +1123,7 @@ const { data } = await client.putExecutionFeedback(
1113
1123
 
1114
1124
  ### `approveExecution`
1115
1125
 
1116
- Approve pending action
1126
+ Approves a pending tool action when execution is in waiting_approval status
1117
1127
 
1118
1128
  `POST /v1/executions/{execution_id}/approve`
1119
1129
 
@@ -1125,8 +1135,7 @@ const { data } = await client.approveExecution(
1125
1135
  {
1126
1136
  reason: 'string',
1127
1137
  approved_action_ids: ['string'],
1128
- rejected_action_ids: ['string'],
1129
- share_scope: 'primary_only'
1138
+ rejected_action_ids: ['string']
1130
1139
  },
1131
1140
  )
1132
1141
  ```
@@ -1234,7 +1243,7 @@ const { data } = await client.approveExecution(
1234
1243
 
1235
1244
  ### `rejectExecution`
1236
1245
 
1237
- Reject pending action
1246
+ Rejects a pending tool action when execution is in waiting_approval status
1238
1247
 
1239
1248
  `POST /v1/executions/{execution_id}/reject`
1240
1249
 
@@ -1352,7 +1361,7 @@ const { data } = await client.rejectExecution(
1352
1361
 
1353
1362
  ### `streamExecution`
1354
1363
 
1355
- Reconnect to execution stream
1364
+ Reconnects to an execution's event stream after approval. Replays missed events from event log and continues streaming if execution is still running.
1356
1365
 
1357
1366
  `GET /v1/executions/{execution_id}/stream`
1358
1367
 
@@ -1367,7 +1376,7 @@ const { data } = await client.streamExecution({
1367
1376
 
1368
1377
  ### `chat`
1369
1378
 
1370
- Streaming chat with AI agent
1379
+ Initiates a streaming chat session with an AI agent. Supports server-side conversation memory via conversationId or client-provided history via clientHistory.
1371
1380
 
1372
1381
  `POST /v1/chat`
1373
1382
 
@@ -1409,7 +1418,7 @@ const { data } = await client.chat(
1409
1418
 
1410
1419
  ### `listConversations`
1411
1420
 
1412
- List conversations
1421
+ Lists conversations for the authenticated user, sorted by most recent.
1413
1422
 
1414
1423
  `GET /v1/conversations`
1415
1424
 
@@ -1453,7 +1462,7 @@ const { data } = await client.listConversations({
1453
1462
 
1454
1463
  ### `getConversation`
1455
1464
 
1456
- Get conversation with messages
1465
+ Retrieves a conversation and its message history.
1457
1466
 
1458
1467
  `GET /v1/conversations/{conversation_id}`
1459
1468
 
@@ -1517,7 +1526,7 @@ const { data } = await client.getConversation({
1517
1526
 
1518
1527
  ### `deleteConversation`
1519
1528
 
1520
- Delete conversation
1529
+ Deletes a conversation and all its messages.
1521
1530
 
1522
1531
  `DELETE /v1/conversations/{conversation_id}`
1523
1532
 
@@ -1531,7 +1540,7 @@ const { data } = await client.deleteConversation({
1531
1540
 
1532
1541
  ### `submitConversationFeedback`
1533
1542
 
1534
- Submit feedback for an assistant turn
1543
+ Records a thumbs up/down (with optional comment) for the assistant turn identified by its Langfuse trace id. The rating is persisted on the message and mirrored to Langfuse as a trace score.
1535
1544
 
1536
1545
  `POST /v1/conversations/{conversation_id}/feedback`
1537
1546
 
@@ -1827,7 +1836,6 @@ type ApproveExecutionRequest = {
1827
1836
  reason?: string
1828
1837
  approved_action_ids?: string[]
1829
1838
  rejected_action_ids?: string[]
1830
- share_scope?: "primary_only" | "primary_and_relations"
1831
1839
  }
1832
1840
  ```
1833
1841
 
@@ -2072,6 +2080,55 @@ type ExecutionMetrics = {
2072
2080
  }
2073
2081
  ```
2074
2082
 
2083
+ ### `AgentExecutionEventStatus`
2084
+
2085
+ Lifecycle status carried on an agent execution event.
2086
+
2087
+ Deliberately narrower than `ExecutionStatus`, which is the stored status of
2088
+ the execution row: `pending` and `running` both surface as `started`, and
2089
+ `cancelled` surfaces as `failed`. Consumers must not assume the two
2090
+ vocabularies are interchang
2091
+
2092
+ ```ts
2093
+ type AgentExecutionEventStatus = "started" | "completed" | "failed" | "approval_required"
2094
+ ```
2095
+
2096
+ ### `AgentExecutionEvent`
2097
+
2098
+ Detail payload of the `agent-execution-status-update` event, published on
2099
+ the AI Agents event bus with source `ai-agents`.
2100
+
2101
+ `execution_context` and `input` are present on every status, so a consumer
2102
+ can tell whether an execution is theirs, and what it belonged to, from the
2103
+ terminal event alone — wit
2104
+
2105
+ ```ts
2106
+ type AgentExecutionEvent = {
2107
+ executionId: string
2108
+ agentId: string
2109
+ orgId: string
2110
+ userId?: string
2111
+ execution_status: "started" | "completed" | "failed" | "approval_required"
2112
+ execution_context?: "flows" | "copilot" | "api"
2113
+ input?: Record<string, unknown>
2114
+ output?: Record<string, unknown>
2115
+ error?: {
2116
+ message?: string
2117
+ code?: string
2118
+ stack?: string
2119
+ }
2120
+ duration?: number
2121
+ iterations?: number
2122
+ iteration?: number
2123
+ message?: string
2124
+ toolCalls?: Array<{
2125
+ name?: string
2126
+ args?: Record<string, unknown>
2127
+ }>
2128
+ timestamp?: string // date-time
2129
+ }
2130
+ ```
2131
+
2075
2132
  ### `ToolPreview`
2076
2133
 
2077
2134
  Structured preview data for approval UI. Provides a generic format that any tool can populate.