@opencx/mcp 1.15.63 → 1.15.65

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/schema.d.ts CHANGED
@@ -279,6 +279,26 @@ export interface paths {
279
279
  patch?: never;
280
280
  trace?: never;
281
281
  };
282
+ "/chat/sessions/{session_id}/merge": {
283
+ parameters: {
284
+ query?: never;
285
+ header?: never;
286
+ path?: never;
287
+ cookie?: never;
288
+ };
289
+ get?: never;
290
+ put?: never;
291
+ /**
292
+ * Merge sessions
293
+ * @description Permanently close source sessions and attach them to this primary. Sources cannot be reopened or replied to. All replies use the primary channel and recipients. Requires merge-sessions:write and OpenCX ticketing. Reuse idempotencyKey with the identical request when retrying.
294
+ */
295
+ post: operations["mergeSessions"];
296
+ delete?: never;
297
+ options?: never;
298
+ head?: never;
299
+ patch?: never;
300
+ trace?: never;
301
+ };
282
302
  "/chat/sessions": {
283
303
  parameters: {
284
304
  query?: never;
@@ -288,7 +308,7 @@ export interface paths {
288
308
  };
289
309
  /**
290
310
  * List chat sessions
291
- * @description Returns a paginated list of chat sessions for the organization. Supports filtering by status, channel, handoff state, and date ranges.
311
+ * @description Returns a paginated list of chat sessions for the organization. Supports filtering by status, channel, handoff state, and date ranges. Companion searches may briefly lag recent changes and return an error when unavailable or too large; date ranges have no fixed maximum.
292
312
  */
293
313
  get: operations["listChatSessions"];
294
314
  put?: never;
@@ -314,7 +334,7 @@ export interface paths {
314
334
  put?: never;
315
335
  /**
316
336
  * Filter chat sessions
317
- * @description Search and filter chat sessions with advanced criteria. Supports filtering by date range, channels, status, sentiment, tags, assignees, teams, contacts, language, custom data, and more. Results are paginated and sortable.
337
+ * @description Search and filter chat sessions with advanced criteria. Supports filtering by date range, channels, status, sentiment, tags, assignees, teams, contacts, language, custom data, and more. Results are paginated and sortable. Companion searches may briefly lag recent changes and return an error when unavailable or too large; date ranges have no fixed maximum.
318
338
  */
319
339
  post: operations["filterChatSessions"];
320
340
  delete?: never;
@@ -438,7 +458,7 @@ export interface paths {
438
458
  put?: never;
439
459
  /**
440
460
  * Assign or unassign a chat session
441
- * @description Assign a chat session to a human agent, named either by `assignee_id` or by `assignee_email` — exactly one. The email is matched case-insensitively against this organization’s members, so a sync can assign straight from the address it already holds. Send either field as null to unassign. A teammate who is not a member of this organization is rejected.
461
+ * @description Assign a chat session to a human agent, named either by `assignee_id` or by `assignee_email` — exactly one. The email is matched case-insensitively against this organization’s members, so a sync can assign straight from the address it already holds. Send either field as null to unassign. A teammate who is not a member of this organization is rejected. Assigning the AI agent is refused with a 429 `feature_limit_reached` error while the organization’s monthly AI resolutions limit is reached.
442
462
  */
443
463
  post: operations["assignChatSession"];
444
464
  delete?: never;
@@ -5366,7 +5386,7 @@ export interface paths {
5366
5386
  put?: never;
5367
5387
  /**
5368
5388
  * Authenticate a widget user by phone number
5369
- * @description Returns a token for the contact with this phone number, creating the contact when none exists. When several contacts share the number, the oldest one is used.
5389
+ * @description Returns a token for the contact with this phone number, creating the contact when none exists and otherwise updating it with the fields sent. When several contacts share the number, the oldest one is used. Email is not accepted: use /widget/authenticate-user for customers with an email.
5370
5390
  */
5371
5391
  post: operations["authenticateWidgetUserByPhone"];
5372
5392
  delete?: never;
@@ -5375,6 +5395,26 @@ export interface paths {
5375
5395
  patch?: never;
5376
5396
  trace?: never;
5377
5397
  };
5398
+ "/widget/authenticate-user-by-external-id": {
5399
+ parameters: {
5400
+ query?: never;
5401
+ header?: never;
5402
+ path?: never;
5403
+ cookie?: never;
5404
+ };
5405
+ get?: never;
5406
+ put?: never;
5407
+ /**
5408
+ * Authenticate a widget user by your own user id
5409
+ * @description Returns a token for the contact with this external_id, creating the contact when none exists and otherwise updating it with the fields sent. The contact is matched by external_id alone: email and phone are optional, can change, and can be shared with other contacts. Channels that identify people by email or phone, such as inbound email, keep their own contacts and never resolve to this one.
5410
+ */
5411
+ post: operations["authenticateWidgetUserByExternalId"];
5412
+ delete?: never;
5413
+ options?: never;
5414
+ head?: never;
5415
+ patch?: never;
5416
+ trace?: never;
5417
+ };
5378
5418
  "/test": {
5379
5419
  parameters: {
5380
5420
  query?: never;
@@ -6969,49 +7009,15 @@ export interface components {
6969
7009
  SessionChannel: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice" | "twitter" | "twitter_mentions" | "app_review" | "internal";
6970
7010
  /** @enum {string} */
6971
7011
  MessageOptionType: "text" | "workflow";
6972
- SalesforceReplyTemplateRules: {
6973
- conditions: ({
6974
- /** @constant */
6975
- type: "attribute";
6976
- key: string;
6977
- /** @enum {string} */
6978
- op: "exists" | "not_exists" | "eq" | "neq" | "contains";
6979
- value?: string;
6980
- } | {
6981
- /** @constant */
6982
- type: "tag";
7012
+ MergeSessionsInput: {
7013
+ /** Format: uuid */
7014
+ idempotencyKey?: string;
7015
+ sources: {
7016
+ /** Format: uuid */
7017
+ sessionId: string;
6983
7018
  /** @enum {string} */
6984
- op: "has" | "not_has";
6985
- value: string;
6986
- })[];
6987
- };
6988
- CreateSalesforceAiReplyTemplateDto: {
6989
- name: string;
6990
- template_html: string;
6991
- is_default?: boolean;
6992
- rules?: components["schemas"]["SalesforceReplyTemplateRules"] | null;
6993
- /** @description From address of the AI agent's autopilot Case email: a literal address, a {{session attribute}} such as {{sf_case_LatestPOSEmail__c}}, or an {{#if …}} branch, resolved per session. Used only when it resolves to an email address; otherwise Salesforce's default sender applies. Empty or null clears it. */
6994
- from_address?: string | null;
6995
- /** @description To address of the AI agent's autopilot Case email: a literal address, a {{session attribute}} such as {{reservation_email}}, or an {{#if …}} branch, resolved per session. Used only when it resolves to an email address; otherwise the Case contact's address applies. Empty or null clears it. */
6996
- to_address?: string | null;
6997
- };
6998
- UpdateSalesforceAiReplyTemplateDto: {
6999
- name?: string;
7000
- template_html?: string;
7001
- is_default?: boolean;
7002
- rules?: components["schemas"]["SalesforceReplyTemplateRules"] | null;
7003
- /** @description From address of the AI agent's autopilot Case email: a literal address, a {{session attribute}} such as {{sf_case_LatestPOSEmail__c}}, or an {{#if …}} branch, resolved per session. Used only when it resolves to an email address; otherwise Salesforce's default sender applies. Empty or null clears it. */
7004
- from_address?: string | null;
7005
- /** @description To address of the AI agent's autopilot Case email: a literal address, a {{session attribute}} such as {{reservation_email}}, or an {{#if …}} branch, resolved per session. Used only when it resolves to an email address; otherwise the Case contact's address applies. Empty or null clears it. */
7006
- to_address?: string | null;
7007
- };
7008
- PreviewSalesforceAiReplyTemplateDto: {
7009
- template_html: string;
7010
- session_number?: number;
7011
- /** @description From address of the AI agent's autopilot Case email: a literal address, a {{session attribute}} such as {{sf_case_LatestPOSEmail__c}}, or an {{#if …}} branch, resolved per session. Used only when it resolves to an email address; otherwise Salesforce's default sender applies. Empty or null clears it. */
7012
- from_address?: string | null;
7013
- /** @description To address of the AI agent's autopilot Case email: a literal address, a {{session attribute}} such as {{reservation_email}}, or an {{#if …}} branch, resolved per session. Used only when it resolves to an email address; otherwise the Case contact's address applies. Empty or null clears it. */
7014
- to_address?: string | null;
7019
+ status: "closed_resolved" | "closed_unresolved";
7020
+ }[];
7015
7021
  };
7016
7022
  ContactsFilter: {
7017
7023
  /** @constant */
@@ -7105,6 +7111,50 @@ export interface components {
7105
7111
  value?: string;
7106
7112
  }[];
7107
7113
  };
7114
+ SalesforceReplyTemplateRules: {
7115
+ conditions: ({
7116
+ /** @constant */
7117
+ type: "attribute";
7118
+ key: string;
7119
+ /** @enum {string} */
7120
+ op: "exists" | "not_exists" | "eq" | "neq" | "contains";
7121
+ value?: string;
7122
+ } | {
7123
+ /** @constant */
7124
+ type: "tag";
7125
+ /** @enum {string} */
7126
+ op: "has" | "not_has";
7127
+ value: string;
7128
+ })[];
7129
+ };
7130
+ CreateSalesforceAiReplyTemplateDto: {
7131
+ name: string;
7132
+ template_html: string;
7133
+ is_default?: boolean;
7134
+ rules?: components["schemas"]["SalesforceReplyTemplateRules"] | null;
7135
+ /** @description From address of the AI agent's autopilot Case email: a literal address, a {{session attribute}} such as {{sf_case_LatestPOSEmail__c}}, or an {{#if …}} branch, resolved per session. Used only when it resolves to an email address; otherwise Salesforce's default sender applies. Empty or null clears it. */
7136
+ from_address?: string | null;
7137
+ /** @description To address of the AI agent's autopilot Case email: a literal address, a {{session attribute}} such as {{reservation_email}}, or an {{#if …}} branch, resolved per session. Used only when it resolves to an email address; otherwise the Case contact's address applies. Empty or null clears it. */
7138
+ to_address?: string | null;
7139
+ };
7140
+ UpdateSalesforceAiReplyTemplateDto: {
7141
+ name?: string;
7142
+ template_html?: string;
7143
+ is_default?: boolean;
7144
+ rules?: components["schemas"]["SalesforceReplyTemplateRules"] | null;
7145
+ /** @description From address of the AI agent's autopilot Case email: a literal address, a {{session attribute}} such as {{sf_case_LatestPOSEmail__c}}, or an {{#if …}} branch, resolved per session. Used only when it resolves to an email address; otherwise Salesforce's default sender applies. Empty or null clears it. */
7146
+ from_address?: string | null;
7147
+ /** @description To address of the AI agent's autopilot Case email: a literal address, a {{session attribute}} such as {{reservation_email}}, or an {{#if …}} branch, resolved per session. Used only when it resolves to an email address; otherwise the Case contact's address applies. Empty or null clears it. */
7148
+ to_address?: string | null;
7149
+ };
7150
+ PreviewSalesforceAiReplyTemplateDto: {
7151
+ template_html: string;
7152
+ session_number?: number;
7153
+ /** @description From address of the AI agent's autopilot Case email: a literal address, a {{session attribute}} such as {{sf_case_LatestPOSEmail__c}}, or an {{#if …}} branch, resolved per session. Used only when it resolves to an email address; otherwise Salesforce's default sender applies. Empty or null clears it. */
7154
+ from_address?: string | null;
7155
+ /** @description To address of the AI agent's autopilot Case email: a literal address, a {{session attribute}} such as {{reservation_email}}, or an {{#if …}} branch, resolved per session. Used only when it resolves to an email address; otherwise the Case contact's address applies. Empty or null clears it. */
7156
+ to_address?: string | null;
7157
+ };
7108
7158
  OfficeHoursExceptionDto: {
7109
7159
  name: string;
7110
7160
  /**
@@ -8596,8 +8646,38 @@ export interface components {
8596
8646
  http_action_overrides?: components["schemas"]["PublicAPIHttpOverrides"];
8597
8647
  };
8598
8648
  AuthenticateUserByPhonePayloadDto: {
8649
+ mcp_access?: {
8650
+ server_ids?: string[];
8651
+ account_id?: string;
8652
+ };
8653
+ name?: string;
8599
8654
  /** @description Phone number including the country code, e.g. +14155550123 */
8600
8655
  phone: string;
8656
+ language?: components["schemas"]["LanguageIsoCodeValues"];
8657
+ customData?: {
8658
+ [key: string]: string | number | boolean;
8659
+ };
8660
+ chat_context?: string;
8661
+ http_action_overrides?: components["schemas"]["PublicAPIHttpOverrides"];
8662
+ };
8663
+ AuthenticateUserByExternalIdPayloadDto: {
8664
+ /** Format: email */
8665
+ email?: string;
8666
+ mcp_access?: {
8667
+ server_ids?: string[];
8668
+ account_id?: string;
8669
+ };
8670
+ name?: string;
8671
+ avatar_url?: string | null;
8672
+ phone?: string;
8673
+ language?: components["schemas"]["LanguageIsoCodeValues"];
8674
+ customData?: {
8675
+ [key: string]: string | number | boolean;
8676
+ };
8677
+ chat_context?: string;
8678
+ http_action_overrides?: components["schemas"]["PublicAPIHttpOverrides"];
8679
+ /** @description The user's stable id in your system. The contact is matched by this id alone, so email and phone can change or be shared with other contacts. */
8680
+ external_id: string;
8601
8681
  };
8602
8682
  SaveContactInput: {
8603
8683
  contact: {
@@ -9163,7 +9243,7 @@ export interface components {
9163
9243
  * @description What starts the workflow. Use "manual-trigger" for on-demand execution, "ai-trigger" for AI-initiated, "webhook" for external HTTP triggers, "cron-trigger" for scheduled runs, or event-based triggers like "ticket-created", "contact-created", etc.
9164
9244
  * @enum {string}
9165
9245
  */
9166
- trigger_type: "ivr-incoming-call" | "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "contact-updated" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "macro-option-clicked" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
9246
+ trigger_type: "ivr-incoming-call" | "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "contact-updated" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "sub-session-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "macro-option-clicked" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
9167
9247
  /** @description Trigger-specific configuration (e.g. cron expression for cron-trigger) */
9168
9248
  trigger_configuration?: unknown | null;
9169
9249
  /** @description Array of workflow steps and control-flow blocks. Each step is an object with { "$kind": "Action", "id": "<unique-step-id>", "type": "<action-type>", "name": "<display-name>", "input": { ... } }. Control-flow blocks use { "$kind": "Block", "type": "if-else", "id": "<unique-id>", "inputs": { "condition": { "operatorName": "equals", "left": "{{step_id.field}}", "right": "value" } }, "branches": { "then": [...steps], "else": [...steps] } }. Use {{step_id.field}} to reference outputs from previous steps (no `.output.` segment — the field sits directly under the step id). */
@@ -9180,7 +9260,7 @@ export interface components {
9180
9260
  * @description New trigger type
9181
9261
  * @enum {string}
9182
9262
  */
9183
- trigger_type?: "ivr-incoming-call" | "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "contact-updated" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "macro-option-clicked" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
9263
+ trigger_type?: "ivr-incoming-call" | "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "contact-updated" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "sub-session-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "macro-option-clicked" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
9184
9264
  /** @description New trigger configuration */
9185
9265
  trigger_configuration?: unknown | null;
9186
9266
  /** @description New workflow step/block definitions (replaces existing blocks) */
@@ -9193,7 +9273,7 @@ export interface components {
9193
9273
  * @description Trigger type to validate against
9194
9274
  * @enum {string}
9195
9275
  */
9196
- trigger_type: "ivr-incoming-call" | "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "contact-updated" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "macro-option-clicked" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
9276
+ trigger_type: "ivr-incoming-call" | "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "contact-updated" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "sub-session-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "macro-option-clicked" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
9197
9277
  /** @description Trigger configuration to validate against the trigger's configuration_def. When omitted, the trigger is validated as if unconfigured — triggers with required configuration (e.g. cron-trigger, ai-trigger) will report errors. */
9198
9278
  trigger_configuration?: unknown | null;
9199
9279
  /** @description Workflow blocks to validate */
@@ -9206,7 +9286,7 @@ export interface components {
9206
9286
  * @description Trigger type whose payload shape this synthetic payload should match
9207
9287
  * @enum {string}
9208
9288
  */
9209
- type: "ivr-incoming-call" | "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "contact-updated" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "macro-option-clicked" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
9289
+ type: "ivr-incoming-call" | "manual-trigger" | "ai-trigger" | "cron-trigger" | "form-trigger" | "webhook" | "contact-created" | "contact-updated" | "phone-call-started" | "phone-call-finished" | "ticket-created" | "sub-session-created" | "ticket-reassigned" | "ticket-resolved" | "ticket-handoff" | "pre-ticket-handoff" | "ticket-tag-added" | "ticket-inactive" | "agent-inactive" | "csat-score-submit" | "prohibited-topic-detected" | "sla-first-reply-breached" | "sla-next-reply-breached" | "sla-resolution-breached" | "voice-call-transferred" | "pre-voice-call-transfer" | "pre-phone-call-finished" | "manual-ticket-trigger" | "contact-message-received" | "first-contact-message-received" | "macro-called" | "macro-option-clicked" | "ai-response-completed" | "agent-availability-changed" | "agent-avail-in-team-changed" | "ai-response-requested" | "ticket-reopened" | "agent-mentioned" | "agent-message-posted" | "ticket-team-changed" | "session-updated" | "sequence-contact-replied" | "sequence-contact-completed" | "sequence-contact-parked" | "sequence-step-failed" | "sequence-contact-suppressed";
9210
9290
  payload: unknown;
9211
9291
  };
9212
9292
  };
@@ -10348,7 +10428,7 @@ export interface components {
10348
10428
  }) | null;
10349
10429
  knowledgebase_called?: boolean | null;
10350
10430
  /** @enum {string} */
10351
- type: "agent_assigned_by_integration" | "agent_assigned_by_system" | "agent_assigned_by_user" | "agent_changed" | "agent_comment" | "agent_initiated_session" | "agent_joined" | "agent_message" | "agent_reopened_session" | "agent_took_session_from_ai" | "agent_unassigned_by_integration" | "agent_unassigned_by_system" | "agent_unassigned_by_user" | "ai_assumed_the_session_resolved" | "ai_decided_to_not_reply" | "ai_decided_to_resolve_the_issue" | "ai_follow_up_cancelled" | "ai_follow_up_fired" | "ai_follow_up_scheduled" | "ai_reopened_session" | "ai_response_cancelled" | "ai_resumed_by_system" | "ai_suggestion" | "call_history" | "call_transferred" | "closed_resolved_by_agent" | "closed_resolved_by_api" | "closed_resolved_by_contact" | "closed_resolved_by_integration" | "closed_resolved_by_system" | "closed_unresolved_by_agent" | "closed_unresolved_by_api" | "closed_unresolved_by_system" | "contact_data_updated" | "csat_request_cancelled" | "csat_requested" | "csat_submitted" | "email_draft_message" | "handoff" | "handoff_to_salesforce_miaw" | "handoff_to_third_party_failed" | "handoff_to_zendesk" | "integration_reopened_session" | "ivr_selection" | "message" | "pii_attachment_removed" | "primary_contact_changed" | "prohibited_topic_detected" | "quoted_content_modified" | "salesforce_fields_updated" | "sequence_message" | "session_forwarded" | "session_language_changed_by_agent" | "session_language_changed_by_api" | "session_language_changed_by_integration" | "session_language_changed_by_system" | "session_priority_changed_by_agent" | "session_priority_changed_by_system" | "session_snoozed" | "session_unsnoozed" | "skills_added_by_system" | "sla_applied_by_agent" | "sla_applied_by_system" | "sla_first_reply_breached" | "sla_first_reply_completed_after_breach" | "sla_first_reply_fulfilled" | "sla_first_reply_metric_started" | "sla_freezed_office_hours_ended" | "sla_freezed_snoozed" | "sla_next_reply_breached" | "sla_next_reply_completed_after_breach" | "sla_next_reply_fulfilled" | "sla_next_reply_metric_started" | "sla_removed_by_agent" | "sla_removed_by_system" | "sla_resolution_breached" | "sla_resolution_completed_after_breach" | "sla_resolution_fulfilled" | "sla_resolution_metric_started" | "sla_resolution_paused_resolved" | "sla_resolution_paused_waiting_on_customer" | "sla_resolution_resumed_customer_replied" | "sla_resolution_resumed_reopened" | "sla_resumed_office_hours_started" | "sla_resumed_snooze_cancelled" | "sla_resumed_snooze_expired" | "state_checkpoint" | "sub_session_created" | "sub_session_linked_by_agent" | "sub_session_linked_by_api" | "sub_session_linked_by_integration" | "sub_session_linked_by_system" | "sub_session_unlinked_by_agent" | "sub_session_unlinked_by_api" | "sub_session_unlinked_by_integration" | "sub_session_unlinked_by_system" | "sub_status_removed_by_agent" | "sub_status_removed_by_api" | "sub_status_removed_by_integration" | "sub_status_removed_by_system" | "sub_status_set_by_agent" | "sub_status_set_by_api" | "sub_status_set_by_integration" | "sub_status_set_by_system" | "system_reopened_session" | "tag_added_by_agent" | "tag_added_by_api" | "tag_added_by_integration" | "tag_added_by_system" | "tag_removed_by_agent" | "tag_removed_by_api" | "tag_removed_by_integration" | "tag_removed_by_system" | "team_assigned_by_integration" | "team_assigned_by_system" | "team_assigned_by_user" | "team_unassigned_by_integration" | "team_unassigned_by_system" | "team_unassigned_by_user" | "user_confirmed_the_session_resolved" | "voice_call_ai_joined" | "voice_call_ai_left" | "voice_call_contact_answered" | "voice_call_contact_joined" | "voice_call_contact_left" | "voice_call_ended" | "voice_call_failed_to_start" | "voice_call_human_answered" | "voice_call_human_joined" | "voice_call_human_left" | "voice_call_started" | "workflow_message" | "workflow_note" | "workflow_triggered";
10431
+ type: "agent_assigned_by_integration" | "agent_assigned_by_system" | "agent_assigned_by_user" | "agent_changed" | "agent_comment" | "agent_initiated_session" | "agent_joined" | "agent_message" | "agent_reopened_session" | "agent_took_session_from_ai" | "agent_unassigned_by_integration" | "agent_unassigned_by_system" | "agent_unassigned_by_user" | "ai_assumed_the_session_resolved" | "ai_decided_to_not_reply" | "ai_decided_to_resolve_the_issue" | "ai_follow_up_cancelled" | "ai_follow_up_fired" | "ai_follow_up_scheduled" | "ai_reopened_session" | "ai_response_cancelled" | "ai_resumed_by_system" | "ai_suggestion" | "call_history" | "call_transferred" | "closed_resolved_by_agent" | "closed_resolved_by_api" | "closed_resolved_by_contact" | "closed_resolved_by_integration" | "closed_resolved_by_system" | "closed_unresolved_by_agent" | "closed_unresolved_by_api" | "closed_unresolved_by_system" | "contact_data_updated" | "csat_request_cancelled" | "csat_requested" | "csat_submitted" | "email_draft_message" | "handoff" | "handoff_to_salesforce_miaw" | "handoff_to_third_party_failed" | "handoff_to_zendesk" | "integration_reopened_session" | "ivr_selection" | "merged_session_message" | "message" | "pii_attachment_removed" | "primary_contact_changed" | "prohibited_topic_detected" | "quoted_content_modified" | "salesforce_fields_updated" | "sequence_message" | "session_forwarded" | "session_language_changed_by_agent" | "session_language_changed_by_api" | "session_language_changed_by_integration" | "session_language_changed_by_system" | "session_merged" | "session_priority_changed_by_agent" | "session_priority_changed_by_system" | "session_snoozed" | "session_unsnoozed" | "skills_added_by_system" | "sla_applied_by_agent" | "sla_applied_by_system" | "sla_first_reply_breached" | "sla_first_reply_completed_after_breach" | "sla_first_reply_fulfilled" | "sla_first_reply_metric_started" | "sla_freezed_office_hours_ended" | "sla_freezed_snoozed" | "sla_next_reply_breached" | "sla_next_reply_completed_after_breach" | "sla_next_reply_fulfilled" | "sla_next_reply_metric_started" | "sla_removed_by_agent" | "sla_removed_by_system" | "sla_resolution_breached" | "sla_resolution_completed_after_breach" | "sla_resolution_fulfilled" | "sla_resolution_metric_started" | "sla_resolution_paused_resolved" | "sla_resolution_paused_waiting_on_customer" | "sla_resolution_resumed_customer_replied" | "sla_resolution_resumed_reopened" | "sla_resumed_office_hours_started" | "sla_resumed_snooze_cancelled" | "sla_resumed_snooze_expired" | "state_checkpoint" | "sub_session_created" | "sub_session_linked_by_agent" | "sub_session_linked_by_api" | "sub_session_linked_by_integration" | "sub_session_linked_by_system" | "sub_session_unlinked_by_agent" | "sub_session_unlinked_by_api" | "sub_session_unlinked_by_integration" | "sub_session_unlinked_by_system" | "sub_status_removed_by_agent" | "sub_status_removed_by_api" | "sub_status_removed_by_integration" | "sub_status_removed_by_system" | "sub_status_set_by_agent" | "sub_status_set_by_api" | "sub_status_set_by_integration" | "sub_status_set_by_system" | "system_reopened_session" | "tag_added_by_agent" | "tag_added_by_api" | "tag_added_by_integration" | "tag_added_by_system" | "tag_removed_by_agent" | "tag_removed_by_api" | "tag_removed_by_integration" | "tag_removed_by_system" | "team_assigned_by_integration" | "team_assigned_by_system" | "team_assigned_by_user" | "team_unassigned_by_integration" | "team_unassigned_by_system" | "team_unassigned_by_user" | "user_confirmed_the_session_resolved" | "voice_call_ai_joined" | "voice_call_ai_left" | "voice_call_contact_answered" | "voice_call_contact_joined" | "voice_call_contact_left" | "voice_call_ended" | "voice_call_failed_to_start" | "voice_call_human_answered" | "voice_call_human_joined" | "voice_call_human_left" | "voice_call_started" | "workflow_message" | "workflow_note" | "workflow_triggered";
10352
10432
  ivr_selection?: {
10353
10433
  /** Format: uuid */
10354
10434
  runId: string;
@@ -10412,6 +10492,18 @@ export interface components {
10412
10492
  phone_call_id?: string | null;
10413
10493
  phone_call?: components["schemas"]["PhoneCallDto"] | null;
10414
10494
  };
10495
+ MergeSessionsResult: {
10496
+ /** Format: uuid */
10497
+ mergeId: string;
10498
+ /** Format: uuid */
10499
+ primarySessionId: string;
10500
+ sources: {
10501
+ id: string;
10502
+ ticket_number: number;
10503
+ /** @enum {string} */
10504
+ main_status: "closed_resolved" | "closed_unresolved" | "open";
10505
+ }[];
10506
+ };
10415
10507
  SalesforceAiReplyTemplateDto: {
10416
10508
  /** Format: uuid */
10417
10509
  id: string;
@@ -10616,6 +10708,8 @@ export interface components {
10616
10708
  attachments: components["schemas"]["MacroAttachmentDto"][];
10617
10709
  options: components["schemas"]["MessageOptionDto"][];
10618
10710
  user_id: number | null;
10711
+ /** @description Authenticated creator, when known. Read-only; null for legacy or integration-created macros. */
10712
+ created_by_user_id: number | null;
10619
10713
  overrides_saved_reply_id: string | null;
10620
10714
  exclude_from_suggestions: boolean;
10621
10715
  source_language: string | null;
@@ -11252,7 +11346,7 @@ export interface components {
11252
11346
  OutboundCallCapacityError: {
11253
11347
  statusCode: 429 | 503;
11254
11348
  message: string;
11255
- /** @description outbound_call_org_limit or outbound_call_global_limit for call capacity rejection; outbound_call_capacity_unavailable when capacity cannot be checked. */
11349
+ /** @description outbound_call_org_limit or outbound_call_global_limit for call capacity rejection; outbound_call_capacity_unavailable when capacity cannot be checked; feature_limit_reached when the monthly AI voice minutes limit set in Billing is reached. */
11256
11350
  error?: string;
11257
11351
  };
11258
11352
  TransferDestinationDto: {
@@ -11491,15 +11585,6 @@ export interface components {
11491
11585
  enums: components["schemas"]["SavedReplyVariableEnum"][];
11492
11586
  custom: components["schemas"]["SavedReplyVariableDto"][];
11493
11587
  };
11494
- SecretMetadataDto: {
11495
- /** Format: uuid */
11496
- id: string;
11497
- name: string;
11498
- /** Format: date-time */
11499
- created_at: string;
11500
- /** Format: date-time */
11501
- updated_at: string;
11502
- };
11503
11588
  SkipSequenceStepResponse: {
11504
11589
  /** @enum {string} */
11505
11590
  outcome: "skipped" | "already_skipped" | "contact_not_found" | "not_skippable" | "no_pending_step" | "step_not_found" | "step_not_pending" | "dispatch_in_progress";
@@ -11510,6 +11595,15 @@ export interface components {
11510
11595
  step_index: number | null;
11511
11596
  channel: ("whatsapp" | "voice" | "email") | null;
11512
11597
  };
11598
+ SecretMetadataDto: {
11599
+ /** Format: uuid */
11600
+ id: string;
11601
+ name: string;
11602
+ /** Format: date-time */
11603
+ created_at: string;
11604
+ /** Format: date-time */
11605
+ updated_at: string;
11606
+ };
11513
11607
  WhatsAppTemplateButtonOptionDto: {
11514
11608
  /** @description Meta's 0-based button index — the key a step's `buttons` binding uses. */
11515
11609
  index: number;
@@ -13593,13 +13687,52 @@ export interface components {
13593
13687
  id: string;
13594
13688
  created_at: string;
13595
13689
  event: {
13690
+ /** @constant */
13691
+ type: "session_merged";
13692
+ /** @constant */
13693
+ internal: true;
13694
+ merge: {
13695
+ /** Format: uuid */
13696
+ merge_id: string;
13697
+ /** Format: uuid */
13698
+ source_session_id: string;
13699
+ source_ticket_number: number;
13700
+ /** Format: uuid */
13701
+ primary_session_id: string;
13702
+ primary_ticket_number: number;
13703
+ actor: {
13704
+ /** @constant */
13705
+ type: "agent";
13706
+ agentId: number;
13707
+ } | {
13708
+ /** @constant */
13709
+ type: "api";
13710
+ };
13711
+ redacted?: boolean;
13712
+ };
13713
+ } | {
13714
+ /** @constant */
13715
+ type: "merged_session_message";
13716
+ /** @constant */
13717
+ internal: true;
13718
+ source: {
13719
+ /** Format: uuid */
13720
+ merge_id: string;
13721
+ /** Format: uuid */
13722
+ source_session_id: string;
13723
+ source_ticket_number: number;
13724
+ /** Format: uuid */
13725
+ source_message_uuid: string;
13726
+ redacted?: boolean;
13727
+ };
13728
+ } | {
13596
13729
  /**
13597
13730
  * @description A recorded event without a typed history mapping. Included in organization exports so no history rows are lost.
13598
13731
  * @constant
13599
13732
  */
13600
13733
  type: "unmapped_event";
13601
13734
  /** @enum {string} */
13602
- message_type: "agent_assigned_by_integration" | "agent_assigned_by_system" | "agent_assigned_by_user" | "agent_changed" | "agent_comment" | "agent_initiated_session" | "agent_joined" | "agent_message" | "agent_reopened_session" | "agent_took_session_from_ai" | "agent_unassigned_by_integration" | "agent_unassigned_by_system" | "agent_unassigned_by_user" | "ai_assumed_the_session_resolved" | "ai_decided_to_not_reply" | "ai_decided_to_resolve_the_issue" | "ai_follow_up_cancelled" | "ai_follow_up_fired" | "ai_follow_up_scheduled" | "ai_reopened_session" | "ai_response_cancelled" | "ai_resumed_by_system" | "ai_suggestion" | "call_history" | "call_transferred" | "closed_resolved_by_agent" | "closed_resolved_by_api" | "closed_resolved_by_contact" | "closed_resolved_by_integration" | "closed_resolved_by_system" | "closed_unresolved_by_agent" | "closed_unresolved_by_api" | "closed_unresolved_by_system" | "contact_data_updated" | "csat_request_cancelled" | "csat_requested" | "csat_submitted" | "email_draft_message" | "handoff" | "handoff_to_salesforce_miaw" | "handoff_to_third_party_failed" | "handoff_to_zendesk" | "integration_reopened_session" | "ivr_selection" | "message" | "pii_attachment_removed" | "primary_contact_changed" | "prohibited_topic_detected" | "quoted_content_modified" | "salesforce_fields_updated" | "sequence_message" | "session_forwarded" | "session_language_changed_by_agent" | "session_language_changed_by_api" | "session_language_changed_by_integration" | "session_language_changed_by_system" | "session_priority_changed_by_agent" | "session_priority_changed_by_system" | "session_snoozed" | "session_unsnoozed" | "skills_added_by_system" | "sla_applied_by_agent" | "sla_applied_by_system" | "sla_first_reply_breached" | "sla_first_reply_completed_after_breach" | "sla_first_reply_fulfilled" | "sla_first_reply_metric_started" | "sla_freezed_office_hours_ended" | "sla_freezed_snoozed" | "sla_next_reply_breached" | "sla_next_reply_completed_after_breach" | "sla_next_reply_fulfilled" | "sla_next_reply_metric_started" | "sla_removed_by_agent" | "sla_removed_by_system" | "sla_resolution_breached" | "sla_resolution_completed_after_breach" | "sla_resolution_fulfilled" | "sla_resolution_metric_started" | "sla_resolution_paused_resolved" | "sla_resolution_paused_waiting_on_customer" | "sla_resolution_resumed_customer_replied" | "sla_resolution_resumed_reopened" | "sla_resumed_office_hours_started" | "sla_resumed_snooze_cancelled" | "sla_resumed_snooze_expired" | "state_checkpoint" | "sub_session_created" | "sub_session_linked_by_agent" | "sub_session_linked_by_api" | "sub_session_linked_by_integration" | "sub_session_linked_by_system" | "sub_session_unlinked_by_agent" | "sub_session_unlinked_by_api" | "sub_session_unlinked_by_integration" | "sub_session_unlinked_by_system" | "sub_status_removed_by_agent" | "sub_status_removed_by_api" | "sub_status_removed_by_integration" | "sub_status_removed_by_system" | "sub_status_set_by_agent" | "sub_status_set_by_api" | "sub_status_set_by_integration" | "sub_status_set_by_system" | "system_reopened_session" | "tag_added_by_agent" | "tag_added_by_api" | "tag_added_by_integration" | "tag_added_by_system" | "tag_removed_by_agent" | "tag_removed_by_api" | "tag_removed_by_integration" | "tag_removed_by_system" | "team_assigned_by_integration" | "team_assigned_by_system" | "team_assigned_by_user" | "team_unassigned_by_integration" | "team_unassigned_by_system" | "team_unassigned_by_user" | "user_confirmed_the_session_resolved" | "voice_call_ai_joined" | "voice_call_ai_left" | "voice_call_contact_answered" | "voice_call_contact_joined" | "voice_call_contact_left" | "voice_call_ended" | "voice_call_failed_to_start" | "voice_call_human_answered" | "voice_call_human_joined" | "voice_call_human_left" | "voice_call_started" | "workflow_message" | "workflow_note" | "workflow_triggered";
13735
+ message_type: "agent_assigned_by_integration" | "agent_assigned_by_system" | "agent_assigned_by_user" | "agent_changed" | "agent_comment" | "agent_initiated_session" | "agent_joined" | "agent_message" | "agent_reopened_session" | "agent_took_session_from_ai" | "agent_unassigned_by_integration" | "agent_unassigned_by_system" | "agent_unassigned_by_user" | "ai_assumed_the_session_resolved" | "ai_decided_to_not_reply" | "ai_decided_to_resolve_the_issue" | "ai_follow_up_cancelled" | "ai_follow_up_fired" | "ai_follow_up_scheduled" | "ai_reopened_session" | "ai_response_cancelled" | "ai_resumed_by_system" | "ai_suggestion" | "call_history" | "call_transferred" | "closed_resolved_by_agent" | "closed_resolved_by_api" | "closed_resolved_by_contact" | "closed_resolved_by_integration" | "closed_resolved_by_system" | "closed_unresolved_by_agent" | "closed_unresolved_by_api" | "closed_unresolved_by_system" | "contact_data_updated" | "csat_request_cancelled" | "csat_requested" | "csat_submitted" | "email_draft_message" | "handoff" | "handoff_to_salesforce_miaw" | "handoff_to_third_party_failed" | "handoff_to_zendesk" | "integration_reopened_session" | "ivr_selection" | "merged_session_message" | "message" | "pii_attachment_removed" | "primary_contact_changed" | "prohibited_topic_detected" | "quoted_content_modified" | "salesforce_fields_updated" | "sequence_message" | "session_forwarded" | "session_language_changed_by_agent" | "session_language_changed_by_api" | "session_language_changed_by_integration" | "session_language_changed_by_system" | "session_merged" | "session_priority_changed_by_agent" | "session_priority_changed_by_system" | "session_snoozed" | "session_unsnoozed" | "skills_added_by_system" | "sla_applied_by_agent" | "sla_applied_by_system" | "sla_first_reply_breached" | "sla_first_reply_completed_after_breach" | "sla_first_reply_fulfilled" | "sla_first_reply_metric_started" | "sla_freezed_office_hours_ended" | "sla_freezed_snoozed" | "sla_next_reply_breached" | "sla_next_reply_completed_after_breach" | "sla_next_reply_fulfilled" | "sla_next_reply_metric_started" | "sla_removed_by_agent" | "sla_removed_by_system" | "sla_resolution_breached" | "sla_resolution_completed_after_breach" | "sla_resolution_fulfilled" | "sla_resolution_metric_started" | "sla_resolution_paused_resolved" | "sla_resolution_paused_waiting_on_customer" | "sla_resolution_resumed_customer_replied" | "sla_resolution_resumed_reopened" | "sla_resumed_office_hours_started" | "sla_resumed_snooze_cancelled" | "sla_resumed_snooze_expired" | "state_checkpoint" | "sub_session_created" | "sub_session_linked_by_agent" | "sub_session_linked_by_api" | "sub_session_linked_by_integration" | "sub_session_linked_by_system" | "sub_session_unlinked_by_agent" | "sub_session_unlinked_by_api" | "sub_session_unlinked_by_integration" | "sub_session_unlinked_by_system" | "sub_status_removed_by_agent" | "sub_status_removed_by_api" | "sub_status_removed_by_integration" | "sub_status_removed_by_system" | "sub_status_set_by_agent" | "sub_status_set_by_api" | "sub_status_set_by_integration" | "sub_status_set_by_system" | "system_reopened_session" | "tag_added_by_agent" | "tag_added_by_api" | "tag_added_by_integration" | "tag_added_by_system" | "tag_removed_by_agent" | "tag_removed_by_api" | "tag_removed_by_integration" | "tag_removed_by_system" | "team_assigned_by_integration" | "team_assigned_by_system" | "team_assigned_by_user" | "team_unassigned_by_integration" | "team_unassigned_by_system" | "team_unassigned_by_user" | "user_confirmed_the_session_resolved" | "voice_call_ai_joined" | "voice_call_ai_left" | "voice_call_contact_answered" | "voice_call_contact_joined" | "voice_call_contact_left" | "voice_call_ended" | "voice_call_failed_to_start" | "voice_call_human_answered" | "voice_call_human_joined" | "voice_call_human_left" | "voice_call_started" | "workflow_message" | "workflow_note" | "workflow_triggered";
13603
13736
  content: {
13604
13737
  /** @constant */
13605
13738
  type: "text";
@@ -13884,13 +14017,52 @@ export interface components {
13884
14017
  id: string;
13885
14018
  created_at: string;
13886
14019
  event: {
14020
+ /** @constant */
14021
+ type: "session_merged";
14022
+ /** @constant */
14023
+ internal: true;
14024
+ merge: {
14025
+ /** Format: uuid */
14026
+ merge_id: string;
14027
+ /** Format: uuid */
14028
+ source_session_id: string;
14029
+ source_ticket_number: number;
14030
+ /** Format: uuid */
14031
+ primary_session_id: string;
14032
+ primary_ticket_number: number;
14033
+ actor: {
14034
+ /** @constant */
14035
+ type: "agent";
14036
+ agentId: number;
14037
+ } | {
14038
+ /** @constant */
14039
+ type: "api";
14040
+ };
14041
+ redacted?: boolean;
14042
+ };
14043
+ } | {
14044
+ /** @constant */
14045
+ type: "merged_session_message";
14046
+ /** @constant */
14047
+ internal: true;
14048
+ source: {
14049
+ /** Format: uuid */
14050
+ merge_id: string;
14051
+ /** Format: uuid */
14052
+ source_session_id: string;
14053
+ source_ticket_number: number;
14054
+ /** Format: uuid */
14055
+ source_message_uuid: string;
14056
+ redacted?: boolean;
14057
+ };
14058
+ } | {
13887
14059
  /**
13888
14060
  * @description A recorded event without a typed history mapping. Included in organization exports so no history rows are lost.
13889
14061
  * @constant
13890
14062
  */
13891
14063
  type: "unmapped_event";
13892
14064
  /** @enum {string} */
13893
- message_type: "agent_assigned_by_integration" | "agent_assigned_by_system" | "agent_assigned_by_user" | "agent_changed" | "agent_comment" | "agent_initiated_session" | "agent_joined" | "agent_message" | "agent_reopened_session" | "agent_took_session_from_ai" | "agent_unassigned_by_integration" | "agent_unassigned_by_system" | "agent_unassigned_by_user" | "ai_assumed_the_session_resolved" | "ai_decided_to_not_reply" | "ai_decided_to_resolve_the_issue" | "ai_follow_up_cancelled" | "ai_follow_up_fired" | "ai_follow_up_scheduled" | "ai_reopened_session" | "ai_response_cancelled" | "ai_resumed_by_system" | "ai_suggestion" | "call_history" | "call_transferred" | "closed_resolved_by_agent" | "closed_resolved_by_api" | "closed_resolved_by_contact" | "closed_resolved_by_integration" | "closed_resolved_by_system" | "closed_unresolved_by_agent" | "closed_unresolved_by_api" | "closed_unresolved_by_system" | "contact_data_updated" | "csat_request_cancelled" | "csat_requested" | "csat_submitted" | "email_draft_message" | "handoff" | "handoff_to_salesforce_miaw" | "handoff_to_third_party_failed" | "handoff_to_zendesk" | "integration_reopened_session" | "ivr_selection" | "message" | "pii_attachment_removed" | "primary_contact_changed" | "prohibited_topic_detected" | "quoted_content_modified" | "salesforce_fields_updated" | "sequence_message" | "session_forwarded" | "session_language_changed_by_agent" | "session_language_changed_by_api" | "session_language_changed_by_integration" | "session_language_changed_by_system" | "session_priority_changed_by_agent" | "session_priority_changed_by_system" | "session_snoozed" | "session_unsnoozed" | "skills_added_by_system" | "sla_applied_by_agent" | "sla_applied_by_system" | "sla_first_reply_breached" | "sla_first_reply_completed_after_breach" | "sla_first_reply_fulfilled" | "sla_first_reply_metric_started" | "sla_freezed_office_hours_ended" | "sla_freezed_snoozed" | "sla_next_reply_breached" | "sla_next_reply_completed_after_breach" | "sla_next_reply_fulfilled" | "sla_next_reply_metric_started" | "sla_removed_by_agent" | "sla_removed_by_system" | "sla_resolution_breached" | "sla_resolution_completed_after_breach" | "sla_resolution_fulfilled" | "sla_resolution_metric_started" | "sla_resolution_paused_resolved" | "sla_resolution_paused_waiting_on_customer" | "sla_resolution_resumed_customer_replied" | "sla_resolution_resumed_reopened" | "sla_resumed_office_hours_started" | "sla_resumed_snooze_cancelled" | "sla_resumed_snooze_expired" | "state_checkpoint" | "sub_session_created" | "sub_session_linked_by_agent" | "sub_session_linked_by_api" | "sub_session_linked_by_integration" | "sub_session_linked_by_system" | "sub_session_unlinked_by_agent" | "sub_session_unlinked_by_api" | "sub_session_unlinked_by_integration" | "sub_session_unlinked_by_system" | "sub_status_removed_by_agent" | "sub_status_removed_by_api" | "sub_status_removed_by_integration" | "sub_status_removed_by_system" | "sub_status_set_by_agent" | "sub_status_set_by_api" | "sub_status_set_by_integration" | "sub_status_set_by_system" | "system_reopened_session" | "tag_added_by_agent" | "tag_added_by_api" | "tag_added_by_integration" | "tag_added_by_system" | "tag_removed_by_agent" | "tag_removed_by_api" | "tag_removed_by_integration" | "tag_removed_by_system" | "team_assigned_by_integration" | "team_assigned_by_system" | "team_assigned_by_user" | "team_unassigned_by_integration" | "team_unassigned_by_system" | "team_unassigned_by_user" | "user_confirmed_the_session_resolved" | "voice_call_ai_joined" | "voice_call_ai_left" | "voice_call_contact_answered" | "voice_call_contact_joined" | "voice_call_contact_left" | "voice_call_ended" | "voice_call_failed_to_start" | "voice_call_human_answered" | "voice_call_human_joined" | "voice_call_human_left" | "voice_call_started" | "workflow_message" | "workflow_note" | "workflow_triggered";
14065
+ message_type: "agent_assigned_by_integration" | "agent_assigned_by_system" | "agent_assigned_by_user" | "agent_changed" | "agent_comment" | "agent_initiated_session" | "agent_joined" | "agent_message" | "agent_reopened_session" | "agent_took_session_from_ai" | "agent_unassigned_by_integration" | "agent_unassigned_by_system" | "agent_unassigned_by_user" | "ai_assumed_the_session_resolved" | "ai_decided_to_not_reply" | "ai_decided_to_resolve_the_issue" | "ai_follow_up_cancelled" | "ai_follow_up_fired" | "ai_follow_up_scheduled" | "ai_reopened_session" | "ai_response_cancelled" | "ai_resumed_by_system" | "ai_suggestion" | "call_history" | "call_transferred" | "closed_resolved_by_agent" | "closed_resolved_by_api" | "closed_resolved_by_contact" | "closed_resolved_by_integration" | "closed_resolved_by_system" | "closed_unresolved_by_agent" | "closed_unresolved_by_api" | "closed_unresolved_by_system" | "contact_data_updated" | "csat_request_cancelled" | "csat_requested" | "csat_submitted" | "email_draft_message" | "handoff" | "handoff_to_salesforce_miaw" | "handoff_to_third_party_failed" | "handoff_to_zendesk" | "integration_reopened_session" | "ivr_selection" | "merged_session_message" | "message" | "pii_attachment_removed" | "primary_contact_changed" | "prohibited_topic_detected" | "quoted_content_modified" | "salesforce_fields_updated" | "sequence_message" | "session_forwarded" | "session_language_changed_by_agent" | "session_language_changed_by_api" | "session_language_changed_by_integration" | "session_language_changed_by_system" | "session_merged" | "session_priority_changed_by_agent" | "session_priority_changed_by_system" | "session_snoozed" | "session_unsnoozed" | "skills_added_by_system" | "sla_applied_by_agent" | "sla_applied_by_system" | "sla_first_reply_breached" | "sla_first_reply_completed_after_breach" | "sla_first_reply_fulfilled" | "sla_first_reply_metric_started" | "sla_freezed_office_hours_ended" | "sla_freezed_snoozed" | "sla_next_reply_breached" | "sla_next_reply_completed_after_breach" | "sla_next_reply_fulfilled" | "sla_next_reply_metric_started" | "sla_removed_by_agent" | "sla_removed_by_system" | "sla_resolution_breached" | "sla_resolution_completed_after_breach" | "sla_resolution_fulfilled" | "sla_resolution_metric_started" | "sla_resolution_paused_resolved" | "sla_resolution_paused_waiting_on_customer" | "sla_resolution_resumed_customer_replied" | "sla_resolution_resumed_reopened" | "sla_resumed_office_hours_started" | "sla_resumed_snooze_cancelled" | "sla_resumed_snooze_expired" | "state_checkpoint" | "sub_session_created" | "sub_session_linked_by_agent" | "sub_session_linked_by_api" | "sub_session_linked_by_integration" | "sub_session_linked_by_system" | "sub_session_unlinked_by_agent" | "sub_session_unlinked_by_api" | "sub_session_unlinked_by_integration" | "sub_session_unlinked_by_system" | "sub_status_removed_by_agent" | "sub_status_removed_by_api" | "sub_status_removed_by_integration" | "sub_status_removed_by_system" | "sub_status_set_by_agent" | "sub_status_set_by_api" | "sub_status_set_by_integration" | "sub_status_set_by_system" | "system_reopened_session" | "tag_added_by_agent" | "tag_added_by_api" | "tag_added_by_integration" | "tag_added_by_system" | "tag_removed_by_agent" | "tag_removed_by_api" | "tag_removed_by_integration" | "tag_removed_by_system" | "team_assigned_by_integration" | "team_assigned_by_system" | "team_assigned_by_user" | "team_unassigned_by_integration" | "team_unassigned_by_system" | "team_unassigned_by_user" | "user_confirmed_the_session_resolved" | "voice_call_ai_joined" | "voice_call_ai_left" | "voice_call_contact_answered" | "voice_call_contact_joined" | "voice_call_contact_left" | "voice_call_ended" | "voice_call_failed_to_start" | "voice_call_human_answered" | "voice_call_human_joined" | "voice_call_human_left" | "voice_call_started" | "workflow_message" | "workflow_note" | "workflow_triggered";
13894
14066
  content: {
13895
14067
  /** @constant */
13896
14068
  type: "text";
@@ -14174,7 +14346,7 @@ export interface components {
14174
14346
  * @description Stored event type used by include/exclude filters; it can differ from the normalized event.type.
14175
14347
  * @enum {string}
14176
14348
  */
14177
- message_type: "agent_assigned_by_integration" | "agent_assigned_by_system" | "agent_assigned_by_user" | "agent_changed" | "agent_comment" | "agent_initiated_session" | "agent_joined" | "agent_message" | "agent_reopened_session" | "agent_took_session_from_ai" | "agent_unassigned_by_integration" | "agent_unassigned_by_system" | "agent_unassigned_by_user" | "ai_assumed_the_session_resolved" | "ai_decided_to_not_reply" | "ai_decided_to_resolve_the_issue" | "ai_follow_up_cancelled" | "ai_follow_up_fired" | "ai_follow_up_scheduled" | "ai_reopened_session" | "ai_response_cancelled" | "ai_resumed_by_system" | "ai_suggestion" | "call_history" | "call_transferred" | "closed_resolved_by_agent" | "closed_resolved_by_api" | "closed_resolved_by_contact" | "closed_resolved_by_integration" | "closed_resolved_by_system" | "closed_unresolved_by_agent" | "closed_unresolved_by_api" | "closed_unresolved_by_system" | "contact_data_updated" | "csat_request_cancelled" | "csat_requested" | "csat_submitted" | "email_draft_message" | "handoff" | "handoff_to_salesforce_miaw" | "handoff_to_third_party_failed" | "handoff_to_zendesk" | "integration_reopened_session" | "ivr_selection" | "message" | "pii_attachment_removed" | "primary_contact_changed" | "prohibited_topic_detected" | "quoted_content_modified" | "salesforce_fields_updated" | "sequence_message" | "session_forwarded" | "session_language_changed_by_agent" | "session_language_changed_by_api" | "session_language_changed_by_integration" | "session_language_changed_by_system" | "session_priority_changed_by_agent" | "session_priority_changed_by_system" | "session_snoozed" | "session_unsnoozed" | "skills_added_by_system" | "sla_applied_by_agent" | "sla_applied_by_system" | "sla_first_reply_breached" | "sla_first_reply_completed_after_breach" | "sla_first_reply_fulfilled" | "sla_first_reply_metric_started" | "sla_freezed_office_hours_ended" | "sla_freezed_snoozed" | "sla_next_reply_breached" | "sla_next_reply_completed_after_breach" | "sla_next_reply_fulfilled" | "sla_next_reply_metric_started" | "sla_removed_by_agent" | "sla_removed_by_system" | "sla_resolution_breached" | "sla_resolution_completed_after_breach" | "sla_resolution_fulfilled" | "sla_resolution_metric_started" | "sla_resolution_paused_resolved" | "sla_resolution_paused_waiting_on_customer" | "sla_resolution_resumed_customer_replied" | "sla_resolution_resumed_reopened" | "sla_resumed_office_hours_started" | "sla_resumed_snooze_cancelled" | "sla_resumed_snooze_expired" | "state_checkpoint" | "sub_session_created" | "sub_session_linked_by_agent" | "sub_session_linked_by_api" | "sub_session_linked_by_integration" | "sub_session_linked_by_system" | "sub_session_unlinked_by_agent" | "sub_session_unlinked_by_api" | "sub_session_unlinked_by_integration" | "sub_session_unlinked_by_system" | "sub_status_removed_by_agent" | "sub_status_removed_by_api" | "sub_status_removed_by_integration" | "sub_status_removed_by_system" | "sub_status_set_by_agent" | "sub_status_set_by_api" | "sub_status_set_by_integration" | "sub_status_set_by_system" | "system_reopened_session" | "tag_added_by_agent" | "tag_added_by_api" | "tag_added_by_integration" | "tag_added_by_system" | "tag_removed_by_agent" | "tag_removed_by_api" | "tag_removed_by_integration" | "tag_removed_by_system" | "team_assigned_by_integration" | "team_assigned_by_system" | "team_assigned_by_user" | "team_unassigned_by_integration" | "team_unassigned_by_system" | "team_unassigned_by_user" | "user_confirmed_the_session_resolved" | "voice_call_ai_joined" | "voice_call_ai_left" | "voice_call_contact_answered" | "voice_call_contact_joined" | "voice_call_contact_left" | "voice_call_ended" | "voice_call_failed_to_start" | "voice_call_human_answered" | "voice_call_human_joined" | "voice_call_human_left" | "voice_call_started" | "workflow_message" | "workflow_note" | "workflow_triggered";
14349
+ message_type: "agent_assigned_by_integration" | "agent_assigned_by_system" | "agent_assigned_by_user" | "agent_changed" | "agent_comment" | "agent_initiated_session" | "agent_joined" | "agent_message" | "agent_reopened_session" | "agent_took_session_from_ai" | "agent_unassigned_by_integration" | "agent_unassigned_by_system" | "agent_unassigned_by_user" | "ai_assumed_the_session_resolved" | "ai_decided_to_not_reply" | "ai_decided_to_resolve_the_issue" | "ai_follow_up_cancelled" | "ai_follow_up_fired" | "ai_follow_up_scheduled" | "ai_reopened_session" | "ai_response_cancelled" | "ai_resumed_by_system" | "ai_suggestion" | "call_history" | "call_transferred" | "closed_resolved_by_agent" | "closed_resolved_by_api" | "closed_resolved_by_contact" | "closed_resolved_by_integration" | "closed_resolved_by_system" | "closed_unresolved_by_agent" | "closed_unresolved_by_api" | "closed_unresolved_by_system" | "contact_data_updated" | "csat_request_cancelled" | "csat_requested" | "csat_submitted" | "email_draft_message" | "handoff" | "handoff_to_salesforce_miaw" | "handoff_to_third_party_failed" | "handoff_to_zendesk" | "integration_reopened_session" | "ivr_selection" | "merged_session_message" | "message" | "pii_attachment_removed" | "primary_contact_changed" | "prohibited_topic_detected" | "quoted_content_modified" | "salesforce_fields_updated" | "sequence_message" | "session_forwarded" | "session_language_changed_by_agent" | "session_language_changed_by_api" | "session_language_changed_by_integration" | "session_language_changed_by_system" | "session_merged" | "session_priority_changed_by_agent" | "session_priority_changed_by_system" | "session_snoozed" | "session_unsnoozed" | "skills_added_by_system" | "sla_applied_by_agent" | "sla_applied_by_system" | "sla_first_reply_breached" | "sla_first_reply_completed_after_breach" | "sla_first_reply_fulfilled" | "sla_first_reply_metric_started" | "sla_freezed_office_hours_ended" | "sla_freezed_snoozed" | "sla_next_reply_breached" | "sla_next_reply_completed_after_breach" | "sla_next_reply_fulfilled" | "sla_next_reply_metric_started" | "sla_removed_by_agent" | "sla_removed_by_system" | "sla_resolution_breached" | "sla_resolution_completed_after_breach" | "sla_resolution_fulfilled" | "sla_resolution_metric_started" | "sla_resolution_paused_resolved" | "sla_resolution_paused_waiting_on_customer" | "sla_resolution_resumed_customer_replied" | "sla_resolution_resumed_reopened" | "sla_resumed_office_hours_started" | "sla_resumed_snooze_cancelled" | "sla_resumed_snooze_expired" | "state_checkpoint" | "sub_session_created" | "sub_session_linked_by_agent" | "sub_session_linked_by_api" | "sub_session_linked_by_integration" | "sub_session_linked_by_system" | "sub_session_unlinked_by_agent" | "sub_session_unlinked_by_api" | "sub_session_unlinked_by_integration" | "sub_session_unlinked_by_system" | "sub_status_removed_by_agent" | "sub_status_removed_by_api" | "sub_status_removed_by_integration" | "sub_status_removed_by_system" | "sub_status_set_by_agent" | "sub_status_set_by_api" | "sub_status_set_by_integration" | "sub_status_set_by_system" | "system_reopened_session" | "tag_added_by_agent" | "tag_added_by_api" | "tag_added_by_integration" | "tag_added_by_system" | "tag_removed_by_agent" | "tag_removed_by_api" | "tag_removed_by_integration" | "tag_removed_by_system" | "team_assigned_by_integration" | "team_assigned_by_system" | "team_assigned_by_user" | "team_unassigned_by_integration" | "team_unassigned_by_system" | "team_unassigned_by_user" | "user_confirmed_the_session_resolved" | "voice_call_ai_joined" | "voice_call_ai_left" | "voice_call_contact_answered" | "voice_call_contact_joined" | "voice_call_contact_left" | "voice_call_ended" | "voice_call_failed_to_start" | "voice_call_human_answered" | "voice_call_human_joined" | "voice_call_human_left" | "voice_call_started" | "workflow_message" | "workflow_note" | "workflow_triggered";
14178
14350
  actor: {
14179
14351
  /** @enum {string} */
14180
14352
  type: "human" | "api" | "workflow" | "system" | "integration" | "ai" | "contact" | "unknown";
@@ -14330,7 +14502,7 @@ export interface components {
14330
14502
  summary: string;
14331
14503
  explanation: string | null;
14332
14504
  sentiment: ("angry" | "happy" | "neutral") | null;
14333
- reasons: ("ai_implied_handoff" | "based_on_instructions" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance")[];
14505
+ reasons: ("ai_implied_handoff" | "based_on_instructions" | "feature_limit_reached__ai_resolutions" | "feature_limit_reached__ai_voice_minutes" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance")[];
14334
14506
  references: components["schemas"]["InvestigationReferenceItem"][];
14335
14507
  referenced_documents: components["schemas"]["InvestigationReferenceBuckets"];
14336
14508
  } | null;
@@ -14398,6 +14570,12 @@ export interface components {
14398
14570
  GetChatSessionOutput: {
14399
14571
  /** Format: uuid */
14400
14572
  id: string;
14573
+ merge: {
14574
+ /** Format: uuid */
14575
+ id: string;
14576
+ primary_session_id: string | null;
14577
+ merged_at: string | null;
14578
+ } | null;
14401
14579
  /** @description All tags currently assigned to this session, ordered by tag name. Empty when no tags are assigned. */
14402
14580
  tags: components["schemas"]["SessionTagOutput"][];
14403
14581
  /** @enum {string} */
@@ -14482,6 +14660,12 @@ export interface components {
14482
14660
  GetChatSessionDetailOutput: {
14483
14661
  /** Format: uuid */
14484
14662
  id: string;
14663
+ merge: {
14664
+ /** Format: uuid */
14665
+ id: string;
14666
+ primary_session_id: string | null;
14667
+ merged_at: string | null;
14668
+ } | null;
14485
14669
  /** @description All tags currently assigned to this session, ordered by tag name. Empty when no tags are assigned. */
14486
14670
  tags: components["schemas"]["SessionTagOutput"][];
14487
14671
  /** @enum {string} */
@@ -14590,7 +14774,7 @@ export interface components {
14590
14774
  } | ({
14591
14775
  /** @constant */
14592
14776
  success: true;
14593
- code?: string | "session_assigned_to_human_agent" | "response_cancelled" | "skipping_unuseful_response" | "duplicate_message_ignored" | "ai_response_skipped_by_workflow" | "message_option_workflow_triggered" | "ai_skipped_spam" | "steered_into_live_turn" | "session_busy";
14777
+ code?: string | "session_assigned_to_human_agent" | "response_cancelled" | "skipping_unuseful_response" | "duplicate_message_ignored" | "ai_response_skipped_by_workflow" | "message_option_workflow_triggered" | "ai_skipped_spam" | "steered_into_live_turn" | "session_busy" | "feature_limit_reached";
14594
14778
  autopilotResponse?: {
14595
14779
  /** @constant */
14596
14780
  type: "text";
@@ -14752,6 +14936,7 @@ export interface components {
14752
14936
  };
14753
14937
  assistMode: boolean;
14754
14938
  emailContactRevision?: number;
14939
+ emailDelivered?: boolean;
14755
14940
  mode?: {
14756
14941
  id: string;
14757
14942
  name: string;
@@ -15135,12 +15320,12 @@ export interface components {
15135
15320
  end_date: string;
15136
15321
  reasons: {
15137
15322
  /** @enum {string} */
15138
- reason: "ai_implied_handoff" | "based_on_instructions" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance";
15323
+ reason: "ai_implied_handoff" | "based_on_instructions" | "feature_limit_reached__ai_resolutions" | "feature_limit_reached__ai_voice_minutes" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance";
15139
15324
  count: number;
15140
15325
  percentage: number;
15141
15326
  }[];
15142
15327
  reason_combinations: {
15143
- reasons: ("ai_implied_handoff" | "based_on_instructions" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance")[];
15328
+ reasons: ("ai_implied_handoff" | "based_on_instructions" | "feature_limit_reached__ai_resolutions" | "feature_limit_reached__ai_voice_minutes" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance")[];
15144
15329
  session_count: number;
15145
15330
  percentage: number;
15146
15331
  }[];
@@ -15831,7 +16016,7 @@ export interface components {
15831
16016
  /** Format: email */
15832
16017
  email: string;
15833
16018
  avatar_url?: string | null;
15834
- permissions?: ("*" | "sessions:read" | "sessions:write" | "team-sessions:read" | "team-sessions:write" | "assigned-sessions:read" | "assigned-sessions:write" | "hybrid-inbox:read" | "sessions-personal-views:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "sessions-create:write" | "sessions-sub-sessions:write" | "contacts:read" | "contacts:write" | "companies:read" | "companies:write" | "sequences:read" | "sequences:write" | "ai-training:read" | "ai-training:write" | "reports:read" | "reports:write" | "help-center:read" | "help-center:write" | "help-center-content:read" | "help-center-content:write" | "workflows:read" | "workflows:write" | "workflows:execute" | "actions:read" | "actions:write" | "mini-apps:read" | "mini-apps:write" | "companion:read" | "companion:write" | "redaction:read" | "redaction:write" | "voc:read" | "voc:write" | "audit-logs:read" | "settings:read" | "settings:write" | "settings-general:read" | "settings-general:write" | "settings-billing:read" | "settings-billing:write" | "settings-api-keys:read" | "settings-api-keys:write" | "settings-autopilot:read" | "settings-autopilot:write" | "settings-structured-fields:read" | "settings-structured-fields:write" | "settings-webhooks:read" | "settings-webhooks:write" | "settings-secrets:read" | "settings-secrets:write" | "settings-handoff:read" | "settings-handoff:write" | "settings-translations:read" | "settings-translations:write" | "settings-sso:read" | "settings-sso:write" | "settings-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members:write" | "settings-agent-availability:read" | "settings-agent-availability:write" | "settings-tags:read" | "settings-tags:write" | "settings-sla:read" | "settings-sla:write" | "settings-csat:read" | "settings-csat:write" | "settings-reports:read" | "settings-reports:write" | "settings-office-hours:read" | "settings-office-hours:write" | "settings-channels:read" | "settings-channels:write" | "settings-channels-voice:read" | "settings-channels-voice:write" | "settings-email-fleet:read" | "settings-email-fleet:write" | "settings-helpdesk:read" | "settings-helpdesk:write" | "settings-custom-statuses:read" | "settings-custom-statuses:write" | "settings-availability-statuses:read" | "settings-availability-statuses:write" | "settings-personal-profile:read" | "settings-personal-profile:write" | "settings-groups:read" | "settings-groups:write" | "settings-roles:read" | "settings-roles:write" | "settings-macros:read" | "settings-macros:write" | "settings-skills:read" | "settings-skills:write")[] | null;
16019
+ permissions?: ("*" | "sessions:read" | "sessions:write" | "team-sessions:read" | "team-sessions:write" | "assigned-sessions:read" | "assigned-sessions:write" | "hybrid-inbox:read" | "sessions-personal-views:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "sessions-create:write" | "sessions-sub-sessions:write" | "merge-sessions:write" | "contacts:read" | "contacts:write" | "companies:read" | "companies:write" | "sequences:read" | "sequences:write" | "ai-training:read" | "ai-training:write" | "reports:read" | "reports:write" | "help-center:read" | "help-center:write" | "help-center-content:read" | "help-center-content:write" | "workflows:read" | "workflows:write" | "workflows:execute" | "actions:read" | "actions:write" | "mini-apps:read" | "mini-apps:write" | "companion:read" | "companion:write" | "redaction:read" | "redaction:write" | "voc:read" | "voc:write" | "audit-logs:read" | "settings:read" | "settings:write" | "settings-general:read" | "settings-general:write" | "settings-billing:read" | "settings-billing:write" | "settings-api-keys:read" | "settings-api-keys:write" | "settings-autopilot:read" | "settings-autopilot:write" | "settings-structured-fields:read" | "settings-structured-fields:write" | "settings-webhooks:read" | "settings-webhooks:write" | "settings-secrets:read" | "settings-secrets:write" | "settings-handoff:read" | "settings-handoff:write" | "settings-translations:read" | "settings-translations:write" | "settings-sso:read" | "settings-sso:write" | "settings-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members:write" | "settings-agent-availability:read" | "settings-agent-availability:write" | "settings-tags:read" | "settings-tags:write" | "settings-sla:read" | "settings-sla:write" | "settings-csat:read" | "settings-csat:write" | "settings-reports:read" | "settings-reports:write" | "settings-office-hours:read" | "settings-office-hours:write" | "settings-channels:read" | "settings-channels:write" | "settings-channels-voice:read" | "settings-channels-voice:write" | "settings-email-fleet:read" | "settings-email-fleet:write" | "settings-helpdesk:read" | "settings-helpdesk:write" | "settings-custom-statuses:read" | "settings-custom-statuses:write" | "settings-availability-statuses:read" | "settings-availability-statuses:write" | "settings-personal-profile:read" | "settings-personal-profile:write" | "settings-groups:read" | "settings-groups:write" | "settings-roles:read" | "settings-roles:write" | "settings-macros:read" | "settings-macros:write" | "settings-skills:read" | "settings-skills:write")[] | null;
15835
16020
  roles: components["schemas"]["OrgUserRole"][];
15836
16021
  };
15837
16022
  OrgUserDetail: {
@@ -15841,7 +16026,7 @@ export interface components {
15841
16026
  /** Format: email */
15842
16027
  email: string;
15843
16028
  avatar_url?: string | null;
15844
- permissions?: ("*" | "sessions:read" | "sessions:write" | "team-sessions:read" | "team-sessions:write" | "assigned-sessions:read" | "assigned-sessions:write" | "hybrid-inbox:read" | "sessions-personal-views:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "sessions-create:write" | "sessions-sub-sessions:write" | "contacts:read" | "contacts:write" | "companies:read" | "companies:write" | "sequences:read" | "sequences:write" | "ai-training:read" | "ai-training:write" | "reports:read" | "reports:write" | "help-center:read" | "help-center:write" | "help-center-content:read" | "help-center-content:write" | "workflows:read" | "workflows:write" | "workflows:execute" | "actions:read" | "actions:write" | "mini-apps:read" | "mini-apps:write" | "companion:read" | "companion:write" | "redaction:read" | "redaction:write" | "voc:read" | "voc:write" | "audit-logs:read" | "settings:read" | "settings:write" | "settings-general:read" | "settings-general:write" | "settings-billing:read" | "settings-billing:write" | "settings-api-keys:read" | "settings-api-keys:write" | "settings-autopilot:read" | "settings-autopilot:write" | "settings-structured-fields:read" | "settings-structured-fields:write" | "settings-webhooks:read" | "settings-webhooks:write" | "settings-secrets:read" | "settings-secrets:write" | "settings-handoff:read" | "settings-handoff:write" | "settings-translations:read" | "settings-translations:write" | "settings-sso:read" | "settings-sso:write" | "settings-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members:write" | "settings-agent-availability:read" | "settings-agent-availability:write" | "settings-tags:read" | "settings-tags:write" | "settings-sla:read" | "settings-sla:write" | "settings-csat:read" | "settings-csat:write" | "settings-reports:read" | "settings-reports:write" | "settings-office-hours:read" | "settings-office-hours:write" | "settings-channels:read" | "settings-channels:write" | "settings-channels-voice:read" | "settings-channels-voice:write" | "settings-email-fleet:read" | "settings-email-fleet:write" | "settings-helpdesk:read" | "settings-helpdesk:write" | "settings-custom-statuses:read" | "settings-custom-statuses:write" | "settings-availability-statuses:read" | "settings-availability-statuses:write" | "settings-personal-profile:read" | "settings-personal-profile:write" | "settings-groups:read" | "settings-groups:write" | "settings-roles:read" | "settings-roles:write" | "settings-macros:read" | "settings-macros:write" | "settings-skills:read" | "settings-skills:write")[] | null;
16029
+ permissions?: ("*" | "sessions:read" | "sessions:write" | "team-sessions:read" | "team-sessions:write" | "assigned-sessions:read" | "assigned-sessions:write" | "hybrid-inbox:read" | "sessions-personal-views:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "sessions-create:write" | "sessions-sub-sessions:write" | "merge-sessions:write" | "contacts:read" | "contacts:write" | "companies:read" | "companies:write" | "sequences:read" | "sequences:write" | "ai-training:read" | "ai-training:write" | "reports:read" | "reports:write" | "help-center:read" | "help-center:write" | "help-center-content:read" | "help-center-content:write" | "workflows:read" | "workflows:write" | "workflows:execute" | "actions:read" | "actions:write" | "mini-apps:read" | "mini-apps:write" | "companion:read" | "companion:write" | "redaction:read" | "redaction:write" | "voc:read" | "voc:write" | "audit-logs:read" | "settings:read" | "settings:write" | "settings-general:read" | "settings-general:write" | "settings-billing:read" | "settings-billing:write" | "settings-api-keys:read" | "settings-api-keys:write" | "settings-autopilot:read" | "settings-autopilot:write" | "settings-structured-fields:read" | "settings-structured-fields:write" | "settings-webhooks:read" | "settings-webhooks:write" | "settings-secrets:read" | "settings-secrets:write" | "settings-handoff:read" | "settings-handoff:write" | "settings-translations:read" | "settings-translations:write" | "settings-sso:read" | "settings-sso:write" | "settings-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members:write" | "settings-agent-availability:read" | "settings-agent-availability:write" | "settings-tags:read" | "settings-tags:write" | "settings-sla:read" | "settings-sla:write" | "settings-csat:read" | "settings-csat:write" | "settings-reports:read" | "settings-reports:write" | "settings-office-hours:read" | "settings-office-hours:write" | "settings-channels:read" | "settings-channels:write" | "settings-channels-voice:read" | "settings-channels-voice:write" | "settings-email-fleet:read" | "settings-email-fleet:write" | "settings-helpdesk:read" | "settings-helpdesk:write" | "settings-custom-statuses:read" | "settings-custom-statuses:write" | "settings-availability-statuses:read" | "settings-availability-statuses:write" | "settings-personal-profile:read" | "settings-personal-profile:write" | "settings-groups:read" | "settings-groups:write" | "settings-roles:read" | "settings-roles:write" | "settings-macros:read" | "settings-macros:write" | "settings-skills:read" | "settings-skills:write")[] | null;
15845
16030
  roles: components["schemas"]["OrgUserRole"][];
15846
16031
  teams: {
15847
16032
  group: components["schemas"]["GroupDto"];
@@ -15863,7 +16048,7 @@ export interface components {
15863
16048
  id: string;
15864
16049
  name: string;
15865
16050
  description: string | null;
15866
- permissions: ("*" | "sessions:read" | "sessions:write" | "team-sessions:read" | "team-sessions:write" | "assigned-sessions:read" | "assigned-sessions:write" | "hybrid-inbox:read" | "sessions-personal-views:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "sessions-create:write" | "sessions-sub-sessions:write" | "contacts:read" | "contacts:write" | "companies:read" | "companies:write" | "sequences:read" | "sequences:write" | "ai-training:read" | "ai-training:write" | "reports:read" | "reports:write" | "help-center:read" | "help-center:write" | "help-center-content:read" | "help-center-content:write" | "workflows:read" | "workflows:write" | "workflows:execute" | "actions:read" | "actions:write" | "mini-apps:read" | "mini-apps:write" | "companion:read" | "companion:write" | "redaction:read" | "redaction:write" | "voc:read" | "voc:write" | "audit-logs:read" | "settings:read" | "settings:write" | "settings-general:read" | "settings-general:write" | "settings-billing:read" | "settings-billing:write" | "settings-api-keys:read" | "settings-api-keys:write" | "settings-autopilot:read" | "settings-autopilot:write" | "settings-structured-fields:read" | "settings-structured-fields:write" | "settings-webhooks:read" | "settings-webhooks:write" | "settings-secrets:read" | "settings-secrets:write" | "settings-handoff:read" | "settings-handoff:write" | "settings-translations:read" | "settings-translations:write" | "settings-sso:read" | "settings-sso:write" | "settings-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members:write" | "settings-agent-availability:read" | "settings-agent-availability:write" | "settings-tags:read" | "settings-tags:write" | "settings-sla:read" | "settings-sla:write" | "settings-csat:read" | "settings-csat:write" | "settings-reports:read" | "settings-reports:write" | "settings-office-hours:read" | "settings-office-hours:write" | "settings-channels:read" | "settings-channels:write" | "settings-channels-voice:read" | "settings-channels-voice:write" | "settings-email-fleet:read" | "settings-email-fleet:write" | "settings-helpdesk:read" | "settings-helpdesk:write" | "settings-custom-statuses:read" | "settings-custom-statuses:write" | "settings-availability-statuses:read" | "settings-availability-statuses:write" | "settings-personal-profile:read" | "settings-personal-profile:write" | "settings-groups:read" | "settings-groups:write" | "settings-roles:read" | "settings-roles:write" | "settings-macros:read" | "settings-macros:write" | "settings-skills:read" | "settings-skills:write")[];
16051
+ permissions: ("*" | "sessions:read" | "sessions:write" | "team-sessions:read" | "team-sessions:write" | "assigned-sessions:read" | "assigned-sessions:write" | "hybrid-inbox:read" | "sessions-personal-views:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "sessions-create:write" | "sessions-sub-sessions:write" | "merge-sessions:write" | "contacts:read" | "contacts:write" | "companies:read" | "companies:write" | "sequences:read" | "sequences:write" | "ai-training:read" | "ai-training:write" | "reports:read" | "reports:write" | "help-center:read" | "help-center:write" | "help-center-content:read" | "help-center-content:write" | "workflows:read" | "workflows:write" | "workflows:execute" | "actions:read" | "actions:write" | "mini-apps:read" | "mini-apps:write" | "companion:read" | "companion:write" | "redaction:read" | "redaction:write" | "voc:read" | "voc:write" | "audit-logs:read" | "settings:read" | "settings:write" | "settings-general:read" | "settings-general:write" | "settings-billing:read" | "settings-billing:write" | "settings-api-keys:read" | "settings-api-keys:write" | "settings-autopilot:read" | "settings-autopilot:write" | "settings-structured-fields:read" | "settings-structured-fields:write" | "settings-webhooks:read" | "settings-webhooks:write" | "settings-secrets:read" | "settings-secrets:write" | "settings-handoff:read" | "settings-handoff:write" | "settings-translations:read" | "settings-translations:write" | "settings-sso:read" | "settings-sso:write" | "settings-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members:write" | "settings-agent-availability:read" | "settings-agent-availability:write" | "settings-tags:read" | "settings-tags:write" | "settings-sla:read" | "settings-sla:write" | "settings-csat:read" | "settings-csat:write" | "settings-reports:read" | "settings-reports:write" | "settings-office-hours:read" | "settings-office-hours:write" | "settings-channels:read" | "settings-channels:write" | "settings-channels-voice:read" | "settings-channels-voice:write" | "settings-email-fleet:read" | "settings-email-fleet:write" | "settings-helpdesk:read" | "settings-helpdesk:write" | "settings-custom-statuses:read" | "settings-custom-statuses:write" | "settings-availability-statuses:read" | "settings-availability-statuses:write" | "settings-personal-profile:read" | "settings-personal-profile:write" | "settings-groups:read" | "settings-groups:write" | "settings-roles:read" | "settings-roles:write" | "settings-macros:read" | "settings-macros:write" | "settings-skills:read" | "settings-skills:write")[];
15867
16052
  };
15868
16053
  PublicInsight: {
15869
16054
  /** Format: uuid */
@@ -16122,7 +16307,7 @@ export interface components {
16122
16307
  summary: string;
16123
16308
  explanation: string | null;
16124
16309
  sentiment: string | null;
16125
- reasons: ("ai_implied_handoff" | "based_on_instructions" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance")[];
16310
+ reasons: ("ai_implied_handoff" | "based_on_instructions" | "feature_limit_reached__ai_resolutions" | "feature_limit_reached__ai_voice_minutes" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance")[];
16126
16311
  references: {
16127
16312
  /** @enum {string} */
16128
16313
  reference_type: "ai_profile" | "instruction" | "knowledge" | "prohibited_topic" | "tool";
@@ -16301,7 +16486,7 @@ export interface components {
16301
16486
  session_id: string;
16302
16487
  summary: string;
16303
16488
  explanation: string | null;
16304
- reasons: ("ai_implied_handoff" | "based_on_instructions" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance")[];
16489
+ reasons: ("ai_implied_handoff" | "based_on_instructions" | "feature_limit_reached__ai_resolutions" | "feature_limit_reached__ai_voice_minutes" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance")[];
16305
16490
  sentiment: ("angry" | "happy" | "neutral") | null;
16306
16491
  created_at: string;
16307
16492
  }[];
@@ -17019,6 +17204,41 @@ export interface operations {
17019
17204
  };
17020
17205
  };
17021
17206
  };
17207
+ mergeSessions: {
17208
+ parameters: {
17209
+ query?: never;
17210
+ header?: never;
17211
+ path: {
17212
+ session_id: string;
17213
+ };
17214
+ cookie?: never;
17215
+ };
17216
+ requestBody: {
17217
+ content: {
17218
+ "application/json": components["schemas"]["MergeSessionsInput"];
17219
+ };
17220
+ };
17221
+ responses: {
17222
+ /** @description Default Response */
17223
+ 200: {
17224
+ headers: {
17225
+ [name: string]: unknown;
17226
+ };
17227
+ content: {
17228
+ "application/json": components["schemas"]["MergeSessionsResult"];
17229
+ };
17230
+ };
17231
+ /** @description Internal Server Error */
17232
+ 500: {
17233
+ headers: {
17234
+ [name: string]: unknown;
17235
+ };
17236
+ content: {
17237
+ "application/json": components["schemas"]["ErrorDto"];
17238
+ };
17239
+ };
17240
+ };
17241
+ };
17022
17242
  listChatSessions: {
17023
17243
  parameters: {
17024
17244
  query?: {
@@ -21690,7 +21910,7 @@ export interface operations {
21690
21910
  /** @description Pagination cursor from a previous response */
21691
21911
  cursor?: string;
21692
21912
  /** @description Only return handoffs that include this reason */
21693
- reason?: "ai_implied_handoff" | "based_on_instructions" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance";
21913
+ reason?: "ai_implied_handoff" | "based_on_instructions" | "feature_limit_reached__ai_resolutions" | "feature_limit_reached__ai_voice_minutes" | "instructions_not_clear" | "insufficient_knowledge" | "insufficient_tools" | "prohibited_topic" | "user_requested_human_assistance";
21694
21914
  /** @description Start date in ISO 8601 format (defaults to 30 days ago) */
21695
21915
  start_date?: string;
21696
21916
  /** @description End date in ISO 8601 format (defaults to now) */
@@ -28197,6 +28417,39 @@ export interface operations {
28197
28417
  };
28198
28418
  };
28199
28419
  };
28420
+ authenticateWidgetUserByExternalId: {
28421
+ parameters: {
28422
+ query?: never;
28423
+ header?: never;
28424
+ path?: never;
28425
+ cookie?: never;
28426
+ };
28427
+ requestBody: {
28428
+ content: {
28429
+ "application/json": components["schemas"]["AuthenticateUserByExternalIdPayloadDto"];
28430
+ };
28431
+ };
28432
+ responses: {
28433
+ /** @description Default Response */
28434
+ 201: {
28435
+ headers: {
28436
+ [name: string]: unknown;
28437
+ };
28438
+ content: {
28439
+ "application/json": components["schemas"]["VerifiedWidgetContactTokenResponseDto"];
28440
+ };
28441
+ };
28442
+ /** @description Internal Server Error */
28443
+ 500: {
28444
+ headers: {
28445
+ [name: string]: unknown;
28446
+ };
28447
+ content: {
28448
+ "application/json": components["schemas"]["ErrorDto"];
28449
+ };
28450
+ };
28451
+ };
28452
+ };
28200
28453
  testConnection: {
28201
28454
  parameters: {
28202
28455
  query?: never;