@opencx/mcp 1.15.13 → 1.15.15

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
@@ -184,7 +184,7 @@ export interface paths {
184
184
  };
185
185
  /**
186
186
  * List availability statuses
187
- * @description List the organization's defined availability statuses (excluding deleted ones), ordered as shown in the dashboard. The hardcoded 'online' and 'offline' shortcuts are not listed — they are always applicable via the special field of applyUserAvailabilityStatus.
187
+ * @description List the organization's defined availability statuses (excluding deleted ones), ordered as shown in the dashboard. Each status carries its availability_type (whether applying it sets the user online or offline) and its display color. The hardcoded 'online' and 'offline' shortcuts are not listed — they are always applicable via the special field of applyUserAvailabilityStatus.
188
188
  */
189
189
  get: operations["listAvailabilityStatuses"];
190
190
  put?: never;
@@ -511,6 +511,30 @@ export interface paths {
511
511
  patch?: never;
512
512
  trace?: never;
513
513
  };
514
+ "/chat/sessions/{session_id}/comments/{comment_uuid}": {
515
+ parameters: {
516
+ query?: never;
517
+ header?: never;
518
+ path?: never;
519
+ cookie?: never;
520
+ };
521
+ get?: never;
522
+ put?: never;
523
+ post?: never;
524
+ /**
525
+ * Delete a session comment
526
+ * @description Soft-deletes an internal comment. Only the comment's author may delete it. The acting agent is passed as the `agent_id` query parameter.
527
+ */
528
+ delete: operations["deleteChatSessionComment"];
529
+ options?: never;
530
+ head?: never;
531
+ /**
532
+ * Update a session comment
533
+ * @description Replaces the content of an internal comment. Only the comment's author may edit it, and a deleted comment can no longer be edited.
534
+ */
535
+ patch: operations["updateChatSessionComment"];
536
+ trace?: never;
537
+ };
514
538
  "/chat/sessions/{session_id}/history": {
515
539
  parameters: {
516
540
  query?: never;
@@ -2410,7 +2434,7 @@ export interface paths {
2410
2434
  };
2411
2435
  /**
2412
2436
  * List available voices
2413
- * @description List available voices for AI phone agents. Supports filtering by language, gender, accent, use_case, and free-text search. Use limit/offset for pagination. Use the voice_id when creating or updating a phone agent.
2437
+ * @description List the curated voices available for AI phone agents. Supports filtering by language, gender, accent, use_case, and free-text search. Use limit/offset for pagination. Use the voice_id when creating or updating a phone agent.
2414
2438
  */
2415
2439
  get: operations["listVoices"];
2416
2440
  put?: never;
@@ -2445,6 +2469,26 @@ export interface paths {
2445
2469
  patch?: never;
2446
2470
  trace?: never;
2447
2471
  };
2472
+ "/phone/transfer-destinations": {
2473
+ parameters: {
2474
+ query?: never;
2475
+ header?: never;
2476
+ path?: never;
2477
+ cookie?: never;
2478
+ };
2479
+ /**
2480
+ * List transfer destinations
2481
+ * @description List the transfer destinations configured for your organization (phone numbers, SIP endpoints, teams, or hang-up handbacks). Reference their IDs in transfer_destination_ids when creating or updating a phone agent; the agent can then transfer calls to them by name. Destinations are created and edited in the dashboard (Settings → SIP).
2482
+ */
2483
+ get: operations["listPhoneTransferDestinations"];
2484
+ put?: never;
2485
+ post?: never;
2486
+ delete?: never;
2487
+ options?: never;
2488
+ head?: never;
2489
+ patch?: never;
2490
+ trace?: never;
2491
+ };
2448
2492
  "/phone/{phone_agent_id}/knowledge-sources": {
2449
2493
  parameters: {
2450
2494
  query?: never;
@@ -2954,7 +2998,7 @@ export interface paths {
2954
2998
  put?: never;
2955
2999
  /**
2956
3000
  * Create a training directory
2957
- * @description Create a new directory for organizing trainings.
3001
+ * @description Create a new directory for organizing trainings. Pass parent_id to create it as a sub-directory.
2958
3002
  */
2959
3003
  post: operations["createTrainingDirectory"];
2960
3004
  delete?: never;
@@ -2973,7 +3017,7 @@ export interface paths {
2973
3017
  get?: never;
2974
3018
  /**
2975
3019
  * Update a training directory
2976
- * @description Rename a training directory.
3020
+ * @description Rename and/or move a training directory. parent_id null moves it to the top level. Moving a directory under itself or one of its own sub-directories is rejected.
2977
3021
  */
2978
3022
  put: operations["updateTrainingDirectory"];
2979
3023
  post?: never;
@@ -3273,6 +3317,30 @@ export interface paths {
3273
3317
  get: operations["getOrgUser"];
3274
3318
  put?: never;
3275
3319
  post?: never;
3320
+ /**
3321
+ * Remove a user from the organization
3322
+ * @description Remove a user's organization membership. Also removes their team memberships and availability in this organization and signs them out everywhere. Their account and historical activity are preserved, and memberships in other organizations are unaffected. The organization owner cannot be removed.
3323
+ */
3324
+ delete: operations["deleteOrgUser"];
3325
+ options?: never;
3326
+ head?: never;
3327
+ patch?: never;
3328
+ trace?: never;
3329
+ };
3330
+ "/users/batch-delete": {
3331
+ parameters: {
3332
+ query?: never;
3333
+ header?: never;
3334
+ path?: never;
3335
+ cookie?: never;
3336
+ };
3337
+ get?: never;
3338
+ put?: never;
3339
+ /**
3340
+ * Remove multiple users from the organization
3341
+ * @description Remove up to 25 users from the organization in one call. Users are processed independently — one failure never aborts the rest — and the response reports a status per user. Same semantics as removing a single user.
3342
+ */
3343
+ post: operations["batchDeleteOrgUsers"];
3276
3344
  delete?: never;
3277
3345
  options?: never;
3278
3346
  head?: never;
@@ -4608,6 +4676,74 @@ export interface paths {
4608
4676
  patch?: never;
4609
4677
  trace?: never;
4610
4678
  };
4679
+ "/salesforce/ai-reply-templates": {
4680
+ parameters: {
4681
+ query?: never;
4682
+ header?: never;
4683
+ path?: never;
4684
+ cookie?: never;
4685
+ };
4686
+ /**
4687
+ * List AI reply templates
4688
+ * @description List the AI agent's reply templates for the organization (Salesforce v2 integration only): greeting/signature HTML rendered around or below the AI's autopilot Case emails, with one default and optional per-session auto-selection rules.
4689
+ */
4690
+ get: operations["listSalesforceAiReplyTemplates"];
4691
+ put?: never;
4692
+ /**
4693
+ * Create an AI reply template
4694
+ * @description Create a reply template (Salesforce v2 integration only). The organization's first template becomes the default automatically; `is_default: true` on a later one moves the default atomically. Template HTML. Put {{content}} where the AI agent's reply goes (anything above is the greeting, anything below the signature); without it the template is appended below the reply. Variables: system objects {{contact.full_name}} / {{contact.first_name}} / {{contact.email}} / {{session.number}} / {{session.language}} / {{org.name}} (HTML-escaped) and any session attribute such as {{sf_case_Regards__c}} (inserted raw — Salesforce formula fields hold HTML fragments — then sanitized). {{#if sf_case_Language__c == "de"}}…{{else}}…{{/if}} conditions are supported. Scripts, handlers and non-https images are stripped; {{content}} may appear at most once. Optional `rules` (ANDed attribute/tag conditions) make the template pick itself for matching sessions; the first matching rule-bearing template in creation order wins, otherwise the default.
4695
+ */
4696
+ post: operations["createSalesforceAiReplyTemplate"];
4697
+ delete?: never;
4698
+ options?: never;
4699
+ head?: never;
4700
+ patch?: never;
4701
+ trace?: never;
4702
+ };
4703
+ "/salesforce/ai-reply-templates/{id}": {
4704
+ parameters: {
4705
+ query?: never;
4706
+ header?: never;
4707
+ path?: never;
4708
+ cookie?: never;
4709
+ };
4710
+ get?: never;
4711
+ put?: never;
4712
+ post?: never;
4713
+ /**
4714
+ * Delete an AI reply template
4715
+ * @description Permanently delete a reply template. Deleting the default leaves the organization without one (the AI replies plain) until another template is made default.
4716
+ */
4717
+ delete: operations["deleteSalesforceAiReplyTemplate"];
4718
+ options?: never;
4719
+ head?: never;
4720
+ /**
4721
+ * Update an AI reply template
4722
+ * @description Partially update a reply template: name, template_html, is_default (true moves the default onto it), rules (null clears them). Template HTML. Put {{content}} where the AI agent's reply goes (anything above is the greeting, anything below the signature); without it the template is appended below the reply. Variables: system objects {{contact.full_name}} / {{contact.first_name}} / {{contact.email}} / {{session.number}} / {{session.language}} / {{org.name}} (HTML-escaped) and any session attribute such as {{sf_case_Regards__c}} (inserted raw — Salesforce formula fields hold HTML fragments — then sanitized). {{#if sf_case_Language__c == "de"}}…{{else}}…{{/if}} conditions are supported. Scripts, handlers and non-https images are stripped; {{content}} may appear at most once.
4723
+ */
4724
+ patch: operations["updateSalesforceAiReplyTemplate"];
4725
+ trace?: never;
4726
+ };
4727
+ "/salesforce/ai-reply-templates/preview": {
4728
+ parameters: {
4729
+ query?: never;
4730
+ header?: never;
4731
+ path?: never;
4732
+ cookie?: never;
4733
+ };
4734
+ get?: never;
4735
+ put?: never;
4736
+ /**
4737
+ * Preview an AI reply template
4738
+ * @description Render a template (saved or not) exactly as the AI agent would send it, against a real session of the organization: the session with `session_number`, else the most recent Salesforce-linked session, else an empty context. Returns the rendered HTML and text, the session used, and the variables that came out empty. Requires the write scope because it resolves real contact data.
4739
+ */
4740
+ post: operations["previewSalesforceAiReplyTemplate"];
4741
+ delete?: never;
4742
+ options?: never;
4743
+ head?: never;
4744
+ patch?: never;
4745
+ trace?: never;
4746
+ };
4611
4747
  "/companion/notify-team": {
4612
4748
  parameters: {
4613
4749
  query?: never;
@@ -4992,6 +5128,38 @@ export interface components {
4992
5128
  /** @enum {string} */
4993
5129
  support_assignment_strategy?: "least-busy" | "round-robin" | "unassigned";
4994
5130
  };
5131
+ SalesforceReplyTemplateRules: {
5132
+ conditions: ({
5133
+ /** @constant */
5134
+ type: "attribute";
5135
+ key: string;
5136
+ /** @enum {string} */
5137
+ op: "exists" | "not_exists" | "eq" | "neq" | "contains";
5138
+ value?: string;
5139
+ } | {
5140
+ /** @constant */
5141
+ type: "tag";
5142
+ /** @enum {string} */
5143
+ op: "has" | "not_has";
5144
+ value: string;
5145
+ })[];
5146
+ };
5147
+ CreateSalesforceAiReplyTemplateDto: {
5148
+ name: string;
5149
+ template_html: string;
5150
+ is_default?: boolean;
5151
+ rules?: components["schemas"]["SalesforceReplyTemplateRules"] | null;
5152
+ };
5153
+ UpdateSalesforceAiReplyTemplateDto: {
5154
+ name?: string;
5155
+ template_html?: string;
5156
+ is_default?: boolean;
5157
+ rules?: components["schemas"]["SalesforceReplyTemplateRules"] | null;
5158
+ };
5159
+ PreviewSalesforceAiReplyTemplateDto: {
5160
+ template_html: string;
5161
+ session_number?: number;
5162
+ };
4995
5163
  CreateVocCategoryDto: {
4996
5164
  name: string;
4997
5165
  description?: string | null;
@@ -5819,6 +5987,13 @@ export interface components {
5819
5987
  agent_id: number;
5820
5988
  attachments?: components["schemas"]["ChatAttachmentInput"][];
5821
5989
  };
5990
+ UpdateSessionCommentInput: {
5991
+ /** @description Replacement comment text content */
5992
+ content: string;
5993
+ /** @description Agent user ID performing the edit. Only the note's author may edit it. */
5994
+ agent_id: number;
5995
+ attachments?: components["schemas"]["ChatAttachmentInput"][];
5996
+ };
5822
5997
  FilterSessionsPublicDto: {
5823
5998
  /** @default {} */
5824
5999
  filters: {
@@ -5976,18 +6151,24 @@ export interface components {
5976
6151
  type?: "inbound" | "outbound";
5977
6152
  /** @description Voice ID from the /phone/voices endpoint. Omit for default voice. */
5978
6153
  voice_id?: string | null;
5979
- /** @description ISO-639-1 language codes the agent should speak. A subset of {en, es, fr, de, hi, ru, pt, ja, it, nl} can be combined freely. Any other code (e.g. "ar", "tr", "zh") must be the only entry. */
6154
+ /** @description ISO-639-1 language codes the agent should speak. A subset of {en, es, fr, de, hi, ru, pt, ja, it, nl} can be combined freely. Any other code (e.g. "ar", "tr", "zh") must be the only entry; Arabic accepts dialect tags such as "ar-SA". */
5980
6155
  language?: string[];
5981
6156
  /** @description What the agent says when it picks up (default: "Hello?") */
5982
6157
  first_message?: string | null;
5983
- /** @description Training scenario IDs to attach to this agent */
6158
+ /** @description The call prompt as an array of instruction blocks. Joined in order into the system prompt at call time. Sending this on update replaces the whole array. */
5984
6159
  instructions?: string[] | null;
5985
- /** @description Phone number to transfer to when handing off to a human (E.164 format) */
5986
- handoff_phone_number?: string | null;
5987
- /** @description Whether the agent can search your knowledge base during calls (default: false) */
5988
- use_org_knowledgebase?: boolean | null;
5989
- /** @description Action IDs the agent can call during conversations */
6160
+ /** @description HTTP actions the agent can call as tools during calls (action IDs from GET /actions). The full set is replaced on every write; send [] to detach all, omit or send null to leave it unchanged. IDs must belong to your organization. */
5990
6161
  actionIds?: string[] | null;
6162
+ /** @description Transfer destinations the agent may transfer calls to (IDs from GET /phone/transfer-destinations). The full set is replaced on every write; send [] to detach all. Destinations themselves are managed in the dashboard. */
6163
+ transfer_destination_ids?: string[];
6164
+ /** @description Destination the call is transferred to if the voice pipeline fails mid-call. Any destination of your organization; null falls back to the first allowed destination, then to a graceful hangup. */
6165
+ failover_transfer_destination_id?: string | null;
6166
+ /** @description Speaking speed on a 1-100 scale (null = the voice default). Lower is slower; natural-sounding voices in some languages (e.g. Dutch) run best around 80-85. */
6167
+ tts_speed_pct?: number | null;
6168
+ /** @description Custom vocabulary to boost in speech recognition: brand and product names, jargon, spellings the transcriber typically mishears. The agent name and transfer destination names are merged in automatically. */
6169
+ stt_keyterms?: string[] | null;
6170
+ /** @description Record calls handled by this agent (default: false). */
6171
+ recording_enabled?: boolean;
5991
6172
  };
5992
6173
  UpdatePhoneAgentPublicDto: {
5993
6174
  /** @description Agent display name */
@@ -5999,18 +6180,24 @@ export interface components {
5999
6180
  type?: "inbound" | "outbound";
6000
6181
  /** @description Voice ID from the /phone/voices endpoint. Omit for default voice. */
6001
6182
  voice_id?: string | null;
6002
- /** @description ISO-639-1 language codes the agent should speak. A subset of {en, es, fr, de, hi, ru, pt, ja, it, nl} can be combined freely. Any other code (e.g. "ar", "tr", "zh") must be the only entry. */
6183
+ /** @description ISO-639-1 language codes the agent should speak. A subset of {en, es, fr, de, hi, ru, pt, ja, it, nl} can be combined freely. Any other code (e.g. "ar", "tr", "zh") must be the only entry; Arabic accepts dialect tags such as "ar-SA". */
6003
6184
  language?: string[];
6004
6185
  /** @description What the agent says when it picks up (default: "Hello?") */
6005
6186
  first_message?: string | null;
6006
- /** @description Training scenario IDs to attach to this agent */
6187
+ /** @description The call prompt as an array of instruction blocks. Joined in order into the system prompt at call time. Sending this on update replaces the whole array. */
6007
6188
  instructions?: string[] | null;
6008
- /** @description Phone number to transfer to when handing off to a human (E.164 format) */
6009
- handoff_phone_number?: string | null;
6010
- /** @description Whether the agent can search your knowledge base during calls (default: false) */
6011
- use_org_knowledgebase?: boolean | null;
6012
- /** @description Action IDs the agent can call during conversations */
6189
+ /** @description HTTP actions the agent can call as tools during calls (action IDs from GET /actions). The full set is replaced on every write; send [] to detach all, omit or send null to leave it unchanged. IDs must belong to your organization. */
6013
6190
  actionIds?: string[] | null;
6191
+ /** @description Transfer destinations the agent may transfer calls to (IDs from GET /phone/transfer-destinations). The full set is replaced on every write; send [] to detach all. Destinations themselves are managed in the dashboard. */
6192
+ transfer_destination_ids?: string[];
6193
+ /** @description Destination the call is transferred to if the voice pipeline fails mid-call. Any destination of your organization; null falls back to the first allowed destination, then to a graceful hangup. */
6194
+ failover_transfer_destination_id?: string | null;
6195
+ /** @description Speaking speed on a 1-100 scale (null = the voice default). Lower is slower; natural-sounding voices in some languages (e.g. Dutch) run best around 80-85. */
6196
+ tts_speed_pct?: number | null;
6197
+ /** @description Custom vocabulary to boost in speech recognition: brand and product names, jargon, spellings the transcriber typically mishears. The agent name and transfer destination names are merged in automatically. */
6198
+ stt_keyterms?: string[] | null;
6199
+ /** @description Record calls handled by this agent (default: false). */
6200
+ recording_enabled?: boolean;
6014
6201
  };
6015
6202
  WriteSecretInputDto: {
6016
6203
  /** @description The reference key actions and workflows use as {{secrets.<name>}}. Unique per organization, and immutable — writing the same name replaces its value rather than renaming anything. */
@@ -6119,6 +6306,10 @@ export interface components {
6119
6306
  /** @description Pre-rendered TipTap diff HTML */
6120
6307
  diff_html: string;
6121
6308
  };
6309
+ BatchDeleteOrgUsersDto: {
6310
+ /** @description Organization user IDs to remove (duplicates are collapsed) */
6311
+ user_ids: number[];
6312
+ };
6122
6313
  PublicApproveSuggestionDto: {
6123
6314
  /**
6124
6315
  * Format: uuid
@@ -6451,10 +6642,14 @@ export interface components {
6451
6642
  CreateTrainingDirectoryInputDto: {
6452
6643
  /** @description The directory name */
6453
6644
  name: string;
6645
+ /** @description Parent directory id. Omit or null for a top-level directory. */
6646
+ parent_id?: string | null;
6454
6647
  };
6455
6648
  UpdateTrainingDirectoryInputDto: {
6456
6649
  /** @description The new directory name */
6457
- name: string;
6650
+ name?: string;
6651
+ /** @description New parent directory id, or null for top level. Omit to keep the current parent. */
6652
+ parent_id?: string | null;
6458
6653
  };
6459
6654
  UpdateAiProfileInput: {
6460
6655
  name?: string;
@@ -7126,6 +7321,16 @@ export interface components {
7126
7321
  name: string;
7127
7322
  group_ids: string[];
7128
7323
  sort_order: number;
7324
+ /**
7325
+ * @description What applying the status does to the agent: 'online' turns main availability on with the status's teams; 'offline' turns main availability and every support team off (e.g. a Break status)
7326
+ * @enum {string}
7327
+ */
7328
+ availability_type: "offline" | "online";
7329
+ /**
7330
+ * @description Display color for the status dot across the dashboard
7331
+ * @enum {string}
7332
+ */
7333
+ color: "blue" | "gray" | "green" | "orange" | "red";
7129
7334
  /** Format: date-time */
7130
7335
  created_at: string;
7131
7336
  /** Format: date-time */
@@ -7165,24 +7370,49 @@ export interface components {
7165
7370
  status_id: string;
7166
7371
  /** @description Name of the applied availability status */
7167
7372
  name: string;
7373
+ /**
7374
+ * @description Whether the applied status sets the agent online or offline
7375
+ * @enum {string}
7376
+ */
7377
+ availability_type: "offline" | "online";
7378
+ /**
7379
+ * @description Display color configured on the applied status
7380
+ * @enum {string}
7381
+ */
7382
+ color: "blue" | "gray" | "green" | "orange" | "red";
7168
7383
  } | {
7169
7384
  /**
7170
7385
  * @description Main availability on and available on every support team
7171
7386
  * @constant
7172
7387
  */
7173
7388
  kind: "online";
7389
+ /**
7390
+ * @description Always 'green' — the fixed color of the derived online state
7391
+ * @enum {string}
7392
+ */
7393
+ color: "blue" | "gray" | "green" | "orange" | "red";
7174
7394
  } | {
7175
7395
  /**
7176
7396
  * @description Main availability off
7177
7397
  * @constant
7178
7398
  */
7179
7399
  kind: "offline";
7400
+ /**
7401
+ * @description Always 'gray' — the fixed color of the derived offline state
7402
+ * @enum {string}
7403
+ */
7404
+ color: "blue" | "gray" | "green" | "orange" | "red";
7180
7405
  } | {
7181
7406
  /**
7182
7407
  * @description Main availability on but only available on some support teams
7183
7408
  * @constant
7184
7409
  */
7185
7410
  kind: "mixed";
7411
+ /**
7412
+ * @description Always 'green' — mixed is an online-related state
7413
+ * @enum {string}
7414
+ */
7415
+ color: "blue" | "gray" | "green" | "orange" | "red";
7186
7416
  /** @description Support teams the user is currently available on */
7187
7417
  available_teams: {
7188
7418
  id: string;
@@ -7227,6 +7457,27 @@ export interface components {
7227
7457
  /** Format: date-time */
7228
7458
  updated_at: string;
7229
7459
  };
7460
+ SalesforceAiReplyTemplateDto: {
7461
+ /** Format: uuid */
7462
+ id: string;
7463
+ name: string;
7464
+ template_html: string;
7465
+ is_default: boolean;
7466
+ rules: components["schemas"]["SalesforceReplyTemplateRules"] | null;
7467
+ /** Format: date-time */
7468
+ created_at: string;
7469
+ /** Format: date-time */
7470
+ updated_at: string;
7471
+ };
7472
+ SalesforceAiReplyTemplatesListDto: {
7473
+ templates: components["schemas"]["SalesforceAiReplyTemplateDto"][];
7474
+ };
7475
+ SalesforceAiReplyTemplatePreviewDto: {
7476
+ html: string;
7477
+ text: string;
7478
+ session_number: number | null;
7479
+ missing_variables: string[];
7480
+ };
7230
7481
  VersionHistoryItemDto: {
7231
7482
  /** Format: uuid */
7232
7483
  id: string;
@@ -7249,6 +7500,8 @@ export interface components {
7249
7500
  id: string;
7250
7501
  name: string;
7251
7502
  org_id: string;
7503
+ /** @description Parent folder id; null for a top-level folder. */
7504
+ parent_id: string | null;
7252
7505
  };
7253
7506
  SankeyReportResDto: {
7254
7507
  nodes: {
@@ -7348,6 +7601,24 @@ export interface components {
7348
7601
  */
7349
7602
  outcome: "unlinked" | "unchanged";
7350
7603
  };
7604
+ TransferDestinationDto: {
7605
+ /** Format: uuid */
7606
+ id: string;
7607
+ name: string;
7608
+ /** @enum {string} */
7609
+ type: "hangup" | "phone" | "sip" | "team";
7610
+ value: string | null;
7611
+ sipUsername: string | null;
7612
+ hasSipPassword: boolean;
7613
+ sipHost: string | null;
7614
+ sipPort: number | null;
7615
+ sipExtension: string | null;
7616
+ sipTransport: ("udp" | "tcp" | "tls") | null;
7617
+ sipCallerId: string | null;
7618
+ routingGroupId: string | null;
7619
+ createdAt: string;
7620
+ updatedAt: string;
7621
+ };
7351
7622
  PhoneAgentDto: {
7352
7623
  id: string;
7353
7624
  org_id: string;
@@ -7382,6 +7653,8 @@ export interface components {
7382
7653
  stt_model: ("deepgram/flux-general" | "deepgram/nova-3" | "deepgram/nova-3-medical" | "cartesia/ink-whisper" | "elevenlabs/scribe_v2_realtime" | "xai/stt-1" | "assemblyai/universal-3-5-pro" | "speechmatics/enhanced" | "soniox/stt-rt-v5") | null;
7383
7654
  tts_speed_pct: number | null;
7384
7655
  failover_transfer_destination_id: string | null;
7656
+ /** @description Transfer destinations the agent may transfer to (`transfer_call` targets). */
7657
+ transfer_destination_ids: string[];
7385
7658
  };
7386
7659
  PhoneAgentVoiceDto: {
7387
7660
  voice_id: string;
@@ -7423,6 +7696,8 @@ export interface components {
7423
7696
  KnowledgeSourceDirectoryDto: {
7424
7697
  id: string;
7425
7698
  name: string;
7699
+ /** @description Parent directory id; null for a top-level directory */
7700
+ parent_id: string | null;
7426
7701
  items: components["schemas"]["KnowledgeSourceTreeItemDto"][];
7427
7702
  /** @description Whether the entire directory is selected (all current and future instructions included) */
7428
7703
  selected: boolean;
@@ -9861,6 +10136,8 @@ export interface components {
9861
10136
  id: string;
9862
10137
  name: string;
9863
10138
  org_id: string;
10139
+ /** @description Parent folder id; null for a top-level folder. */
10140
+ parent_id: string | null;
9864
10141
  items: components["schemas"]["TrainingPublicResponseDto"][];
9865
10142
  };
9866
10143
  TrainingDirectoryTreePublicDto: {
@@ -9889,6 +10166,16 @@ export interface components {
9889
10166
  is_user_available_on_group: boolean;
9890
10167
  }[];
9891
10168
  };
10169
+ BatchDeleteOrgUsersResultDto: {
10170
+ results: {
10171
+ user_id: number;
10172
+ /**
10173
+ * @description deleted: membership removed; not_found: not a member of this organization; owner_blocked: the organization owner cannot be removed; error: removal failed, retry later
10174
+ * @enum {string}
10175
+ */
10176
+ status: "deleted" | "not_found" | "owner_blocked" | "error";
10177
+ }[];
10178
+ };
9892
10179
  PublicInsight: {
9893
10180
  /** Format: uuid */
9894
10181
  id: string;
@@ -10469,6 +10756,7 @@ export interface components {
10469
10756
  GetWorkflowRunLogsOutput: components["schemas"]["WorkflowRunLogEntryDto"][];
10470
10757
  ListVoicesOutput: components["schemas"]["PhoneAgentVoiceDto"][];
10471
10758
  ListPhoneAgentsOutput: components["schemas"]["PhoneAgentDto"][];
10759
+ ListTransferDestinationsOutput: components["schemas"]["TransferDestinationDto"][];
10472
10760
  GetSequenceOutput: components["schemas"]["SequenceDto"];
10473
10761
  ListTrainingsOutput: {
10474
10762
  items: components["schemas"]["TrainingPublicResponseDto"][];
@@ -11595,6 +11883,79 @@ export interface operations {
11595
11883
  };
11596
11884
  };
11597
11885
  };
11886
+ deleteChatSessionComment: {
11887
+ parameters: {
11888
+ query: {
11889
+ /** @description Agent user ID performing the deletion. Only the note's author may delete it. */
11890
+ agent_id: number;
11891
+ };
11892
+ header?: never;
11893
+ path: {
11894
+ /** @description The unique identifier of the chat session */
11895
+ session_id: string;
11896
+ /** @description The unique identifier of the comment */
11897
+ comment_uuid: string;
11898
+ };
11899
+ cookie?: never;
11900
+ };
11901
+ requestBody?: never;
11902
+ responses: {
11903
+ /** @description Default Response */
11904
+ 204: {
11905
+ headers: {
11906
+ [name: string]: unknown;
11907
+ };
11908
+ content?: never;
11909
+ };
11910
+ /** @description Internal Server Error */
11911
+ 500: {
11912
+ headers: {
11913
+ [name: string]: unknown;
11914
+ };
11915
+ content: {
11916
+ "application/json": components["schemas"]["ErrorDto"];
11917
+ };
11918
+ };
11919
+ };
11920
+ };
11921
+ updateChatSessionComment: {
11922
+ parameters: {
11923
+ query?: never;
11924
+ header?: never;
11925
+ path: {
11926
+ /** @description The unique identifier of the chat session */
11927
+ session_id: string;
11928
+ /** @description The unique identifier of the comment */
11929
+ comment_uuid: string;
11930
+ };
11931
+ cookie?: never;
11932
+ };
11933
+ requestBody: {
11934
+ content: {
11935
+ "application/json": components["schemas"]["UpdateSessionCommentInput"];
11936
+ };
11937
+ };
11938
+ responses: {
11939
+ /** @description Default Response */
11940
+ 200: {
11941
+ headers: {
11942
+ [name: string]: unknown;
11943
+ };
11944
+ content: {
11945
+ "application/json": components["schemas"]["ChatHistoryDto"];
11946
+ };
11947
+ };
11948
+ /** @description Internal Server Error */
11949
+ 500: {
11950
+ headers: {
11951
+ [name: string]: unknown;
11952
+ };
11953
+ content: {
11954
+ "application/json": components["schemas"]["ErrorDto"];
11955
+ };
11956
+ };
11957
+ };
11958
+ };
11598
11959
  listChatHistory: {
11599
11960
  parameters: {
11600
11961
  query?: {
@@ -15680,6 +16041,35 @@ export interface operations {
15680
16041
  };
15681
16042
  };
15682
16043
  };
16044
+ listPhoneTransferDestinations: {
16045
+ parameters: {
16046
+ query?: never;
16047
+ header?: never;
16048
+ path?: never;
16049
+ cookie?: never;
16050
+ };
16051
+ requestBody?: never;
16052
+ responses: {
16053
+ /** @description Default Response */
16054
+ 200: {
16055
+ headers: {
16056
+ [name: string]: unknown;
16057
+ };
16058
+ content: {
16059
+ "application/json": components["schemas"]["ListTransferDestinationsOutput"];
16060
+ };
16061
+ };
16062
+ /** @description Internal Server Error */
16063
+ 500: {
16064
+ headers: {
16065
+ [name: string]: unknown;
16066
+ };
16067
+ content: {
16068
+ "application/json": components["schemas"]["ErrorDto"];
16069
+ };
16070
+ };
16071
+ };
16072
+ };
15683
16073
  getPhoneAgentKnowledgeSources: {
15684
16074
  parameters: {
15685
16075
  query?: never;
@@ -17565,6 +17955,69 @@ export interface operations {
17565
17955
  };
17566
17956
  };
17567
17957
  };
17958
+ deleteOrgUser: {
17959
+ parameters: {
17960
+ query?: never;
17961
+ header?: never;
17962
+ path: {
17963
+ /** @description Organization user ID */
17964
+ user_id: number;
17965
+ };
17966
+ cookie?: never;
17967
+ };
17968
+ requestBody?: never;
17969
+ responses: {
17970
+ /** @description Default Response */
17971
+ 204: {
17972
+ headers: {
17973
+ [name: string]: unknown;
17974
+ };
17975
+ content?: never;
17976
+ };
17977
+ /** @description Internal Server Error */
17978
+ 500: {
17979
+ headers: {
17980
+ [name: string]: unknown;
17981
+ };
17982
+ content: {
17983
+ "application/json": components["schemas"]["ErrorDto"];
17984
+ };
17985
+ };
17986
+ };
17987
+ };
17988
+ batchDeleteOrgUsers: {
17989
+ parameters: {
17990
+ query?: never;
17991
+ header?: never;
17992
+ path?: never;
17993
+ cookie?: never;
17994
+ };
17995
+ requestBody: {
17996
+ content: {
17997
+ "application/json": components["schemas"]["BatchDeleteOrgUsersDto"];
17998
+ };
17999
+ };
18000
+ responses: {
18001
+ /** @description Default Response */
18002
+ 201: {
18003
+ headers: {
18004
+ [name: string]: unknown;
18005
+ };
18006
+ content: {
18007
+ "application/json": components["schemas"]["BatchDeleteOrgUsersResultDto"];
18008
+ };
18009
+ };
18010
+ /** @description Internal Server Error */
18011
+ 500: {
18012
+ headers: {
18013
+ [name: string]: unknown;
18014
+ };
18015
+ content: {
18016
+ "application/json": components["schemas"]["ErrorDto"];
18017
+ };
18018
+ };
18019
+ };
18020
+ };
17568
18021
  inviteUser: {
17569
18022
  parameters: {
17570
18023
  query?: never;
@@ -19616,6 +20069,167 @@ export interface operations {
19616
20069
  };
19617
20070
  };
19618
20071
  };
20072
+ listSalesforceAiReplyTemplates: {
20073
+ parameters: {
20074
+ query?: never;
20075
+ header?: never;
20076
+ path?: never;
20077
+ cookie?: never;
20078
+ };
20079
+ requestBody?: never;
20080
+ responses: {
20081
+ /** @description Default Response */
20082
+ 200: {
20083
+ headers: {
20084
+ [name: string]: unknown;
20085
+ };
20086
+ content: {
20087
+ "application/json": components["schemas"]["SalesforceAiReplyTemplatesListDto"];
20088
+ };
20089
+ };
20090
+ /** @description Internal Server Error */
20091
+ 500: {
20092
+ headers: {
20093
+ [name: string]: unknown;
20094
+ };
20095
+ content: {
20096
+ "application/json": components["schemas"]["ErrorDto"];
20097
+ };
20098
+ };
20099
+ };
20100
+ };
20101
+ createSalesforceAiReplyTemplate: {
20102
+ parameters: {
20103
+ query?: never;
20104
+ header?: never;
20105
+ path?: never;
20106
+ cookie?: never;
20107
+ };
20108
+ requestBody: {
20109
+ content: {
20110
+ "application/json": components["schemas"]["CreateSalesforceAiReplyTemplateDto"];
20111
+ };
20112
+ };
20113
+ responses: {
20114
+ /** @description Default Response */
20115
+ 201: {
20116
+ headers: {
20117
+ [name: string]: unknown;
20118
+ };
20119
+ content: {
20120
+ "application/json": components["schemas"]["SalesforceAiReplyTemplateDto"];
20121
+ };
20122
+ };
20123
+ /** @description Internal Server Error */
20124
+ 500: {
20125
+ headers: {
20126
+ [name: string]: unknown;
20127
+ };
20128
+ content: {
20129
+ "application/json": components["schemas"]["ErrorDto"];
20130
+ };
20131
+ };
20132
+ };
20133
+ };
20134
+ deleteSalesforceAiReplyTemplate: {
20135
+ parameters: {
20136
+ query?: never;
20137
+ header?: never;
20138
+ path: {
20139
+ /** @description Template ID */
20140
+ id: string;
20141
+ };
20142
+ cookie?: never;
20143
+ };
20144
+ requestBody?: never;
20145
+ responses: {
20146
+ /** @description Default Response */
20147
+ 204: {
20148
+ headers: {
20149
+ [name: string]: unknown;
20150
+ };
20151
+ content?: never;
20152
+ };
20153
+ /** @description Internal Server Error */
20154
+ 500: {
20155
+ headers: {
20156
+ [name: string]: unknown;
20157
+ };
20158
+ content: {
20159
+ "application/json": components["schemas"]["ErrorDto"];
20160
+ };
20161
+ };
20162
+ };
20163
+ };
20164
+ updateSalesforceAiReplyTemplate: {
20165
+ parameters: {
20166
+ query?: never;
20167
+ header?: never;
20168
+ path: {
20169
+ /** @description Template ID */
20170
+ id: string;
20171
+ };
20172
+ cookie?: never;
20173
+ };
20174
+ requestBody: {
20175
+ content: {
20176
+ "application/json": components["schemas"]["UpdateSalesforceAiReplyTemplateDto"];
20177
+ };
20178
+ };
20179
+ responses: {
20180
+ /** @description Default Response */
20181
+ 200: {
20182
+ headers: {
20183
+ [name: string]: unknown;
20184
+ };
20185
+ content: {
20186
+ "application/json": components["schemas"]["SalesforceAiReplyTemplateDto"];
20187
+ };
20188
+ };
20189
+ /** @description Internal Server Error */
20190
+ 500: {
20191
+ headers: {
20192
+ [name: string]: unknown;
20193
+ };
20194
+ content: {
20195
+ "application/json": components["schemas"]["ErrorDto"];
20196
+ };
20197
+ };
20198
+ };
20199
+ };
20200
+ previewSalesforceAiReplyTemplate: {
20201
+ parameters: {
20202
+ query?: never;
20203
+ header?: never;
20204
+ path?: never;
20205
+ cookie?: never;
20206
+ };
20207
+ requestBody: {
20208
+ content: {
20209
+ "application/json": components["schemas"]["PreviewSalesforceAiReplyTemplateDto"];
20210
+ };
20211
+ };
20212
+ responses: {
20213
+ /** @description Default Response */
20214
+ 200: {
20215
+ headers: {
20216
+ [name: string]: unknown;
20217
+ };
20218
+ content: {
20219
+ "application/json": components["schemas"]["SalesforceAiReplyTemplatePreviewDto"];
20220
+ };
20221
+ };
20222
+ /** @description Internal Server Error */
20223
+ 500: {
20224
+ headers: {
20225
+ [name: string]: unknown;
20226
+ };
20227
+ content: {
20228
+ "application/json": components["schemas"]["ErrorDto"];
20229
+ };
20230
+ };
20231
+ };
20232
+ };
19619
20233
  coworkerNotifyTeam: {
19620
20234
  parameters: {
19621
20235
  query?: never;