@opencx/mcp 1.15.2 → 1.15.4

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
@@ -175,6 +175,70 @@ export interface paths {
175
175
  patch?: never;
176
176
  trace?: never;
177
177
  };
178
+ "/availability-statuses": {
179
+ parameters: {
180
+ query?: never;
181
+ header?: never;
182
+ path?: never;
183
+ cookie?: never;
184
+ };
185
+ /**
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.
188
+ */
189
+ get: operations["listAvailabilityStatuses"];
190
+ put?: never;
191
+ post?: never;
192
+ delete?: never;
193
+ options?: never;
194
+ head?: never;
195
+ patch?: never;
196
+ trace?: never;
197
+ };
198
+ "/availability-statuses/users": {
199
+ parameters: {
200
+ query?: never;
201
+ header?: never;
202
+ path?: never;
203
+ cookie?: never;
204
+ };
205
+ /**
206
+ * Get users availability statuses (bulk)
207
+ * @description Resolve availability for up to 100 users in one call — same per-user shape as getUserAvailabilityStatus, ordered by user id. Ids that are unknown or outside the API key's organization are silently skipped, so the response only contains org members.
208
+ */
209
+ get: operations["getUsersAvailabilityStatuses"];
210
+ put?: never;
211
+ post?: never;
212
+ delete?: never;
213
+ options?: never;
214
+ head?: never;
215
+ patch?: never;
216
+ trace?: never;
217
+ };
218
+ "/availability-statuses/users/{user_id}": {
219
+ parameters: {
220
+ query?: never;
221
+ header?: never;
222
+ path?: never;
223
+ cookie?: never;
224
+ };
225
+ /**
226
+ * Get user availability status
227
+ * @description Get a user's current availability: the raw availability record, the resolved status (an applied defined status, or the derived online / offline / mixed state), and the full per-support-team switch matrix. The user must belong to the API key's organization.
228
+ */
229
+ get: operations["getUserAvailabilityStatus"];
230
+ /**
231
+ * Apply user availability status
232
+ * @description Apply a defined availability status (status_id) or a hardcoded shortcut (special: 'online' | 'offline') to a user, switching their main availability and per-support-team availability exactly like the dashboard status picker. If both fields are sent, special wins. Responds with the user's resulting resolved availability. The user must belong to the API key's organization.
233
+ */
234
+ put: operations["applyUserAvailabilityStatus"];
235
+ post?: never;
236
+ delete?: never;
237
+ options?: never;
238
+ head?: never;
239
+ patch?: never;
240
+ trace?: never;
241
+ };
178
242
  "/chat/sessions": {
179
243
  parameters: {
180
244
  query?: never;
@@ -1019,6 +1083,30 @@ export interface paths {
1019
1083
  patch?: never;
1020
1084
  trace?: never;
1021
1085
  };
1086
+ "/csat/settings": {
1087
+ parameters: {
1088
+ query?: never;
1089
+ header?: never;
1090
+ path?: never;
1091
+ cookie?: never;
1092
+ };
1093
+ /**
1094
+ * Get CSAT settings
1095
+ * @description Retrieve the CSAT settings for your organization: per-channel toggles plus the custom feedback-page and request-email template overrides (web_template_html, email_template_html, email_template_subject). A null template field means the default OpenCX design is used.
1096
+ */
1097
+ get: operations["getCsatSettings"];
1098
+ put?: never;
1099
+ post?: never;
1100
+ delete?: never;
1101
+ options?: never;
1102
+ head?: never;
1103
+ /**
1104
+ * Update CSAT settings
1105
+ * @description Partially update the CSAT settings for your organization. Omitted keys are preserved; sending an explicit null (or a whitespace-only string) for a template field clears it back to the default OpenCX design. The web template must include a submit affordance (data-csat-score, data-csat-submit, or OpenCX.csat.submit(...)) and the email template must reference at least one rating link variable ({{score_link_1}}–{{score_link_5}} or {{csat_link}}), otherwise the request is rejected with 400.
1106
+ */
1107
+ patch: operations["updateCsatSettings"];
1108
+ trace?: never;
1109
+ };
1022
1110
  "/autopilot": {
1023
1111
  parameters: {
1024
1112
  query?: never;
@@ -1195,6 +1283,70 @@ export interface paths {
1195
1283
  patch?: never;
1196
1284
  trace?: never;
1197
1285
  };
1286
+ "/blocklist/ips": {
1287
+ parameters: {
1288
+ query?: never;
1289
+ header?: never;
1290
+ path?: never;
1291
+ cookie?: never;
1292
+ };
1293
+ /**
1294
+ * List blocked IPs
1295
+ * @description List all blocked IP addresses and CIDR ranges. Visitors on these addresses cannot interact with the AI assistant.
1296
+ */
1297
+ get: operations["listBlockedIps"];
1298
+ put?: never;
1299
+ /**
1300
+ * Block IP addresses
1301
+ * @description Block one or more IP addresses or CIDR ranges. Pass a comma-separated string for multiple values (e.g. "203.0.113.7, 198.51.100.0/24"). Both IPv4 and IPv6 are supported.
1302
+ */
1303
+ post: operations["blockIps"];
1304
+ delete?: never;
1305
+ options?: never;
1306
+ head?: never;
1307
+ patch?: never;
1308
+ trace?: never;
1309
+ };
1310
+ "/blocklist/ips/check": {
1311
+ parameters: {
1312
+ query?: never;
1313
+ header?: never;
1314
+ path?: never;
1315
+ cookie?: never;
1316
+ };
1317
+ /**
1318
+ * Check if an IP is blocked
1319
+ * @description Check whether an IP address is blocked. Matches both exact entries and any CIDR range that contains the address.
1320
+ */
1321
+ get: operations["checkIpBlocked"];
1322
+ put?: never;
1323
+ post?: never;
1324
+ delete?: never;
1325
+ options?: never;
1326
+ head?: never;
1327
+ patch?: never;
1328
+ trace?: never;
1329
+ };
1330
+ "/blocklist/ips/{id}": {
1331
+ parameters: {
1332
+ query?: never;
1333
+ header?: never;
1334
+ path?: never;
1335
+ cookie?: never;
1336
+ };
1337
+ get?: never;
1338
+ put?: never;
1339
+ post?: never;
1340
+ /**
1341
+ * Unblock an IP
1342
+ * @description Remove an IP address or CIDR range from the blocklist.
1343
+ */
1344
+ delete: operations["unblockIp"];
1345
+ options?: never;
1346
+ head?: never;
1347
+ patch?: never;
1348
+ trace?: never;
1349
+ };
1198
1350
  "/email": {
1199
1351
  parameters: {
1200
1352
  query?: never;
@@ -4177,7 +4329,7 @@ export type webhooks = Record<string, never>;
4177
4329
  export interface components {
4178
4330
  schemas: {
4179
4331
  /** @enum {string} */
4180
- SessionChannel: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice";
4332
+ SessionChannel: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice" | "twitter" | "twitter_mentions";
4181
4333
  DefaultOfficeHoursInputDto: {
4182
4334
  /** @description IANA timezone for the default schedule (e.g. "America/New_York", "Europe/London", "Asia/Tokyo") */
4183
4335
  iana_timezone: string;
@@ -4480,12 +4632,43 @@ export interface components {
4480
4632
  })[];
4481
4633
  };
4482
4634
  FileUploadDto: {
4483
- /**
4484
- * Format: binary
4485
- * @description The file to upload. 5MB max.
4486
- */
4635
+ /** Format: binary */
4487
4636
  file: string;
4488
4637
  } | null;
4638
+ UpdateCsatSettingsDto: {
4639
+ /** @description Whether CSAT collection is enabled for web channel */
4640
+ web_enabled?: boolean;
4641
+ /** @description Whether CSAT collection is enabled for email channel */
4642
+ email_enabled?: boolean;
4643
+ /** @description Whether CSAT collection is enabled for phone channel */
4644
+ phone_enabled?: boolean;
4645
+ /** @description Whether CSAT collection is enabled for WhatsApp channel */
4646
+ whatsapp_enabled?: boolean;
4647
+ /** @description Whether CSAT collection is enabled for SMS channel */
4648
+ sms_enabled?: boolean;
4649
+ /** @description Whether CSAT collection is enabled for Slack channel */
4650
+ slack_enabled?: boolean;
4651
+ /** @description Whether CSAT collection is enabled for API channel */
4652
+ api_enabled?: boolean;
4653
+ /** @description Whether CSAT collection is enabled for web voice channel */
4654
+ web_voice_enabled?: boolean;
4655
+ /** @description Whether CSAT collection is enabled for Instagram channel */
4656
+ instagram_enabled?: boolean;
4657
+ /** @description Whether CSAT collection is enabled for Facebook Messenger channel */
4658
+ messenger_enabled?: boolean;
4659
+ /** @description Custom message to display with CSAT request */
4660
+ custom_message?: string;
4661
+ /** @description Whether to automatically send CSAT after session closes */
4662
+ auto_send_on_close?: boolean;
4663
+ /** @description Delay in minutes before sending CSAT after session closes */
4664
+ send_delay_minutes?: number;
4665
+ /** @description Full-HTML template for the public CSAT feedback page. Null/empty clears it (default page). */
4666
+ web_template_html?: string | null;
4667
+ /** @description Full-HTML template for the CSAT request email. Null/empty clears it (default email). */
4668
+ email_template_html?: string | null;
4669
+ /** @description Subject line for the custom CSAT request email. Null falls back to the default. */
4670
+ email_template_subject?: string | null;
4671
+ };
4489
4672
  CreateEmailTemplateBodyDto: {
4490
4673
  body: string;
4491
4674
  name: string;
@@ -4551,6 +4734,19 @@ export interface components {
4551
4734
  /** @description Whether the agent is available for inbound phone calls */
4552
4735
  call_available?: boolean;
4553
4736
  };
4737
+ ApplyUserAvailabilityStatusDto: {
4738
+ /**
4739
+ * @description Hardcoded shortcut: 'online' = main availability on + available on every support team; 'offline' = main availability off + unavailable on every support team. Takes priority if status_id is also sent.
4740
+ * @enum {string}
4741
+ */
4742
+ special: "online" | "offline";
4743
+ } | {
4744
+ /**
4745
+ * Format: uuid
4746
+ * @description Id of a defined availability status (see listAvailabilityStatuses)
4747
+ */
4748
+ status_id: string;
4749
+ };
4554
4750
  SalesforceMiawWebhookBody: {
4555
4751
  /** @enum {string} */
4556
4752
  event: "message:new";
@@ -5568,6 +5764,12 @@ export interface components {
5568
5764
  /** @description Why these domains are being blocked */
5569
5765
  reason?: string;
5570
5766
  };
5767
+ BlockIpsInputDto: {
5768
+ /** @description IP(s) or CIDR range(s) to block — comma-separated for multiple (e.g. "203.0.113.7, 198.51.100.0/24") */
5769
+ ips: string;
5770
+ /** @description Why these addresses are being blocked */
5771
+ reason?: string;
5772
+ };
5571
5773
  CreateEmailTemplatePublicInput: components["schemas"]["CreateEmailTemplateBodyDto"];
5572
5774
  UpdateEmailTemplatePublicInput: components["schemas"]["CreateEmailTemplateBodyDto"];
5573
5775
  CreateMacroInput: components["schemas"]["CreateSavedReplyDto"];
@@ -5717,442 +5919,96 @@ export interface components {
5717
5919
  url: string;
5718
5920
  openai_file_id?: string;
5719
5921
  };
5720
- AgentChangedPayload: {
5721
- /** @constant */
5722
- from: "ai";
5723
- /** @constant */
5724
- to: "human_agent";
5725
- agent_id: number | null;
5726
- } | {
5727
- /** @constant */
5728
- from: "human_agent";
5729
- /** @constant */
5730
- to: "ai";
5731
- agent_id: number;
5732
- } | {
5733
- /** @constant */
5734
- from: "human_agent";
5735
- /** @constant */
5736
- to: "human_agent";
5737
- agent_id: number;
5738
- old_agent_id: number;
5739
- } | {
5740
- /** @constant */
5741
- from: "human_agent";
5742
- /** @constant */
5743
- to: "unassigned";
5744
- } | {
5745
- /** @constant */
5746
- from: "ai";
5747
- /** @constant */
5748
- to: "unassigned";
5749
- } | {
5750
- /** @constant */
5751
- from: "unassigned";
5752
- /** @constant */
5753
- to: "human_agent";
5754
- agent_id: number;
5755
- } | {
5756
- /** @constant */
5757
- from: "unassigned";
5758
- /** @constant */
5759
- to: "ai";
5922
+ PhoneAgentDto: {
5923
+ id: string;
5924
+ org_id: string;
5925
+ phone_number: string | null;
5926
+ name: string | null;
5927
+ /** @enum {string} */
5928
+ type: "inbound" | "outbound";
5929
+ language: string[];
5930
+ accent: string | null;
5931
+ handoff_phone_number: string | null;
5932
+ speed: number | null;
5933
+ interruptible: boolean;
5934
+ actionIds: string[] | null;
5935
+ instructions: string[] | null;
5936
+ data_collection_fields: string[] | null;
5937
+ data_collection_webhook_url: string | null;
5938
+ /** @enum {string} */
5939
+ model: "oppie-vox" | "oppie-vox-turbo" | "oppie-vox-2" | "oppie-vox-livekit";
5940
+ voice_id: string | null;
5941
+ first_message: string | null;
5942
+ /** Format: date-time */
5943
+ created_at: string;
5944
+ /** Format: date-time */
5945
+ updated_at: string;
5946
+ provider_external_id: string | null;
5947
+ flow: unknown | null;
5948
+ custom_llm: string | null;
5949
+ use_org_knowledgebase: boolean;
5950
+ background_noise_preset: ("office" | "bar" | "city-street") | null;
5951
+ recording_enabled: boolean;
5952
+ stt_keyterms: string[];
5953
+ 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") | null;
5954
+ tts_speed_pct: number | null;
5955
+ failover_transfer_destination_id: string | null;
5760
5956
  };
5761
- ChatHistoryDto: {
5762
- id: number;
5763
- uuid: string;
5764
- chatbot_id?: string | null;
5957
+ PhoneAgentVoiceDto: {
5958
+ voice_id: string;
5959
+ name: string;
5960
+ labels: {
5961
+ accent: string | null;
5962
+ description: string | null;
5963
+ age: string | null;
5964
+ gender: string | null;
5965
+ use_case: string | null;
5966
+ language: string | null;
5967
+ };
5968
+ description: string | null;
5969
+ preview_url: string | null;
5970
+ };
5971
+ PhoneCallEventDto: {
5972
+ /** Format: uuid */
5973
+ id: string;
5974
+ /** Format: uuid */
5975
+ phone_call_id: string;
5976
+ /** @enum {string} */
5977
+ event_type: "ring_started" | "ring_accepted" | "ring_declined" | "ring_missed" | "dial_started" | "customer_answered" | "human_joined" | "transfer_initiated" | "transfer_accepted" | "transfer_completed" | "transfer_cancelled" | "transfer_declined" | "call_ended" | "call_failed";
5978
+ actor_user_id: number | null;
5979
+ actor_name: string | null;
5980
+ detail: string | null;
5981
+ /** Format: date-time */
5982
+ created_at: string;
5983
+ };
5984
+ PhoneCallDto: {
5985
+ /** Format: uuid */
5986
+ id: string;
5765
5987
  session_id: string;
5766
- from_user?: boolean | null;
5767
- message?: string | null;
5768
- original_message?: string | null;
5769
- original_language?: string | null;
5770
- translated_message?: string | null;
5771
- translated_language?: string | null;
5772
- created_at?: string | null;
5773
- updated_at?: string | null;
5774
- debug_json?: ({
5775
- v2: {
5776
- response: ({
5777
- /** @constant */
5778
- type: "prohibited_topic";
5779
- topic: string;
5780
- } | {
5781
- /** @constant */
5782
- type: "response_skipped";
5783
- /** @enum {string} */
5784
- reason?: "empty_response" | "potential_answers_dead_end" | "silent_handoff" | "superseded_by_newer_run";
5785
- reasoning?: ({
5786
- /** @constant */
5787
- type: "reasoning";
5788
- content: string;
5789
- } | {
5790
- /** @constant */
5791
- type: "tool_call";
5792
- call_id: string;
5793
- tool_name: string;
5794
- action?: {
5795
- name: string;
5796
- id: string;
5797
- openapi?: {
5798
- openapi_spec_id?: string;
5799
- operation_spec: unknown;
5800
- operation_id?: string;
5801
- operation_method?: string;
5802
- };
5803
- metadata: unknown;
5804
- required_form_submission?: boolean;
5805
- is_handoff_like?: boolean;
5806
- };
5807
- call_arguments: string;
5808
- call_result: string;
5809
- })[];
5810
- context?: {
5811
- knowledgeBaseItems: {
5812
- itemId: string;
5813
- chunkIndex: number;
5814
- title: string;
5815
- url?: string;
5816
- }[];
5817
- instructions: {
5818
- id: string;
5819
- title: string;
5820
- }[];
5821
- tools: {
5822
- name: string;
5823
- }[];
5824
- };
5825
- suppressedResponseText?: string;
5826
- reasoningSummary?: string;
5827
- } | {
5828
- /** @constant */
5829
- type: "response";
5830
- responseText: string;
5831
- responseTextWithReferences: string;
5832
- context: {
5833
- knowledgeBaseItems: {
5834
- itemId: string;
5835
- chunkIndex: number;
5836
- title: string;
5837
- url?: string;
5838
- }[];
5839
- instructions: {
5840
- id: string;
5841
- title: string;
5842
- }[];
5843
- tools: {
5844
- name: string;
5845
- }[];
5846
- };
5847
- reasoning: ({
5848
- /** @constant */
5849
- type: "reasoning";
5850
- content: string;
5851
- } | {
5852
- /** @constant */
5853
- type: "tool_call";
5854
- call_id: string;
5855
- tool_name: string;
5856
- action?: {
5857
- name: string;
5858
- id: string;
5859
- openapi?: {
5860
- openapi_spec_id?: string;
5861
- operation_spec: unknown;
5862
- operation_id?: string;
5863
- operation_method?: string;
5864
- };
5865
- metadata: unknown;
5866
- required_form_submission?: boolean;
5867
- is_handoff_like?: boolean;
5868
- };
5869
- call_arguments: string;
5870
- call_result: string;
5871
- })[];
5872
- reasoningSummary?: string;
5873
- /** @description Quick reply suggestions for the user */
5874
- quickReplySuggestions: {
5875
- toolName?: string | null;
5876
- suggestions: string[];
5877
- }[];
5878
- /** @description If your answer might solve the user's issue, return true, otherwise false. Note: once the user confirms it is solved, stop returning true */
5879
- mightSolveUserIssue: boolean;
5880
- /** @description True if your answer to the user completely covers the issue from knowledge and tools, and no further user input is needed. False if your answer is generic or is not specific to the issue. */
5881
- completelyAndFullyCoveredUserIssue?: boolean;
5882
- }) & {
5883
- /** @enum {string} */
5884
- language: "en" | "fr" | "de" | "nl" | "pl" | "pt" | "es" | "it" | "ru" | "ja" | "ko" | "zh" | "ar" | "tr" | "sv" | "da" | "no" | "fi" | "el" | "cs" | "hu" | "th" | "vi" | "id" | "he" | "hi" | "uk" | "ro" | "bg" | "hr" | "sk" | "sl" | "sr" | "et" | "lv" | "lt" | "is" | "ga" | "ms" | "tl" | "fa" | "bn" | "ta" | "te" | "ur" | "sw" | "zu" | "af" | "sq" | "hy" | "az" | "eu" | "be" | "bs" | "ca" | "cy" | "ku" | "ckb" | "kmr";
5885
- };
5886
- };
5887
- actionCalls?: {
5888
- action: {
5889
- name: string;
5890
- id: string;
5891
- openapi?: {
5892
- openapi_spec_id?: string;
5893
- operation_spec: unknown;
5894
- operation_id?: string;
5895
- operation_method?: string;
5896
- };
5897
- metadata: unknown;
5898
- required_form_submission?: boolean;
5899
- is_handoff_like?: boolean;
5900
- };
5901
- arguments: unknown;
5902
- result: unknown;
5903
- }[];
5904
- /** @default null */
5905
- assignment_choice_summary: {
5906
- /** @constant */
5907
- strategy: "least-busy";
5908
- selected: {
5909
- agent_id: number;
5910
- agent_name: string;
5911
- active_sessions: number;
5912
- active_sessions_in_group: number;
5913
- pending_sessions: number;
5914
- remaining_capacity: number;
5915
- max_capacity: number;
5916
- max_capacity_in_group: number | null;
5917
- is_available_globally: boolean;
5918
- is_available_in_group: boolean;
5919
- /** @default [] */
5920
- missing_required_skills: {
5921
- id: string;
5922
- name: string;
5923
- }[];
5924
- } | null;
5925
- peers: {
5926
- agent_id: number;
5927
- agent_name: string;
5928
- active_sessions: number;
5929
- active_sessions_in_group: number;
5930
- pending_sessions: number;
5931
- remaining_capacity: number;
5932
- max_capacity: number;
5933
- max_capacity_in_group: number | null;
5934
- is_available_globally: boolean;
5935
- is_available_in_group: boolean;
5936
- /** @default [] */
5937
- missing_required_skills: {
5938
- id: string;
5939
- name: string;
5940
- }[];
5941
- }[];
5942
- /** @default [] */
5943
- required_skills: {
5944
- id: string;
5945
- name: string;
5946
- }[];
5947
- } | null;
5948
- custom_data?: {
5949
- [key: string]: unknown;
5950
- } | null;
5951
- } | {
5952
- actionCalls?: {
5953
- action: {
5954
- name: string;
5955
- id: string;
5956
- openapi?: {
5957
- openapi_spec_id?: string;
5958
- operation_spec: unknown;
5959
- operation_id?: string;
5960
- operation_method?: string;
5961
- };
5962
- metadata: unknown;
5963
- required_form_submission?: boolean;
5964
- is_handoff_like?: boolean;
5965
- };
5966
- arguments: unknown;
5967
- result: unknown;
5968
- }[];
5969
- actionSearchQuery?: string;
5970
- knowledge?: {
5971
- source: string;
5972
- source_type: string;
5973
- url: string;
5974
- }[];
5975
- knowledge_used?: {
5976
- content: string;
5977
- source: string;
5978
- }[];
5979
- work_instructions_scanned?: {
5980
- content: string;
5981
- }[];
5982
- /** @description Context provided from the client. For example, dynamic metadata sent from the widget such as: the current product name on the page, the current Shopify shop domain, etc etc. */
5983
- client_context?: {
5984
- [key: string]: unknown;
5985
- } | null;
5986
- /** @description Org-specific or message-type-specific debug data. */
5987
- additional_debug_data?: {
5988
- [key: string]: unknown;
5989
- } | null;
5990
- custom_data?: {
5991
- [key: string]: unknown;
5992
- } | null;
5993
- whatsapp_template_request?: unknown | null;
5994
- rule_violation_reflections?: {
5995
- rule_name: string;
5996
- /** @description How the rule was violated */
5997
- violation_description: string;
5998
- }[];
5999
- tool_call_results_quick_reply_suggestions?: {
6000
- tool_name: string;
6001
- suggestions: string[];
6002
- }[];
6003
- /** @default null */
6004
- assignment_choice_summary: {
6005
- /** @constant */
6006
- strategy: "least-busy";
6007
- selected: {
6008
- agent_id: number;
6009
- agent_name: string;
6010
- active_sessions: number;
6011
- active_sessions_in_group: number;
6012
- pending_sessions: number;
6013
- remaining_capacity: number;
6014
- max_capacity: number;
6015
- max_capacity_in_group: number | null;
6016
- is_available_globally: boolean;
6017
- is_available_in_group: boolean;
6018
- /** @default [] */
6019
- missing_required_skills: {
6020
- id: string;
6021
- name: string;
6022
- }[];
6023
- } | null;
6024
- peers: {
6025
- agent_id: number;
6026
- agent_name: string;
6027
- active_sessions: number;
6028
- active_sessions_in_group: number;
6029
- pending_sessions: number;
6030
- remaining_capacity: number;
6031
- max_capacity: number;
6032
- max_capacity_in_group: number | null;
6033
- is_available_globally: boolean;
6034
- is_available_in_group: boolean;
6035
- /** @default [] */
6036
- missing_required_skills: {
6037
- id: string;
6038
- name: string;
6039
- }[];
6040
- }[];
6041
- /** @default [] */
6042
- required_skills: {
6043
- id: string;
6044
- name: string;
6045
- }[];
6046
- } | null;
6047
- destination_id?: string;
6048
- destination_name?: string;
6049
- /** @enum {string} */
6050
- destination_type?: "phone" | "sip" | "hangup";
6051
- transfer_reason?: string | null;
6052
- is_failover?: boolean;
6053
- /** @enum {string} */
6054
- failover_source?: "stt" | "llm" | "tts";
6055
- /** @enum {string} */
6056
- hangup_initiator?: "user" | "agent" | "system";
6057
- hangup_reason?: string;
6058
- duration_seconds?: number;
6059
- /** @enum {string} */
6060
- call_direction?: "inbound" | "outbound";
6061
- }) | null;
6062
- knowledgebase_called?: boolean | null;
6063
5988
  /** @enum {string} */
6064
- 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_reopened_session" | "ai_response_cancelled" | "ai_resumed_by_system" | "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_requested" | "csat_submitted" | "email_draft_message" | "handoff" | "handoff_to_salesforce_miaw" | "handoff_to_zendesk" | "integration_reopened_session" | "message" | "prohibited_topic_detected" | "sequence_message" | "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_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" | "workflow_message" | "workflow_note" | "workflow_triggered";
6065
- extra_params?: {
6066
- [key: string]: unknown;
6067
- } | null;
6068
- agent_id?: number | null;
6069
- agent_name?: string | null;
6070
- agent_avatar?: string | null;
6071
- handoff_happened_during_office_hours?: boolean | null;
6072
- sender_display_name?: string | null;
6073
- plan_executed?: boolean | null;
6074
- contact_id?: string | null;
6075
- contact_name?: string | null;
6076
- contact_avatar_url?: string | null;
6077
- contact_source?: ("csv" | "form" | "freshchat" | "hubspot" | "intercom" | "pipedream" | "salesforce" | "slack") | null;
6078
- contact_slack_data?: string | null;
6079
- attachments?: components["schemas"]["ChatAttachmentDto"][] | null;
6080
- email_rfc_message_id?: string | null;
6081
- email_to?: string[] | null;
6082
- email_cc?: string[] | null;
6083
- external_message_id?: string | null;
6084
- csat_score?: number | null;
6085
- csat_feedback?: string | null;
6086
- state_checkpoint_payload?: unknown | null;
6087
- client_context?: {
6088
- [key: string]: unknown;
6089
- } | null;
6090
- workflow_id?: string | null;
6091
- workflow_run_id?: string | null;
6092
- sequence_id?: string | null;
6093
- whatsapp_template_name?: string | null;
6094
- from_opencx_public_api?: boolean | null;
6095
- sub_status_id?: string | null;
6096
- whatsapp_sent_at?: string | null;
6097
- whatsapp_delivered_at?: string | null;
6098
- whatsapp_read_at?: string | null;
6099
- whatsapp_failed_at?: string | null;
6100
- whatsapp_error_title?: string | null;
6101
- whatsapp_error_details?: string | null;
6102
- session_closed_payload: unknown;
6103
- agent_changed_payload?: components["schemas"]["AgentChangedPayload"] | null;
6104
- comment_thread_id?: string | null;
6105
- edited_at?: string | null;
6106
- deleted_at?: string | null;
6107
- };
6108
- PhoneAgentDto: {
6109
- id: string;
6110
- org_id: string;
6111
- phone_number: string | null;
6112
- name: string | null;
6113
- /** @enum {string} */
6114
- type: "inbound" | "outbound";
6115
- language: string[];
6116
- accent: string | null;
6117
- handoff_phone_number: string | null;
6118
- speed: number | null;
6119
- interruptible: boolean;
6120
- actionIds: string[] | null;
6121
- instructions: string[] | null;
6122
- data_collection_fields: string[] | null;
6123
- data_collection_webhook_url: string | null;
5989
+ direction: "inbound" | "outbound";
6124
5990
  /** @enum {string} */
6125
- model: "oppie-vox" | "oppie-vox-turbo" | "oppie-vox-2" | "oppie-vox-livekit";
6126
- voice_id: string | null;
6127
- first_message: string | null;
5991
+ status: "initiating" | "ringing" | "in_progress" | "completed" | "no_answer" | "busy" | "rejected" | "failed" | "missed" | "canceled";
5992
+ initiated_by_user_id: number | null;
5993
+ phone_agent_id: string | null;
5994
+ from_number: string | null;
5995
+ to_number: string | null;
5996
+ failure_reason: string | null;
5997
+ livekit_disconnect_reason: string | null;
5998
+ ring_started_at: string | null;
5999
+ ring_expires_at: string | null;
6000
+ accepted_by_user_id: number | null;
6001
+ answered_at: string | null;
6002
+ ended_at: string | null;
6003
+ ended_by_user_id: number | null;
6004
+ duration_seconds: number | null;
6005
+ ring_duration_seconds: number | null;
6006
+ recording_status: ("pending" | "completed" | "failed") | null;
6007
+ has_recording: boolean;
6008
+ is_session_latest_call: boolean;
6128
6009
  /** Format: date-time */
6129
6010
  created_at: string;
6130
- /** Format: date-time */
6131
- updated_at: string;
6132
- provider_external_id: string | null;
6133
- flow: unknown | null;
6134
- custom_llm: string | null;
6135
- use_org_knowledgebase: boolean;
6136
- background_noise_preset: ("office" | "bar" | "city-street") | null;
6137
- recording_enabled: boolean;
6138
- stt_keyterms: string[];
6139
- 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") | null;
6140
- tts_speed_pct: number | null;
6141
- failover_transfer_destination_id: string | null;
6142
- };
6143
- PhoneAgentVoiceDto: {
6144
- voice_id: string;
6145
- name: string;
6146
- labels: {
6147
- accent: string | null;
6148
- description: string | null;
6149
- age: string | null;
6150
- gender: string | null;
6151
- use_case: string | null;
6152
- language: string | null;
6153
- };
6154
- description: string | null;
6155
- preview_url: string | null;
6011
+ events: components["schemas"]["PhoneCallEventDto"][];
6156
6012
  };
6157
6013
  KnowledgeSourceTreeItemDto: {
6158
6014
  id: string;
@@ -6200,6 +6056,18 @@ export interface components {
6200
6056
  UpdateAgentWorkflowsResponseDto: {
6201
6057
  success: boolean;
6202
6058
  };
6059
+ AvailabilityStatusDto: {
6060
+ id: string;
6061
+ org_id: string;
6062
+ name: string;
6063
+ group_ids: string[];
6064
+ sort_order: number;
6065
+ /** Format: date-time */
6066
+ created_at: string;
6067
+ /** Format: date-time */
6068
+ updated_at: string;
6069
+ deleted_at: string | null;
6070
+ };
6203
6071
  GroupUsersDto: {
6204
6072
  id: number;
6205
6073
  name: string;
@@ -6218,10 +6086,74 @@ export interface components {
6218
6086
  /** @enum {string} */
6219
6087
  support_assignment_strategy: "least-busy" | "round-robin" | "unassigned";
6220
6088
  zendesk_group_id: string | null;
6089
+ zendesk_group_channels: components["schemas"]["SessionChannel"][] | null;
6221
6090
  created_at: string | null;
6222
6091
  updated_at: string | null;
6223
6092
  deleted_at: string | null;
6224
6093
  };
6094
+ ResolvedAvailabilityStatusDto: {
6095
+ /**
6096
+ * @description A defined availability status is applied
6097
+ * @constant
6098
+ */
6099
+ kind: "custom";
6100
+ /** @description Id of the applied availability status */
6101
+ status_id: string;
6102
+ /** @description Name of the applied availability status */
6103
+ name: string;
6104
+ } | {
6105
+ /**
6106
+ * @description Main availability on and available on every support team
6107
+ * @constant
6108
+ */
6109
+ kind: "online";
6110
+ } | {
6111
+ /**
6112
+ * @description Main availability off
6113
+ * @constant
6114
+ */
6115
+ kind: "offline";
6116
+ } | {
6117
+ /**
6118
+ * @description Main availability on but only available on some support teams
6119
+ * @constant
6120
+ */
6121
+ kind: "mixed";
6122
+ /** @description Support teams the user is currently available on */
6123
+ available_teams: {
6124
+ id: string;
6125
+ name: string;
6126
+ }[];
6127
+ };
6128
+ UserAvailabilityStatusDto: {
6129
+ /** @description The user's raw availability record */
6130
+ availability: {
6131
+ id: string;
6132
+ user_id: number;
6133
+ organization_id: string;
6134
+ is_available: boolean;
6135
+ custom_status: string | null;
6136
+ /** Format: date-time */
6137
+ last_status_change: string;
6138
+ current_chat_count: number;
6139
+ max_concurrent_chats: number;
6140
+ notes: string | null;
6141
+ /** Format: date-time */
6142
+ created_at: string;
6143
+ /** Format: date-time */
6144
+ updated_at: string;
6145
+ call_available: boolean;
6146
+ call_locked: boolean;
6147
+ availability_status_id: string | null;
6148
+ };
6149
+ resolved_status: components["schemas"]["ResolvedAvailabilityStatusDto"];
6150
+ /** @description The user's full per-support-team availability switch matrix */
6151
+ teams: {
6152
+ id: string;
6153
+ name: string;
6154
+ available: boolean;
6155
+ }[];
6156
+ };
6225
6157
  VersionHistoryItemDto: {
6226
6158
  /** Format: uuid */
6227
6159
  id: string;
@@ -6269,52 +6201,447 @@ export interface components {
6269
6201
  message: string;
6270
6202
  };
6271
6203
  } | {
6272
- /** @constant */
6273
- type: "send_whatsapp_messages";
6274
- data: {
6275
- phone_number_id: string;
6276
- template: {
6204
+ /** @constant */
6205
+ type: "send_whatsapp_messages";
6206
+ data: {
6207
+ phone_number_id: string;
6208
+ template: {
6209
+ name: string;
6210
+ language: string;
6211
+ parameters: components["schemas"]["WhatsAppTemplateMappingDto"];
6212
+ };
6213
+ };
6214
+ };
6215
+ delay_in_minutes?: number;
6216
+ /** Format: date-time */
6217
+ started_at?: string;
6218
+ /** Format: date-time */
6219
+ ended_at?: string;
6220
+ };
6221
+ /** @enum {string} */
6222
+ SequenceStatus: "pending" | "complete" | "canceled" | "active";
6223
+ SequenceDto: {
6224
+ id: string;
6225
+ name: string;
6226
+ org_id: string;
6227
+ custom_id: string | null;
6228
+ filter: {
6229
+ or: {
6230
+ and: components["schemas"]["ContactsFilter"][];
6231
+ }[];
6232
+ } | null;
6233
+ steps: components["schemas"]["SequenceStep"][];
6234
+ is_continuous: boolean;
6235
+ started_at: string | null;
6236
+ canceled_at: string | null;
6237
+ ended_at: string | null;
6238
+ status: components["schemas"]["SequenceStatus"] | null;
6239
+ };
6240
+ StartOneOffSequenceOutputDto: {
6241
+ data?: {
6242
+ success: boolean;
6243
+ };
6244
+ error?: {
6245
+ /** @enum {string} */
6246
+ code: "sequence_not_found" | "one_off_sequence_is_canceled" | "sequence_already_started";
6247
+ status: 400 | 404;
6248
+ message: string;
6249
+ };
6250
+ };
6251
+ AgentChangedPayload: {
6252
+ /** @constant */
6253
+ from: "ai";
6254
+ /** @constant */
6255
+ to: "human_agent";
6256
+ agent_id: number | null;
6257
+ } | {
6258
+ /** @constant */
6259
+ from: "human_agent";
6260
+ /** @constant */
6261
+ to: "ai";
6262
+ agent_id: number;
6263
+ } | {
6264
+ /** @constant */
6265
+ from: "human_agent";
6266
+ /** @constant */
6267
+ to: "human_agent";
6268
+ agent_id: number;
6269
+ old_agent_id: number;
6270
+ } | {
6271
+ /** @constant */
6272
+ from: "human_agent";
6273
+ /** @constant */
6274
+ to: "unassigned";
6275
+ } | {
6276
+ /** @constant */
6277
+ from: "ai";
6278
+ /** @constant */
6279
+ to: "unassigned";
6280
+ } | {
6281
+ /** @constant */
6282
+ from: "unassigned";
6283
+ /** @constant */
6284
+ to: "human_agent";
6285
+ agent_id: number;
6286
+ } | {
6287
+ /** @constant */
6288
+ from: "unassigned";
6289
+ /** @constant */
6290
+ to: "ai";
6291
+ };
6292
+ ChatHistoryDto: {
6293
+ id: number;
6294
+ uuid: string;
6295
+ chatbot_id?: string | null;
6296
+ session_id: string;
6297
+ from_user?: boolean | null;
6298
+ message?: string | null;
6299
+ original_message?: string | null;
6300
+ original_language?: string | null;
6301
+ translated_message?: string | null;
6302
+ translated_language?: string | null;
6303
+ created_at?: string | null;
6304
+ updated_at?: string | null;
6305
+ debug_json?: ({
6306
+ v2: {
6307
+ response: ({
6308
+ /** @constant */
6309
+ type: "prohibited_topic";
6310
+ topic: string;
6311
+ } | {
6312
+ /** @constant */
6313
+ type: "response_skipped";
6314
+ /** @enum {string} */
6315
+ reason?: "empty_response" | "potential_answers_dead_end" | "silent_handoff" | "superseded_by_newer_run" | "flagged_as_spam";
6316
+ reasoning?: ({
6317
+ /** @constant */
6318
+ type: "reasoning";
6319
+ content: string;
6320
+ } | {
6321
+ /** @constant */
6322
+ type: "tool_call";
6323
+ call_id: string;
6324
+ tool_name: string;
6325
+ action?: {
6326
+ name: string;
6327
+ id: string;
6328
+ openapi?: {
6329
+ openapi_spec_id?: string;
6330
+ operation_spec: unknown;
6331
+ operation_id?: string;
6332
+ operation_method?: string;
6333
+ };
6334
+ metadata: unknown;
6335
+ required_form_submission?: boolean;
6336
+ is_handoff_like?: boolean;
6337
+ };
6338
+ call_arguments: string;
6339
+ call_result: string;
6340
+ })[];
6341
+ context?: {
6342
+ knowledgeBaseItems: {
6343
+ itemId: string;
6344
+ chunkIndex: number;
6345
+ title: string;
6346
+ url?: string;
6347
+ }[];
6348
+ instructions: {
6349
+ id: string;
6350
+ title: string;
6351
+ }[];
6352
+ tools: {
6353
+ name: string;
6354
+ }[];
6355
+ };
6356
+ suppressedResponseText?: string;
6357
+ reasoningSummary?: string;
6358
+ } | {
6359
+ /** @constant */
6360
+ type: "response";
6361
+ responseText: string;
6362
+ responseTextWithReferences: string;
6363
+ context: {
6364
+ knowledgeBaseItems: {
6365
+ itemId: string;
6366
+ chunkIndex: number;
6367
+ title: string;
6368
+ url?: string;
6369
+ }[];
6370
+ instructions: {
6371
+ id: string;
6372
+ title: string;
6373
+ }[];
6374
+ tools: {
6375
+ name: string;
6376
+ }[];
6377
+ };
6378
+ reasoning: ({
6379
+ /** @constant */
6380
+ type: "reasoning";
6381
+ content: string;
6382
+ } | {
6383
+ /** @constant */
6384
+ type: "tool_call";
6385
+ call_id: string;
6386
+ tool_name: string;
6387
+ action?: {
6388
+ name: string;
6389
+ id: string;
6390
+ openapi?: {
6391
+ openapi_spec_id?: string;
6392
+ operation_spec: unknown;
6393
+ operation_id?: string;
6394
+ operation_method?: string;
6395
+ };
6396
+ metadata: unknown;
6397
+ required_form_submission?: boolean;
6398
+ is_handoff_like?: boolean;
6399
+ };
6400
+ call_arguments: string;
6401
+ call_result: string;
6402
+ })[];
6403
+ reasoningSummary?: string;
6404
+ /** @description Quick reply suggestions for the user */
6405
+ quickReplySuggestions: {
6406
+ toolName?: string | null;
6407
+ suggestions: string[];
6408
+ }[];
6409
+ /** @description If your answer might solve the user's issue, return true, otherwise false. Note: once the user confirms it is solved, stop returning true */
6410
+ mightSolveUserIssue: boolean;
6411
+ /** @description True if your answer to the user completely covers the issue from knowledge and tools, and no further user input is needed. False if your answer is generic or is not specific to the issue. */
6412
+ completelyAndFullyCoveredUserIssue?: boolean;
6413
+ }) & {
6414
+ /** @enum {string} */
6415
+ language: "en" | "fr" | "de" | "nl" | "pl" | "pt" | "es" | "it" | "ru" | "ja" | "ko" | "zh" | "ar" | "tr" | "sv" | "da" | "no" | "fi" | "el" | "cs" | "hu" | "th" | "vi" | "id" | "he" | "hi" | "uk" | "ro" | "bg" | "hr" | "sk" | "sl" | "sr" | "et" | "lv" | "lt" | "is" | "ga" | "ms" | "tl" | "fa" | "bn" | "ta" | "te" | "ur" | "sw" | "zu" | "af" | "sq" | "hy" | "az" | "eu" | "be" | "bs" | "ca" | "cy" | "ku" | "ckb" | "kmr";
6416
+ };
6417
+ };
6418
+ actionCalls?: {
6419
+ action: {
6420
+ name: string;
6421
+ id: string;
6422
+ openapi?: {
6423
+ openapi_spec_id?: string;
6424
+ operation_spec: unknown;
6425
+ operation_id?: string;
6426
+ operation_method?: string;
6427
+ };
6428
+ metadata: unknown;
6429
+ required_form_submission?: boolean;
6430
+ is_handoff_like?: boolean;
6431
+ };
6432
+ arguments: unknown;
6433
+ result: unknown;
6434
+ }[];
6435
+ /** @default null */
6436
+ assignment_choice_summary: {
6437
+ /** @constant */
6438
+ strategy: "least-busy";
6439
+ selected: {
6440
+ agent_id: number;
6441
+ agent_name: string;
6442
+ active_sessions: number;
6443
+ active_sessions_in_group: number;
6444
+ pending_sessions: number;
6445
+ remaining_capacity: number;
6446
+ max_capacity: number;
6447
+ max_capacity_in_group: number | null;
6448
+ is_available_globally: boolean;
6449
+ is_available_in_group: boolean;
6450
+ /** @default [] */
6451
+ missing_required_skills: {
6452
+ id: string;
6453
+ name: string;
6454
+ }[];
6455
+ } | null;
6456
+ peers: {
6457
+ agent_id: number;
6458
+ agent_name: string;
6459
+ active_sessions: number;
6460
+ active_sessions_in_group: number;
6461
+ pending_sessions: number;
6462
+ remaining_capacity: number;
6463
+ max_capacity: number;
6464
+ max_capacity_in_group: number | null;
6465
+ is_available_globally: boolean;
6466
+ is_available_in_group: boolean;
6467
+ /** @default [] */
6468
+ missing_required_skills: {
6469
+ id: string;
6470
+ name: string;
6471
+ }[];
6472
+ }[];
6473
+ /** @default [] */
6474
+ required_skills: {
6475
+ id: string;
6476
+ name: string;
6477
+ }[];
6478
+ } | null;
6479
+ custom_data?: {
6480
+ [key: string]: unknown;
6481
+ } | null;
6482
+ } | {
6483
+ actionCalls?: {
6484
+ action: {
6277
6485
  name: string;
6278
- language: string;
6279
- parameters: components["schemas"]["WhatsAppTemplateMappingDto"];
6486
+ id: string;
6487
+ openapi?: {
6488
+ openapi_spec_id?: string;
6489
+ operation_spec: unknown;
6490
+ operation_id?: string;
6491
+ operation_method?: string;
6492
+ };
6493
+ metadata: unknown;
6494
+ required_form_submission?: boolean;
6495
+ is_handoff_like?: boolean;
6280
6496
  };
6281
- };
6282
- };
6283
- delay_in_minutes?: number;
6284
- /** Format: date-time */
6285
- started_at?: string;
6286
- /** Format: date-time */
6287
- ended_at?: string;
6288
- };
6289
- /** @enum {string} */
6290
- SequenceStatus: "pending" | "complete" | "canceled" | "active";
6291
- SequenceDto: {
6292
- id: string;
6293
- name: string;
6294
- org_id: string;
6295
- custom_id: string | null;
6296
- filter: {
6297
- or: {
6298
- and: components["schemas"]["ContactsFilter"][];
6497
+ arguments: unknown;
6498
+ result: unknown;
6299
6499
  }[];
6300
- } | null;
6301
- steps: components["schemas"]["SequenceStep"][];
6302
- is_continuous: boolean;
6303
- started_at: string | null;
6304
- canceled_at: string | null;
6305
- ended_at: string | null;
6306
- status: components["schemas"]["SequenceStatus"] | null;
6307
- };
6308
- StartOneOffSequenceOutputDto: {
6309
- data?: {
6310
- success: boolean;
6311
- };
6312
- error?: {
6500
+ actionSearchQuery?: string;
6501
+ knowledge?: {
6502
+ source: string;
6503
+ source_type: string;
6504
+ url: string;
6505
+ }[];
6506
+ knowledge_used?: {
6507
+ content: string;
6508
+ source: string;
6509
+ }[];
6510
+ work_instructions_scanned?: {
6511
+ content: string;
6512
+ }[];
6513
+ /** @description Context provided from the client. For example, dynamic metadata sent from the widget such as: the current product name on the page, the current Shopify shop domain, etc etc. */
6514
+ client_context?: {
6515
+ [key: string]: unknown;
6516
+ } | null;
6517
+ /** @description Org-specific or message-type-specific debug data. */
6518
+ additional_debug_data?: {
6519
+ [key: string]: unknown;
6520
+ } | null;
6521
+ custom_data?: {
6522
+ [key: string]: unknown;
6523
+ } | null;
6524
+ whatsapp_template_request?: unknown | null;
6525
+ rule_violation_reflections?: {
6526
+ rule_name: string;
6527
+ /** @description How the rule was violated */
6528
+ violation_description: string;
6529
+ }[];
6530
+ tool_call_results_quick_reply_suggestions?: {
6531
+ tool_name: string;
6532
+ suggestions: string[];
6533
+ }[];
6534
+ /** @default null */
6535
+ assignment_choice_summary: {
6536
+ /** @constant */
6537
+ strategy: "least-busy";
6538
+ selected: {
6539
+ agent_id: number;
6540
+ agent_name: string;
6541
+ active_sessions: number;
6542
+ active_sessions_in_group: number;
6543
+ pending_sessions: number;
6544
+ remaining_capacity: number;
6545
+ max_capacity: number;
6546
+ max_capacity_in_group: number | null;
6547
+ is_available_globally: boolean;
6548
+ is_available_in_group: boolean;
6549
+ /** @default [] */
6550
+ missing_required_skills: {
6551
+ id: string;
6552
+ name: string;
6553
+ }[];
6554
+ } | null;
6555
+ peers: {
6556
+ agent_id: number;
6557
+ agent_name: string;
6558
+ active_sessions: number;
6559
+ active_sessions_in_group: number;
6560
+ pending_sessions: number;
6561
+ remaining_capacity: number;
6562
+ max_capacity: number;
6563
+ max_capacity_in_group: number | null;
6564
+ is_available_globally: boolean;
6565
+ is_available_in_group: boolean;
6566
+ /** @default [] */
6567
+ missing_required_skills: {
6568
+ id: string;
6569
+ name: string;
6570
+ }[];
6571
+ }[];
6572
+ /** @default [] */
6573
+ required_skills: {
6574
+ id: string;
6575
+ name: string;
6576
+ }[];
6577
+ } | null;
6578
+ destination_id?: string;
6579
+ destination_name?: string;
6313
6580
  /** @enum {string} */
6314
- code: "sequence_not_found" | "one_off_sequence_is_canceled" | "sequence_already_started";
6315
- status: 400 | 404;
6316
- message: string;
6317
- };
6581
+ destination_type?: "phone" | "sip" | "hangup";
6582
+ transfer_reason?: string | null;
6583
+ is_failover?: boolean;
6584
+ /** @enum {string} */
6585
+ failover_source?: "stt" | "llm" | "tts";
6586
+ /** @enum {string} */
6587
+ hangup_initiator?: "user" | "agent" | "system";
6588
+ hangup_reason?: string;
6589
+ duration_seconds?: number;
6590
+ /** @enum {string} */
6591
+ call_direction?: "inbound" | "outbound";
6592
+ }) | null;
6593
+ knowledgebase_called?: boolean | null;
6594
+ /** @enum {string} */
6595
+ 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_reopened_session" | "ai_response_cancelled" | "ai_resumed_by_system" | "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_requested" | "csat_submitted" | "email_draft_message" | "handoff" | "handoff_to_salesforce_miaw" | "handoff_to_zendesk" | "integration_reopened_session" | "message" | "prohibited_topic_detected" | "sequence_message" | "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_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" | "workflow_message" | "workflow_note" | "workflow_triggered";
6596
+ extra_params?: {
6597
+ [key: string]: unknown;
6598
+ } | null;
6599
+ agent_id?: number | null;
6600
+ agent_name?: string | null;
6601
+ agent_avatar?: string | null;
6602
+ handoff_happened_during_office_hours?: boolean | null;
6603
+ sender_display_name?: string | null;
6604
+ plan_executed?: boolean | null;
6605
+ contact_id?: string | null;
6606
+ contact_name?: string | null;
6607
+ contact_avatar_url?: string | null;
6608
+ contact_source?: ("csv" | "form" | "freshchat" | "hubspot" | "intercom" | "pipedream" | "salesforce" | "slack") | null;
6609
+ contact_slack_data?: string | null;
6610
+ attachments?: components["schemas"]["ChatAttachmentDto"][] | null;
6611
+ email_rfc_message_id?: string | null;
6612
+ email_to?: string[] | null;
6613
+ email_cc?: string[] | null;
6614
+ external_message_id?: string | null;
6615
+ csat_score?: number | null;
6616
+ csat_feedback?: string | null;
6617
+ state_checkpoint_payload?: unknown | null;
6618
+ client_context?: {
6619
+ [key: string]: unknown;
6620
+ } | null;
6621
+ workflow_id?: string | null;
6622
+ workflow_run_id?: string | null;
6623
+ sequence_id?: string | null;
6624
+ whatsapp_template_name?: string | null;
6625
+ from_opencx_public_api?: boolean | null;
6626
+ sub_status_id?: string | null;
6627
+ whatsapp_sent_at?: string | null;
6628
+ whatsapp_delivered_at?: string | null;
6629
+ whatsapp_read_at?: string | null;
6630
+ whatsapp_failed_at?: string | null;
6631
+ whatsapp_error_title?: string | null;
6632
+ whatsapp_error_details?: string | null;
6633
+ twitter_sent_at?: string | null;
6634
+ twitter_read_at?: string | null;
6635
+ twitter_failed_at?: string | null;
6636
+ twitter_error_title?: string | null;
6637
+ twitter_error_details?: string | null;
6638
+ session_closed_payload: unknown;
6639
+ agent_changed_payload?: components["schemas"]["AgentChangedPayload"] | null;
6640
+ comment_thread_id?: string | null;
6641
+ edited_at?: string | null;
6642
+ deleted_at?: string | null;
6643
+ phone_call_id?: string | null;
6644
+ phone_call?: components["schemas"]["PhoneCallDto"] | null;
6318
6645
  };
6319
6646
  SankeyReportResDto: {
6320
6647
  nodes: {
@@ -6357,6 +6684,52 @@ export interface components {
6357
6684
  customDataKeys?: string[];
6358
6685
  }[];
6359
6686
  };
6687
+ CsatSettingsResponseDto: {
6688
+ /** @description The ID of the organization */
6689
+ organization_id: string;
6690
+ /** @description Whether CSAT collection is enabled for web channel */
6691
+ web_enabled: boolean;
6692
+ /** @description Whether CSAT collection is enabled for email channel */
6693
+ email_enabled: boolean;
6694
+ /** @description Whether CSAT collection is enabled for phone channel */
6695
+ phone_enabled: boolean;
6696
+ /** @description Whether CSAT collection is enabled for WhatsApp channel */
6697
+ whatsapp_enabled: boolean;
6698
+ /** @description Whether CSAT collection is enabled for SMS channel */
6699
+ sms_enabled: boolean;
6700
+ /** @description Whether CSAT collection is enabled for Slack channel */
6701
+ slack_enabled: boolean;
6702
+ /** @description Whether CSAT collection is enabled for API channel */
6703
+ api_enabled: boolean;
6704
+ /** @description Whether CSAT collection is enabled for web voice channel */
6705
+ web_voice_enabled: boolean;
6706
+ /** @description Whether CSAT collection is enabled for Instagram channel */
6707
+ instagram_enabled: boolean;
6708
+ /** @description Whether CSAT collection is enabled for Facebook Messenger channel */
6709
+ messenger_enabled: boolean;
6710
+ /** @description Custom message to display with CSAT request */
6711
+ custom_message: string | null;
6712
+ /** @description Whether to automatically send CSAT after session closes */
6713
+ auto_send_on_close: boolean;
6714
+ /** @description Delay in minutes before sending CSAT after session closes */
6715
+ send_delay_minutes: number;
6716
+ /** @description Full-HTML template for the public CSAT feedback page (null = default page) */
6717
+ web_template_html: string | null;
6718
+ /** @description Full-HTML template for the CSAT request email (null = default email) */
6719
+ email_template_html: string | null;
6720
+ /** @description Subject line for the custom CSAT request email (null = default subject) */
6721
+ email_template_subject: string | null;
6722
+ /**
6723
+ * Format: date-time
6724
+ * @description When the settings were created
6725
+ */
6726
+ created_at: string;
6727
+ /**
6728
+ * Format: date-time
6729
+ * @description When the settings were last updated
6730
+ */
6731
+ updated_at: string;
6732
+ };
6360
6733
  EmailTemplateActivityItemDto: {
6361
6734
  id: string;
6362
6735
  from_email: string;
@@ -7169,7 +7542,7 @@ export interface components {
7169
7542
  } | ({
7170
7543
  /** @constant */
7171
7544
  success: true;
7172
- code?: string | "session_assigned_to_human_agent" | "response_cancelled" | "skipping_unuseful_response" | "duplicate_message_ignored" | "ai_response_skipped_by_workflow";
7545
+ code?: string | "session_assigned_to_human_agent" | "response_cancelled" | "skipping_unuseful_response" | "duplicate_message_ignored" | "ai_response_skipped_by_workflow" | "ai_skipped_spam";
7173
7546
  autopilotResponse?: {
7174
7547
  /** @constant */
7175
7548
  type: "text";
@@ -8112,7 +8485,7 @@ export interface components {
8112
8485
  /** Format: email */
8113
8486
  email: string;
8114
8487
  avatar_url?: string | null;
8115
- permissions?: ("*" | "sessions:read" | "sessions:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "contacts:read" | "contacts:write" | "sequences:read" | "sequences:write" | "ai-training:read" | "ai-training:write" | "reports:read" | "reports:write" | "help-center:read" | "help-center:write" | "workflows:read" | "workflows:write" | "actions:read" | "actions:write" | "mini-apps:read" | "mini-apps:write" | "redaction:read" | "redaction:write" | "voc:read" | "voc:write" | "audit-logs:read" | "audit-logs:write" | "settings:read" | "settings:write" | "settings-billing:read" | "settings-billing:write" | "settings-api-keys:read" | "settings-api-keys:write" | "settings-autopilot:read" | "settings-autopilot:write" | "settings-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members:write" | "settings-tags:read" | "settings-tags:write" | "settings-sla:read" | "settings-sla:write" | "settings-csat:read" | "settings-csat:write" | "settings-office-hours:read" | "settings-office-hours:write" | "settings-channels:read" | "settings-channels:write" | "settings-channels-voice:read" | "settings-channels-voice:write" | "settings-helpdesk:read" | "settings-helpdesk: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;
8488
+ permissions?: ("*" | "sessions:read" | "sessions:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "contacts:read" | "contacts:write" | "sequences:read" | "sequences:write" | "ai-training:read" | "ai-training:write" | "reports:read" | "reports:write" | "help-center:read" | "help-center:write" | "workflows:read" | "workflows:write" | "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" | "audit-logs:write" | "settings:read" | "settings:write" | "settings-billing:read" | "settings-billing:write" | "settings-api-keys:read" | "settings-api-keys:write" | "settings-autopilot:read" | "settings-autopilot: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-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-helpdesk:read" | "settings-helpdesk: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;
8116
8489
  };
8117
8490
  OrgUserDetail: {
8118
8491
  id: number;
@@ -8121,7 +8494,7 @@ export interface components {
8121
8494
  /** Format: email */
8122
8495
  email: string;
8123
8496
  avatar_url?: string | null;
8124
- permissions?: ("*" | "sessions:read" | "sessions:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "contacts:read" | "contacts:write" | "sequences:read" | "sequences:write" | "ai-training:read" | "ai-training:write" | "reports:read" | "reports:write" | "help-center:read" | "help-center:write" | "workflows:read" | "workflows:write" | "actions:read" | "actions:write" | "mini-apps:read" | "mini-apps:write" | "redaction:read" | "redaction:write" | "voc:read" | "voc:write" | "audit-logs:read" | "audit-logs:write" | "settings:read" | "settings:write" | "settings-billing:read" | "settings-billing:write" | "settings-api-keys:read" | "settings-api-keys:write" | "settings-autopilot:read" | "settings-autopilot:write" | "settings-integrations:read" | "settings-integrations:write" | "settings-members:read" | "settings-members:write" | "settings-tags:read" | "settings-tags:write" | "settings-sla:read" | "settings-sla:write" | "settings-csat:read" | "settings-csat:write" | "settings-office-hours:read" | "settings-office-hours:write" | "settings-channels:read" | "settings-channels:write" | "settings-channels-voice:read" | "settings-channels-voice:write" | "settings-helpdesk:read" | "settings-helpdesk: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;
8497
+ permissions?: ("*" | "sessions:read" | "sessions:write" | "sessions-shared-views:read" | "sessions-shared-views:write" | "contacts:read" | "contacts:write" | "sequences:read" | "sequences:write" | "ai-training:read" | "ai-training:write" | "reports:read" | "reports:write" | "help-center:read" | "help-center:write" | "workflows:read" | "workflows:write" | "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" | "audit-logs:write" | "settings:read" | "settings:write" | "settings-billing:read" | "settings-billing:write" | "settings-api-keys:read" | "settings-api-keys:write" | "settings-autopilot:read" | "settings-autopilot: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-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-helpdesk:read" | "settings-helpdesk: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;
8125
8498
  teams: {
8126
8499
  group: components["schemas"]["GroupDto"];
8127
8500
  is_user_available_on_group: boolean;
@@ -8577,6 +8950,50 @@ export interface components {
8577
8950
  DomainBlockStatusOutput: {
8578
8951
  is_blocked: boolean;
8579
8952
  };
8953
+ ListBlockedIpsOutput: {
8954
+ data: {
8955
+ /** @description Block record ID */
8956
+ id: string;
8957
+ /** @description The blocked address — a single IP (203.0.113.7) or a CIDR range (203.0.113.0/24) */
8958
+ ip_address: string;
8959
+ /** @description Why the address was blocked */
8960
+ reason: string | null;
8961
+ /** Format: date-time */
8962
+ created_at: string;
8963
+ }[];
8964
+ total: number;
8965
+ page: number;
8966
+ total_pages: number;
8967
+ };
8968
+ BlockIpsOutput: {
8969
+ /** @description Addresses that were successfully blocked */
8970
+ blocked: {
8971
+ /** @description Block record ID */
8972
+ id: string;
8973
+ /** @description The blocked address — a single IP (203.0.113.7) or a CIDR range (203.0.113.0/24) */
8974
+ ip_address: string;
8975
+ /** @description Why the address was blocked */
8976
+ reason: string | null;
8977
+ /** Format: date-time */
8978
+ created_at: string;
8979
+ }[];
8980
+ /** @description Addresses that needed no action — already blocked, or not a valid IP/CIDR */
8981
+ skipped: string[];
8982
+ /** @description Addresses that could NOT be blocked — these are still unblocked */
8983
+ failed: {
8984
+ ip: string;
8985
+ error: string;
8986
+ }[];
8987
+ summary: {
8988
+ total: number;
8989
+ blocked: number;
8990
+ skipped: number;
8991
+ failed: number;
8992
+ };
8993
+ };
8994
+ IpBlockStatusOutput: {
8995
+ is_blocked: boolean;
8996
+ };
8580
8997
  GetCustomDomainsOutput: {
8581
8998
  domainName: string;
8582
8999
  domainNameVerificationStatus: string | null;
@@ -8924,28 +9341,161 @@ export interface operations {
8924
9341
  };
8925
9342
  };
8926
9343
  };
8927
- invokeAction: {
9344
+ invokeAction: {
9345
+ parameters: {
9346
+ query?: never;
9347
+ header?: never;
9348
+ path: {
9349
+ operation_id: string;
9350
+ };
9351
+ cookie?: never;
9352
+ };
9353
+ requestBody: {
9354
+ content: {
9355
+ "application/json": components["schemas"]["InvokeActionDto"];
9356
+ };
9357
+ };
9358
+ responses: {
9359
+ /** @description Default Response */
9360
+ 201: {
9361
+ headers: {
9362
+ [name: string]: unknown;
9363
+ };
9364
+ content: {
9365
+ "application/json": components["schemas"]["InvokeActionResponseDto"];
9366
+ };
9367
+ };
9368
+ /** @description Internal Server Error */
9369
+ 500: {
9370
+ headers: {
9371
+ [name: string]: unknown;
9372
+ };
9373
+ content: {
9374
+ "application/json": components["schemas"]["ErrorDto"];
9375
+ };
9376
+ };
9377
+ };
9378
+ };
9379
+ deleteAllActions: {
9380
+ parameters: {
9381
+ query?: never;
9382
+ header?: never;
9383
+ path?: never;
9384
+ cookie?: never;
9385
+ };
9386
+ requestBody?: never;
9387
+ responses: {
9388
+ /** @description Default Response */
9389
+ 200: {
9390
+ headers: {
9391
+ [name: string]: unknown;
9392
+ };
9393
+ content?: never;
9394
+ };
9395
+ /** @description Internal Server Error */
9396
+ 500: {
9397
+ headers: {
9398
+ [name: string]: unknown;
9399
+ };
9400
+ content: {
9401
+ "application/json": components["schemas"]["ErrorDto"];
9402
+ };
9403
+ };
9404
+ };
9405
+ };
9406
+ importActionsFromOpenApiSpec: {
9407
+ parameters: {
9408
+ query?: never;
9409
+ header?: never;
9410
+ path?: never;
9411
+ cookie?: never;
9412
+ };
9413
+ requestBody: {
9414
+ content: {
9415
+ "application/json": components["schemas"]["FileUploadDto"];
9416
+ };
9417
+ };
9418
+ responses: {
9419
+ /** @description Default Response */
9420
+ 200: {
9421
+ headers: {
9422
+ [name: string]: unknown;
9423
+ };
9424
+ content?: never;
9425
+ };
9426
+ /** @description Internal Server Error */
9427
+ 500: {
9428
+ headers: {
9429
+ [name: string]: unknown;
9430
+ };
9431
+ content: {
9432
+ "application/json": components["schemas"]["ErrorDto"];
9433
+ };
9434
+ };
9435
+ };
9436
+ };
9437
+ updateAgentAvailability: {
9438
+ parameters: {
9439
+ query?: never;
9440
+ header?: never;
9441
+ path: {
9442
+ /** @description Organization user ID */
9443
+ userId: number;
9444
+ };
9445
+ cookie?: never;
9446
+ };
9447
+ requestBody: {
9448
+ content: {
9449
+ "application/json": components["schemas"]["UpdateAgentAvailabilityPublicDto"];
9450
+ };
9451
+ };
9452
+ responses: {
9453
+ /** @description Default Response */
9454
+ 200: {
9455
+ headers: {
9456
+ [name: string]: unknown;
9457
+ };
9458
+ content: {
9459
+ "application/json": components["schemas"]["AgentAvailability"];
9460
+ };
9461
+ };
9462
+ /** @description Internal Server Error */
9463
+ 500: {
9464
+ headers: {
9465
+ [name: string]: unknown;
9466
+ };
9467
+ content: {
9468
+ "application/json": components["schemas"]["ErrorDto"];
9469
+ };
9470
+ };
9471
+ };
9472
+ };
9473
+ listAuditLogs: {
8928
9474
  parameters: {
8929
- query?: never;
8930
- header?: never;
8931
- path: {
8932
- operation_id: string;
9475
+ query?: {
9476
+ startDate?: string;
9477
+ endDate?: string;
9478
+ entityType?: string;
9479
+ eventType?: string;
9480
+ eventCategory?: "access" | "agent_availability" | "communication" | "configuration" | "data" | "security";
9481
+ actorId?: number;
9482
+ actorType?: "api" | "system" | "user";
9483
+ page?: number;
9484
+ limit?: number;
8933
9485
  };
9486
+ header?: never;
9487
+ path?: never;
8934
9488
  cookie?: never;
8935
9489
  };
8936
- requestBody: {
8937
- content: {
8938
- "application/json": components["schemas"]["InvokeActionDto"];
8939
- };
8940
- };
9490
+ requestBody?: never;
8941
9491
  responses: {
8942
9492
  /** @description Default Response */
8943
- 201: {
9493
+ 200: {
8944
9494
  headers: {
8945
9495
  [name: string]: unknown;
8946
9496
  };
8947
9497
  content: {
8948
- "application/json": components["schemas"]["InvokeActionResponseDto"];
9498
+ "application/json": components["schemas"]["AuditLogsPublicResponse"];
8949
9499
  };
8950
9500
  };
8951
9501
  /** @description Internal Server Error */
@@ -8959,7 +9509,7 @@ export interface operations {
8959
9509
  };
8960
9510
  };
8961
9511
  };
8962
- deleteAllActions: {
9512
+ listAvailabilityStatuses: {
8963
9513
  parameters: {
8964
9514
  query?: never;
8965
9515
  header?: never;
@@ -8973,7 +9523,9 @@ export interface operations {
8973
9523
  headers: {
8974
9524
  [name: string]: unknown;
8975
9525
  };
8976
- content?: never;
9526
+ content: {
9527
+ "application/json": components["schemas"]["AvailabilityStatusDto"][];
9528
+ };
8977
9529
  };
8978
9530
  /** @description Internal Server Error */
8979
9531
  500: {
@@ -8986,25 +9538,26 @@ export interface operations {
8986
9538
  };
8987
9539
  };
8988
9540
  };
8989
- importActionsFromOpenApiSpec: {
9541
+ getUsersAvailabilityStatuses: {
8990
9542
  parameters: {
8991
- query?: never;
9543
+ query: {
9544
+ /** @description Comma-separated organization user IDs, max 100 (e.g. "12,34,56") */
9545
+ user_ids: string;
9546
+ };
8992
9547
  header?: never;
8993
9548
  path?: never;
8994
9549
  cookie?: never;
8995
9550
  };
8996
- requestBody: {
8997
- content: {
8998
- "application/json": components["schemas"]["FileUploadDto"];
8999
- };
9000
- };
9551
+ requestBody?: never;
9001
9552
  responses: {
9002
9553
  /** @description Default Response */
9003
9554
  200: {
9004
9555
  headers: {
9005
9556
  [name: string]: unknown;
9006
9557
  };
9007
- content?: never;
9558
+ content: {
9559
+ "application/json": components["schemas"]["UserAvailabilityStatusDto"][];
9560
+ };
9008
9561
  };
9009
9562
  /** @description Internal Server Error */
9010
9563
  500: {
@@ -9017,21 +9570,17 @@ export interface operations {
9017
9570
  };
9018
9571
  };
9019
9572
  };
9020
- updateAgentAvailability: {
9573
+ getUserAvailabilityStatus: {
9021
9574
  parameters: {
9022
9575
  query?: never;
9023
9576
  header?: never;
9024
9577
  path: {
9025
9578
  /** @description Organization user ID */
9026
- userId: number;
9579
+ user_id: number;
9027
9580
  };
9028
9581
  cookie?: never;
9029
9582
  };
9030
- requestBody: {
9031
- content: {
9032
- "application/json": components["schemas"]["UpdateAgentAvailabilityPublicDto"];
9033
- };
9034
- };
9583
+ requestBody?: never;
9035
9584
  responses: {
9036
9585
  /** @description Default Response */
9037
9586
  200: {
@@ -9039,7 +9588,7 @@ export interface operations {
9039
9588
  [name: string]: unknown;
9040
9589
  };
9041
9590
  content: {
9042
- "application/json": components["schemas"]["AgentAvailability"];
9591
+ "application/json": components["schemas"]["UserAvailabilityStatusDto"];
9043
9592
  };
9044
9593
  };
9045
9594
  /** @description Internal Server Error */
@@ -9053,24 +9602,21 @@ export interface operations {
9053
9602
  };
9054
9603
  };
9055
9604
  };
9056
- listAuditLogs: {
9605
+ applyUserAvailabilityStatus: {
9057
9606
  parameters: {
9058
- query?: {
9059
- startDate?: string;
9060
- endDate?: string;
9061
- entityType?: string;
9062
- eventType?: string;
9063
- eventCategory?: "access" | "agent_availability" | "communication" | "configuration" | "data" | "security";
9064
- actorId?: number;
9065
- actorType?: "api" | "system" | "user";
9066
- page?: number;
9067
- limit?: number;
9068
- };
9607
+ query?: never;
9069
9608
  header?: never;
9070
- path?: never;
9609
+ path: {
9610
+ /** @description Organization user ID */
9611
+ user_id: number;
9612
+ };
9071
9613
  cookie?: never;
9072
9614
  };
9073
- requestBody?: never;
9615
+ requestBody: {
9616
+ content: {
9617
+ "application/json": components["schemas"]["ApplyUserAvailabilityStatusDto"];
9618
+ };
9619
+ };
9074
9620
  responses: {
9075
9621
  /** @description Default Response */
9076
9622
  200: {
@@ -9078,7 +9624,7 @@ export interface operations {
9078
9624
  [name: string]: unknown;
9079
9625
  };
9080
9626
  content: {
9081
- "application/json": components["schemas"]["AuditLogsPublicResponse"];
9627
+ "application/json": components["schemas"]["UserAvailabilityStatusDto"];
9082
9628
  };
9083
9629
  };
9084
9630
  /** @description Internal Server Error */
@@ -10801,6 +11347,68 @@ export interface operations {
10801
11347
  };
10802
11348
  };
10803
11349
  };
11350
+ getCsatSettings: {
11351
+ parameters: {
11352
+ query?: never;
11353
+ header?: never;
11354
+ path?: never;
11355
+ cookie?: never;
11356
+ };
11357
+ requestBody?: never;
11358
+ responses: {
11359
+ /** @description Default Response */
11360
+ 200: {
11361
+ headers: {
11362
+ [name: string]: unknown;
11363
+ };
11364
+ content: {
11365
+ "application/json": components["schemas"]["CsatSettingsResponseDto"];
11366
+ };
11367
+ };
11368
+ /** @description Internal Server Error */
11369
+ 500: {
11370
+ headers: {
11371
+ [name: string]: unknown;
11372
+ };
11373
+ content: {
11374
+ "application/json": components["schemas"]["ErrorDto"];
11375
+ };
11376
+ };
11377
+ };
11378
+ };
11379
+ updateCsatSettings: {
11380
+ parameters: {
11381
+ query?: never;
11382
+ header?: never;
11383
+ path?: never;
11384
+ cookie?: never;
11385
+ };
11386
+ requestBody: {
11387
+ content: {
11388
+ "application/json": components["schemas"]["UpdateCsatSettingsDto"];
11389
+ };
11390
+ };
11391
+ responses: {
11392
+ /** @description Default Response */
11393
+ 200: {
11394
+ headers: {
11395
+ [name: string]: unknown;
11396
+ };
11397
+ content: {
11398
+ "application/json": components["schemas"]["CsatSettingsResponseDto"];
11399
+ };
11400
+ };
11401
+ /** @description Internal Server Error */
11402
+ 500: {
11403
+ headers: {
11404
+ [name: string]: unknown;
11405
+ };
11406
+ content: {
11407
+ "application/json": components["schemas"]["ErrorDto"];
11408
+ };
11409
+ };
11410
+ };
11411
+ };
10804
11412
  getAutopilotStatus: {
10805
11413
  parameters: {
10806
11414
  query?: never;
@@ -11180,6 +11788,135 @@ export interface operations {
11180
11788
  };
11181
11789
  };
11182
11790
  };
11791
+ listBlockedIps: {
11792
+ parameters: {
11793
+ query?: {
11794
+ /** @description Page number (default: 1) */
11795
+ page?: number;
11796
+ /** @description Results per page (default: 20, max: 200) */
11797
+ limit?: number;
11798
+ };
11799
+ header?: never;
11800
+ path?: never;
11801
+ cookie?: never;
11802
+ };
11803
+ requestBody?: never;
11804
+ responses: {
11805
+ /** @description Default Response */
11806
+ 200: {
11807
+ headers: {
11808
+ [name: string]: unknown;
11809
+ };
11810
+ content: {
11811
+ "application/json": components["schemas"]["ListBlockedIpsOutput"];
11812
+ };
11813
+ };
11814
+ /** @description Internal Server Error */
11815
+ 500: {
11816
+ headers: {
11817
+ [name: string]: unknown;
11818
+ };
11819
+ content: {
11820
+ "application/json": components["schemas"]["ErrorDto"];
11821
+ };
11822
+ };
11823
+ };
11824
+ };
11825
+ blockIps: {
11826
+ parameters: {
11827
+ query?: never;
11828
+ header?: never;
11829
+ path?: never;
11830
+ cookie?: never;
11831
+ };
11832
+ requestBody: {
11833
+ content: {
11834
+ "application/json": components["schemas"]["BlockIpsInputDto"];
11835
+ };
11836
+ };
11837
+ responses: {
11838
+ /** @description Default Response */
11839
+ 200: {
11840
+ headers: {
11841
+ [name: string]: unknown;
11842
+ };
11843
+ content: {
11844
+ "application/json": components["schemas"]["BlockIpsOutput"];
11845
+ };
11846
+ };
11847
+ /** @description Internal Server Error */
11848
+ 500: {
11849
+ headers: {
11850
+ [name: string]: unknown;
11851
+ };
11852
+ content: {
11853
+ "application/json": components["schemas"]["ErrorDto"];
11854
+ };
11855
+ };
11856
+ };
11857
+ };
11858
+ checkIpBlocked: {
11859
+ parameters: {
11860
+ query: {
11861
+ /** @description An IP address (e.g. "203.0.113.7" or "2001:db8::1") */
11862
+ value: string;
11863
+ };
11864
+ header?: never;
11865
+ path?: never;
11866
+ cookie?: never;
11867
+ };
11868
+ requestBody?: never;
11869
+ responses: {
11870
+ /** @description Default Response */
11871
+ 200: {
11872
+ headers: {
11873
+ [name: string]: unknown;
11874
+ };
11875
+ content: {
11876
+ "application/json": components["schemas"]["IpBlockStatusOutput"];
11877
+ };
11878
+ };
11879
+ /** @description Internal Server Error */
11880
+ 500: {
11881
+ headers: {
11882
+ [name: string]: unknown;
11883
+ };
11884
+ content: {
11885
+ "application/json": components["schemas"]["ErrorDto"];
11886
+ };
11887
+ };
11888
+ };
11889
+ };
11890
+ unblockIp: {
11891
+ parameters: {
11892
+ query?: never;
11893
+ header?: never;
11894
+ path: {
11895
+ /** @description The block record ID */
11896
+ id: string;
11897
+ };
11898
+ cookie?: never;
11899
+ };
11900
+ requestBody?: never;
11901
+ responses: {
11902
+ /** @description Default Response */
11903
+ 200: {
11904
+ headers: {
11905
+ [name: string]: unknown;
11906
+ };
11907
+ content?: never;
11908
+ };
11909
+ /** @description Internal Server Error */
11910
+ 500: {
11911
+ headers: {
11912
+ [name: string]: unknown;
11913
+ };
11914
+ content: {
11915
+ "application/json": components["schemas"]["ErrorDto"];
11916
+ };
11917
+ };
11918
+ };
11919
+ };
11183
11920
  sendEmail: {
11184
11921
  parameters: {
11185
11922
  query?: never;
@@ -15963,7 +16700,7 @@ export interface operations {
15963
16700
  timezone?: string;
15964
16701
  policy_id?: string;
15965
16702
  team_id?: string;
15966
- channel?: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice";
16703
+ channel?: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice" | "twitter" | "twitter_mentions";
15967
16704
  agent_id?: number;
15968
16705
  };
15969
16706
  header?: never;
@@ -16000,7 +16737,7 @@ export interface operations {
16000
16737
  timezone?: string;
16001
16738
  policy_id?: string;
16002
16739
  team_id?: string;
16003
- channel?: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice";
16740
+ channel?: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice" | "twitter" | "twitter_mentions";
16004
16741
  agent_id?: number;
16005
16742
  group_by: "policy" | "team" | "agent" | "channel";
16006
16743
  };
@@ -16038,7 +16775,7 @@ export interface operations {
16038
16775
  timezone?: string;
16039
16776
  policy_id?: string;
16040
16777
  team_id?: string;
16041
- channel?: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice";
16778
+ channel?: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice" | "twitter" | "twitter_mentions";
16042
16779
  agent_id?: number;
16043
16780
  granularity?: "day" | "week";
16044
16781
  };
@@ -16076,7 +16813,7 @@ export interface operations {
16076
16813
  timezone?: string;
16077
16814
  policy_id?: string;
16078
16815
  team_id?: string;
16079
- channel?: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice";
16816
+ channel?: "web" | "email" | "phone_voice" | "slack" | "sms" | "whatsapp" | "instagram" | "messenger" | "api" | "web_voice" | "twitter" | "twitter_mentions";
16080
16817
  agent_id?: number;
16081
16818
  };
16082
16819
  header?: never;