@babelforce/manager-sdk 0.17.0 → 0.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -3,16 +3,17 @@ import { Client } from '@hey-api/client-fetch';
3
3
  /**
4
4
  * How the SDK authenticates against the manager API.
5
5
  *
6
- * - `apiKey` — the primary server-to-server mode; sends the `X-Auth-Access-Id` /
7
- * `X-Auth-Access-Token` header pair on every request.
6
+ * - `clientCredentials` — the recommended server-to-server mode; OAuth2 client_credentials grant
7
+ * against `/oauth/token`. The token is fetched lazily on the first request and refreshed
8
+ * transparently before it expires.
8
9
  * - `bearer` — a bearer token you already obtained.
9
10
  * - `password` — OAuth2 password grant against `/oauth/token`; the token is fetched lazily on the
10
11
  * first request and refreshed transparently before it expires. Convenience for interactive/dev use.
11
12
  */
12
13
  type Auth = {
13
- kind: 'apiKey';
14
- accessId: string;
15
- accessToken: string;
14
+ kind: 'clientCredentials';
15
+ clientId: string;
16
+ clientSecret: string;
16
17
  } | {
17
18
  kind: 'bearer';
18
19
  token: string;
@@ -146,6 +147,34 @@ type Agent = {
146
147
  dateCreated?: string;
147
148
  lastUpdated?: string;
148
149
  };
150
+ type AgentAvailability = {
151
+ id?: string;
152
+ type?: 'presence' | 'activity';
153
+ name?: string;
154
+ label?: string;
155
+ enabled?: boolean;
156
+ available?: boolean;
157
+ hash?: string;
158
+ };
159
+ type AgentAvailabilityListResponse = {
160
+ items: Array<AgentAvailability>;
161
+ success: boolean;
162
+ };
163
+ type AgentBulkRequest = {
164
+ ids: Array<ObjectUuid>;
165
+ };
166
+ type AgentBulkResponse = {
167
+ bulk: Array<AgentBulkResponseBulkInner>;
168
+ };
169
+ type AgentBulkResponseBulkInner = {
170
+ /**
171
+ * The unique Identifier (UUID) of the object
172
+ */
173
+ id?: string;
174
+ success?: boolean;
175
+ error?: string;
176
+ item?: Agent;
177
+ };
149
178
  type AgentGroup = {
150
179
  /**
151
180
  * The unique Identifier (UUID) of the object
@@ -179,6 +208,44 @@ type AgentGroupReference = {
179
208
  name?: string;
180
209
  dateCreated?: string;
181
210
  };
211
+ type AgentImportJob = {
212
+ id: string;
213
+ status: 'queued' | 'running' | 'completed' | 'failed';
214
+ success?: boolean | null;
215
+ message?: string;
216
+ createdAt?: string;
217
+ startedAt?: string;
218
+ updatedAt?: string;
219
+ finishedAt?: string;
220
+ progress?: AgentImportJobProgress;
221
+ result?: AgentImportValidationResults;
222
+ error?: string;
223
+ };
224
+ type AgentImportJobItemResponse = {
225
+ item: AgentImportJob;
226
+ success?: boolean;
227
+ };
228
+ type AgentImportJobProgress = {
229
+ total?: number;
230
+ processed?: number;
231
+ uploaded?: number;
232
+ failed?: number;
233
+ currentRow?: number;
234
+ percent?: number;
235
+ chunkSize?: number;
236
+ };
237
+ type AgentImportValidationResults = {
238
+ success: boolean;
239
+ total?: number;
240
+ deleted?: number;
241
+ message?: string;
242
+ errors?: Array<AgentImportValidationResultsErrorsInner>;
243
+ };
244
+ type AgentImportValidationResultsErrorsInner = {
245
+ row?: number;
246
+ type?: 'INFO' | 'ERROR';
247
+ errors?: Array<string>;
248
+ };
182
249
  type AgentItemResponse = {
183
250
  item: Agent;
184
251
  /**
@@ -187,11 +254,94 @@ type AgentItemResponse = {
187
254
  success: boolean;
188
255
  };
189
256
  type AgentLineStatus = 'available' | 'busy' | 'declined' | 'unreachable' | 'selected' | 'ringing' | 'in-call' | 'wrap-up';
257
+ type AgentLogEntry = {
258
+ agent?: QueuedCallBridgedQueue;
259
+ /**
260
+ * The log type
261
+ */
262
+ type?: string;
263
+ date?: string;
264
+ call?: Call;
265
+ queue?: QueuedCallBridgedQueue;
266
+ presence?: string;
267
+ };
268
+ type AgentOutboundCallRequest = {
269
+ /**
270
+ * Destination number (the only required field)
271
+ */
272
+ to: string;
273
+ /**
274
+ * Caller-ID shown to the destination; defaults to the customer's default outbound number
275
+ */
276
+ displayAsTo?: string;
277
+ /**
278
+ * Caller-ID shown to the agent; defaults to the `to` value
279
+ */
280
+ displayAsFrom?: string;
281
+ /**
282
+ * Session variables to set on the call
283
+ */
284
+ session?: {
285
+ [key: string]: unknown;
286
+ };
287
+ autoRecord?: boolean;
288
+ webrtc?: boolean;
289
+ /**
290
+ * The unique Identifier (UUID) of the object
291
+ */
292
+ id?: string;
293
+ /**
294
+ * The unique Identifier (UUID) of the object
295
+ */
296
+ otherId?: string;
297
+ };
298
+ type AgentPasswordUpdateRequest = {
299
+ newPassword: string;
300
+ };
190
301
  type AgentPresence = {
191
302
  available: boolean;
192
303
  label: string;
193
304
  name: string;
194
305
  };
306
+ type AgentPresenceInfo = {
307
+ name?: string;
308
+ label?: string;
309
+ available?: boolean;
310
+ count?: number;
311
+ is_default?: boolean;
312
+ };
313
+ type AgentPresenceItemResponse = {
314
+ item: AgentPresence;
315
+ success: boolean;
316
+ };
317
+ type AgentPresenceListResponse = {
318
+ items: Array<AgentPresenceInfo>;
319
+ success: boolean;
320
+ };
321
+ /**
322
+ * A busy presence to create or update (available=true is rejected with 501)
323
+ */
324
+ type AgentPresenceWriteBody = {
325
+ label: string;
326
+ available?: boolean;
327
+ };
328
+ type AgentPushRequest = {
329
+ /**
330
+ * The message to push (1-250 chars)
331
+ */
332
+ message?: string;
333
+ /**
334
+ * Target agent (omit + broadcast=true to reach all)
335
+ */
336
+ agentId?: string;
337
+ broadcast?: boolean;
338
+ /**
339
+ * Custom key-value pairs
340
+ */
341
+ data?: {
342
+ [key: string]: unknown;
343
+ };
344
+ };
195
345
  type AgentShort = {
196
346
  /**
197
347
  * The unique Identifier (UUID) of the object
@@ -216,6 +366,32 @@ type AgentStatus = {
216
366
  display_status: string;
217
367
  };
218
368
  type AgentStatusOutboundStatus = 'offline' | 'online';
369
+ /**
370
+ * An agent's total status (enabled, presence, line and outbound state)
371
+ */
372
+ type AgentTotalStatus = {
373
+ enabled?: boolean;
374
+ outbound_status?: 'offline' | 'logging_in' | 'idle' | 'in_progress' | 'disposition' | 'waiting';
375
+ line_status?: string | null;
376
+ presence?: AgentTotalStatusPresence;
377
+ activity?: {
378
+ [key: string]: unknown;
379
+ } | null;
380
+ display_status?: string;
381
+ available?: boolean;
382
+ };
383
+ type AgentTotalStatusResponse = {
384
+ /**
385
+ * A single-element array containing the agent's total status
386
+ */
387
+ item: Array<AgentTotalStatus>;
388
+ success: boolean;
389
+ };
390
+ type AgentTotalStatusPresence = {
391
+ available?: boolean;
392
+ label?: string;
393
+ name?: string;
394
+ };
219
395
  type AgenticApplication = {
220
396
  /**
221
397
  * The unique Identifier (UUID) of the object
@@ -249,7 +425,7 @@ type AgenticApplicationSettings = {
249
425
  maxDuration: number;
250
426
  maxIterations: number;
251
427
  stopTrigger?: ApplicationSettingsTrigger;
252
- provider_settings: AgenticApplicationProviderSettings;
428
+ providerSettings: AgenticApplicationProviderSettings;
253
429
  };
254
430
  type AgenticApplicationSettingsSpeechToText = {
255
431
  /**
@@ -262,6 +438,14 @@ type AgenticApplicationSettingsSpeechToText = {
262
438
  type AgenticApplicationUltimateProviderSettings = {
263
439
  providerName: 'ultimate';
264
440
  botId: string;
441
+ /**
442
+ * Custom key/value metadata forwarded to the chatbot provider
443
+ */
444
+ metadata?: Array<AgenticProviderMetadata>;
445
+ /**
446
+ * Only forward the last recognized message to the provider
447
+ */
448
+ lastMessageOnly?: boolean;
265
449
  };
266
450
  type AgenticApplicationUpdateBody = {
267
451
  name?: string;
@@ -275,6 +459,13 @@ type AgenticApplicationUpdateBody = {
275
459
  settings?: AgenticApplicationSettings;
276
460
  module: 'agentic';
277
461
  };
462
+ /**
463
+ * A custom key/value pair forwarded to the chatbot provider
464
+ */
465
+ type AgenticProviderMetadata = {
466
+ key: string;
467
+ value: string;
468
+ };
278
469
  type Application = ({
279
470
  module?: 'agentQueue';
280
471
  } & QueueAgentApplication) | ({
@@ -331,34 +522,13 @@ type ApplicationPromptTts = ApplicationPromptBase & {
331
522
  * Available voice according to the provider
332
523
  */
333
524
  voice?: string;
334
- /**
335
- * Specific provider settings for generating prompt
336
- */
337
- providerSettings?: ApplicationPromptTtsProviderSettingsElevenLabs;
338
- };
339
- type ApplicationPromptTtsProviderSettingsElevenLabs = {
340
- apply_text_normalization?: string;
341
- voice_settings?: {
342
- stability?: number;
343
- speed?: number;
344
- };
345
525
  };
346
526
  type ApplicationPromptUrl = ApplicationPromptBase & {
347
527
  url: string;
348
528
  };
349
529
  type ApplicationRoutesInner = {
350
- conditions: Array<{
351
- /**
352
- * Existing trigger referenced by id. Mutually exclusive with inline triggers like
353
- */
354
- id?: string;
355
- invert?: boolean;
356
- /**
357
- * Inline trigger, checks are 2 values equal in array
358
- */
359
- eq?: Array<string>;
360
- }>;
361
- application?: ResourceReference;
530
+ trigger: ResourceReference;
531
+ application: ResourceReference;
362
532
  priority: number;
363
533
  };
364
534
  type ApplicationRouting = {
@@ -603,6 +773,37 @@ type BaseAutomation = {
603
773
  */
604
774
  tags?: Array<Tag>;
605
775
  };
776
+ /**
777
+ * Per-item result of a bulk action
778
+ */
779
+ type BulkActionResponse = {
780
+ bulk: Array<BulkActionResponseBulkInner>;
781
+ };
782
+ type BulkActionResponseBulkInner = {
783
+ /**
784
+ * The unique Identifier (UUID) of the object
785
+ */
786
+ id?: string;
787
+ success?: boolean;
788
+ error?: string;
789
+ item?: {
790
+ [key: string]: unknown;
791
+ };
792
+ };
793
+ /**
794
+ * A list of resource IDs for a bulk operation
795
+ */
796
+ type BulkIdsRequest = {
797
+ ids: Array<ObjectUuid>;
798
+ };
799
+ /**
800
+ * A list of resource objects to update in bulk (each must include its id)
801
+ */
802
+ type BulkUpdateRequest = {
803
+ items: Array<{
804
+ [key: string]: unknown;
805
+ }>;
806
+ };
606
807
  type BusinessHour = {
607
808
  /**
608
809
  * The unique Identifier (UUID) of the object
@@ -611,6 +812,29 @@ type BusinessHour = {
611
812
  name: string;
612
813
  enabled?: boolean;
613
814
  timeZone: string;
815
+ /**
816
+ * Whether the profile is currently within an open range
817
+ */
818
+ active?: boolean;
819
+ /**
820
+ * A List of Tags describing an Object
821
+ */
822
+ tags?: Array<Tag>;
823
+ ranges?: Array<BusinessHourRange>;
824
+ dateCreated?: string;
825
+ lastUpdated?: string;
826
+ };
827
+ type BusinessHourBulkUpdateRequest = {
828
+ items: Array<BusinessHourBulkUpdateRequestItemsInner>;
829
+ };
830
+ type BusinessHourBulkUpdateRequestItemsInner = {
831
+ /**
832
+ * The unique Identifier (UUID) of the object
833
+ */
834
+ id: string;
835
+ name?: string;
836
+ enabled?: boolean;
837
+ timeZone?: string;
614
838
  /**
615
839
  * A List of Tags describing an Object
616
840
  */
@@ -623,6 +847,53 @@ type BusinessHourItemResponse = {
623
847
  */
624
848
  success: boolean;
625
849
  };
850
+ type BusinessHourListResponse = {
851
+ items: Array<BusinessHour>;
852
+ success: boolean;
853
+ };
854
+ /**
855
+ * A weekly time range during which a business-hours profile is open
856
+ */
857
+ type BusinessHourRange = {
858
+ /**
859
+ * The unique Identifier (UUID) of the object
860
+ */
861
+ id: string;
862
+ start: BusinessHourRangeBound;
863
+ end: BusinessHourRangeBound;
864
+ };
865
+ /**
866
+ * A weekly time range (no id; ranges are replaced as a set)
867
+ */
868
+ type BusinessHourRangeBody = {
869
+ start: BusinessHourRangeBound;
870
+ end: BusinessHourRangeBound;
871
+ };
872
+ /**
873
+ * A weekday + time-of-day boundary
874
+ */
875
+ type BusinessHourRangeBound = {
876
+ day: 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday';
877
+ hour: number;
878
+ minute: number;
879
+ };
880
+ type BusinessHourRangeItemResponse = {
881
+ item: BusinessHourRange;
882
+ /**
883
+ * Whether the Request was successful or not
884
+ */
885
+ success: boolean;
886
+ };
887
+ type BusinessHourRangeListResponse = {
888
+ items: Array<BusinessHourRange>;
889
+ success: boolean;
890
+ };
891
+ /**
892
+ * The complete set of time ranges for a business-hours profile
893
+ */
894
+ type BusinessHourRangesBody = {
895
+ ranges: Array<BusinessHourRangeBody>;
896
+ };
626
897
  type Calendar = {
627
898
  /**
628
899
  * The unique Identifier (UUID) of the object
@@ -637,6 +908,50 @@ type Calendar = {
637
908
  */
638
909
  tags?: Array<Tag>;
639
910
  };
911
+ type CalendarBulkUpdateRequest = {
912
+ items: Array<BusinessHourBulkUpdateRequestItemsInner>;
913
+ };
914
+ /**
915
+ * A date range within a calendar (e.g. a holiday)
916
+ */
917
+ type CalendarDate = {
918
+ /**
919
+ * The unique Identifier (UUID) of the object
920
+ */
921
+ id: string;
922
+ label: string;
923
+ dateStart: string;
924
+ dateEnd: string;
925
+ type: CalendarDateType;
926
+ /**
927
+ * Whether the date range is currently active (now within [dateStart, dateEnd))
928
+ */
929
+ active?: boolean;
930
+ };
931
+ /**
932
+ * Fields to create or update a calendar date
933
+ */
934
+ type CalendarDateBody = {
935
+ label: string;
936
+ dateStart: string;
937
+ dateEnd: string;
938
+ type?: CalendarDateType;
939
+ };
940
+ type CalendarDateItemResponse = {
941
+ item: CalendarDate;
942
+ /**
943
+ * Whether the Request was successful or not
944
+ */
945
+ success: boolean;
946
+ };
947
+ type CalendarDateListResponse = {
948
+ items: Array<CalendarDate>;
949
+ success: boolean;
950
+ };
951
+ /**
952
+ * The kind of calendar date
953
+ */
954
+ type CalendarDateType = 'HOLIDAY';
640
955
  type CalendarItemResponse = {
641
956
  item: Calendar;
642
957
  /**
@@ -644,39 +959,112 @@ type CalendarItemResponse = {
644
959
  */
645
960
  success: boolean;
646
961
  };
962
+ type CalendarListResponse = {
963
+ items: Array<Calendar>;
964
+ success: boolean;
965
+ };
966
+ /**
967
+ * A single call leg handled by the platform — inbound, outbound or dialer. A call belongs to a call session and a conversation, and may have a parent call when it is a child leg (e.g. a transfer or bridge).
968
+ */
647
969
  type Call = {
648
970
  /**
649
971
  * The unique Identifier (UUID) of the object
650
972
  */
651
973
  id: string;
652
974
  /**
653
- * The unique Identifier (UUID) of the object
975
+ * uuid of the parent call when this is a child leg (e.g. a transfer or bridged outbound leg); absent for top-level calls.
654
976
  */
655
- parentId?: string;
977
+ parentId?: ObjectUuid;
656
978
  /**
657
- * The unique Identifier (UUID) of the object
979
+ * uuid of the call session this call belongs to.
658
980
  */
659
- sessionId: string;
981
+ sessionId: ObjectUuid;
660
982
  /**
661
- * The unique Identifier (UUID) of the object
983
+ * uuid of the conversation this call is part of.
662
984
  */
663
- conversationId?: string;
664
- dateCreated?: string;
665
- lastUpdated?: string;
666
- dateEstablished?: string;
667
- dateFinished?: string;
985
+ conversationId?: ObjectUuid;
986
+ /**
987
+ * When the call record was created (call initiated).
988
+ */
989
+ dateCreated?: _Date;
990
+ /**
991
+ * When the call record was last modified.
992
+ */
993
+ lastUpdated?: _Date;
994
+ /**
995
+ * When the call was answered/connected; absent if it never connected.
996
+ */
997
+ dateEstablished?: _Date;
998
+ /**
999
+ * When the call ended; absent while the call is still live.
1000
+ */
1001
+ dateFinished?: _Date;
668
1002
  state: CallState;
669
1003
  finishReason?: CallFinishReason;
670
1004
  type: CallType;
1005
+ /**
1006
+ * The caller (origin) number in E.164 format.
1007
+ */
671
1008
  from: string;
1009
+ /**
1010
+ * The called (destination) number in E.164 format.
1011
+ */
672
1012
  to: string;
673
1013
  source: CallSource;
674
1014
  domain: CallDomain;
1015
+ /**
1016
+ * Total call duration in seconds.
1017
+ */
675
1018
  duration?: number;
1019
+ /**
1020
+ * Whether the caller id was withheld (anonymous call).
1021
+ */
676
1022
  anonymous?: boolean;
1023
+ /**
1024
+ * Recordings captured during the call, if any.
1025
+ */
677
1026
  recordings?: Array<Recording>;
1027
+ /**
1028
+ * The agent/queue the call was bridged to, when applicable.
1029
+ */
678
1030
  bridged?: CallBridged;
679
1031
  };
1032
+ /**
1033
+ * An outbound call attempt
1034
+ */
1035
+ type CallAttempt = {
1036
+ /**
1037
+ * The unique Identifier (UUID) of the object
1038
+ */
1039
+ id: string;
1040
+ number?: string;
1041
+ status?: DialStatus;
1042
+ duration?: number;
1043
+ callCount?: number;
1044
+ calledSinceReset?: boolean;
1045
+ list?: GlobalQueueSelectionTrigger;
1046
+ campaign?: GlobalQueueSelectionTrigger;
1047
+ lead?: CallAttemptLead;
1048
+ agent?: CallAttemptAgent;
1049
+ dateCreated?: string;
1050
+ lastUpdated?: string;
1051
+ dateCalled?: string;
1052
+ };
1053
+ type CallAttemptAgent = {
1054
+ /**
1055
+ * The unique Identifier (UUID) of the object
1056
+ */
1057
+ id?: string;
1058
+ name?: string;
1059
+ number?: string;
1060
+ } | null;
1061
+ type CallAttemptLead = {
1062
+ /**
1063
+ * The unique Identifier (UUID) of the object
1064
+ */
1065
+ id?: string;
1066
+ uid?: string;
1067
+ };
680
1068
  type CallBridged = {
681
1069
  /**
682
1070
  * The unique Identifier (UUID) of the object
@@ -726,7 +1114,67 @@ type CallSource = 'queue' | 'webrtc' | 'api' | 'dialer' | 'dial' | 'transfer' |
726
1114
  */
727
1115
  type CallState = 'init' | 'scheduled' | 'ringing' | 'in-progress' | 'queued' | 'bridged' | 'canceled' | 'busy' | 'no-answer' | 'purged' | 'completed' | 'failed';
728
1116
  type CallType = 'inbound' | 'outbound';
729
- type CampaignListOrder = 'DOWN' | 'UP' | 'UP RANK' | 'DOWN RANK';
1117
+ /**
1118
+ * An outbound dialer campaign
1119
+ */
1120
+ type Campaign = {
1121
+ /**
1122
+ * The unique Identifier (UUID) of the object
1123
+ */
1124
+ id: string;
1125
+ name: string;
1126
+ displayNumber?: string;
1127
+ active?: boolean;
1128
+ testMode?: boolean;
1129
+ leadList?: GlobalQueueSelectionTrigger;
1130
+ listOrder?: CampaignListOrder;
1131
+ recording?: CampaignRecording;
1132
+ callRatio?: number;
1133
+ };
1134
+ type CampaignHopperResponse = {
1135
+ items: Array<HopperItem>;
1136
+ success: boolean;
1137
+ };
1138
+ type CampaignItemResponse = {
1139
+ item: Campaign;
1140
+ success: boolean;
1141
+ };
1142
+ type CampaignListOrder = 'DOWN' | 'UP' | 'UP RANK' | 'DOWN RANK';
1143
+ type CampaignRealtimeStatus = {
1144
+ order?: string;
1145
+ dial_level?: number;
1146
+ dial_method?: string;
1147
+ statuses?: Array<string>;
1148
+ time?: string;
1149
+ campaignLeadStats?: {
1150
+ [key: string]: unknown;
1151
+ };
1152
+ campaignCallStats?: {
1153
+ [key: string]: unknown;
1154
+ };
1155
+ campaignAgentStats?: {
1156
+ [key: string]: unknown;
1157
+ };
1158
+ trunk?: {
1159
+ [key: string]: unknown;
1160
+ };
1161
+ };
1162
+ type CampaignRealtimeStatusResponse = {
1163
+ item: CampaignRealtimeStatus;
1164
+ success: boolean;
1165
+ };
1166
+ type CampaignRecording = 'NEVER' | 'ONDEMAND' | 'ALLCALLS' | 'ALLFORCE';
1167
+ type CampaignStatisticsItem = {
1168
+ agent?: string;
1169
+ login_at?: string;
1170
+ pause_in_seconds?: string;
1171
+ wait_in_seconds?: string;
1172
+ talk_in_seconds?: string;
1173
+ };
1174
+ type CampaignStatisticsResponse = {
1175
+ items: Array<CampaignStatisticsItem>;
1176
+ success: boolean;
1177
+ };
730
1178
  type Conference = {
731
1179
  /**
732
1180
  * The unique Identifier (UUID) of the object
@@ -803,6 +1251,15 @@ type ConversationEventItemResponse = {
803
1251
  */
804
1252
  success: boolean;
805
1253
  };
1254
+ /**
1255
+ * A user event to add to a conversation
1256
+ */
1257
+ type ConversationEventRequest = {
1258
+ name: string;
1259
+ data?: {
1260
+ [key: string]: unknown;
1261
+ };
1262
+ };
806
1263
  type ConversationEventType = 'call' | 'sms' | 'queue' | 'application' | 'integration' | 'agent' | 'external';
807
1264
  type ConversationItemResponse = {
808
1265
  item: Conversation;
@@ -838,6 +1295,9 @@ type CreateCampaignRequest = {
838
1295
  listOrder: CampaignListOrder;
839
1296
  callRatio?: number;
840
1297
  };
1298
+ type CreateListRequest = {
1299
+ name: string;
1300
+ };
841
1301
  type CreateManagedUserRequest = {
842
1302
  password?: string;
843
1303
  email: string;
@@ -873,6 +1333,75 @@ type CustomEventRequest = {
873
1333
  */
874
1334
  tags?: Array<Tag>;
875
1335
  };
1336
+ /**
1337
+ * A reporting Dashboard
1338
+ */
1339
+ type Dashboard = {
1340
+ /**
1341
+ * The unique Identifier (UUID) of the object
1342
+ */
1343
+ id: string;
1344
+ /**
1345
+ * The name of the Dashboard (unique per account)
1346
+ */
1347
+ name: string;
1348
+ /**
1349
+ * The Dashboard URL
1350
+ */
1351
+ url: string;
1352
+ /**
1353
+ * Absolute self-link to this Dashboard
1354
+ */
1355
+ _url?: string;
1356
+ };
1357
+ /**
1358
+ * Request-Body to create a Dashboard
1359
+ */
1360
+ type DashboardCreateBody = {
1361
+ /**
1362
+ * The name of the Dashboard (unique per account, max 48 chars)
1363
+ */
1364
+ name: string;
1365
+ /**
1366
+ * The Dashboard URL (max 255 chars)
1367
+ */
1368
+ url: string;
1369
+ };
1370
+ type DashboardItemResponse = {
1371
+ item: Dashboard;
1372
+ /**
1373
+ * Whether the Request was successful or not
1374
+ */
1375
+ success: boolean;
1376
+ };
1377
+ /**
1378
+ * Request-Body to update a Dashboard (partial update)
1379
+ */
1380
+ type DashboardUpdateBody = {
1381
+ /**
1382
+ * The name of the Dashboard (unique per account, max 48 chars)
1383
+ */
1384
+ name?: string;
1385
+ /**
1386
+ * The Dashboard URL (max 255 chars)
1387
+ */
1388
+ url?: string;
1389
+ };
1390
+ /**
1391
+ * A user allowed to access a Dashboard
1392
+ */
1393
+ type DashboardUser = {
1394
+ /**
1395
+ * The unique Identifier (UUID) of the object
1396
+ */
1397
+ id: string;
1398
+ email: string;
1399
+ };
1400
+ type DashboardUsersResponse = {
1401
+ items: Array<DashboardUser>;
1402
+ success: boolean;
1403
+ };
1404
+ type _Date = string;
876
1405
  type DefaultTextToSpeechSettings = {
877
1406
  language?: string;
878
1407
  voice?: string;
@@ -885,6 +1414,30 @@ type DefaultV2MessageResponse = {
885
1414
  */
886
1415
  success: boolean;
887
1416
  };
1417
+ type DialMethod = 'standard' | 'manual' | 'safety_first';
1418
+ /**
1419
+ * The dial status of an outbound lead or call attempt
1420
+ */
1421
+ type DialStatus = 'pending' | 'new' | 'callback_hold' | 'answering_machine_auto' | 'busy_auto' | 'no_answer_auto' | 'disconnected_number_auto' | 'dropped' | 'in_call' | 'unknown' | 'picked_up' | 'voicemail' | 'agent_error' | 'not_viable' | 'queued' | 'dispo' | 'no_answer' | 'disconnected_number' | 'busy' | 'callback' | 'answering_machine' | 'not_interested' | 'do_not_call' | 'sale';
1422
+ /**
1423
+ * A dialer behaviour
1424
+ */
1425
+ type DialerBehaviour = {
1426
+ /**
1427
+ * The unique Identifier (UUID) of the object
1428
+ */
1429
+ id: string;
1430
+ name: string;
1431
+ dialMethod?: DialMethod;
1432
+ };
1433
+ type DialerBehaviourItemResponse = {
1434
+ item: DialerBehaviour;
1435
+ success: boolean;
1436
+ };
1437
+ type DialerBehaviourWriteBody = {
1438
+ name: string;
1439
+ dialMethod?: DialMethod;
1440
+ };
888
1441
  type DispatchLocalAutomationsResponse = {
889
1442
  success?: boolean;
890
1443
  };
@@ -954,6 +1507,18 @@ type EventItemResponse = {
954
1507
  * The Event category
955
1508
  */
956
1509
  type EventType = 'AGENT' | 'CALL' | 'CUSTOM' | 'MESSAGE' | 'RECORDING' | 'SMS' | 'TRANSACTION';
1510
+ type FileBulkDeleteRequest = {
1511
+ /**
1512
+ * File IDs to delete
1513
+ */
1514
+ ids: Array<ObjectUuid>;
1515
+ };
1516
+ type FileBulkDownloadRequest = {
1517
+ /**
1518
+ * File IDs to include in the ZIP
1519
+ */
1520
+ ids: Array<ObjectUuid>;
1521
+ };
957
1522
  type FileReference = {
958
1523
  /**
959
1524
  * The unique Identifier (UUID) of the object
@@ -965,6 +1530,15 @@ type FileReference = {
965
1530
  contentType: string;
966
1531
  };
967
1532
  type FileState = 'created' | 'storing' | 'stored' | 'failed' | 'deleted' | 'missing';
1533
+ /**
1534
+ * A generic single-item envelope
1535
+ */
1536
+ type GenericItemResponse = {
1537
+ item: {
1538
+ [key: string]: unknown;
1539
+ };
1540
+ success?: boolean;
1541
+ };
968
1542
  type GetIntegrationProviderLogoResponse = {
969
1543
  /**
970
1544
  * Whether or not the request was successful
@@ -994,6 +1568,68 @@ type GlobalAutomationItemResponse = {
994
1568
  */
995
1569
  success: boolean;
996
1570
  };
1571
+ type GlobalQueueSelection = {
1572
+ /**
1573
+ * The unique Identifier (UUID) of the object
1574
+ */
1575
+ id: string;
1576
+ label?: string;
1577
+ priority?: number;
1578
+ enabled?: boolean;
1579
+ queue?: GlobalQueueSelectionQueue;
1580
+ trigger?: GlobalQueueSelectionTrigger;
1581
+ /**
1582
+ * Only present when includeMembers=true
1583
+ */
1584
+ tags?: Array<{
1585
+ [key: string]: unknown;
1586
+ }>;
1587
+ /**
1588
+ * Only present when includeMembers=true
1589
+ */
1590
+ groups?: Array<{
1591
+ [key: string]: unknown;
1592
+ }>;
1593
+ /**
1594
+ * Only present when includeMembers=true
1595
+ */
1596
+ agents?: Array<{
1597
+ [key: string]: unknown;
1598
+ }>;
1599
+ };
1600
+ type GlobalQueueSelectionListResponse = {
1601
+ items: Array<GlobalQueueSelection>;
1602
+ pagination?: Pagination;
1603
+ success?: boolean;
1604
+ };
1605
+ type GlobalQueueSelectionQueue = {
1606
+ /**
1607
+ * The unique Identifier (UUID) of the object
1608
+ */
1609
+ id?: string;
1610
+ name?: string;
1611
+ enabled?: boolean;
1612
+ } | null;
1613
+ type GlobalQueueSelectionTrigger = {
1614
+ /**
1615
+ * The unique Identifier (UUID) of the object
1616
+ */
1617
+ id?: string;
1618
+ name?: string;
1619
+ } | null;
1620
+ /**
1621
+ * A live hopper entry (values are strings as returned by the dialer)
1622
+ */
1623
+ type HopperItem = {
1624
+ id?: string;
1625
+ uid?: string;
1626
+ listId?: string;
1627
+ count?: string;
1628
+ number?: string;
1629
+ status?: string;
1630
+ order?: string;
1631
+ source?: string;
1632
+ };
997
1633
  type InputReaderApplication = {
998
1634
  /**
999
1635
  * The unique Identifier (UUID) of the object
@@ -1116,17 +1752,38 @@ type InputReaderV2ApplicationUpdateBody = {
1116
1752
  module: 'inputReader.v2';
1117
1753
  };
1118
1754
  type InputReaderV2TerminationDigit = 'ASTERISK' | 'HASH';
1755
+ /**
1756
+ * A configured connection to an external system (e.g. a CRM or helpdesk) that exposes triggerable actions and session variables to the platform.
1757
+ */
1119
1758
  type Integration = {
1120
1759
  /**
1121
1760
  * The unique Identifier (UUID) of the object
1122
1761
  */
1123
1762
  id: string;
1763
+ /**
1764
+ * Short unique identifier for the integration.
1765
+ */
1124
1766
  name: string;
1767
+ /**
1768
+ * Human-readable label shown in the UI.
1769
+ */
1125
1770
  label: string;
1771
+ /**
1772
+ * The integration type — e.g. `custom` or `zendesk`.
1773
+ */
1126
1774
  type: string;
1127
1775
  provider?: IntegrationProvider;
1776
+ /**
1777
+ * Display colour for the integration in the UI (hex).
1778
+ */
1128
1779
  color?: string;
1780
+ /**
1781
+ * Whether the integration is active.
1782
+ */
1129
1783
  enabled?: boolean;
1784
+ /**
1785
+ * Provider-specific configuration for the integration.
1786
+ */
1130
1787
  config: {
1131
1788
  [key: string]: unknown;
1132
1789
  };
@@ -1159,14 +1816,38 @@ type IntegrationAvailableCustom = IntegrationAvailableBase & {
1159
1816
  type IntegrationAvailableLegacy = IntegrationAvailableBase & {
1160
1817
  legacy: boolean;
1161
1818
  };
1819
+ type IntegrationBulkIdsRequest = {
1820
+ ids: Array<string>;
1821
+ };
1162
1822
  type IntegrationCapability = 'babelforce.users' | 'babelforce.enduser' | 'babelforce.scripting' | 'babelforce.tasks' | 'agent.triggerable';
1823
+ /**
1824
+ * Body for creating an integration.
1825
+ */
1163
1826
  type IntegrationCreateRequest = {
1827
+ /**
1828
+ * Short unique identifier for the integration.
1829
+ */
1164
1830
  name: string;
1831
+ /**
1832
+ * Human-readable label shown in the UI.
1833
+ */
1165
1834
  label: string;
1835
+ /**
1836
+ * The integration type — e.g. `custom` or `zendesk`.
1837
+ */
1166
1838
  type: string;
1167
1839
  provider?: IntegrationProvider;
1840
+ /**
1841
+ * Display colour for the integration in the UI (hex).
1842
+ */
1168
1843
  color?: string;
1844
+ /**
1845
+ * Whether the integration starts active.
1846
+ */
1169
1847
  enabled?: boolean;
1848
+ /**
1849
+ * Provider-specific configuration for the integration.
1850
+ */
1170
1851
  config: {
1171
1852
  [key: string]: unknown;
1172
1853
  };
@@ -1191,52 +1872,221 @@ type IntegrationDispatchActionResponse = {
1191
1872
  context: {
1192
1873
  [key: string]: unknown;
1193
1874
  };
1194
- data: ActionProxyResponse;
1195
- };
1196
- type IntegrationItemResponse = {
1197
- item: Integration;
1875
+ data: ActionProxyResponse;
1876
+ };
1877
+ type IntegrationItemResponse = {
1878
+ item: Integration;
1879
+ /**
1880
+ * Whether the Request was successful or not
1881
+ */
1882
+ success: boolean;
1883
+ };
1884
+ type IntegrationListAvailableIntegrationsResponse = {
1885
+ items: Array<IntegrationAvailable>;
1886
+ /**
1887
+ * Whether or not the request was successful
1888
+ */
1889
+ success: boolean;
1890
+ };
1891
+ /**
1892
+ * A generic list of integration-related objects
1893
+ */
1894
+ type IntegrationObjectListResponse = {
1895
+ items: Array<{
1896
+ [key: string]: unknown;
1897
+ }>;
1898
+ success?: boolean;
1899
+ };
1900
+ type IntegrationPaginationType = 'page' | 'cursor';
1901
+ type IntegrationProvider = 'awaken_dispatch' | 'awaken_scripting' | 'babelforce' | 'babelforce.events' | 'babelforce.sessions' | 'babelforce.storage' | 'babelforce.tasks' | 'babelforce.transcripts' | 'cti' | 'custom' | 'deepsearch' | 'deepsearch_v2' | 'dummy' | 'dummy-integration' | 'freshdesk' | 'gcloud_dialogflow' | 'geckoboard' | 'kustomer' | 'microsoft_clu' | 'microsoft_dynamics' | 'microsoft_teams' | 'microsoft_teams_messages' | 'pushover' | 'salesforce' | 'sendbird_chat' | 'spotify' | 'sugarcrm' | 'surfly' | 'thunderhead_one' | 'vonage_messages' | 'waboxapp' | 'webhooktest' | 'zendesk' | 'zendesk_v2' | 'zohocrm';
1902
+ type IntegrationRemoveAssociationResponse = {
1903
+ success?: boolean;
1904
+ message?: string;
1905
+ };
1906
+ /**
1907
+ * The session variables exposed by one integration action.
1908
+ */
1909
+ type IntegrationSessionVariable = {
1910
+ /**
1911
+ * The action these variables belong to.
1912
+ */
1913
+ action: string;
1914
+ variables?: Array<VariableDefinition>;
1915
+ };
1916
+ type IntegrationSessionVariableItemsResponse = {
1917
+ items?: Array<IntegrationSessionVariable>;
1918
+ };
1919
+ /**
1920
+ * An access token issued to babelforce by a third party (e.g. via OAuth) and associated with an integration.
1921
+ */
1922
+ type IntegrationToken = {
1923
+ /**
1924
+ * The access token's uuid.
1925
+ */
1926
+ id?: string;
1927
+ /**
1928
+ * When the token expires.
1929
+ */
1930
+ expiresAt?: string;
1931
+ [key: string]: unknown | string | undefined;
1932
+ };
1933
+ type IntegrationTokenItemResponse = {
1934
+ item: IntegrationToken;
1935
+ success?: boolean;
1936
+ };
1937
+ type IntegrationTokenListResponse = {
1938
+ items: Array<IntegrationToken>;
1939
+ success?: boolean;
1940
+ };
1941
+ type IntegrationType = 'zendesk' | 'custom';
1942
+ /**
1943
+ * Body for updating an integration; supplied fields replace the stored values.
1944
+ */
1945
+ type IntegrationUpdateRequest = {
1946
+ /**
1947
+ * Short unique identifier for the integration.
1948
+ */
1949
+ name?: string;
1950
+ /**
1951
+ * Human-readable label shown in the UI.
1952
+ */
1953
+ label?: string;
1954
+ /**
1955
+ * The integration type — e.g. `custom` or `zendesk`.
1956
+ */
1957
+ type?: string;
1958
+ provider?: IntegrationProvider;
1959
+ /**
1960
+ * Display colour for the integration in the UI (hex).
1961
+ */
1962
+ color?: string;
1963
+ /**
1964
+ * Whether the integration is active.
1965
+ */
1966
+ enabled?: boolean;
1967
+ /**
1968
+ * Provider-specific configuration for the integration.
1969
+ */
1970
+ config?: {
1971
+ [key: string]: unknown;
1972
+ };
1973
+ /**
1974
+ * A List of Tags describing an Object
1975
+ */
1976
+ tags?: Array<Tag>;
1977
+ };
1978
+ type IvrModule = 'agentQueue' | 'agentic' | 'audioPlayer' | 'consumerQueue' | 'inputReader' | 'inputReader.v2' | 'promptPlayer' | 'recording' | 'simpleMenu' | 'speechToText' | 'switchNode' | 'textToSpeech' | 'transfer';
1979
+ /**
1980
+ * An outbound dialer lead
1981
+ */
1982
+ type Lead = {
1983
+ /**
1984
+ * The unique Identifier (UUID) of the object
1985
+ */
1986
+ id: string;
1987
+ /**
1988
+ * Customer-supplied lead identifier
1989
+ */
1990
+ uid?: string;
1991
+ /**
1992
+ * The unique Identifier (UUID) of the object
1993
+ */
1994
+ listId?: string;
1995
+ /**
1996
+ * The unique Identifier (UUID) of the object
1997
+ */
1998
+ campaignId?: string;
1999
+ number: string;
2000
+ number2?: string;
2001
+ number3?: string;
2002
+ callerId?: string;
2003
+ status?: DialStatus;
2004
+ rank?: number;
2005
+ callCount?: number;
2006
+ duration?: number;
2007
+ calledSinceReset?: boolean;
2008
+ dateCreated?: string;
2009
+ lastUpdated?: string;
2010
+ dateCalled?: string;
2011
+ /**
2012
+ * Custom per-lead data
2013
+ */
2014
+ data?: {
2015
+ [key: string]: unknown;
2016
+ };
1198
2017
  /**
1199
- * Whether the Request was successful or not
2018
+ * Callback details, when scheduled
1200
2019
  */
2020
+ callback?: {
2021
+ [key: string]: unknown;
2022
+ } | null;
2023
+ };
2024
+ /**
2025
+ * Lead IDs or UIDs to delete (provide one of `ids` or `uids`)
2026
+ */
2027
+ type LeadBulkDeleteRequest = {
2028
+ ids?: Array<ObjectUuid>;
2029
+ uids?: Array<string>;
2030
+ };
2031
+ type LeadItemResponse = {
2032
+ item: Lead;
1201
2033
  success: boolean;
1202
2034
  };
1203
- type IntegrationListAvailableIntegrationsResponse = {
1204
- items: Array<IntegrationAvailable>;
2035
+ /**
2036
+ * An outbound lead-list
2037
+ */
2038
+ type LeadList = {
1205
2039
  /**
1206
- * Whether or not the request was successful
2040
+ * The unique Identifier (UUID) of the object
1207
2041
  */
1208
- success: boolean;
2042
+ id: string;
2043
+ name: string;
2044
+ /**
2045
+ * The unique Identifier (UUID) of the object
2046
+ */
2047
+ campaignId?: string;
2048
+ /**
2049
+ * Number of leads in the list
2050
+ */
2051
+ count?: number;
1209
2052
  };
1210
- type IntegrationPaginationType = 'page' | 'cursor';
1211
- type IntegrationProvider = 'awaken_dispatch' | 'awaken_scripting' | 'babelforce' | 'babelforce.events' | 'babelforce.sessions' | 'babelforce.storage' | 'babelforce.tasks' | 'babelforce.transcripts' | 'cti' | 'custom' | 'deepsearch' | 'deepsearch_v2' | 'dummy' | 'dummy-integration' | 'freshdesk' | 'gcloud_dialogflow' | 'geckoboard' | 'kustomer' | 'microsoft_clu' | 'microsoft_dynamics' | 'microsoft_teams' | 'microsoft_teams_messages' | 'pushover' | 'salesforce' | 'sendbird_chat' | 'spotify' | 'sugarcrm' | 'surfly' | 'thunderhead_one' | 'vonage_messages' | 'waboxapp' | 'webhooktest' | 'zendesk' | 'zendesk_v2' | 'zohocrm';
1212
- type IntegrationRemoveAssociationResponse = {
1213
- success?: boolean;
1214
- message?: string;
2053
+ type LeadListItemResponse = {
2054
+ item: LeadList;
2055
+ success: boolean;
1215
2056
  };
1216
- type IntegrationSessionVariable = {
1217
- action: string;
1218
- variables?: Array<VariableDefinition>;
2057
+ /**
2058
+ * Multipart CSV lead upload
2059
+ */
2060
+ type LeadUploadRequest = {
2061
+ /**
2062
+ * CSV file of leads
2063
+ */
2064
+ file: Blob | File;
2065
+ /**
2066
+ * JSON string mapping CSV columns to lead fields
2067
+ */
2068
+ mapping?: string;
2069
+ /**
2070
+ * CSV column separator (default `,`)
2071
+ */
2072
+ separator?: string;
2073
+ /**
2074
+ * Clear the list before importing
2075
+ */
2076
+ clear?: boolean;
1219
2077
  };
1220
- type IntegrationSessionVariableItemsResponse = {
1221
- items?: Array<IntegrationSessionVariable>;
2078
+ type LeadUploadResponse = {
2079
+ item: LeadUploadResponseItem;
2080
+ success: boolean;
1222
2081
  };
1223
- type IntegrationType = 'zendesk' | 'custom';
1224
- type IntegrationUpdateRequest = {
1225
- name?: string;
1226
- label?: string;
1227
- type?: string;
1228
- provider?: IntegrationProvider;
1229
- color?: string;
1230
- enabled?: boolean;
1231
- config?: {
1232
- [key: string]: unknown;
1233
- };
2082
+ type LeadUploadResponseItem = {
1234
2083
  /**
1235
- * A List of Tags describing an Object
2084
+ * The unique Identifier (UUID) of the object
1236
2085
  */
1237
- tags?: Array<Tag>;
2086
+ listId?: string;
2087
+ total?: number;
2088
+ message?: string;
1238
2089
  };
1239
- type IvrModule = 'agentQueue' | 'agentic' | 'audioPlayer' | 'consumerQueue' | 'inputReader' | 'inputReader.v2' | 'promptPlayer' | 'recording' | 'simpleMenu' | 'speechToText' | 'switchNode' | 'textToSpeech' | 'transfer';
1240
2090
  type ListModulesResponse = {
1241
2091
  items: Array<IvrModule>;
1242
2092
  };
@@ -1273,10 +2123,15 @@ type ManagedUser = {
1273
2123
  id: string;
1274
2124
  email: string;
1275
2125
  enabled?: boolean;
2126
+ activated?: boolean;
2127
+ passwordExpired?: boolean;
2128
+ accountExpired?: boolean;
2129
+ accountLocked?: boolean;
1276
2130
  /**
1277
2131
  * A List of Roles which are associated with the current User
1278
2132
  */
1279
2133
  roles: Array<AccountRole$1>;
2134
+ agent?: ManagedUserAgent;
1280
2135
  };
1281
2136
  type ManagedUserEmail = string;
1282
2137
  type ManagedUserItemResponse = {
@@ -1286,14 +2141,25 @@ type ManagedUserItemResponse = {
1286
2141
  */
1287
2142
  success: boolean;
1288
2143
  };
2144
+ /**
2145
+ * The agent linked to this user, if any
2146
+ */
2147
+ type ManagedUserAgent = {
2148
+ /**
2149
+ * The unique Identifier (UUID) of the object
2150
+ */
2151
+ uuid?: string;
2152
+ type?: string;
2153
+ sourceId?: string;
2154
+ };
1289
2155
  type MetricDefinition = {
1290
- id?: MetricId;
2156
+ id: MetricId;
1291
2157
  description: string;
1292
- tags: Array<string>;
1293
- filters: Array<MetricDefinitionFilter>;
2158
+ tags?: Array<string>;
2159
+ filters?: Array<MetricDefinitionFilter>;
1294
2160
  };
1295
2161
  type MetricDefinitionFilter = {
1296
- name?: string;
2162
+ name: string;
1297
2163
  description: string;
1298
2164
  type: string;
1299
2165
  format?: string;
@@ -1311,6 +2177,10 @@ type MetricDefinitionItemResponse = {
1311
2177
  */
1312
2178
  success: boolean;
1313
2179
  };
2180
+ type MetricDefinitionListResponse = {
2181
+ items: Array<MetricDefinition>;
2182
+ success: boolean;
2183
+ };
1314
2184
  type MetricId = 'abandon.total' | 'abandon.value' | 'agents.line-status.total' | 'agents.not_available.total' | 'agents.presence.total' | 'agents.state.available.total' | 'agents.state.busy.total' | 'agents.state.declined.total' | 'agents.state.in_call.total' | 'agents.state.originated.total' | 'agents.state.ringing.total' | 'agents.state.selected.total' | 'agents.state.unreachable.total' | 'agents.state.wrap_up.total' | 'agents.total' | 'calls.duration.avg' | 'calls.duration.total' | 'calls.hold.avg' | 'calls.hold.total' | 'calls.total' | 'conversations.events.total' | 'conversations.total' | 'date.value' | 'one.value' | 'outbound.campaign.agents.in_call.total' | 'outbound.campaign.agents.in_calls.total' | 'outbound.campaign.agents.in_dead_calls.total' | 'outbound.campaign.agents.in_disp.total' | 'outbound.campaign.agents.logged_in.total' | 'outbound.campaign.agents.paused.total' | 'outbound.campaign.agents.waiting.total' | 'outbound.campaign.calls.answer_ratio.total' | 'outbound.campaign.calls.answered.total' | 'outbound.campaign.calls.being_placed.total' | 'outbound.campaign.calls.drop_answer_ratio.total' | 'outbound.campaign.calls.drop_ratio.total' | 'outbound.campaign.calls.dropped.total' | 'outbound.campaign.calls.in_ivr.total' | 'outbound.campaign.calls.ringing.total' | 'outbound.campaign.calls.total_today.total' | 'outbound.campaign.calls.waiting_for_agents.total' | 'outbound.campaign.leads.dialable.total' | 'outbound.campaign.leads.in_hopper.total' | 'outbound.campaign.status.total' | 'queues.bridge-time.total' | 'queues.calls.total' | 'queues.calls.waiting.total' | 'queues.expected.wait-time.avg' | 'queues.handle-time.avg' | 'queues.handle-time.total' | 'queues.talk-time.avg' | 'queues.talk-time.total' | 'queues.total' | 'queues.wait-time.avg' | 'queues.wait-time.total' | 'queues.wrapup.avg' | 'queues.wrapup.total' | 'random.float.value' | 'random.int.value' | 'recordings.duration.avg' | 'recordings.duration.total' | 'recordings.total' | 'service-level.total' | 'service-level.value' | 'sms.total' | 'time.value' | 'zero.value';
1315
2185
  type MetricIdItemsResponse = {
1316
2186
  items: Array<MetricId>;
@@ -1319,12 +2189,6 @@ type MetricIdItemsResponse = {
1319
2189
  */
1320
2190
  success: boolean;
1321
2191
  };
1322
- type MetricRequestPushResponse = {
1323
- [key: string]: unknown;
1324
- };
1325
- type MetricResetCountersResponse = {
1326
- [key: string]: unknown;
1327
- };
1328
2192
  type MetricResponse = {
1329
2193
  id: MetricId;
1330
2194
  /**
@@ -1362,6 +2226,15 @@ type MetricResponseRequestTimeRange = {
1362
2226
  duration: number;
1363
2227
  };
1364
2228
  type MetricTimeRange = 'TODAY' | 'YESTERDAY' | 'LAST_DAY' | 'LAST_24_HOURS' | 'LAST_3_DAYS' | 'LAST_7_DAYS' | 'LAST_30_DAYS' | 'THIS_WEEK' | 'PREVIOUS_WEEK' | 'THIS_MONTH' | 'PREVIOUS_MONTH' | 'LAST_3_MONTHS' | 'THIS_QUARTER' | 'PREVIOUS_QUARTER';
2229
+ /**
2230
+ * A generic list of objects
2231
+ */
2232
+ type ObjectListResponse = {
2233
+ items: Array<{
2234
+ [key: string]: unknown;
2235
+ }>;
2236
+ success?: boolean;
2237
+ };
1365
2238
  /**
1366
2239
  * The unique Identifier (UUID) of the object
1367
2240
  */
@@ -1441,6 +2314,26 @@ type OutboundListItemResponse = {
1441
2314
  */
1442
2315
  success: boolean;
1443
2316
  };
2317
+ type PaginatedAttemptResponse = {
2318
+ items: Array<CallAttempt>;
2319
+ pagination: Pagination;
2320
+ };
2321
+ type PaginatedLeadResponse = {
2322
+ items: Array<Lead>;
2323
+ pagination: Pagination;
2324
+ };
2325
+ type PaginatedRecordingResponse = {
2326
+ items: Array<Recording>;
2327
+ pagination: Pagination;
2328
+ };
2329
+ type Pagination = {
2330
+ pages: number;
2331
+ total: number;
2332
+ current: number;
2333
+ maxResults?: number;
2334
+ max?: number;
2335
+ next?: string;
2336
+ };
1444
2337
  type PhonebookCsvFile = {
1445
2338
  file: Blob | File;
1446
2339
  };
@@ -1600,6 +2493,45 @@ type QueueAgentApplicationUpdateBody = {
1600
2493
  settings?: QueueAgentApplicationSettings;
1601
2494
  module: 'agentQueue';
1602
2495
  };
2496
+ type QueueBulkUpdateRequest = {
2497
+ items: Array<QueueBulkUpdateRequestItemsInner>;
2498
+ };
2499
+ type QueueBulkUpdateRequestItemsInner = {
2500
+ /**
2501
+ * The unique Identifier (UUID) of the object
2502
+ */
2503
+ id: string;
2504
+ name?: string;
2505
+ maxDialCount?: number;
2506
+ dialOrder?: string;
2507
+ dialOrderTimePeriod?: number;
2508
+ wrapUpTime?: number;
2509
+ defaultRingTimeout?: number;
2510
+ maxSize?: number;
2511
+ enabled?: boolean;
2512
+ };
2513
+ type QueueCallbackRequest = {
2514
+ /**
2515
+ * Target number to call back
2516
+ */
2517
+ to: string;
2518
+ /**
2519
+ * Caller-ID to present
2520
+ */
2521
+ displayAs?: string;
2522
+ session?: {
2523
+ [key: string]: unknown;
2524
+ };
2525
+ autoRecord?: boolean;
2526
+ };
2527
+ type QueueCallbackResponse = {
2528
+ item: QueueCallbackResponseItem;
2529
+ message?: string;
2530
+ success: boolean;
2531
+ };
2532
+ type QueueCallbackResponseItem = {
2533
+ id?: string;
2534
+ };
1603
2535
  type QueueConsumerApplication = {
1604
2536
  /**
1605
2537
  * The unique Identifier (UUID) of the object
@@ -1649,6 +2581,10 @@ type QueueItemResponse = {
1649
2581
  */
1650
2582
  success: boolean;
1651
2583
  };
2584
+ type QueueListResponse = {
2585
+ items: Array<Queue>;
2586
+ success: boolean;
2587
+ };
1652
2588
  type QueueSelection = {
1653
2589
  /**
1654
2590
  * The unique Identifier (UUID) of the object
@@ -1701,9 +2637,20 @@ type QueueSelectionItemResponse = {
1701
2637
  */
1702
2638
  success: boolean;
1703
2639
  };
2640
+ type QueueSelectionListResponse = {
2641
+ items: Array<QueueSelection>;
2642
+ success: boolean;
2643
+ };
1704
2644
  type QueueSelectionModificationResponse = QueueSelectionItemResponse & {
1705
2645
  message?: string;
1706
2646
  };
2647
+ type QueueSelectionPriorityItem = {
2648
+ /**
2649
+ * The unique Identifier (UUID) of the object
2650
+ */
2651
+ id: string;
2652
+ priority: number;
2653
+ };
1707
2654
  type QueueSelectionResponse = {
1708
2655
  agents: Array<AgentShort>;
1709
2656
  };
@@ -1717,6 +2664,60 @@ type QueueSelectionTag = {
1717
2664
  */
1718
2665
  tag: string;
1719
2666
  };
2667
+ type QueueTriggerListResponse = {
2668
+ items: Array<Trigger>;
2669
+ success: boolean;
2670
+ };
2671
+ /**
2672
+ * A call currently waiting in a queue
2673
+ */
2674
+ type QueuedCall = {
2675
+ /**
2676
+ * The unique Identifier (UUID) of the object
2677
+ */
2678
+ id: string;
2679
+ dateCreated?: string;
2680
+ lastUpdated?: string;
2681
+ state?: string;
2682
+ from?: string;
2683
+ to?: string;
2684
+ type?: string;
2685
+ duration?: number;
2686
+ bridged?: QueuedCallBridged;
2687
+ };
2688
+ /**
2689
+ * Present only when the call is bridged to an agent
2690
+ */
2691
+ type QueuedCallBridged = {
2692
+ /**
2693
+ * The unique Identifier (UUID) of the object
2694
+ */
2695
+ id?: string;
2696
+ name?: string;
2697
+ number?: string;
2698
+ /**
2699
+ * The unique Identifier (UUID) of the object
2700
+ */
2701
+ queueId?: string;
2702
+ queueName?: string;
2703
+ agent?: QueuedCallBridgedAgent;
2704
+ queue?: QueuedCallBridgedQueue;
2705
+ } | null;
2706
+ type QueuedCallBridgedAgent = {
2707
+ /**
2708
+ * The unique Identifier (UUID) of the object
2709
+ */
2710
+ id?: string;
2711
+ name?: string;
2712
+ number?: string;
2713
+ };
2714
+ type QueuedCallBridgedQueue = {
2715
+ /**
2716
+ * The unique Identifier (UUID) of the object
2717
+ */
2718
+ id?: string;
2719
+ name?: string;
2720
+ };
1720
2721
  type Recording = {
1721
2722
  /**
1722
2723
  * The unique Identifier (UUID) of the object
@@ -1798,9 +2799,35 @@ type RecordingCall = {
1798
2799
  from: string;
1799
2800
  to: string;
1800
2801
  };
2802
+ type RecordingItemResponse = {
2803
+ item: Recording;
2804
+ /**
2805
+ * Whether the Request was successful or not
2806
+ */
2807
+ success: boolean;
2808
+ };
2809
+ /**
2810
+ * Start a recording for a call
2811
+ */
2812
+ type RecordingStartRequest = {
2813
+ /**
2814
+ * The unique Identifier (UUID) of the object
2815
+ */
2816
+ callId: string;
2817
+ /**
2818
+ * A List of Tags describing an Object
2819
+ */
2820
+ tags?: Array<Tag>;
2821
+ };
1801
2822
  type RecordingState = 'init' | 'recording' | 'failed' | 'stopped' | 'stored' | 'deleted' | 'missing';
2823
+ type RecordingUpdateBody = {
2824
+ /**
2825
+ * A List of Tags describing an Object
2826
+ */
2827
+ tags?: Array<Tag>;
2828
+ };
1802
2829
  /**
1803
- * A Reporting Call
2830
+ * A call in the condensed reporting shape, carrying the per-call timing metrics (wait, queue, bridge, talk, hold, wrap-up and handle time) alongside the handling agent and queue. All durations are in seconds.
1804
2831
  */
1805
2832
  type ReportingCall = {
1806
2833
  /**
@@ -1811,19 +2838,58 @@ type ReportingCall = {
1811
2838
  * The unique Identifier (UUID) of the object
1812
2839
  */
1813
2840
  sessionId: string;
1814
- dateCreated: string;
1815
- lastUpdated: string;
2841
+ /**
2842
+ * When the call started.
2843
+ */
2844
+ dateCreated: _Date;
2845
+ /**
2846
+ * When the reporting record was last updated.
2847
+ */
2848
+ lastUpdated: _Date;
1816
2849
  type: ReportingCallType;
2850
+ /**
2851
+ * Name of the queue that handled the call, if any.
2852
+ */
1817
2853
  queueName?: string;
2854
+ /**
2855
+ * Name of the agent who handled the call, if any.
2856
+ */
1818
2857
  agentName?: string;
2858
+ /**
2859
+ * Whether the call was bridged to an agent.
2860
+ */
1819
2861
  bridged: boolean;
2862
+ /**
2863
+ * Total call duration, in seconds.
2864
+ */
1820
2865
  duration: number;
2866
+ /**
2867
+ * Time the caller waited before the call was answered, in seconds.
2868
+ */
1821
2869
  waitTime: number;
2870
+ /**
2871
+ * Time the call spent waiting in queue, in seconds.
2872
+ */
1822
2873
  queueWaitTime: number;
2874
+ /**
2875
+ * Time until the call was bridged to an agent, in seconds.
2876
+ */
1823
2877
  bridgeTime: number;
2878
+ /**
2879
+ * Time spent in conversation, in seconds.
2880
+ */
1824
2881
  talkTime: number;
2882
+ /**
2883
+ * Time the call was on hold, in seconds.
2884
+ */
1825
2885
  holdTime: number;
2886
+ /**
2887
+ * Agent wrap-up (after-call work) time, in seconds.
2888
+ */
1826
2889
  wrapupTime: number;
2890
+ /**
2891
+ * Total agent handle time (talk + hold + wrap-up), in seconds.
2892
+ */
1827
2893
  handleTime: number;
1828
2894
  };
1829
2895
  type ReportingCallType = 'inboundCall' | 'outboundCall';
@@ -2277,19 +3343,59 @@ type SessionResponseItem = {
2277
3343
  [key: string]: unknown;
2278
3344
  };
2279
3345
  };
3346
+ /**
3347
+ * Wrapper carrying a `variables` map of call-session variables to set. Only keys prefixed with `app.` are applied; any other keys are ignored.
3348
+ */
2280
3349
  type SetCallSessionVariablesRequest = {
2281
- [key: string]: unknown;
3350
+ /**
3351
+ * Map of variable name to value. Keys must start with `app.` to take effect.
3352
+ */
3353
+ variables?: {
3354
+ [key: string]: unknown;
3355
+ };
2282
3356
  };
3357
+ /**
3358
+ * Confirms that the requested session variables were applied.
3359
+ */
2283
3360
  type SetCallSessionVariablesResponse = {
3361
+ /**
3362
+ * Whether the variables were set successfully.
3363
+ */
2284
3364
  success?: boolean;
2285
3365
  };
2286
- type SettingsAppCustomerLogging = {
2287
- enabled: boolean;
3366
+ type SetCampaignListRequest = {
3367
+ /**
3368
+ * The unique Identifier (UUID) of the object
3369
+ */
3370
+ listId: string;
3371
+ };
3372
+ /**
3373
+ * A customer setting: the typed value stored for a registered scope/key pair. Valid scope/key pairs are a closed set (see the typed /api/v2/settings/{scope}/{key} endpoints for the documented pairs).
3374
+ */
3375
+ type Setting = {
3376
+ scope: string;
3377
+ key: string;
3378
+ /**
3379
+ * The typed settings value; its shape is specific to the scope/key pair.
3380
+ */
3381
+ data: {
3382
+ [key: string]: unknown;
3383
+ };
3384
+ };
3385
+ type SettingItemResponse = {
3386
+ item: Setting;
3387
+ success: boolean;
3388
+ };
3389
+ type SettingsAppAgentStatus = {
3390
+ selectionEnabled: boolean;
2288
3391
  };
2289
3392
  type SettingsAppConversations = {
2290
3393
  conversationScope: 'OWN' | 'GROUP' | 'ALL';
2291
3394
  autoClose: boolean;
2292
3395
  };
3396
+ type SettingsAppCustomerLogging = {
3397
+ enabled: boolean;
3398
+ };
2293
3399
  type SettingsAppIntegrations = {
2294
3400
  taskIntegration: string | null;
2295
3401
  conversationTaskKey: string | null;
@@ -2297,8 +3403,18 @@ type SettingsAppIntegrations = {
2297
3403
  conversationScriptKey: string | null;
2298
3404
  conversationScriptCampaignKey: string | null;
2299
3405
  };
2300
- type SettingsAppAgentStatus = {
2301
- selectionEnabled: boolean;
3406
+ type SettingsAuditDefault = {
3407
+ enabled: boolean;
3408
+ anonymized: boolean;
3409
+ };
3410
+ type SettingsListResponse = {
3411
+ items: Array<Setting>;
3412
+ success: boolean;
3413
+ };
3414
+ type SettingsRetentionPeriods = {
3415
+ defaultPeriod: number;
3416
+ recordingFiles: number;
3417
+ calls: number;
2302
3418
  };
2303
3419
  type SettingsTelephonyAgentInbound = {
2304
3420
  wrapUpBusy: number;
@@ -2328,21 +3444,15 @@ type SettingsTelephonyAgentWrapup = {
2328
3444
  wrapupTimeOutbound: number;
2329
3445
  };
2330
3446
  type SettingsTelephonyPostCall = {
2331
- applicationId: ObjectUuid;
2332
- };
2333
- type SettingsAuditDefault = {
2334
- enabled: boolean;
2335
- anonymized: boolean;
3447
+ /**
3448
+ * The unique Identifier (UUID) of the object
3449
+ */
3450
+ applicationId: string;
2336
3451
  };
2337
3452
  type SettingsUiI18N = {
2338
3453
  locale: string;
2339
3454
  timezone: string;
2340
3455
  };
2341
- type SettingsRetentionPeriods = {
2342
- defaultPeriod: number;
2343
- recordingFiles: number;
2344
- calls: number;
2345
- };
2346
3456
  type SimpleMenuApplication = {
2347
3457
  /**
2348
3458
  * The unique Identifier (UUID) of the object
@@ -2385,7 +3495,6 @@ type SimpleMenuItem = {
2385
3495
  key: InputReaderTerminationDigit;
2386
3496
  application: ResourceReference;
2387
3497
  };
2388
- type SimpleReportingReportType = 'inbound' | 'outbound' | 'dialer';
2389
3498
  type Sms = {
2390
3499
  /**
2391
3500
  * The unique Identifier (UUID) of the object
@@ -2414,6 +3523,18 @@ type SmsItemResponse = {
2414
3523
  */
2415
3524
  success: boolean;
2416
3525
  };
3526
+ /**
3527
+ * An outbound SMS to send
3528
+ */
3529
+ type SmsSendRequest = {
3530
+ to: string;
3531
+ from?: string;
3532
+ text: string;
3533
+ displayAs?: string;
3534
+ session?: {
3535
+ [key: string]: unknown;
3536
+ };
3537
+ };
2417
3538
  type SmsSource = 'api' | 'inbound' | 'action' | 'test';
2418
3539
  type SmsState = 'unknown' | 'queued' | 'processing' | 'failed' | 'validation_failed' | 'sent' | 'received' | 'received_transaction' | 'merged';
2419
3540
  type SmsType = 'inbound' | 'outbound';
@@ -2458,6 +3579,52 @@ type SpeechToTextApplicationUpdateBody = {
2458
3579
  settings?: SpeechToTextApplicationSettings;
2459
3580
  module: 'speechToText';
2460
3581
  };
3582
+ /**
3583
+ * The storage state of a File
3584
+ */
3585
+ type StorageState = 'created' | 'storing' | 'stored' | 'failed' | 'deleted' | 'missing';
3586
+ /**
3587
+ * The storage type of a File
3588
+ */
3589
+ type StorageType = 'prompt' | 'recording' | 'backup';
3590
+ /**
3591
+ * A stored File (recording, prompt or backup)
3592
+ */
3593
+ type StoredFile = {
3594
+ /**
3595
+ * The unique Identifier (UUID) of the object
3596
+ */
3597
+ id: string;
3598
+ dateCreated?: string;
3599
+ lastUpdated?: string;
3600
+ /**
3601
+ * Public URL of the File
3602
+ */
3603
+ url: string;
3604
+ /**
3605
+ * Storage path
3606
+ */
3607
+ path: string;
3608
+ filename: string;
3609
+ contentType?: string | null;
3610
+ /**
3611
+ * File size in bytes
3612
+ */
3613
+ size?: number | null;
3614
+ state?: StorageState;
3615
+ type?: StorageType;
3616
+ /**
3617
+ * Absolute self-link to this File
3618
+ */
3619
+ _url?: string;
3620
+ };
3621
+ type StoredFileItemResponse = {
3622
+ item: StoredFile;
3623
+ /**
3624
+ * Whether the Request was successful or not
3625
+ */
3626
+ success: boolean;
3627
+ };
2461
3628
  type SwitchNodeApplication = {
2462
3629
  /**
2463
3630
  * The unique Identifier (UUID) of the object
@@ -2656,6 +3823,13 @@ type TriggerCondition = {
2656
3823
  operator: TriggerOperator;
2657
3824
  expectation: string;
2658
3825
  };
3826
+ type TriggerConditionListResponse = {
3827
+ items: Array<TriggerCondition>;
3828
+ success?: boolean;
3829
+ };
3830
+ type TriggerConditionsRequest = {
3831
+ conditions: Array<TriggerCondition>;
3832
+ };
2659
3833
  type TriggerItemResponse = {
2660
3834
  item: Trigger;
2661
3835
  /**
@@ -2665,6 +3839,25 @@ type TriggerItemResponse = {
2665
3839
  };
2666
3840
  type TriggerOperator = 'EQ' | 'NEQ' | 'GT' | 'GE' | 'LT' | 'LE' | 'REGEXP' | 'LIKE' | 'GIVEN' | 'NOT_GIVEN' | 'STARTS_WITH' | 'ENDS_WITH' | 'CONTAINS' | 'NOT_CONTAINS' | 'IS_NULL' | 'IS_NOT_NULL' | 'EVALUABLE' | 'NOT_EVALUABLE';
2667
3841
  type TriggerType = 'ALL' | 'ANY';
3842
+ /**
3843
+ * A resource that references a trigger
3844
+ */
3845
+ type TriggerUse = {
3846
+ /**
3847
+ * The unique Identifier (UUID) of the object
3848
+ */
3849
+ id: string;
3850
+ name: string;
3851
+ /**
3852
+ * The kind of referencing resource (e.g. an application module name, or "Global Automation")
3853
+ */
3854
+ type: string;
3855
+ };
3856
+ type TriggerUsesResponse = {
3857
+ uses: Array<TriggerUse>;
3858
+ message?: string;
3859
+ success?: boolean;
3860
+ };
2668
3861
  /**
2669
3862
  * Unix timestamp
2670
3863
  */
@@ -2687,10 +3880,25 @@ type UpdateCampaignRequest = {
2687
3880
  type UpdateSessionVariablesRequest = {
2688
3881
  [key: string]: unknown;
2689
3882
  };
3883
+ /**
3884
+ * Describes a single session variable an action can read or write.
3885
+ */
2690
3886
  type VariableDefinition = {
3887
+ /**
3888
+ * The session variable key.
3889
+ */
2691
3890
  key: string;
3891
+ /**
3892
+ * Human-readable label for the variable.
3893
+ */
2692
3894
  label?: string;
3895
+ /**
3896
+ * What the variable represents.
3897
+ */
2693
3898
  description?: string;
3899
+ /**
3900
+ * An example value for the variable.
3901
+ */
2694
3902
  example?: string;
2695
3903
  };
2696
3904
  type VariableDefinitionItemsResponse = {
@@ -2700,6 +3908,39 @@ type VariableDefinitionItemsResponse = {
2700
3908
  success: boolean;
2701
3909
  items: Array<VariableDefinition>;
2702
3910
  };
3911
+ /**
3912
+ * UI feature flags and type-specific settings for a widget. The `settings` object is assembled live from account settings and varies by widget type (e.g. `babelconnect` returns `wrapup`/`recording`; `taskmanager` returns `conversation`/`integrations`; other types return an empty object).
3913
+ */
3914
+ type WidgetSettings = {
3915
+ /**
3916
+ * The widget type (echoes the path parameter)
3917
+ */
3918
+ widget: string;
3919
+ features: Array<string>;
3920
+ /**
3921
+ * Type-specific settings (shape depends on the widget type)
3922
+ */
3923
+ settings: {
3924
+ [key: string]: unknown;
3925
+ };
3926
+ };
3927
+ type WidgetSettingsResponse = {
3928
+ item: WidgetSettings;
3929
+ /**
3930
+ * Whether the Request was successful or not
3931
+ */
3932
+ success: boolean;
3933
+ };
3934
+ type BulkUpdateApplicationsRequest = {
3935
+ items: Array<{
3936
+ [key: string]: unknown;
3937
+ }>;
3938
+ };
3939
+ type BulkUpdateIntegrationsRequest = {
3940
+ items: Array<{
3941
+ [key: string]: unknown;
3942
+ }>;
3943
+ };
2703
3944
  type ListReportingCallsDomainParameter = CallDomain | Array<CallDomain>;
2704
3945
  type ListReportingCallsFinishReasonParameter = CallFinishReason | Array<CallFinishReason>;
2705
3946
  type ListReportingCallsIdParameter = ObjectUuid | Array<ObjectUuid>;
@@ -2707,6 +3948,14 @@ type ListReportingCallsSourceParameter = CallSource | Array<CallSource>;
2707
3948
  type ListReportingCallsStateParameter = CallState | Array<CallState>;
2708
3949
  type ListReportingCallsToParameter = ReportingNumberFilter | Array<ReportingNumberFilter>;
2709
3950
  type ListReportingCallsTypeParameter = CallType | Array<CallType>;
3951
+ type WriteLogRequest = {
3952
+ message?: string;
3953
+ level?: string;
3954
+ category?: string;
3955
+ seq?: number;
3956
+ timestamp?: number;
3957
+ visible?: boolean;
3958
+ };
2710
3959
  type RestCreateAgentBody = RestCreateAgent;
2711
3960
  type RestCreateAgentGroupBody = RestCreateAgentGroup;
2712
3961
  type RestCreateBabeldeskBody = RestCreateBabeldesk;
@@ -2841,59 +4090,59 @@ type ListReportingCallsData = {
2841
4090
  path?: never;
2842
4091
  query?: {
2843
4092
  /**
2844
- * Parameter [page]
4093
+ * 1-based page number to return (default 1).
2845
4094
  */
2846
4095
  page?: number;
2847
4096
  /**
2848
- * Parameter [max]
4097
+ * Maximum number of calls to return per page.
2849
4098
  */
2850
4099
  max?: number;
2851
4100
  /**
2852
- * Parameter [sessionId]
4101
+ * Filter by call-session uuid.
2853
4102
  */
2854
4103
  sessionId?: ObjectUuid;
2855
4104
  /**
2856
- * Parameter [conversationId]
4105
+ * Filter by conversation uuid.
2857
4106
  */
2858
4107
  conversationId?: ObjectUuid;
2859
4108
  /**
2860
- * Parameter [id]
4109
+ * Filter by one or more call uuids.
2861
4110
  */
2862
4111
  id?: ListReportingCallsIdParameter;
2863
4112
  /**
2864
- * Parameter [parentId]
4113
+ * Filter by parent-call uuid; returns the child legs of the given call(s).
2865
4114
  */
2866
4115
  parentId?: ListReportingCallsIdParameter;
2867
4116
  /**
2868
- * Parameter [type]
4117
+ * Filter by call type.
2869
4118
  */
2870
4119
  type?: ListReportingCallsTypeParameter;
2871
4120
  /**
2872
- * Parameter [from]
4121
+ * Filter by the caller (origin) number.
2873
4122
  */
2874
4123
  from?: ReportingNumberFilter;
2875
4124
  /**
2876
- * Parameter [fromNumber]
4125
+ * Alias of `from` — filter by the caller (origin) number.
2877
4126
  */
2878
4127
  fromNumber?: ReportingNumberFilter;
2879
4128
  /**
2880
- * Parameter [to]
4129
+ * Filter by the called (destination) number.
2881
4130
  */
2882
4131
  to?: ListReportingCallsToParameter;
2883
4132
  /**
2884
- * Parameter [toNumber]
4133
+ * Alias of `to` — filter by the called (destination) number.
2885
4134
  */
2886
4135
  toNumber?: ListReportingCallsToParameter;
2887
4136
  /**
2888
- * Parameter [time.start]
4137
+ * Only include calls at or after this time (Unix timestamp, seconds).
2889
4138
  */
2890
4139
  'time.start'?: UnixTimestamp;
2891
4140
  /**
2892
- * Parameter [time.end]
4141
+ * Only include calls at or before this time (Unix timestamp, seconds).
2893
4142
  */
2894
4143
  'time.end'?: UnixTimestamp;
2895
4144
  /**
2896
- * Parameter [agentId]
4145
+ * Filter by the uuid of the agent who handled the call.
2897
4146
  */
2898
4147
  agentId?: ListReportingCallsIdParameter;
2899
4148
  /**
@@ -2901,71 +4150,71 @@ type ListReportingCallsData = {
2901
4150
  */
2902
4151
  q?: string;
2903
4152
  /**
2904
- * Parameter [state]
4153
+ * Filter by call state.
2905
4154
  */
2906
4155
  state?: ListReportingCallsStateParameter;
2907
4156
  /**
2908
- * Parameter [domain]
4157
+ * Filter by call domain (internal, external or other).
2909
4158
  */
2910
4159
  domain?: ListReportingCallsDomainParameter;
2911
4160
  /**
2912
- * Parameter [source]
4161
+ * Filter by call source.
2913
4162
  */
2914
4163
  source?: ListReportingCallsSourceParameter;
2915
4164
  /**
2916
- * Parameter [finishReason]
4165
+ * Filter by the reason the call ended.
2917
4166
  */
2918
4167
  finishReason?: ListReportingCallsFinishReasonParameter;
2919
4168
  /**
2920
- * Parameter [anonymous]
4169
+ * When true, return only calls with a withheld caller id.
2921
4170
  */
2922
4171
  anonymous?: boolean;
2923
4172
  /**
2924
- * Parameter [filters.sessionId]
4173
+ * Same as `sessionId`, under the `filters.` prefix.
2925
4174
  */
2926
4175
  'filters.sessionId'?: ObjectUuid;
2927
4176
  /**
2928
- * Parameter [filters.conversationId]
4177
+ * Same as `conversationId`, under the `filters.` prefix.
2929
4178
  */
2930
4179
  'filters.conversationId'?: ObjectUuid;
2931
4180
  /**
2932
- * Parameter [filters.id]
4181
+ * Same as `id`, under the `filters.` prefix.
2933
4182
  */
2934
4183
  'filters.id'?: ListReportingCallsIdParameter;
2935
4184
  /**
2936
- * Parameter [filters.parentId]
4185
+ * Same as `parentId`, under the `filters.` prefix.
2937
4186
  */
2938
4187
  'filters.parentId'?: ListReportingCallsIdParameter;
2939
4188
  /**
2940
- * Parameter [filters.type]
4189
+ * Filter by call type (under the `filters.` prefix).
2941
4190
  */
2942
4191
  'filters.type'?: ListReportingCallsTypeParameter;
2943
4192
  /**
2944
- * Parameter [filters.from]
4193
+ * Same as `from`, under the `filters.` prefix.
2945
4194
  */
2946
4195
  'filters.from'?: ReportingNumberFilter;
2947
4196
  /**
2948
- * Parameter [filters.fromNumber]
4197
+ * Same as `fromNumber`, under the `filters.` prefix.
2949
4198
  */
2950
4199
  'filters.fromNumber'?: ReportingNumberFilter;
2951
4200
  /**
2952
- * Parameter [filters.to]
4201
+ * Same as `to`, under the `filters.` prefix.
2953
4202
  */
2954
4203
  'filters.to'?: ListReportingCallsToParameter;
2955
4204
  /**
2956
- * Parameter [filters.toNumber]
4205
+ * Same as `toNumber`, under the `filters.` prefix.
2957
4206
  */
2958
4207
  'filters.toNumber'?: ListReportingCallsToParameter;
2959
4208
  /**
2960
- * Parameter [filters.time.start]
4209
+ * Same as `time.start`, under the `filters.` prefix.
2961
4210
  */
2962
4211
  'filters.time.start'?: UnixTimestamp;
2963
4212
  /**
2964
- * Parameter [filters.time.end]
4213
+ * Same as `time.end`, under the `filters.` prefix.
2965
4214
  */
2966
4215
  'filters.time.end'?: UnixTimestamp;
2967
4216
  /**
2968
- * Parameter [filters.agentId]
4217
+ * Same as `agentId`, under the `filters.` prefix.
2969
4218
  */
2970
4219
  'filters.agentId'?: ListReportingCallsIdParameter;
2971
4220
  /**
@@ -2973,23 +4222,23 @@ type ListReportingCallsData = {
2973
4222
  */
2974
4223
  'filters.q'?: string;
2975
4224
  /**
2976
- * Parameter [filters.state]
4225
+ * Same as `state`, under the `filters.` prefix.
2977
4226
  */
2978
4227
  'filters.state'?: ListReportingCallsStateParameter;
2979
4228
  /**
2980
- * Parameter [filters.domain]
4229
+ * Filter by call domain (under the `filters.` prefix).
2981
4230
  */
2982
4231
  'filters.domain'?: ListReportingCallsDomainParameter;
2983
4232
  /**
2984
- * Parameter [filters.source]
4233
+ * Same as `source`, under the `filters.` prefix.
2985
4234
  */
2986
4235
  'filters.source'?: ListReportingCallsSourceParameter;
2987
4236
  /**
2988
- * Parameter [filters.finishReason]
4237
+ * Same as `finishReason`, under the `filters.` prefix.
2989
4238
  */
2990
4239
  'filters.finishReason'?: ListReportingCallsFinishReasonParameter;
2991
4240
  /**
2992
- * Parameter [filters.anonymous]
4241
+ * Same as `anonymous`, under the `filters.` prefix.
2993
4242
  */
2994
4243
  'filters.anonymous'?: boolean;
2995
4244
  };
@@ -3000,59 +4249,59 @@ type ListAllSimpleReportingCallsData = {
3000
4249
  path?: never;
3001
4250
  query?: {
3002
4251
  /**
3003
- * Parameter [page]
4252
+ * 1-based page number to return (default 1).
3004
4253
  */
3005
4254
  page?: number;
3006
4255
  /**
3007
- * Parameter [max]
4256
+ * Maximum number of records to return per page.
3008
4257
  */
3009
4258
  max?: number;
3010
4259
  /**
3011
- * Parameter [sessionId]
4260
+ * Filter by call-session uuid.
3012
4261
  */
3013
4262
  sessionId?: ObjectUuid;
3014
4263
  /**
3015
- * Parameter [conversationId]
4264
+ * Filter by conversation uuid.
3016
4265
  */
3017
4266
  conversationId?: ObjectUuid;
3018
4267
  /**
3019
- * Parameter [id]
4268
+ * Filter by one or more call uuids.
3020
4269
  */
3021
4270
  id?: ListReportingCallsIdParameter;
3022
4271
  /**
3023
- * Parameter [parentId]
4272
+ * Filter by parent-call uuid; returns the child legs of the given call(s).
3024
4273
  */
3025
4274
  parentId?: ListReportingCallsIdParameter;
3026
4275
  /**
3027
- * Parameter [type]
4276
+ * Filter by call type.
3028
4277
  */
3029
4278
  type?: ListReportingCallsTypeParameter;
3030
4279
  /**
3031
- * Parameter [from]
4280
+ * Filter by the caller (origin) number.
3032
4281
  */
3033
4282
  from?: ReportingNumberFilter;
3034
4283
  /**
3035
- * Parameter [fromNumber]
4284
+ * Alias of `from` — filter by the caller (origin) number.
3036
4285
  */
3037
4286
  fromNumber?: ReportingNumberFilter;
3038
4287
  /**
3039
- * Parameter [to]
4288
+ * Filter by the called (destination) number.
3040
4289
  */
3041
4290
  to?: ListReportingCallsToParameter;
3042
4291
  /**
3043
- * Parameter [toNumber]
4292
+ * Alias of `to` — filter by the called (destination) number.
3044
4293
  */
3045
4294
  toNumber?: ListReportingCallsToParameter;
3046
4295
  /**
3047
- * Parameter [time.start]
4296
+ * Only include calls at or after this time (Unix timestamp, seconds).
3048
4297
  */
3049
4298
  'time.start'?: UnixTimestamp;
3050
4299
  /**
3051
- * Parameter [time.end]
4300
+ * Only include calls at or before this time (Unix timestamp, seconds).
3052
4301
  */
3053
4302
  'time.end'?: UnixTimestamp;
3054
4303
  /**
3055
- * Parameter [agentId]
4304
+ * Filter by the uuid of the agent who handled the call.
3056
4305
  */
3057
4306
  agentId?: ListReportingCallsIdParameter;
3058
4307
  /**
@@ -3064,76 +4313,91 @@ type ListAllSimpleReportingCallsData = {
3064
4313
  */
3065
4314
  agentName?: string;
3066
4315
  /**
3067
- * Parameter [bridged]
4316
+ * When true, return only calls that were bridged to an agent.
3068
4317
  */
3069
4318
  bridged?: boolean;
3070
4319
  /**
3071
- * Parameter [duration.start]
4320
+ * Lower bound on total call duration, in seconds.
3072
4321
  */
3073
4322
  'duration.start'?: number;
3074
4323
  /**
3075
- * Parameter [duration.end]
4324
+ * Upper bound on total call duration, in seconds.
3076
4325
  */
3077
4326
  'duration.end'?: number;
3078
4327
  /**
3079
- * Parameter [waitTime.start]
4328
+ * Lower bound on caller wait time before answer, in seconds.
3080
4329
  */
3081
4330
  'waitTime.start'?: number;
3082
4331
  /**
3083
- * Parameter [waitTime.end]
4332
+ * Upper bound on caller wait time before answer, in seconds.
3084
4333
  */
3085
4334
  'waitTime.end'?: number;
3086
4335
  /**
3087
- * Parameter [queueWaitTime.start]
4336
+ * Lower bound on time spent waiting in queue, in seconds.
3088
4337
  */
3089
4338
  'queueWaitTime.start'?: number;
3090
4339
  /**
3091
- * Parameter [queueWaitTime.end]
4340
+ * Upper bound on time spent waiting in queue, in seconds.
3092
4341
  */
3093
4342
  'queueWaitTime.end'?: number;
3094
4343
  /**
3095
- * Parameter [bridgeTime.start]
4344
+ * Lower bound on time until the call was bridged to an agent, in seconds.
3096
4345
  */
3097
4346
  'bridgeTime.start'?: number;
3098
4347
  /**
3099
- * Parameter [bridgeTime.end]
4348
+ * Upper bound on time until the call was bridged to an agent, in seconds.
3100
4349
  */
3101
4350
  'bridgeTime.end'?: number;
3102
4351
  /**
3103
- * Parameter [talkTime.start]
4352
+ * Lower bound on time spent in conversation, in seconds.
3104
4353
  */
3105
4354
  'talkTime.start'?: number;
3106
4355
  /**
3107
- * Parameter [talkTime.end]
4356
+ * Upper bound on time spent in conversation, in seconds.
3108
4357
  */
3109
4358
  'talkTime.end'?: number;
3110
4359
  /**
3111
- * Parameter [holdTime.start]
4360
+ * Lower bound on time the call was on hold, in seconds.
3112
4361
  */
3113
4362
  'holdTime.start'?: number;
3114
4363
  /**
3115
- * Parameter [holdTime.end]
4364
+ * Upper bound on time the call was on hold, in seconds.
3116
4365
  */
3117
4366
  'holdTime.end'?: number;
3118
4367
  /**
3119
- * Parameter [wrapupTime.start]
4368
+ * Lower bound on agent wrap-up (after-call work) time, in seconds.
3120
4369
  */
3121
4370
  'wrapupTime.start'?: number;
3122
4371
  /**
3123
- * Parameter [wrapupTime.end]
4372
+ * Upper bound on agent wrap-up (after-call work) time, in seconds.
3124
4373
  */
3125
4374
  'wrapupTime.end'?: number;
3126
4375
  /**
3127
- * Parameter [handleTime.start]
4376
+ * Lower bound on total agent handle time, in seconds.
3128
4377
  */
3129
4378
  'handleTime.start'?: number;
3130
4379
  /**
3131
- * Parameter [handleTime.end]
4380
+ * Upper bound on total agent handle time, in seconds.
3132
4381
  */
3133
4382
  'handleTime.end'?: number;
3134
4383
  };
3135
4384
  url: '/api/v2/calls/reporting/simple';
3136
4385
  };
4386
+ type ListInboundSimpleReportingCallsData = {
4387
+ body?: never;
4388
+ path?: never;
4389
+ query?: {
4390
+ /**
4391
+ * 1-based page number to return (default 1).
4392
+ */
4393
+ page?: number;
4394
+ /**
4395
+ * Maximum number of records to return per page.
4396
+ */
4397
+ max?: number;
4398
+ };
4399
+ url: '/api/v2/calls/reporting/simple/inbound';
4400
+ };
3137
4401
  type ListConferencesData = {
3138
4402
  body?: never;
3139
4403
  path?: never;
@@ -3147,9 +4411,188 @@ type ListConferencesData = {
3147
4411
  */
3148
4412
  max?: number;
3149
4413
  };
3150
- url: '/api/v2/conferences';
4414
+ url: '/api/v2/conferences';
4415
+ };
4416
+ type ListConversationsData = {
4417
+ body?: never;
4418
+ path?: never;
4419
+ query?: {
4420
+ /**
4421
+ * Parameter [page]
4422
+ */
4423
+ page?: number;
4424
+ /**
4425
+ * Parameter [max]
4426
+ */
4427
+ max?: number;
4428
+ /**
4429
+ * Filter by associated phone number
4430
+ */
4431
+ phone?: string;
4432
+ /**
4433
+ * Filter by conversation state
4434
+ */
4435
+ state?: ConversationState;
4436
+ };
4437
+ url: '/api/v2/conversations';
4438
+ };
4439
+ type ListDashboardsData = {
4440
+ body?: never;
4441
+ path?: never;
4442
+ query?: {
4443
+ /**
4444
+ * Parameter [page]
4445
+ */
4446
+ page?: number;
4447
+ /**
4448
+ * Parameter [max]
4449
+ */
4450
+ max?: number;
4451
+ /**
4452
+ * Substring search on the Dashboard name
4453
+ */
4454
+ q?: string;
4455
+ /**
4456
+ * Filter by one or more Dashboard IDs
4457
+ */
4458
+ uuid?: ListReportingCallsIdParameter;
4459
+ /**
4460
+ * Field to sort by
4461
+ */
4462
+ sort?: string;
4463
+ /**
4464
+ * Sort order
4465
+ */
4466
+ order?: 'asc' | 'desc';
4467
+ };
4468
+ url: '/api/v2/dashboards';
4469
+ };
4470
+ type ListGlobalAutomationsData = {
4471
+ body?: never;
4472
+ path?: never;
4473
+ query?: {
4474
+ /**
4475
+ * Parameter [page]
4476
+ */
4477
+ page?: number;
4478
+ /**
4479
+ * Parameter [max]
4480
+ */
4481
+ max?: number;
4482
+ };
4483
+ url: '/api/v2/events/triggers';
4484
+ };
4485
+ type ListFilesData = {
4486
+ body?: never;
4487
+ path?: never;
4488
+ query?: {
4489
+ /**
4490
+ * Parameter [page]
4491
+ */
4492
+ page?: number;
4493
+ /**
4494
+ * Parameter [max]
4495
+ */
4496
+ max?: number;
4497
+ /**
4498
+ * Field to sort by
4499
+ */
4500
+ sort?: 'dateCreated' | 'id';
4501
+ /**
4502
+ * Sort order
4503
+ */
4504
+ order?: 'asc' | 'desc';
4505
+ /**
4506
+ * Filter by storage type
4507
+ */
4508
+ type?: StorageType;
4509
+ /**
4510
+ * Filter by storage state
4511
+ */
4512
+ state?: StorageState;
4513
+ /**
4514
+ * Filter by exact filename
4515
+ */
4516
+ filename?: string;
4517
+ /**
4518
+ * Free-text query over the filename
4519
+ */
4520
+ q?: string;
4521
+ };
4522
+ url: '/api/v2/files';
4523
+ };
4524
+ type GetBulkFileDownloadResponses = {
4525
+ /**
4526
+ * ZIP archive of the requested Files
4527
+ */
4528
+ 200: Blob | File;
4529
+ };
4530
+ type GetBulkFileDownloadResponse = GetBulkFileDownloadResponses[keyof GetBulkFileDownloadResponses];
4531
+ type PostBulkFileDownloadResponses = {
4532
+ /**
4533
+ * ZIP archive of the requested Files
4534
+ */
4535
+ 200: Blob | File;
4536
+ };
4537
+ type PostBulkFileDownloadResponse = PostBulkFileDownloadResponses[keyof PostBulkFileDownloadResponses];
4538
+ type ListIntegrationsData = {
4539
+ body?: never;
4540
+ path?: never;
4541
+ query?: {
4542
+ /**
4543
+ * 1-based page number.
4544
+ */
4545
+ page?: number;
4546
+ /**
4547
+ * Maximum number of integrations to return per page.
4548
+ */
4549
+ max?: number;
4550
+ };
4551
+ url: '/api/v2/integrations';
4552
+ };
4553
+ type GetIntegrationProviderTemplateResponses = {
4554
+ /**
4555
+ * The config template
4556
+ */
4557
+ 200: {
4558
+ [key: string]: unknown;
4559
+ };
4560
+ };
4561
+ type GetIntegrationProviderTemplateResponse = GetIntegrationProviderTemplateResponses[keyof GetIntegrationProviderTemplateResponses];
4562
+ type DispatchIntegrationTypeActionResponses = {
4563
+ /**
4564
+ * The action result
4565
+ */
4566
+ 200: {
4567
+ [key: string]: unknown;
4568
+ };
4569
+ };
4570
+ type DispatchIntegrationTypeActionResponse = DispatchIntegrationTypeActionResponses[keyof DispatchIntegrationTypeActionResponses];
4571
+ type GetIntegrationTemplateResponses = {
4572
+ /**
4573
+ * The config template
4574
+ */
4575
+ 200: {
4576
+ [key: string]: unknown;
4577
+ };
4578
+ };
4579
+ type GetIntegrationTemplateResponse = GetIntegrationTemplateResponses[keyof GetIntegrationTemplateResponses];
4580
+ type ListServiceNumbersData = {
4581
+ body?: never;
4582
+ path?: never;
4583
+ query?: {
4584
+ /**
4585
+ * Parameter [page]
4586
+ */
4587
+ page?: number;
4588
+ /**
4589
+ * Parameter [max]
4590
+ */
4591
+ max?: number;
4592
+ };
4593
+ url: '/api/v2/numbers';
3151
4594
  };
3152
- type ListConversationsData = {
4595
+ type ListOutboundAttemptsData = {
3153
4596
  body?: never;
3154
4597
  path?: never;
3155
4598
  query?: {
@@ -3162,17 +4605,25 @@ type ListConversationsData = {
3162
4605
  */
3163
4606
  max?: number;
3164
4607
  /**
3165
- * Filter by associated phone number
4608
+ * Filter by campaign ID
3166
4609
  */
3167
- phone?: string;
4610
+ campaignId?: ObjectUuid;
3168
4611
  /**
3169
- * Filter by conversation state
4612
+ * Filter by lead-list ID
3170
4613
  */
3171
- state?: ConversationState;
4614
+ listId?: ObjectUuid;
4615
+ /**
4616
+ * Filter by lead ID
4617
+ */
4618
+ leadId?: ObjectUuid;
4619
+ /**
4620
+ * Filter by phone number
4621
+ */
4622
+ number?: string;
3172
4623
  };
3173
- url: '/api/v2/conversations';
4624
+ url: '/api/v2/outbound/attempts';
3174
4625
  };
3175
- type ListGlobalAutomationsData = {
4626
+ type ListOutboundLeadsData = {
3176
4627
  body?: never;
3177
4628
  path?: never;
3178
4629
  query?: {
@@ -3184,10 +4635,18 @@ type ListGlobalAutomationsData = {
3184
4635
  * Parameter [max]
3185
4636
  */
3186
4637
  max?: number;
4638
+ /**
4639
+ * Filter by dial status
4640
+ */
4641
+ status?: DialStatus;
4642
+ /**
4643
+ * Filter by lead-list ID
4644
+ */
4645
+ listId?: ObjectUuid;
3187
4646
  };
3188
- url: '/api/v2/events/triggers';
4647
+ url: '/api/v2/outbound/leads';
3189
4648
  };
3190
- type ListIntegrationsData = {
4649
+ type ListPhonebookEntrysData = {
3191
4650
  body?: never;
3192
4651
  path?: never;
3193
4652
  query?: {
@@ -3200,9 +4659,9 @@ type ListIntegrationsData = {
3200
4659
  */
3201
4660
  max?: number;
3202
4661
  };
3203
- url: '/api/v2/integrations';
4662
+ url: '/api/v2/phonebook';
3204
4663
  };
3205
- type ListServiceNumbersData = {
4664
+ type ListPromptsData = {
3206
4665
  body?: never;
3207
4666
  path?: never;
3208
4667
  query?: {
@@ -3215,9 +4674,9 @@ type ListServiceNumbersData = {
3215
4674
  */
3216
4675
  max?: number;
3217
4676
  };
3218
- url: '/api/v2/numbers';
4677
+ url: '/api/v2/prompts';
3219
4678
  };
3220
- type ListPhonebookEntrysData = {
4679
+ type ListQueuesData = {
3221
4680
  body?: never;
3222
4681
  path?: never;
3223
4682
  query?: {
@@ -3230,12 +4689,24 @@ type ListPhonebookEntrysData = {
3230
4689
  */
3231
4690
  max?: number;
3232
4691
  };
3233
- url: '/api/v2/phonebook';
4692
+ url: '/api/v2/queues';
3234
4693
  };
3235
- type ListPromptsData = {
4694
+ type ListGlobalQueueSelectionsData = {
3236
4695
  body?: never;
3237
4696
  path?: never;
3238
4697
  query?: {
4698
+ /**
4699
+ * Field to sort by
4700
+ */
4701
+ sort?: string;
4702
+ /**
4703
+ * Sort order
4704
+ */
4705
+ order?: 'asc' | 'desc';
4706
+ /**
4707
+ * Include the selection's agents/groups/tags members
4708
+ */
4709
+ includeMembers?: boolean;
3239
4710
  /**
3240
4711
  * Parameter [page]
3241
4712
  */
@@ -3245,11 +4716,16 @@ type ListPromptsData = {
3245
4716
  */
3246
4717
  max?: number;
3247
4718
  };
3248
- url: '/api/v2/prompts';
4719
+ url: '/api/v2/queues/selections';
3249
4720
  };
3250
- type ListQueuesData = {
4721
+ type ListQueuedCallsData = {
3251
4722
  body?: never;
3252
- path?: never;
4723
+ path: {
4724
+ /**
4725
+ * Path Parameter queueId
4726
+ */
4727
+ queueId: string;
4728
+ };
3253
4729
  query?: {
3254
4730
  /**
3255
4731
  * Parameter [page]
@@ -3260,7 +4736,7 @@ type ListQueuesData = {
3260
4736
  */
3261
4737
  max?: number;
3262
4738
  };
3263
- url: '/api/v2/queues';
4739
+ url: '/api/v2/queues/{queueId}/calls';
3264
4740
  };
3265
4741
  type ListRoutingsData = {
3266
4742
  body?: never;
@@ -3326,6 +4802,10 @@ declare class UsersResource {
3326
4802
  list(query?: ListUsersQuery): AsyncGenerator<ManagedUser>;
3327
4803
  /** Collect every user into an array (convenience over {@link list}). */
3328
4804
  listAll(query?: ListUsersQuery): Promise<ManagedUser[]>;
4805
+ /** Get the currently authenticated user. */
4806
+ me(): Promise<GenericItemResponse>;
4807
+ /** Get a user by email address. */
4808
+ getByEmail(email: string): Promise<ManagedUserItemResponse>;
3329
4809
  /** Create a user. */
3330
4810
  create(user: CreateManagedUserRequest): Promise<ManagedUserItemResponse>;
3331
4811
  /** Enable the given users (by email). */
@@ -3533,6 +5013,153 @@ declare class MeResource {
3533
5013
  resetPassword(): Promise<void>;
3534
5014
  }
3535
5015
 
5016
+ type OAuthRevokeRequest = {
5017
+ /**
5018
+ * The access_token or refresh_token to revoke.
5019
+ */
5020
+ token: string;
5021
+ /**
5022
+ * Optional optimization hint (RFC 7009 §2.1).
5023
+ */
5024
+ token_type_hint?: 'access_token' | 'refresh_token';
5025
+ /**
5026
+ * Optional; validated when supplied.
5027
+ */
5028
+ client_id?: string;
5029
+ /**
5030
+ * Required with client_id for confidential clients.
5031
+ */
5032
+ client_secret?: string;
5033
+ };
5034
+ type OAuthTokenRequest = {
5035
+ /**
5036
+ * The OAuth 2.0 grant type.
5037
+ */
5038
+ grant_type: 'authorization_code' | 'refresh_token' | 'password' | 'client_credentials';
5039
+ /**
5040
+ * `authorization_code` only — the code returned by /oauth/authorize.
5041
+ */
5042
+ code?: string;
5043
+ /**
5044
+ * `authorization_code` only — must match the value used at /oauth/authorize.
5045
+ */
5046
+ redirect_uri?: string;
5047
+ /**
5048
+ * `authorization_code` with PKCE (RFC 7636) — required for public clients.
5049
+ */
5050
+ code_verifier?: string;
5051
+ /**
5052
+ * `refresh_token` only — the most recently issued refresh token (rotated each use).
5053
+ */
5054
+ refresh_token?: string;
5055
+ /**
5056
+ * `password` only — the user's email/username.
5057
+ */
5058
+ username?: string;
5059
+ /**
5060
+ * `password` only — the user's password.
5061
+ */
5062
+ password?: string;
5063
+ /**
5064
+ * Required for `authorization_code` and `client_credentials`.
5065
+ */
5066
+ client_id?: string;
5067
+ /**
5068
+ * Required for confidential clients; omitted by public clients (which use PKCE).
5069
+ */
5070
+ client_secret?: string;
5071
+ /**
5072
+ * Requested scope. For `authorization_code` the scope bound to the code always wins.
5073
+ */
5074
+ scope?: string;
5075
+ /**
5076
+ * `offline` (default for authorization_code) also returns a refresh_token.
5077
+ */
5078
+ access_type?: 'offline' | 'online';
5079
+ };
5080
+ type OAuthTokenResponse = {
5081
+ access_token: string;
5082
+ token_type: string;
5083
+ /**
5084
+ * Lifetime in seconds. Omitted for non-expiring tokens.
5085
+ */
5086
+ expires_in?: number;
5087
+ /**
5088
+ * Present when a refresh token was issued (rotated on every refresh).
5089
+ */
5090
+ refresh_token?: string;
5091
+ scope?: string;
5092
+ client_id?: string;
5093
+ };
5094
+ type AuthorizeData = {
5095
+ body?: never;
5096
+ path?: never;
5097
+ query: {
5098
+ /**
5099
+ * Must be `code` for the Authorization Code flow.
5100
+ */
5101
+ response_type: 'code';
5102
+ client_id: string;
5103
+ /**
5104
+ * Must exactly match the client's registered callback URL.
5105
+ */
5106
+ redirect_uri: string;
5107
+ /**
5108
+ * Requested scope, e.g. `*` for all access.
5109
+ */
5110
+ scope: string;
5111
+ /**
5112
+ * Opaque value returned unchanged in the redirect; use it for CSRF protection.
5113
+ */
5114
+ state?: string;
5115
+ /**
5116
+ * PKCE code challenge (RFC 7636). Required for public clients.
5117
+ */
5118
+ code_challenge?: string;
5119
+ /**
5120
+ * PKCE transformation. `S256` is strongly recommended.
5121
+ */
5122
+ code_challenge_method?: 'S256' | 'plain';
5123
+ };
5124
+ url: '/oauth/authorize';
5125
+ };
5126
+ type AuthorizeResponses = {
5127
+ /**
5128
+ * HTML consent page shown to the authenticated user.
5129
+ */
5130
+ 200: string;
5131
+ };
5132
+
5133
+ /**
5134
+ * OAuth 2.0 endpoints — `/oauth/authorize`, `/oauth/token`, `/oauth/revoke`.
5135
+ *
5136
+ * These authenticate via client credentials carried in the request itself (client id/secret, PKCE,
5137
+ * authorization code, etc.), independent of the client's configured auth used for the rest of the
5138
+ * API. Use them to run the Authorization Code (and other OAuth 2.0) flows.
5139
+ *
5140
+ * ```ts
5141
+ * const { access_token } = await mgr.auth.token({
5142
+ * grant_type: 'client_credentials',
5143
+ * client_id: 'my-client',
5144
+ * client_secret: 'shhh',
5145
+ * });
5146
+ * ```
5147
+ */
5148
+ declare class AuthResource {
5149
+ private readonly client;
5150
+ constructor(client: Client);
5151
+ /** Exchange credentials/grant for an access token (`POST /oauth/token`). */
5152
+ token(body: OAuthTokenRequest): Promise<OAuthTokenResponse>;
5153
+ /** Revoke an access or refresh token (`POST /oauth/revoke`). */
5154
+ revoke(body: OAuthRevokeRequest): Promise<void>;
5155
+ /**
5156
+ * Authorization endpoint (`GET /oauth/authorize`) — first step of the Authorization Code flow.
5157
+ * Returns the HTML consent page shown to the authenticated user (or follows the redirect back to
5158
+ * `redirect_uri` with the short-lived `code`).
5159
+ */
5160
+ authorize(query: NonNullable<AuthorizeData['query']>): Promise<AuthorizeResponses[200]>;
5161
+ }
5162
+
3536
5163
  interface ListAgentsQuery {
3537
5164
  /** Free-text search across name, group name, number, email, sourceId and integration label. */
3538
5165
  q?: string;
@@ -3557,6 +5184,30 @@ interface ListAgentsQuery {
3557
5184
  /** Page size (the API's `max`); defaults to the server default. */
3558
5185
  pageSize?: number;
3559
5186
  }
5187
+ /** Options for importing agents from a CSV file — see {@link AgentsResource.import}. */
5188
+ interface ImportAgentsOptions {
5189
+ /** The CSV file (semicolon-delimited) to import. */
5190
+ file: Blob | File;
5191
+ /** Import format; only `csv` is supported (the default). */
5192
+ format?: 'csv';
5193
+ /** Run the import as an async job (returns a job to poll via {@link AgentsResource.getImportJob}). */
5194
+ async?: boolean;
5195
+ /** Only create new agents; never update existing ones. */
5196
+ createOnly?: boolean;
5197
+ /** Only update existing agents; never create new ones. */
5198
+ updateOnly?: boolean;
5199
+ /** Delete agents not present in the CSV. */
5200
+ deleteUnlisted?: boolean;
5201
+ }
5202
+ /** Options for listing agent activity logs — see {@link AgentsResource.logs} / {@link AgentsResource.allLogs}. */
5203
+ interface AgentLogsQuery {
5204
+ /** Range start (unix seconds). */
5205
+ from?: number;
5206
+ /** Range end (unix seconds). */
5207
+ to?: number;
5208
+ /** Page size (the API's `max`); defaults to the server default. */
5209
+ pageSize?: number;
5210
+ }
3560
5211
  /** Agent management — `/api/v2/agents`. */
3561
5212
  declare class AgentsResource {
3562
5213
  private readonly client;
@@ -3583,6 +5234,56 @@ declare class AgentsResource {
3583
5234
  delete(id: string): Promise<void>;
3584
5235
  /** Update an agent's status (enabled flag and/or presence). */
3585
5236
  updateStatus(id: string, status: UpdateAgentStatusRequest): Promise<AgentStatus>;
5237
+ /** List the account's agent presence states — `GET /api/v2/agents/presence/available`. */
5238
+ presences(): Promise<AgentPresenceListResponse>;
5239
+ /** Get a presence by name — `GET /api/v2/agents/presence/available/{presenceName}`. */
5240
+ getPresence(name: string): Promise<AgentPresenceItemResponse>;
5241
+ /** Create a custom busy presence — `POST /api/v2/agents/presence/available`. */
5242
+ createPresence(body: AgentPresenceWriteBody): Promise<AgentPresenceItemResponse>;
5243
+ /** Update a busy presence's label — `PUT /api/v2/agents/presence/available/{presenceName}`. */
5244
+ updatePresence(name: string, body: AgentPresenceWriteBody): Promise<AgentPresenceItemResponse>;
5245
+ /** Delete a custom presence — `DELETE /api/v2/agents/presence/available/{presenceName}`. */
5246
+ deletePresence(name: string): Promise<DefaultV2MessageResponse>;
5247
+ /** Get an agent's total status (enabled, presence, line and outbound state) — `GET /api/v2/agents/{id}/status`. */
5248
+ getStatus(id: string): Promise<AgentTotalStatusResponse>;
5249
+ /** List the available agent status / presence options — `GET /api/v2/agents/status/available`. */
5250
+ availableStatuses(): Promise<AgentAvailabilityListResponse>;
5251
+ /** Enable the agent's user account — `PUT /api/v2/agents/{id}/enable`. */
5252
+ enable(id: string): Promise<DefaultV2MessageResponse>;
5253
+ /** Disable the agent's user account — `PUT /api/v2/agents/{id}/disable`. */
5254
+ disable(id: string): Promise<DefaultV2MessageResponse>;
5255
+ /** Hang up the call the agent is currently on — `POST /api/v2/agents/{id}/hangup`. */
5256
+ hangupCall(id: string): Promise<DefaultV2MessageResponse>;
5257
+ /**
5258
+ * Apply a bulk action (e.g. `enable` / `disable`) to multiple agents by id —
5259
+ * `POST /api/v2/agents/bulk/{bulkAction}`.
5260
+ */
5261
+ bulkAction(action: string, body: AgentBulkRequest): Promise<AgentBulkResponse>;
5262
+ /** Export all agents as CSV text — `GET /api/v2/agents/provision?format=csv`. */
5263
+ export(format?: 'csv'): Promise<string>;
5264
+ /**
5265
+ * Import agents from a CSV file (multipart upload) — `POST /api/v2/agents/provision`.
5266
+ * Returns the synchronous validation/import result.
5267
+ */
5268
+ import(opts: ImportAgentsOptions): Promise<AgentImportValidationResults>;
5269
+ /** Validate a CSV agent import without applying it (multipart upload) — `POST /api/v2/agents/provision/validate`. */
5270
+ validateImport(file: Blob | File): Promise<AgentImportValidationResults>;
5271
+ /** Get the status of an async agent-import job — `GET /api/v2/agents/provision/jobs/{id}`. */
5272
+ getImportJob(id: string): Promise<AgentImportJobItemResponse>;
5273
+ /**
5274
+ * List an agent's activity logs, auto-paginating across pages — `GET /api/v2/agents/{id}/logs`.
5275
+ *
5276
+ * ```ts
5277
+ * for await (const log of mgr.agents.logs('a1', { from: 1700000000 })) console.log(log.type);
5278
+ * ```
5279
+ */
5280
+ logs(id: string, opts?: AgentLogsQuery): AsyncGenerator<AgentLogEntry>;
5281
+ /** List activity logs across all agents, auto-paginating across pages — `GET /api/v2/agents/logs`. */
5282
+ allLogs(opts?: AgentLogsQuery): AsyncGenerator<AgentLogEntry>;
5283
+ /** Push a message / key-values to one or all agents (CTI) — `POST /api/v2/agents/push`. */
5284
+ push(body: AgentPushRequest): Promise<DefaultV2MessageResponse>;
5285
+ /** Update the agent user's password — `PUT /api/v2/agents/{id}/password`. */
5286
+ updatePassword(id: string, body: AgentPasswordUpdateRequest): Promise<DefaultV2MessageResponse>;
3586
5287
  }
3587
5288
  /** Agent groups — `/api/v2/agents/groups`. */
3588
5289
  declare class AgentGroupsResource {
@@ -3602,6 +5303,12 @@ declare class AgentGroupsResource {
3602
5303
  delete(id: string): Promise<void>;
3603
5304
  /** Add an agent (by id) to a group. */
3604
5305
  addAgent(groupId: string, agentId: string): Promise<AgentGroupAdditionResponse>;
5306
+ /** Remove an agent (by id) from a group — `DELETE /api/v2/agents/groups/{groupId}/agents/{agentId}`. */
5307
+ removeAgent(groupId: string, agentId: string): Promise<AgentGroupItemResponse>;
5308
+ /** List the agents in a group, auto-paginating across pages — `GET /api/v2/agents/groups/{groupId}/agents`. */
5309
+ listAgents(groupId: string, pageSize?: number): AsyncGenerator<Agent>;
5310
+ /** Bulk-delete agent groups by id — `DELETE /api/v2/agents/groups/bulk`. */
5311
+ bulkDelete(ids: string[]): Promise<DefaultV2MessageResponse>;
3605
5312
  }
3606
5313
 
3607
5314
  /**
@@ -3613,11 +5320,21 @@ type ReportingCallsQuery = Omit<NonNullable<ListReportingCallsData['query']>, 'p
3613
5320
  /** Page size (the API's `max`); defaults to the server default. */
3614
5321
  pageSize?: number;
3615
5322
  };
3616
- /** Filters for the simple call reports (`calls.reporting.simple` / `simpleByType`). */
5323
+ /** Filters for the simple call reports (`calls.reporting.simple`). */
3617
5324
  type SimpleReportingCallsQuery = Omit<NonNullable<ListAllSimpleReportingCallsData['query']>, 'page' | 'max'> & {
3618
5325
  /** Page size (the API's `max`); defaults to the server default. */
3619
5326
  pageSize?: number;
3620
5327
  };
5328
+ /** Filters for the inbound simple call report (`calls.reporting.inboundSimple`). */
5329
+ type InboundSimpleReportingCallsQuery = Omit<NonNullable<ListInboundSimpleReportingCallsData['query']>, 'page' | 'max'> & {
5330
+ /** Page size (the API's `max`); defaults to the server default. */
5331
+ pageSize?: number;
5332
+ };
5333
+ /** Filters for the queued-calls listing (`calls.listQueued`). */
5334
+ type ListQueuedCallsQuery = Omit<NonNullable<ListQueuedCallsData['query']>, 'page' | 'max'> & {
5335
+ /** Page size (the API's `max`); defaults to the server default. */
5336
+ pageSize?: number;
5337
+ };
3621
5338
  /** Call reporting and call control — `/api/v2/calls`. */
3622
5339
  declare class CallsResource {
3623
5340
  private readonly client;
@@ -3632,6 +5349,18 @@ declare class CallsResource {
3632
5349
  createTestCall(body: CreateTestCall): Promise<CallItemResponse>;
3633
5350
  /** Set session variables on a call. */
3634
5351
  setSessionVariables(id: string, variables: SetCallSessionVariablesRequest): Promise<SetCallSessionVariablesResponse>;
5352
+ /** Cancel a not-yet-connected call (queued or scheduled callback); returns the affected call. */
5353
+ cancel(id: string): Promise<CallItemResponse>;
5354
+ /**
5355
+ * List the calls currently waiting in a queue, auto-paginating across pages.
5356
+ *
5357
+ * ```ts
5358
+ * for await (const call of mgr.calls.listQueued('queue-id')) { … }
5359
+ * ```
5360
+ */
5361
+ listQueued(queueId: string, query?: ListQueuedCallsQuery): AsyncGenerator<QueuedCall>;
5362
+ /** Queue an outbound callback on a queue; returns the queued callback. */
5363
+ queueCallback(queueId: string, body: QueueCallbackRequest): Promise<QueueCallbackResponse>;
3635
5364
  }
3636
5365
  /** Call reporting — `/api/v2/calls/reporting`. */
3637
5366
  declare class ReportingResource {
@@ -3655,12 +5384,12 @@ declare class ReportingResource {
3655
5384
  /** Collect every call from the simple report into an array. */
3656
5385
  simpleAll(query?: SimpleReportingCallsQuery): Promise<ReportingCall[]>;
3657
5386
  /**
3658
- * The simple call report for a single report type
3659
- * (`/api/v2/calls/reporting/simple/{reportType}`), auto-paginating across pages.
5387
+ * The inbound simple call report (`/api/v2/calls/reporting/simple/inbound`),
5388
+ * auto-paginating across pages.
3660
5389
  */
3661
- simpleByType(reportType: SimpleReportingReportType, query?: SimpleReportingCallsQuery): AsyncGenerator<ReportingCall>;
3662
- /** Collect every call from a single report type into an array. */
3663
- simpleAllByType(reportType: SimpleReportingReportType, query?: SimpleReportingCallsQuery): Promise<ReportingCall[]>;
5390
+ inboundSimple(query?: InboundSimpleReportingCallsQuery): AsyncGenerator<ReportingCall>;
5391
+ /** Collect every call from the inbound simple report into an array. */
5392
+ inboundSimpleAll(query?: InboundSimpleReportingCallsQuery): Promise<ReportingCall[]>;
3664
5393
  }
3665
5394
 
3666
5395
  /** Metrics — `/api/v2/metrics`. */
@@ -3673,16 +5402,45 @@ declare class MetricsResource {
3673
5402
  get(id: string): Promise<MetricResponse>;
3674
5403
  /** Describe a metric's definition by id. */
3675
5404
  describe(id: string): Promise<MetricDefinitionItemResponse>;
3676
- /** Trigger a metrics push. */
3677
- push(): Promise<MetricRequestPushResponse>;
3678
- /** Reset the metric counters. */
3679
- reset(): Promise<MetricResetCountersResponse>;
5405
+ /** Get the definitions for all metrics. */
5406
+ definitions(): Promise<MetricDefinitionListResponse>;
5407
+ }
5408
+
5409
+ /** System & reference data — health checks, server time, timezones, tags, template export. */
5410
+ declare class SystemResource {
5411
+ private readonly client;
5412
+ constructor(client: Client);
5413
+ /** Echo the request method and body back — `/api/v2/echo`. */
5414
+ echo(): Promise<GenericItemResponse>;
5415
+ /** Liveness check — `/api/v2/ping`. */
5416
+ ping(): Promise<GenericItemResponse>;
5417
+ /** Get the API status — `/api/v2/status`. */
5418
+ apiStatus(): Promise<GenericItemResponse>;
5419
+ /** Get the current server time — `/api/v2/data/time`. */
5420
+ serverTime(): Promise<GenericItemResponse>;
5421
+ /** List/search timezones — `/api/v2/data/timezones`. */
5422
+ timezones(opts?: {
5423
+ q?: string;
5424
+ max?: number;
5425
+ }): Promise<ObjectListResponse>;
5426
+ /** Get the push token — `/api/v2/push-token`. */
5427
+ pushToken(): Promise<GenericItemResponse>;
5428
+ /** List all tags — `/api/v2/tags`. */
5429
+ tags(): Promise<ObjectListResponse>;
5430
+ /** List tags filtered by category — `/api/v2/tags/{category}`. */
5431
+ tagsByCategory(category: string): Promise<ObjectListResponse>;
5432
+ /** Export configuration templates by type — `/api/v2/templates/export/{type}`. */
5433
+ exportTemplates(type: string): Promise<Record<string, unknown>>;
3680
5434
  }
3681
5435
 
3682
5436
  interface ListApplicationsQuery {
3683
5437
  /** Page size (the API's `max`); defaults to the server default. */
3684
5438
  pageSize?: number;
3685
5439
  }
5440
+ interface ListAllLocalAutomationsQuery {
5441
+ /** Page size (the API's `max`); defaults to the server default. */
5442
+ pageSize?: number;
5443
+ }
3686
5444
  /** Application (IVR) management — `/api/v2/applications`. */
3687
5445
  declare class ApplicationsResource {
3688
5446
  private readonly client;
@@ -3709,6 +5467,22 @@ declare class ApplicationsResource {
3709
5467
  delete(id: string): Promise<void>;
3710
5468
  /** Bulk-delete applications by id. */
3711
5469
  deleteMany(ids: string[]): Promise<DefaultV2MessageResponse>;
5470
+ /** Clone an application by id; returns the new application. */
5471
+ clone(id: string): Promise<ApplicationItemResponse>;
5472
+ /** Update multiple applications at once (each item must include its id). */
5473
+ bulkUpdate(body: BulkUpdateApplicationsRequest): Promise<DefaultV2MessageResponse>;
5474
+ /** List all application actions (local automations) across every application. */
5475
+ listActions(): Promise<ObjectListResponse>;
5476
+ /**
5477
+ * List every local automation across all applications, auto-paginating across pages.
5478
+ *
5479
+ * ```ts
5480
+ * for await (const a of mgr.applications.allLocalAutomations()) console.log(a.id);
5481
+ * ```
5482
+ */
5483
+ allLocalAutomations(query?: ListAllLocalAutomationsQuery): AsyncGenerator<LocalAutomation>;
5484
+ /** List application errors across every application. */
5485
+ listErrors(): Promise<ObjectListResponse>;
3712
5486
  /** List the available IVR modules (the building blocks of applications). */
3713
5487
  listModules(): Promise<ListModulesResponse>;
3714
5488
  /** Dispatch the local automations configured at a position in an application. */
@@ -3762,6 +5536,7 @@ declare class SettingAccessor<TData> {
3762
5536
  }
3763
5537
  /** Global settings — `/api/v2/settings`, grouped by scope. */
3764
5538
  declare class SettingsResource {
5539
+ private readonly client;
3765
5540
  /** `app` settings. */
3766
5541
  readonly app: {
3767
5542
  customerLogging: SettingAccessor<SettingsAppCustomerLogging>;
@@ -3790,6 +5565,16 @@ declare class SettingsResource {
3790
5565
  periods: SettingAccessor<SettingsRetentionPeriods>;
3791
5566
  };
3792
5567
  constructor(client: Client);
5568
+ /** List every customer setting across all scopes. */
5569
+ listAll(): Promise<SettingsListResponse>;
5570
+ /** List every customer setting in a single scope (e.g. `app`, `telephony`). */
5571
+ listInScope(scope: string): Promise<SettingsListResponse>;
5572
+ /** Reset a single customer setting to its default; returns the setting after reset. */
5573
+ clear(scope: string, key: string): Promise<SettingItemResponse>;
5574
+ /** Reset every customer setting in a scope to its default; returns the scope after reset. */
5575
+ clearInScope(scope: string): Promise<SettingsListResponse>;
5576
+ /** Reset every customer setting (all scopes) to its default; returns the settings after reset. */
5577
+ clearAll(): Promise<SettingsListResponse>;
3793
5578
  }
3794
5579
 
3795
5580
  /**
@@ -4233,6 +6018,11 @@ type ListSmsQuery = Omit<NonNullable<ListSmssData['query']>, 'page' | 'max'> & {
4233
6018
  /** Page size (the API's `max`); defaults to the server default. */
4234
6019
  pageSize?: number;
4235
6020
  };
6021
+ /** Options for `sms.report` (paging controls only — the endpoint takes no filters). */
6022
+ interface ReportSmsQuery {
6023
+ /** Page size (the API's `max`); defaults to the server default. */
6024
+ pageSize?: number;
6025
+ }
4236
6026
  /** SMS records — `/api/v2/sms`. */
4237
6027
  declare class SmsResource {
4238
6028
  private readonly client;
@@ -4243,6 +6033,14 @@ declare class SmsResource {
4243
6033
  listAll(query?: ListSmsQuery): Promise<Sms[]>;
4244
6034
  /** Get a single SMS record by id. */
4245
6035
  get(id: string): Promise<SmsItemResponse>;
6036
+ /** Send an SMS. */
6037
+ send(body: SmsSendRequest): Promise<SmsItemResponse>;
6038
+ /** Delete an SMS by id (returns the deleted SMS record). */
6039
+ delete(id: string): Promise<SmsItemResponse>;
6040
+ /** Get a paginated SMS report, auto-paginating across pages. */
6041
+ report(query?: ReportSmsQuery): AsyncGenerator<Sms>;
6042
+ /** Create a test inbound SMS. */
6043
+ testInbound(body: SmsSendRequest): Promise<SmsItemResponse>;
4246
6044
  }
4247
6045
 
4248
6046
  /** Filters for `numbers.list` (the generated query surface minus the `page` / `max` controls). */
@@ -4260,10 +6058,57 @@ declare class NumbersResource {
4260
6058
  listAll(query?: ListNumbersQuery): Promise<ServiceNumber[]>;
4261
6059
  /** Get a single service number by id. */
4262
6060
  get(id: string): Promise<ServiceNumberItemResponse>;
6061
+ /** Update a service number; `body` is a free-form set of fields. Returns the updated number. */
6062
+ update(id: string, body: Record<string, unknown>): Promise<ServiceNumberItemResponse>;
4263
6063
  /** Add tags to a service number; returns the updated number. */
4264
6064
  addTags(id: string, tags: Tag[]): Promise<ServiceNumberItemResponse>;
4265
6065
  }
4266
6066
 
6067
+ /** Filters for `recordings.list` (only the page-size control; the API exposes no other filters). */
6068
+ interface ListRecordingsQuery {
6069
+ /** Page size (the API's `max`); defaults to the server default. */
6070
+ pageSize?: number;
6071
+ }
6072
+ /** Call recordings — `/api/v2/recordings`. */
6073
+ declare class RecordingsResource {
6074
+ private readonly client;
6075
+ constructor(client: Client);
6076
+ /**
6077
+ * List recordings, auto-paginating across pages.
6078
+ *
6079
+ * ```ts
6080
+ * for await (const rec of mgr.recordings.list()) console.log(rec.url);
6081
+ * ```
6082
+ */
6083
+ list(query?: ListRecordingsQuery): AsyncGenerator<Recording>;
6084
+ /** Collect every recording into an array (convenience over {@link list}). */
6085
+ listAll(query?: ListRecordingsQuery): Promise<Recording[]>;
6086
+ /** Start recording a call. */
6087
+ start(body: RecordingStartRequest): Promise<RecordingItemResponse>;
6088
+ /** Get a recording by id. */
6089
+ get(id: string): Promise<RecordingItemResponse>;
6090
+ /** Update a recording's metadata (tags). */
6091
+ update(id: string, body: RecordingUpdateBody): Promise<RecordingItemResponse>;
6092
+ /** Delete a recording by id. */
6093
+ delete(id: string): Promise<void>;
6094
+ /**
6095
+ * Apply a bulk action (e.g. `"delete"`, `"flag"`, `"unflag"`) to multiple recordings by id.
6096
+ *
6097
+ * ```ts
6098
+ * await mgr.recordings.bulkAction('delete', ['rec1', 'rec2']);
6099
+ * ```
6100
+ */
6101
+ bulkAction(action: string, ids: string[]): Promise<BulkActionResponse>;
6102
+ /** Get a recording's flag state. */
6103
+ getFlag(id: string): Promise<RecordingItemResponse>;
6104
+ /** Flag a recording. */
6105
+ flag(id: string): Promise<RecordingItemResponse>;
6106
+ /** Unflag a recording. */
6107
+ unflag(id: string): Promise<RecordingItemResponse>;
6108
+ /** Toggle a recording's flag. */
6109
+ toggleFlag(id: string): Promise<RecordingItemResponse>;
6110
+ }
6111
+
4267
6112
  /** Filters for `conferences.list` (the generated query surface minus the `page` / `max` controls). */
4268
6113
  type ListConferencesQuery = Omit<NonNullable<ListConferencesData['query']>, 'page' | 'max'> & {
4269
6114
  /** Page size (the API's `max`); defaults to the server default. */
@@ -4286,6 +6131,8 @@ type ListQueuesQuery = Omit<NonNullable<ListQueuesData['query']>, 'page' | 'max'
4286
6131
  /** Page size (the API's `max`); defaults to the server default. */
4287
6132
  pageSize?: number;
4288
6133
  };
6134
+ /** Query options for `queues.globalSelections` (the full generated query surface). */
6135
+ type GlobalQueueSelectionsQuery = NonNullable<ListGlobalQueueSelectionsData['query']>;
4289
6136
  /** Queues — `/api/v2/queues`, with a nested `selections` sub-resource. */
4290
6137
  declare class QueuesResource {
4291
6138
  private readonly client;
@@ -4304,6 +6151,12 @@ declare class QueuesResource {
4304
6151
  update(id: string, body: RestUpdateQueueBody): Promise<QueueItemResponse>;
4305
6152
  /** Delete a queue. */
4306
6153
  delete(id: string): Promise<void>;
6154
+ /** List the triggers attached to a queue. */
6155
+ listTriggers(queueId: string): Promise<QueueTriggerListResponse>;
6156
+ /** Bulk-update queues; each item must carry its id. Returns the updated queues. */
6157
+ bulkUpdate(body: QueueBulkUpdateRequest): Promise<QueueListResponse>;
6158
+ /** List every queue selection across the account (`/api/v2/queues/selections`). */
6159
+ globalSelections(opts?: GlobalQueueSelectionsQuery): Promise<GlobalQueueSelectionListResponse>;
4307
6160
  }
4308
6161
  /** Queue selections (routing rules) and their agent/group/tag membership. */
4309
6162
  declare class QueueSelectionsResource {
@@ -4325,6 +6178,8 @@ declare class QueueSelectionsResource {
4325
6178
  update(queueId: string, id: string, body: RestUpdateQueueSelectionBody): Promise<QueueSelectionItemResponse>;
4326
6179
  /** Delete a selection. */
4327
6180
  delete(queueId: string, id: string): Promise<void>;
6181
+ /** Reorder a queue's selections by priority; returns the queue's selections. */
6182
+ setPriority(queueId: string, items: QueueSelectionPriorityItem[]): Promise<QueueSelectionListResponse>;
4328
6183
  /** Resolve the agents currently selected for a queue. */
4329
6184
  selectAgents(queueId: string): Promise<QueueSelectionResponse>;
4330
6185
  /** Add an agent to a selection. */
@@ -4389,6 +6244,18 @@ declare class TriggersResource {
4389
6244
  clone(id: string): Promise<TriggerItemResponse>;
4390
6245
  /** Test trigger conditions against a sample payload. `testMode` runs without side effects. */
4391
6246
  test(body: TestTriggersRequest, testMode?: boolean): Promise<TestTriggersResponse>;
6247
+ /** Apply a bulk action (e.g. `enable`, `disable`, `delete`) to the given trigger ids. */
6248
+ bulkAction(action: string, ids: string[]): Promise<BulkActionResponse>;
6249
+ /** List the expressions available for use in trigger conditions. */
6250
+ expressions(): Promise<ObjectListResponse>;
6251
+ /** List the operators available for use in trigger conditions. */
6252
+ operators(): Promise<ObjectListResponse>;
6253
+ /** List a trigger's conditions. */
6254
+ conditions(id: string): Promise<TriggerConditionListResponse>;
6255
+ /** Replace a trigger's conditions; returns the updated trigger. */
6256
+ setConditions(id: string, body: TriggerConditionsRequest): Promise<TriggerItemResponse>;
6257
+ /** Get the references (uses) of a trigger across the account. */
6258
+ uses(id: string): Promise<TriggerUsesResponse>;
4392
6259
  }
4393
6260
 
4394
6261
  /** Filters for `automations.list` (the generated query surface minus the `page` / `max` controls). */
@@ -4412,6 +6279,18 @@ declare class AutomationsResource {
4412
6279
  update(id: string, body: RestUpdateGlobalAutomationBody): Promise<GlobalAutomationItemResponse>;
4413
6280
  /** Delete a global automation. */
4414
6281
  delete(id: string): Promise<void>;
6282
+ /** Clone a global automation; returns the new automation. */
6283
+ clone(id: string): Promise<GlobalAutomationItemResponse>;
6284
+ /** Update many global automations in one call (each item must include its id). */
6285
+ bulkUpdate(body: BulkUpdateRequest): Promise<ObjectListResponse>;
6286
+ /** Delete many global automations by id. */
6287
+ bulkDelete(ids: string[]): Promise<DefaultV2MessageResponse>;
6288
+ /** Dispatch (manually fire) a global automation. `simulateCall` runs it against a simulated call context. */
6289
+ dispatch(eventTriggerId: string, opts?: {
6290
+ timeout?: number;
6291
+ simulateCall?: boolean;
6292
+ body?: Record<string, unknown>;
6293
+ }): Promise<Record<string, unknown>>;
4415
6294
  }
4416
6295
 
4417
6296
  /** Filters for `integrations.list` (the generated query surface minus `page` / `max`). */
@@ -4449,8 +6328,71 @@ declare class IntegrationsResource {
4449
6328
  dispatchAction(integrationId: string, action: string, body: IntegrationDispatchActionRequest): Promise<IntegrationDispatchActionResponse>;
4450
6329
  /** List the variables a single provider action exposes. */
4451
6330
  actionVariables(provider: IntegrationProvider, actionName: string): Promise<VariableDefinitionItemsResponse>;
6331
+ /** List the known integration providers. */
6332
+ providers(): Promise<IntegrationObjectListResponse>;
6333
+ /** Get a provider's config template — the shape a new integration's `config` should follow. */
6334
+ providerTemplate(provider: string): Promise<GetIntegrationProviderTemplateResponse>;
6335
+ /** Get a type-scoped config template for a given integration type and provider. */
6336
+ template(type: string, provider: string): Promise<GetIntegrationTemplateResponse>;
6337
+ /** Authorize an integration (typically completing the provider's OAuth flow). */
6338
+ authorize(id: string, body?: Record<string, unknown>): Promise<IntegrationItemResponse>;
6339
+ /** Clone an existing integration, including its config and provider. */
6340
+ clone(id: string): Promise<IntegrationItemResponse>;
6341
+ /** Complete an integration's setup after it has been created and authorized. */
6342
+ integrate(id: string, body?: Record<string, unknown>): Promise<IntegrationItemResponse>;
6343
+ /** Update several integrations in one request — each item must include its `id`. */
6344
+ bulkUpdate(body: BulkUpdateIntegrationsRequest): Promise<DefaultV2MessageResponse>;
6345
+ /** Delete several integrations in one request, given their ids. */
6346
+ bulkDelete(ids: string[]): Promise<DefaultV2MessageResponse>;
6347
+ /** List the actions an integration type supports. */
6348
+ typeActions(type: string): Promise<IntegrationObjectListResponse>;
6349
+ /** Dispatch an action for a specific integration, addressed by its type, id, and action name. */
6350
+ dispatchTypeAction(type: string, id: string, action: string, body?: Record<string, unknown>): Promise<DispatchIntegrationTypeActionResponse>;
6351
+ /** List the available trigger/automation actions (catalog), optionally filtered by provider/type. */
6352
+ listActions(type?: string): Promise<ObjectListResponse>;
6353
+ /** List the input parameters a provider action accepts. */
6354
+ listActionParams(providerName: string, providerActionName: string): Promise<ObjectListResponse>;
6355
+ /** Execute a call/queue action directly, addressed by its type and name. */
6356
+ executeAction(actionType: string, actionName: string, body?: Record<string, unknown>): Promise<DefaultV2MessageResponse>;
6357
+ /** Run an integration action via GET, passing input parameters as query string. */
6358
+ dispatchActionGet(integrationId: string, action: string, opts?: {
6359
+ callId?: string;
6360
+ sessionId?: string;
6361
+ }): Promise<IntegrationDispatchActionResponse>;
6362
+ /** Proxy a GET request to the external provider API and return the raw provider response. */
6363
+ apiProxyGet(integrationId: string, uri: string): Promise<unknown>;
6364
+ /** Proxy a POST request to the external provider API and return the raw provider response. */
6365
+ apiProxyPost(integrationId: string, uri: string, body?: Record<string, unknown>): Promise<unknown>;
6366
+ /** List the access tokens issued to babelforce for this integration. */
6367
+ listTokens(id: string): Promise<IntegrationTokenListResponse>;
6368
+ /** Get a single integration access token. */
6369
+ getToken(id: string, tokenId: string): Promise<IntegrationTokenItemResponse>;
6370
+ /** Revoke and delete an integration access token. */
6371
+ deleteToken(id: string, tokenId: string): Promise<DefaultV2MessageResponse>;
6372
+ /** Refresh an integration access token using its stored refresh token. */
6373
+ refreshToken(id: string, tokenId: string): Promise<IntegrationTokenItemResponse>;
4452
6374
  }
4453
6375
 
6376
+ /** Filters for the outbound simple call report (`outbound.simpleReporting`). */
6377
+ interface OutboundSimpleReportingQuery {
6378
+ /** Page size (the API's `max`); defaults to the server default. */
6379
+ pageSize?: number;
6380
+ }
6381
+ /** Filters for listing outbound call attempts (`outbound.attempts`). */
6382
+ type ListOutboundAttemptsQuery = Omit<NonNullable<ListOutboundAttemptsData['query']>, 'page' | 'max'> & {
6383
+ /** Page size (the API's `max`); defaults to the server default. */
6384
+ pageSize?: number;
6385
+ };
6386
+ /** Filters for listing outbound leads (`outbound.leads`). */
6387
+ type ListOutboundLeadsQuery = Omit<NonNullable<ListOutboundLeadsData['query']>, 'page' | 'max'> & {
6388
+ /** Page size (the API's `max`); defaults to the server default. */
6389
+ pageSize?: number;
6390
+ };
6391
+ /** Filters for listing processed outbound leads (`outbound.processedLeads`). */
6392
+ interface ListProcessedOutboundLeadsQuery {
6393
+ /** Page size (the API's `max`); defaults to the server default. */
6394
+ pageSize?: number;
6395
+ }
4454
6396
  /** Outbound dialer lists and their leads — `/api/v2/outbound/lists`. */
4455
6397
  declare class OutboundResource {
4456
6398
  private readonly client;
@@ -4459,6 +6401,12 @@ declare class OutboundResource {
4459
6401
  lists(): Promise<OutboundList[]>;
4460
6402
  /** Create an outbound list. */
4461
6403
  createList(body: CreateOutboundListRequest): Promise<OutboundListItemResponse>;
6404
+ /** Get a single outbound (lead-)list by id. */
6405
+ getList(id: string): Promise<LeadListItemResponse>;
6406
+ /** Update an outbound (lead-)list. */
6407
+ updateList(id: string, body: CreateListRequest): Promise<LeadListItemResponse>;
6408
+ /** Delete an outbound (lead-)list. */
6409
+ deleteList(id: string): Promise<void>;
4462
6410
  /** Clear all leads from an outbound list; returns the (now empty) list. */
4463
6411
  clearList(id: string): Promise<OutboundListItemResponse>;
4464
6412
  /** Add a lead to an outbound list. */
@@ -4467,6 +6415,106 @@ declare class OutboundResource {
4467
6415
  updateLead(listId: string, leadId: string, body: AddOutboundLeadRequest): Promise<OutboundLeadItemResponse>;
4468
6416
  /** Remove a lead from an outbound list. */
4469
6417
  deleteLead(listId: string, leadId: string): Promise<void>;
6418
+ /** Get a single lead from a list by id (`/api/v2/outbound/lists/{id}/leads/{leadId}`). */
6419
+ getLead(listId: string, leadId: string): Promise<LeadItemResponse>;
6420
+ /**
6421
+ * List the leads in a single list, optionally filtered by dial status or returned as CSV.
6422
+ * Returns the full (paginated) response (`/api/v2/outbound/lists/{id}/leads`).
6423
+ */
6424
+ listLeads(listId: string, opts?: {
6425
+ status?: DialStatus;
6426
+ format?: string;
6427
+ }): Promise<PaginatedLeadResponse>;
6428
+ /** Schedule an outbound call for an agent (`id` is the agent ID). */
6429
+ createAgentCall(id: string, body: AgentOutboundCallRequest): Promise<CallItemResponse>;
6430
+ /**
6431
+ * The outbound simple call report (`/api/v2/calls/reporting/simple/outbound`), auto-paginating
6432
+ * across pages.
6433
+ *
6434
+ * ```ts
6435
+ * for await (const call of mgr.outbound.simpleReporting()) console.log(call.id);
6436
+ * ```
6437
+ */
6438
+ simpleReporting(query?: OutboundSimpleReportingQuery): AsyncGenerator<ReportingCall>;
6439
+ /** Collect every call from the outbound simple report into an array. */
6440
+ simpleReportingAll(query?: OutboundSimpleReportingQuery): Promise<ReportingCall[]>;
6441
+ /** List outbound call attempts, auto-paginating across pages. */
6442
+ attempts(query?: ListOutboundAttemptsQuery): AsyncGenerator<CallAttempt>;
6443
+ /** Collect every outbound call attempt into an array. */
6444
+ attemptsAll(query?: ListOutboundAttemptsQuery): Promise<CallAttempt[]>;
6445
+ /** List outbound leads, auto-paginating across pages. */
6446
+ leads(query?: ListOutboundLeadsQuery): AsyncGenerator<Lead>;
6447
+ /** Collect every outbound lead into an array. */
6448
+ leadsAll(query?: ListOutboundLeadsQuery): Promise<Lead[]>;
6449
+ /** List processed outbound leads, auto-paginating across pages. */
6450
+ processedLeads(query?: ListProcessedOutboundLeadsQuery): AsyncGenerator<Lead>;
6451
+ /** Collect every processed outbound lead into an array. */
6452
+ processedLeadsAll(query?: ListProcessedOutboundLeadsQuery): Promise<Lead[]>;
6453
+ /** Bulk-delete leads from a list by ID/UID (`/api/v2/outbound/lists/{id}/leads/delete`). */
6454
+ bulkDeleteLeads(id: string, body: LeadBulkDeleteRequest): Promise<DefaultV2MessageResponse>;
6455
+ /**
6456
+ * Bulk-delete leads from a list by ID/UID, alternate route
6457
+ * (`/api/v2/outbound/lists/{id}/leads/bulk/delete`).
6458
+ */
6459
+ bulkDeleteLeadsAlt(id: string, body: LeadBulkDeleteRequest): Promise<DefaultV2MessageResponse>;
6460
+ /** Upload leads into a list from a CSV file (multipart bulk import). */
6461
+ uploadLeads(id: string, body: LeadUploadRequest): Promise<LeadUploadResponse>;
6462
+ }
6463
+
6464
+ /** Filters for the dialer's simple call report (`dialer.simpleReporting`). */
6465
+ interface DialerSimpleReportingQuery {
6466
+ /** Page size (the API's `max`); defaults to the server default. */
6467
+ pageSize?: number;
6468
+ }
6469
+ /** Filters for listing dialer behaviours (`dialer.behaviours.list`). */
6470
+ interface ListDialerBehavioursQuery {
6471
+ /** Page size (the API's `max`); defaults to the server default. */
6472
+ pageSize?: number;
6473
+ }
6474
+ /** Automated outbound dialer — `/api/v2/dialer` & `/api/v2/outbound/dialer-behaviours`. */
6475
+ declare class DialerResource {
6476
+ private readonly client;
6477
+ /** Dialer behaviours — `/api/v2/outbound/dialer-behaviours`. */
6478
+ readonly behaviours: DialerBehavioursResource;
6479
+ constructor(client: Client);
6480
+ /** Get inbound dialer runtime information. */
6481
+ info(): Promise<GenericItemResponse>;
6482
+ /**
6483
+ * Flush queued dialer tasks. Pass `{ id }` to flush a single queued task, or `{ all: true }`
6484
+ * to flush every queued task.
6485
+ */
6486
+ flush(opts?: {
6487
+ id?: string;
6488
+ all?: boolean;
6489
+ }): Promise<DefaultV2MessageResponse>;
6490
+ /**
6491
+ * The dialer's simple call report (`/api/v2/calls/reporting/simple/dialer`), auto-paginating
6492
+ * across pages.
6493
+ *
6494
+ * ```ts
6495
+ * for await (const call of mgr.dialer.simpleReporting()) console.log(call.id);
6496
+ * ```
6497
+ */
6498
+ simpleReporting(query?: DialerSimpleReportingQuery): AsyncGenerator<ReportingCall>;
6499
+ /** Collect every call from the dialer's simple report into an array. */
6500
+ simpleReportingAll(query?: DialerSimpleReportingQuery): Promise<ReportingCall[]>;
6501
+ }
6502
+ /** Dialer behaviours — `/api/v2/outbound/dialer-behaviours`. */
6503
+ declare class DialerBehavioursResource {
6504
+ private readonly client;
6505
+ constructor(client: Client);
6506
+ /** List dialer behaviours, auto-paginating across pages. */
6507
+ list(query?: ListDialerBehavioursQuery): AsyncGenerator<DialerBehaviour>;
6508
+ /** Collect every dialer behaviour into an array. */
6509
+ listAll(query?: ListDialerBehavioursQuery): Promise<DialerBehaviour[]>;
6510
+ /** Create a dialer behaviour. */
6511
+ create(body: DialerBehaviourWriteBody): Promise<DialerBehaviourItemResponse>;
6512
+ /** Get a dialer behaviour by id. */
6513
+ get(id: string): Promise<DialerBehaviourItemResponse>;
6514
+ /** Update a dialer behaviour. */
6515
+ update(id: string, body: DialerBehaviourWriteBody): Promise<DialerBehaviourItemResponse>;
6516
+ /** Delete a dialer behaviour by id. */
6517
+ delete(id: string): Promise<void>;
4470
6518
  }
4471
6519
 
4472
6520
  /** Filters for `phonebook.list` (the generated query surface minus `page` / `max`). */
@@ -4490,6 +6538,8 @@ declare class PhonebookResource {
4490
6538
  update(id: string, body: RestUpdatePhonebookEntryBody): Promise<PhonebookEntryItemResponse>;
4491
6539
  /** Delete a phonebook entry. */
4492
6540
  delete(id: string): Promise<void>;
6541
+ /** Bulk-delete phonebook entries by id (`/api/v2/phonebook/bulk`). */
6542
+ bulkDelete(ids: string[]): Promise<DefaultV2MessageResponse>;
4493
6543
  /** Download all phonebook entries (bulk export). */
4494
6544
  download(): Promise<DownloadPhonebookEntriesResponse>;
4495
6545
  /** Upload phonebook entries from a CSV file (bulk import). */
@@ -4510,6 +6560,31 @@ declare class CampaignsResource {
4510
6560
  update(id: string, body: UpdateCampaignRequest): Promise<OutboundCampaignItemResponse>;
4511
6561
  /** Delete a campaign. */
4512
6562
  delete(id: string): Promise<void>;
6563
+ /** List a campaign's call attempts, optionally filtered by phone number. */
6564
+ attempts(id: string, number?: string): Promise<PaginatedAttemptResponse>;
6565
+ /** Get a campaign's hopper. */
6566
+ hopper(id: string): Promise<CampaignHopperResponse>;
6567
+ /** List a campaign's leads. */
6568
+ leads(id: string): Promise<PaginatedLeadResponse>;
6569
+ /** List a campaign's processed leads. */
6570
+ processedLeads(id: string): Promise<PaginatedLeadResponse>;
6571
+ /** Get a campaign's active lead-list. */
6572
+ getList(id: string): Promise<LeadListItemResponse>;
6573
+ /** Set (activate) a campaign's lead-list. */
6574
+ setList(id: string, body: SetCampaignListRequest): Promise<CampaignItemResponse>;
6575
+ /** Unset a campaign's lead-list. */
6576
+ unsetList(id: string): Promise<CampaignItemResponse>;
6577
+ /** Set a campaign's lead-list by lead-list id. */
6578
+ setListById(id: string, listId: string): Promise<CampaignItemResponse>;
6579
+ /** Log out all agents from a campaign. */
6580
+ logoutAllAgents(id: string): Promise<DefaultV2MessageResponse>;
6581
+ /** Get a campaign's statistics, optionally bounded by a `from`/`to` Unix-timestamp range. */
6582
+ statistics(id: string, opts?: {
6583
+ from?: number;
6584
+ to?: number;
6585
+ }): Promise<CampaignStatisticsResponse>;
6586
+ /** Get a campaign's real-time status. */
6587
+ status(id: string): Promise<CampaignRealtimeStatusResponse>;
4513
6588
  }
4514
6589
 
4515
6590
  /** Filters for `businessHours.list` (the generated query surface minus `page` / `max`). */
@@ -4533,6 +6608,18 @@ declare class BusinessHoursResource {
4533
6608
  update(id: string, body: RestUpdateBusinessHourBody): Promise<BusinessHourItemResponse>;
4534
6609
  /** Delete a business-hours definition. */
4535
6610
  delete(id: string): Promise<void>;
6611
+ /** Replace a profile's time ranges with the supplied set. */
6612
+ addRanges(id: string, body: BusinessHourRangesBody): Promise<BusinessHourItemResponse>;
6613
+ /** List a profile's time ranges. */
6614
+ listRanges(id: string): Promise<BusinessHourRangeListResponse>;
6615
+ /** Get a single time range by id. */
6616
+ getRange(id: string, rangeId: string): Promise<BusinessHourRangeItemResponse>;
6617
+ /** Delete a time range by id. */
6618
+ removeRange(id: string, rangeId: string): Promise<DefaultV2MessageResponse>;
6619
+ /** Bulk-delete business-hours definitions by id. */
6620
+ bulkDelete(ids: string[]): Promise<DefaultV2MessageResponse>;
6621
+ /** Bulk-update business-hours definitions (each item must include its id). */
6622
+ bulkUpdate(body: BusinessHourBulkUpdateRequest): Promise<BusinessHourListResponse>;
4536
6623
  }
4537
6624
 
4538
6625
  /** Filters for `calendars.list` (the generated query surface minus `page` / `max`). */
@@ -4557,9 +6644,21 @@ declare class CalendarsResource {
4557
6644
  /** Delete a calendar. */
4558
6645
  delete(id: string): Promise<void>;
4559
6646
  /** Get a calendar's dates. */
4560
- getDates(id: string): Promise<DefaultV2MessageResponse>;
6647
+ getDates(id: string): Promise<CalendarDateListResponse>;
4561
6648
  /** Add a date to a calendar. */
4562
- addDate(id: string): Promise<DefaultV2MessageResponse>;
6649
+ addDate(id: string, body: CalendarDateBody): Promise<CalendarDateItemResponse>;
6650
+ /** Get a single calendar date by id. */
6651
+ getDate(id: string, dateId: string): Promise<CalendarDateItemResponse>;
6652
+ /** Update a calendar date. */
6653
+ updateDate(id: string, dateId: string, body: CalendarDateBody): Promise<CalendarDateItemResponse>;
6654
+ /** Delete a calendar date by id. */
6655
+ removeDate(id: string, dateId: string): Promise<DefaultV2MessageResponse>;
6656
+ /** Test whether a date is a holiday across the account's calendars (defaults to now). */
6657
+ testDate(date?: string): Promise<GenericItemResponse>;
6658
+ /** Bulk-delete calendars by id. */
6659
+ bulkDelete(ids: string[]): Promise<DefaultV2MessageResponse>;
6660
+ /** Bulk-update calendars (each item must include its id). */
6661
+ bulkUpdate(body: CalendarBulkUpdateRequest): Promise<CalendarListResponse>;
4563
6662
  }
4564
6663
 
4565
6664
  /** Filters for `conversations.list` (the generated query surface minus `page` / `max`). */
@@ -4567,6 +6666,11 @@ type ListConversationsQuery = Omit<NonNullable<ListConversationsData['query']>,
4567
6666
  /** Page size (the API's `max`); defaults to the server default. */
4568
6667
  pageSize?: number;
4569
6668
  };
6669
+ /** Options for `conversations.allEvents` (paging controls only — the endpoint takes no filters). */
6670
+ interface AllConversationEventsQuery {
6671
+ /** Page size (the API's `max`); defaults to the server default. */
6672
+ pageSize?: number;
6673
+ }
4570
6674
  /** Conversations — `/api/v2/conversations`, with events and session variables. */
4571
6675
  declare class ConversationsResource {
4572
6676
  private readonly client;
@@ -4585,8 +6689,18 @@ declare class ConversationsResource {
4585
6689
  delete(id: string): Promise<void>;
4586
6690
  /** List a conversation's events. */
4587
6691
  events(conversationId: string): Promise<ConversationEvent[]>;
4588
- /** Get a single conversation event. */
4589
- getEvent(conversationId: string, id: string): Promise<ConversationEventItemResponse>;
6692
+ /** Add a user event to a conversation. */
6693
+ addEvent(conversationId: string, body: ConversationEventRequest): Promise<ConversationEventItemResponse>;
6694
+ /** Reopen a conversation. */
6695
+ open(conversationId: string): Promise<ConversationItemResponse>;
6696
+ /** Close a conversation. */
6697
+ close(conversationId: string): Promise<ConversationItemResponse>;
6698
+ /** Get the first event of a conversation. */
6699
+ firstEvent(conversationId: string): Promise<ConversationEventItemResponse>;
6700
+ /** Get the latest event of a conversation. */
6701
+ latestEvent(conversationId: string): Promise<ConversationEventItemResponse>;
6702
+ /** List events across all conversations, auto-paginating across pages. */
6703
+ allEvents(query?: AllConversationEventsQuery): AsyncGenerator<ConversationEvent>;
4590
6704
  /** Get a conversation's session variables. */
4591
6705
  getSession(conversationId: string): Promise<ConversationSessionVariablesItemResponse>;
4592
6706
  /** Update a conversation's session variables. */
@@ -4620,6 +6734,8 @@ declare class PromptsResource {
4620
6734
  listAll(query?: ListPromptsQuery): Promise<Prompt[]>;
4621
6735
  /** Get a prompt by id. */
4622
6736
  get(id: string): Promise<PromptItemResponse>;
6737
+ /** List references to a prompt (where it is used). */
6738
+ uses(id: string): Promise<ObjectListResponse>;
4623
6739
  /** Upload a new audio prompt. */
4624
6740
  upload(body: PromptAudioFile): Promise<PromptItemResponse>;
4625
6741
  /** Update a prompt's metadata. */
@@ -4656,6 +6772,8 @@ declare class BabeldeskResource {
4656
6772
  update(id: string, body: RestUpdateBabeldeskBody): Promise<BabeldeskItemResponse>;
4657
6773
  /** Delete a dashboard. */
4658
6774
  delete(id: string): Promise<void>;
6775
+ /** Get the settings for a widget type (e.g. `babelconnect`, `taskmanager`). */
6776
+ widgetSettings(type: string): Promise<WidgetSettingsResponse>;
4659
6777
  }
4660
6778
  /** Babeldesk widgets — `/api/v2/babeldesk/widgets`. */
4661
6779
  declare class BabeldeskWidgetsResource {
@@ -4675,6 +6793,41 @@ declare class BabeldeskWidgetsResource {
4675
6793
  delete(id: string): Promise<void>;
4676
6794
  }
4677
6795
 
6796
+ /** Filters for `dashboards.list` (the generated query surface minus `page` / `max`). */
6797
+ type ListDashboardsQuery = Omit<NonNullable<ListDashboardsData['query']>, 'page' | 'max'> & {
6798
+ /** Page size (the API's `max`); defaults to the server default. */
6799
+ pageSize?: number;
6800
+ };
6801
+ /** Reporting dashboards — `/api/v2/dashboards`. */
6802
+ declare class DashboardsResource {
6803
+ private readonly client;
6804
+ constructor(client: Client);
6805
+ /**
6806
+ * List dashboards, auto-paginating across pages.
6807
+ *
6808
+ * ```ts
6809
+ * for await (const dashboard of mgr.dashboards.list({ q: 'sales' })) console.log(dashboard.name);
6810
+ * ```
6811
+ */
6812
+ list(query?: ListDashboardsQuery): AsyncGenerator<Dashboard>;
6813
+ /** Collect every dashboard into an array (convenience over {@link list}). */
6814
+ listAll(query?: ListDashboardsQuery): Promise<Dashboard[]>;
6815
+ /** Create a dashboard. */
6816
+ create(body: DashboardCreateBody): Promise<DashboardItemResponse>;
6817
+ /** Get a dashboard by id. */
6818
+ get(id: string): Promise<DashboardItemResponse>;
6819
+ /** Update a dashboard. */
6820
+ update(id: string, body: DashboardUpdateBody): Promise<DashboardItemResponse>;
6821
+ /** Delete a dashboard by id. */
6822
+ delete(id: string): Promise<void>;
6823
+ /** List the users allowed to access a dashboard. */
6824
+ listUsers(id: string): Promise<DashboardUsersResponse>;
6825
+ /** Grant an existing reporter user (by email) access to a dashboard. */
6826
+ addUser(id: string, email: string): Promise<DefaultV2MessageResponse>;
6827
+ /** Revoke a user's (by id) access to a dashboard. */
6828
+ removeUser(id: string, userId: string): Promise<DefaultV2MessageResponse>;
6829
+ }
6830
+
4678
6831
  /** Event definitions and custom events — `/api/v2/events`. */
4679
6832
  declare class EventsResource {
4680
6833
  private readonly client;
@@ -4702,6 +6855,12 @@ declare class LogsResource {
4702
6855
  auditAll(query?: ListAuditLogsQuery): Promise<AuditLog[]>;
4703
6856
  /** List the current live logs. */
4704
6857
  live(): Promise<LiveLog[]>;
6858
+ /** Enable live logging for the customer. */
6859
+ enableLive(): Promise<DefaultV2MessageResponse>;
6860
+ /** Disable live logging for the customer. */
6861
+ disableLive(): Promise<DefaultV2MessageResponse>;
6862
+ /** Write a single log entry; returns the created entry. */
6863
+ write(body: WriteLogRequest): Promise<GenericItemResponse>;
4705
6864
  }
4706
6865
 
4707
6866
  /** Expression catalog and evaluation — `/api/v2/expressions`. */
@@ -4714,6 +6873,50 @@ declare class ExpressionsResource {
4714
6873
  evaluate(body: EvaluateExpression, async?: boolean): Promise<EvaluateExpressionResponse>;
4715
6874
  }
4716
6875
 
6876
+ /** Filters for `files.list` (the generated query surface minus `page` / `max`). */
6877
+ type ListFilesQuery = Omit<NonNullable<ListFilesData['query']>, 'page' | 'max'> & {
6878
+ /** Page size (the API's `max`); defaults to the server default. */
6879
+ pageSize?: number;
6880
+ };
6881
+ /** Stored files — `/api/v2/files`, with type-scoped lists and bulk delete/download. */
6882
+ declare class FilesResource {
6883
+ private readonly client;
6884
+ constructor(client: Client);
6885
+ /**
6886
+ * List stored files, auto-paginating across pages.
6887
+ *
6888
+ * ```ts
6889
+ * for await (const file of mgr.files.list({ type: 'recording' })) console.log(file.filename);
6890
+ * ```
6891
+ */
6892
+ list(query?: ListFilesQuery): AsyncGenerator<StoredFile>;
6893
+ /** Collect every stored file into an array (convenience over {@link list}). */
6894
+ listAll(query?: ListFilesQuery): Promise<StoredFile[]>;
6895
+ /** List files of a given storage type (single call, returns the items). */
6896
+ listByType(type: StorageType): Promise<StoredFile[]>;
6897
+ /** List all backup files (returns the items). */
6898
+ backups(): Promise<StoredFile[]>;
6899
+ /** List all recording files (returns the items). */
6900
+ recordings(): Promise<StoredFile[]>;
6901
+ /** List all prompt files (returns the items). */
6902
+ prompts(): Promise<StoredFile[]>;
6903
+ /** Get a stored file by id. */
6904
+ get(id: string): Promise<StoredFileItemResponse>;
6905
+ /** Delete a stored file by id. */
6906
+ delete(id: string): Promise<void>;
6907
+ /**
6908
+ * Download a single file. The endpoint redirects to a download link, so the response body is
6909
+ * untyped by the generator — returned as-is.
6910
+ */
6911
+ download(id: string): Promise<unknown>;
6912
+ /** Bulk-delete files by id; returns the API message. */
6913
+ bulkDelete(ids: string[]): Promise<DefaultV2MessageResponse>;
6914
+ /** Bulk-download files as a ZIP archive via `GET` (ids sent as a comma-joined query param). */
6915
+ bulkDownload(ids: string[]): Promise<GetBulkFileDownloadResponse>;
6916
+ /** Bulk-download files as a ZIP archive via `POST` (ids sent in the request body). */
6917
+ bulkDownloadPost(ids: string[]): Promise<PostBulkFileDownloadResponse>;
6918
+ }
6919
+
4717
6920
  /** Default babelforce API host. Override with {@link ManagerClientOptions.baseUrl}. */
4718
6921
  declare const DEFAULT_BASE_URL = "https://services.babelforce.com";
4719
6922
  interface ManagerClientOptions {
@@ -4739,7 +6942,7 @@ interface ManagerClientOptions {
4739
6942
  *
4740
6943
  * ```ts
4741
6944
  * const mgr = await ManagerClient.connect({
4742
- * auth: { kind: "apiKey", accessId, accessToken },
6945
+ * auth: { kind: "clientCredentials", clientId, clientSecret },
4743
6946
  * });
4744
6947
  * for await (const u of mgr.users.list()) console.log(u.email);
4745
6948
  * ```
@@ -4751,12 +6954,16 @@ declare class ManagerClient {
4751
6954
  readonly users: UsersResource;
4752
6955
  /** The authenticated principal (current user, accounts) — `/api/v2/user`. */
4753
6956
  readonly me: MeResource;
6957
+ /** OAuth 2.0 authorize/token/revoke — `/oauth/authorize|token|revoke`. */
6958
+ readonly auth: AuthResource;
4754
6959
  /** Agent management — `/api/v2/agents`. */
4755
6960
  readonly agents: AgentsResource;
4756
6961
  /** Call reporting & control — `/api/v2/calls`. */
4757
6962
  readonly calls: CallsResource;
4758
6963
  /** SMS records — `/api/v2/sms`. */
4759
6964
  readonly sms: SmsResource;
6965
+ /** Call recordings — `/api/v2/recordings`. */
6966
+ readonly recordings: RecordingsResource;
4760
6967
  /** Service (phone) numbers — `/api/v2/numbers`. */
4761
6968
  readonly numbers: NumbersResource;
4762
6969
  /** Conferences — `/api/v2/conferences`. */
@@ -4773,6 +6980,8 @@ declare class ManagerClient {
4773
6980
  readonly integrations: IntegrationsResource;
4774
6981
  /** Outbound dialer lists & leads — `/api/v2/outbound/lists`. */
4775
6982
  readonly outbound: OutboundResource;
6983
+ /** Automated outbound dialer — `/api/v2/dialer` & `/api/v2/outbound/dialer-behaviours`. */
6984
+ readonly dialer: DialerResource;
4776
6985
  /** Phonebook entries — `/api/v2/phonebook`. */
4777
6986
  readonly phonebook: PhonebookResource;
4778
6987
  /** Outbound campaigns — `/api/v2/outbound/campaigns`. */
@@ -4789,14 +6998,20 @@ declare class ManagerClient {
4789
6998
  readonly prompts: PromptsResource;
4790
6999
  /** Babeldesk dashboards & widgets — `/api/v2/babeldesk`. */
4791
7000
  readonly babeldesk: BabeldeskResource;
7001
+ /** Reporting dashboards — `/api/v2/dashboards`. */
7002
+ readonly dashboards: DashboardsResource;
4792
7003
  /** Event definitions & custom events — `/api/v2/events`. */
4793
7004
  readonly events: EventsResource;
4794
7005
  /** Audit & live logs — `/api/v2/audit`, `/api/v2/logs`. */
4795
7006
  readonly logs: LogsResource;
4796
7007
  /** Expression catalog & evaluation — `/api/v2/expressions`. */
4797
7008
  readonly expressions: ExpressionsResource;
7009
+ /** Stored files — `/api/v2/files`. */
7010
+ readonly files: FilesResource;
4798
7011
  /** Metrics — `/api/v2/metrics`. */
4799
7012
  readonly metrics: MetricsResource;
7013
+ /** System & reference data — health, server time, timezones, tags, template export. */
7014
+ readonly system: SystemResource;
4800
7015
  /** Application (IVR) management — `/api/v2/applications`. */
4801
7016
  readonly applications: ApplicationsResource;
4802
7017
  /** Global settings — `/api/v2/settings`. */
@@ -4821,4 +7036,4 @@ declare class ManagerApiError extends Error {
4821
7036
  static from(response: Response, body: unknown): ManagerApiError;
4822
7037
  }
4823
7038
 
4824
- export { type Account, type AccountRole$1 as AccountRole, type AddOutboundLeadRequest, type Agent, type AgentGroup, type AgentGroupItemResponse, AgentGroupsResource, type AgentItemResponse, type AgentLineStatus, type AgentStatus, AgentsResource, AppActionsResource, type Application, type ApplicationCreateBody, type ApplicationItemResponse, type ApplicationUpdateBody, ApplicationsResource, type Auth, AutomationsResource, type Babeldesk, type BabeldeskItemResponse, BabeldeskResource, type BabeldeskWidget, type BabeldeskWidgetItemResponse, BabeldeskWidgetsResource, type BusinessHour, type BusinessHourItemResponse, BusinessHoursResource, type Calendar, type CalendarItemResponse, CalendarsResource, type Call, type CallItemResponse, CallsResource, CampaignsResource, type Conference, type ConferenceItemResponse, ConferencesResource, type Conversation, type ConversationEvent, type ConversationItemResponse, type ConversationSessionVariables, ConversationsResource, type CreateCampaignRequest, type CreateManagedUserRequest, type CreateOutboundListRequest, type CreateTestCall, DEFAULT_BASE_URL, EventsResource, ExpressionsResource, type GlobalAutomation, type GlobalAutomationItemResponse, type Integration, type IntegrationCreateRequest, type IntegrationItemResponse, type IntegrationProvider, type IntegrationUpdateRequest, IntegrationsResource, type InterruptionTargetStates, type IvrModule, type ListAgentsQuery, type ListApplicationsQuery, type ListAuditLogsQuery, type ListAutomationsQuery, type ListBabeldeskWidgetsQuery, type ListBabeldesksQuery, type ListBusinessHoursQuery, type ListCalendarsQuery, type ListConferencesQuery, type ListConversationsQuery, type ListIntegrationsQuery, type ListNumbersQuery, type ListPhonebookQuery, type ListPromptsQuery, type ListQueuesQuery, type ListRoutingsQuery, type ListSmsQuery, type ListTasksQuery, type ListTriggersQuery, type ListUsersQuery, type LocalAutomation, type LocalAutomationItemResponse, LogsResource, type ManagedUser, type ManagedUserItemResponse, ManagerApiError, ManagerClient, type ManagerClientOptions, MeResource, type MetricDefinitionItemResponse, type MetricIdItemsResponse, type MetricResponse, MetricsResource, NumbersResource, type OutboundCampaign, type OutboundCampaignItemResponse, type OutboundLeadItemResponse, type OutboundList, type OutboundListItemResponse, OutboundResource, type PhonebookCsvFile, type PhonebookEntry, type PhonebookEntryItemResponse, PhonebookResource, type Prompt, type PromptAudioFile, type PromptItemResponse, PromptsResource, type Queue, type QueueItemResponse, type QueueSelection, type QueueSelectionItemResponse, QueueSelectionsResource, QueuesResource, type ReportingCall, type ReportingCallsQuery, ReportingResource, type RestCreateAgentBody, type RestCreateAgentGroupBody, type RestCreateBabeldeskBody, type RestCreateBabeldeskWidgetBody, type RestCreateBusinessHourBody, type RestCreateCalendarBody, type RestCreateConversationBody, type RestCreateGlobalAutomationBody, type RestCreateLocalAutomationBody, type RestCreatePhonebookEntryBody, type RestCreateQueueBody, type RestCreateQueueSelectionBody, type RestCreateRoutingBody, type RestCreateTriggerBody, type RestUpdateAgentBody, type RestUpdateAgentGroupBody, type RestUpdateBabeldeskBody, type RestUpdateBabeldeskWidgetBody, type RestUpdateBusinessHourBody, type RestUpdateCalendarBody, type RestUpdateConversationBody, type RestUpdateGlobalAutomationBody, type RestUpdateLocalAutomationBody, type RestUpdatePhonebookEntryBody, type RestUpdatePromptBody, type RestUpdateQueueBody, type RestUpdateQueueSelectionBody, type RestUpdateRoutingBody, type RestUpdateTriggerBody, type RetryOptions, type Routing, type RoutingItemResponse, RoutingResource, type ServiceNumber, type ServiceNumberItemResponse, type SessionResponse, SessionsResource, SettingAccessor, type SettingsAppAgentStatus, type SettingsAppConversations, type SettingsAppCustomerLogging, type SettingsAppIntegrations, type SettingsAuditDefault, SettingsResource, type SettingsRetentionPeriods, type SettingsTelephonyAgentInbound, type SettingsTelephonyAgentOutbound, type SettingsTelephonyAgentRecording, type SettingsTelephonyAgentWrapup, type SettingsTelephonyPostCall, type SettingsUiI18N, type SimpleReportingCallsQuery, type SimpleReportingReportType, type Sms, type SmsItemResponse, SmsResource, type SubmitTaskBody, type SubmitTaskScheduleBody, type Tag, type Task, TaskMetricsResource, type TaskSchedule, TaskSchedulesResource, TaskScriptsResource, TaskSecretsResource, TaskSelectionConfigResource, type TaskTemplateOverrides, TasksResource, type TokenResponse, type Trigger, type TriggerItemResponse, TriggersResource, type UpdateAgentStatusRequest, type UpdateCampaignRequest, type UpdateSessionVariablesRequest, type UpdateTaskBody, type User, type UserCustomer, type UserCustomerItemResponse, type UserItemResponse, UsersResource, passwordGrant, withRetry };
7039
+ export { type Account, type AccountRole$1 as AccountRole, type AddOutboundLeadRequest, type Agent, type AgentGroup, type AgentGroupItemResponse, AgentGroupsResource, type AgentItemResponse, type AgentLineStatus, type AgentLogsQuery, type AgentOutboundCallRequest, type AgentStatus, AgentsResource, AppActionsResource, type Application, type ApplicationCreateBody, type ApplicationItemResponse, type ApplicationUpdateBody, ApplicationsResource, type Auth, AuthResource, type AuthorizeData, AutomationsResource, type Babeldesk, type BabeldeskItemResponse, BabeldeskResource, type BabeldeskWidget, type BabeldeskWidgetItemResponse, BabeldeskWidgetsResource, type BulkActionResponse, type BulkIdsRequest, type BulkUpdateIntegrationsRequest, type BulkUpdateRequest, type BusinessHour, type BusinessHourItemResponse, BusinessHoursResource, type Calendar, type CalendarItemResponse, CalendarsResource, type Call, type CallAttempt, type CallItemResponse, CallsResource, type CampaignHopperResponse, type CampaignItemResponse, type CampaignRealtimeStatusResponse, type CampaignStatisticsResponse, CampaignsResource, type Conference, type ConferenceItemResponse, ConferencesResource, type Conversation, type ConversationEvent, type ConversationItemResponse, type ConversationSessionVariables, ConversationsResource, type CreateCampaignRequest, type CreateListRequest, type CreateManagedUserRequest, type CreateOutboundListRequest, type CreateTestCall, DEFAULT_BASE_URL, type Dashboard, type DashboardCreateBody, type DashboardItemResponse, type DashboardUpdateBody, type DashboardUser, type DashboardUsersResponse, DashboardsResource, type DefaultV2MessageResponse, type DialerBehaviour, type DialerBehaviourItemResponse, type DialerBehaviourWriteBody, DialerBehavioursResource, DialerResource, type DialerSimpleReportingQuery, EventsResource, ExpressionsResource, type FileBulkDeleteRequest, type FileBulkDownloadRequest, FilesResource, type GenericItemResponse, type GlobalAutomation, type GlobalAutomationItemResponse, type ImportAgentsOptions, type Integration, type IntegrationBulkIdsRequest, type IntegrationCreateRequest, type IntegrationItemResponse, type IntegrationObjectListResponse, type IntegrationProvider, type IntegrationTokenItemResponse, type IntegrationTokenListResponse, type IntegrationUpdateRequest, IntegrationsResource, type InterruptionTargetStates, type IvrModule, type Lead, type LeadBulkDeleteRequest, type LeadListItemResponse, type LeadUploadRequest, type LeadUploadResponse, type ListAgentsQuery, type ListApplicationsQuery, type ListAuditLogsQuery, type ListAutomationsQuery, type ListBabeldeskWidgetsQuery, type ListBabeldesksQuery, type ListBusinessHoursQuery, type ListCalendarsQuery, type ListConferencesQuery, type ListConversationsQuery, type ListDashboardsQuery, type ListDialerBehavioursQuery, type ListFilesQuery, type ListIntegrationsQuery, type ListNumbersQuery, type ListOutboundAttemptsQuery, type ListOutboundLeadsQuery, type ListPhonebookQuery, type ListProcessedOutboundLeadsQuery, type ListPromptsQuery, type ListQueuesQuery, type ListRecordingsQuery, type ListRoutingsQuery, type ListSmsQuery, type ListTasksQuery, type ListTriggersQuery, type ListUsersQuery, type LocalAutomation, type LocalAutomationItemResponse, LogsResource, type ManagedUser, type ManagedUserItemResponse, ManagerApiError, ManagerClient, type ManagerClientOptions, MeResource, type MetricDefinitionItemResponse, type MetricIdItemsResponse, type MetricResponse, MetricsResource, NumbersResource, type OAuthRevokeRequest, type OAuthTokenRequest, type OAuthTokenResponse, type ObjectListResponse, type OutboundCampaign, type OutboundCampaignItemResponse, type OutboundLeadItemResponse, type OutboundList, type OutboundListItemResponse, OutboundResource, type OutboundSimpleReportingQuery, type PaginatedAttemptResponse, type PaginatedLeadResponse, type PaginatedRecordingResponse, type PhonebookCsvFile, type PhonebookEntry, type PhonebookEntryItemResponse, PhonebookResource, type Prompt, type PromptAudioFile, type PromptItemResponse, PromptsResource, type Queue, type QueueItemResponse, type QueueSelection, type QueueSelectionItemResponse, QueueSelectionsResource, type QueueTriggerListResponse, QueuesResource, type Recording, type RecordingItemResponse, type RecordingStartRequest, type RecordingState, type RecordingUpdateBody, RecordingsResource, type ReportingCall, type ReportingCallsQuery, ReportingResource, type RestCreateAgentBody, type RestCreateAgentGroupBody, type RestCreateBabeldeskBody, type RestCreateBabeldeskWidgetBody, type RestCreateBusinessHourBody, type RestCreateCalendarBody, type RestCreateConversationBody, type RestCreateGlobalAutomationBody, type RestCreateLocalAutomationBody, type RestCreatePhonebookEntryBody, type RestCreateQueueBody, type RestCreateQueueSelectionBody, type RestCreateRoutingBody, type RestCreateTriggerBody, type RestUpdateAgentBody, type RestUpdateAgentGroupBody, type RestUpdateBabeldeskBody, type RestUpdateBabeldeskWidgetBody, type RestUpdateBusinessHourBody, type RestUpdateCalendarBody, type RestUpdateConversationBody, type RestUpdateGlobalAutomationBody, type RestUpdateLocalAutomationBody, type RestUpdatePhonebookEntryBody, type RestUpdatePromptBody, type RestUpdateQueueBody, type RestUpdateQueueSelectionBody, type RestUpdateRoutingBody, type RestUpdateTriggerBody, type RetryOptions, type Routing, type RoutingItemResponse, RoutingResource, type ServiceNumber, type ServiceNumberItemResponse, type SessionResponse, SessionsResource, type SetCampaignListRequest, SettingAccessor, type SettingsAppAgentStatus, type SettingsAppConversations, type SettingsAppCustomerLogging, type SettingsAppIntegrations, type SettingsAuditDefault, SettingsResource, type SettingsRetentionPeriods, type SettingsTelephonyAgentInbound, type SettingsTelephonyAgentOutbound, type SettingsTelephonyAgentRecording, type SettingsTelephonyAgentWrapup, type SettingsTelephonyPostCall, type SettingsUiI18N, type SimpleReportingCallsQuery, type Sms, type SmsItemResponse, SmsResource, type StorageState, type StorageType, type StoredFile, type StoredFileItemResponse, type SubmitTaskBody, type SubmitTaskScheduleBody, SystemResource, type Tag, type Task, TaskMetricsResource, type TaskSchedule, TaskSchedulesResource, TaskScriptsResource, TaskSecretsResource, TaskSelectionConfigResource, type TaskTemplateOverrides, TasksResource, type TokenResponse, type Trigger, type TriggerConditionListResponse, type TriggerConditionsRequest, type TriggerItemResponse, type TriggerUsesResponse, TriggersResource, type UpdateAgentStatusRequest, type UpdateCampaignRequest, type UpdateSessionVariablesRequest, type UpdateTaskBody, type User, type UserCustomer, type UserCustomerItemResponse, type UserItemResponse, UsersResource, passwordGrant, withRetry };