@epilot/sdk 2.20.83 → 2.20.84

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/definitions/phone-integration-runtime.json +1 -1
  2. package/definitions/phone-integration.json +1485 -341
  3. package/dist/apis/access-token.cjs +6 -6
  4. package/dist/apis/access-token.js +1 -1
  5. package/dist/apis/address-suggestions.cjs +6 -6
  6. package/dist/apis/address-suggestions.js +1 -1
  7. package/dist/apis/address.cjs +6 -6
  8. package/dist/apis/address.js +1 -1
  9. package/dist/apis/ai-agents.cjs +6 -6
  10. package/dist/apis/ai-agents.js +1 -1
  11. package/dist/apis/app.cjs +6 -6
  12. package/dist/apis/app.js +1 -1
  13. package/dist/apis/audit-logs.cjs +6 -6
  14. package/dist/apis/audit-logs.js +1 -1
  15. package/dist/apis/automation.cjs +6 -6
  16. package/dist/apis/automation.js +1 -1
  17. package/dist/apis/billing.cjs +6 -6
  18. package/dist/apis/billing.js +1 -1
  19. package/dist/apis/blueprint-manifest.cjs +6 -6
  20. package/dist/apis/blueprint-manifest.js +1 -1
  21. package/dist/apis/calendar.cjs +6 -6
  22. package/dist/apis/calendar.js +1 -1
  23. package/dist/apis/chat.cjs +6 -6
  24. package/dist/apis/chat.js +1 -1
  25. package/dist/apis/configuration-hub.cjs +6 -6
  26. package/dist/apis/configuration-hub.js +1 -1
  27. package/dist/apis/consent.cjs +6 -6
  28. package/dist/apis/consent.js +1 -1
  29. package/dist/apis/customer-portal.cjs +6 -6
  30. package/dist/apis/customer-portal.js +1 -1
  31. package/dist/apis/dashboard.cjs +6 -6
  32. package/dist/apis/dashboard.js +1 -1
  33. package/dist/apis/data-governance.cjs +6 -6
  34. package/dist/apis/data-governance.js +1 -1
  35. package/dist/apis/deduplication.cjs +6 -6
  36. package/dist/apis/deduplication.js +1 -1
  37. package/dist/apis/design.cjs +6 -6
  38. package/dist/apis/design.js +1 -1
  39. package/dist/apis/document.cjs +6 -6
  40. package/dist/apis/document.js +1 -1
  41. package/dist/apis/email-settings.cjs +6 -6
  42. package/dist/apis/email-settings.js +1 -1
  43. package/dist/apis/email-template.cjs +6 -6
  44. package/dist/apis/email-template.js +1 -1
  45. package/dist/apis/entity-mapping.cjs +6 -6
  46. package/dist/apis/entity-mapping.js +1 -1
  47. package/dist/apis/entity.cjs +6 -6
  48. package/dist/apis/entity.js +1 -1
  49. package/dist/apis/environments.cjs +6 -6
  50. package/dist/apis/environments.js +1 -1
  51. package/dist/apis/event-catalog.cjs +6 -6
  52. package/dist/apis/event-catalog.js +1 -1
  53. package/dist/apis/external-values.cjs +6 -6
  54. package/dist/apis/external-values.js +1 -1
  55. package/dist/apis/file.cjs +6 -6
  56. package/dist/apis/file.js +1 -1
  57. package/dist/apis/iban.cjs +6 -6
  58. package/dist/apis/iban.js +1 -1
  59. package/dist/apis/identity.cjs +6 -6
  60. package/dist/apis/identity.js +1 -1
  61. package/dist/apis/integration-toolkit.cjs +6 -6
  62. package/dist/apis/integration-toolkit.js +1 -1
  63. package/dist/apis/journey.cjs +6 -6
  64. package/dist/apis/journey.js +1 -1
  65. package/dist/apis/kanban.cjs +6 -6
  66. package/dist/apis/kanban.js +1 -1
  67. package/dist/apis/message.cjs +6 -6
  68. package/dist/apis/message.js +1 -1
  69. package/dist/apis/metering.cjs +6 -6
  70. package/dist/apis/metering.js +1 -1
  71. package/dist/apis/notes.cjs +6 -6
  72. package/dist/apis/notes.js +1 -1
  73. package/dist/apis/notification.cjs +6 -6
  74. package/dist/apis/notification.js +1 -1
  75. package/dist/apis/organization.cjs +6 -6
  76. package/dist/apis/organization.js +1 -1
  77. package/dist/apis/partner-directory.cjs +6 -6
  78. package/dist/apis/partner-directory.js +1 -1
  79. package/dist/apis/permissions.cjs +6 -6
  80. package/dist/apis/permissions.js +1 -1
  81. package/dist/apis/phone-integration.cjs +8 -8
  82. package/dist/apis/phone-integration.d.cts +2 -2
  83. package/dist/apis/phone-integration.d.ts +2 -2
  84. package/dist/apis/phone-integration.js +2 -2
  85. package/dist/apis/pricing-tier.cjs +6 -6
  86. package/dist/apis/pricing-tier.js +1 -1
  87. package/dist/apis/pricing.cjs +6 -6
  88. package/dist/apis/pricing.js +1 -1
  89. package/dist/apis/purpose.cjs +6 -6
  90. package/dist/apis/purpose.js +1 -1
  91. package/dist/apis/query.cjs +6 -6
  92. package/dist/apis/query.js +1 -1
  93. package/dist/apis/sandbox.cjs +6 -6
  94. package/dist/apis/sandbox.js +1 -1
  95. package/dist/apis/sharing.cjs +6 -6
  96. package/dist/apis/sharing.js +1 -1
  97. package/dist/apis/snapshot.cjs +6 -6
  98. package/dist/apis/snapshot.js +1 -1
  99. package/dist/apis/submission.cjs +6 -6
  100. package/dist/apis/submission.js +1 -1
  101. package/dist/apis/target.cjs +6 -6
  102. package/dist/apis/target.js +1 -1
  103. package/dist/apis/targeting.cjs +6 -6
  104. package/dist/apis/targeting.js +1 -1
  105. package/dist/apis/template-variables.cjs +6 -6
  106. package/dist/apis/template-variables.js +1 -1
  107. package/dist/apis/user.cjs +6 -6
  108. package/dist/apis/user.js +1 -1
  109. package/dist/apis/validation-rules.cjs +6 -6
  110. package/dist/apis/validation-rules.js +1 -1
  111. package/dist/apis/webhooks.cjs +6 -6
  112. package/dist/apis/webhooks.js +1 -1
  113. package/dist/apis/workflow-definition.cjs +6 -6
  114. package/dist/apis/workflow-definition.js +1 -1
  115. package/dist/apis/workflow.cjs +6 -6
  116. package/dist/apis/workflow.js +1 -1
  117. package/dist/chunk-E6N33SVB.js +14 -0
  118. package/dist/{chunk-KGIFSOWS.cjs → chunk-T4WYY7OU.cjs} +2 -2
  119. package/dist/chunk-U4AOZZGW.cjs +14 -0
  120. package/dist/{chunk-HFBZFYTU.js → chunk-ZPG2RR4J.js} +2 -2
  121. package/dist/index.cjs +10 -10
  122. package/dist/index.d.cts +1 -1
  123. package/dist/index.d.ts +1 -1
  124. package/dist/index.js +2 -2
  125. package/dist/phone-integration-6GDKV5EH.js +7 -0
  126. package/dist/phone-integration-UENU7EVN.cjs +7 -0
  127. package/dist/{phone-integration-runtime-7PWKKUBM.cjs → phone-integration-runtime-4SDHGFMR.cjs} +2 -2
  128. package/dist/{phone-integration-runtime-5VAA6Q4L.js → phone-integration-runtime-PWUZOJVD.js} +1 -1
  129. package/dist/phone-integration.d-Cx4ZOtzD.d.cts +1429 -0
  130. package/dist/phone-integration.d-Cx4ZOtzD.d.ts +1429 -0
  131. package/docs/phone-integration.md +772 -0
  132. package/package.json +1 -1
  133. package/dist/chunk-NHA2IXWN.cjs +0 -14
  134. package/dist/chunk-QFTXKO2I.js +0 -14
  135. package/dist/phone-integration-ARSGAHNJ.cjs +0 -7
  136. package/dist/phone-integration-MGH7LYID.js +0 -7
  137. package/dist/phone-integration.d-BNqwHuQ6.d.cts +0 -623
  138. package/dist/phone-integration.d-BNqwHuQ6.d.ts +0 -623
@@ -0,0 +1,1429 @@
1
+ import { OpenAPIClient, Parameters, AxiosRequestConfig, OperationResponse, UnknownParamsObject } from 'openapi-client-axios';
2
+
3
+ /* Auto-copied from phone-integration-client */
4
+
5
+
6
+ declare namespace Components {
7
+ namespace Responses {
8
+ export type BadGateway = Schemas.ErrorResponse;
9
+ export type BadRequest = Schemas.ErrorResponse;
10
+ export type Forbidden = Schemas.ErrorResponse;
11
+ export type ServiceUnavailable = Schemas.ErrorResponse;
12
+ export type Unauthorized = Schemas.ErrorResponse;
13
+ }
14
+ namespace Schemas {
15
+ /**
16
+ * The provider presence the agent has selected (e.g. Available, Break, Meeting)
17
+ */
18
+ export interface AgentPresence {
19
+ name: string;
20
+ label: string;
21
+ /**
22
+ * Whether this presence lets the agent take calls
23
+ */
24
+ available: boolean;
25
+ }
26
+ /**
27
+ * A queue an agent can take calls from, and why
28
+ */
29
+ export interface AgentQueueEligibility {
30
+ id: string;
31
+ name: string;
32
+ via: [
33
+ /**
34
+ * How an agent can take a queue's calls:
35
+ * - `skill`: the queue routes to people with a skill the agent has (changes with the agent's skills);
36
+ * - `direct`: the agent is in the queue's epilot-managed step (added from the control center);
37
+ * - `routing`: the phone system's own routing names the agent (a team or a person set up there);
38
+ * epilot does not change it.
39
+ *
40
+ */
41
+ EligibilityPath,
42
+ .../**
43
+ * How an agent can take a queue's calls:
44
+ * - `skill`: the queue routes to people with a skill the agent has (changes with the agent's skills);
45
+ * - `direct`: the agent is in the queue's epilot-managed step (added from the control center);
46
+ * - `routing`: the phone system's own routing names the agent (a team or a person set up there);
47
+ * epilot does not change it.
48
+ *
49
+ */
50
+ EligibilityPath[]
51
+ ];
52
+ /**
53
+ * The agent's skills that make the queue route to them (empty unless `via` has `skill`)
54
+ */
55
+ skills: string[];
56
+ /**
57
+ * The phone system's own routing names the agent (`via` has `routing`), so changing skills or
58
+ * direct membership cannot remove the queue; the control center shows it checked and disabled.
59
+ *
60
+ */
61
+ locked: boolean;
62
+ }
63
+ export interface AgentRouting {
64
+ provider_agent_id: string;
65
+ skills: /**
66
+ * A skill as the phone system holds it (Babelforce: an agent tag). epilot's convention for skills is
67
+ * `<skill category>:<label>` (e.g. `language:german`), which the control center shows as
68
+ * "Category · Label"; a skill without a colon has no category.
69
+ *
70
+ */
71
+ Skill /* ^\S(.*\S)?$ */[];
72
+ queues: /* A queue an agent can take calls from, and why */ AgentQueueEligibility[];
73
+ }
74
+ export interface AgentRoutingPreview {
75
+ provider_agent_id: string;
76
+ /**
77
+ * Queues the agent can take calls from now, as the phone system routes today
78
+ */
79
+ before: QueueRef[];
80
+ after: QueueRef[];
81
+ added: QueueRef[];
82
+ removed: QueueRef[];
83
+ /**
84
+ * Removed queues where this agent is currently the only available eligible agent
85
+ */
86
+ coverage_lost: QueueRef[];
87
+ /**
88
+ * Queues the agent stays in through the phone system's own routing, which this call cannot remove
89
+ */
90
+ locked: QueueRef[];
91
+ }
92
+ export interface AgentRoutingRequest {
93
+ /**
94
+ * The agent's skills in the phone system (full set, not a delta); at most 200
95
+ */
96
+ skills: /**
97
+ * A skill as the phone system holds it (Babelforce: an agent tag). epilot's convention for skills is
98
+ * `<skill category>:<label>` (e.g. `language:german`), which the control center shows as
99
+ * "Category · Label"; a skill without a colon has no category.
100
+ *
101
+ */
102
+ Skill /* ^\S(.*\S)?$ */[];
103
+ /**
104
+ * The queues the agent is directly in, through the epilot-managed step (full set); at most 200
105
+ */
106
+ queue_ids: string /* ^[A-Za-z0-9_-]+$ */[];
107
+ }
108
+ /**
109
+ * The agent's live line state as the provider reports it, plus `offline` for an agent whose
110
+ * presence is not available (not signed in or on a busy presence) and `unknown` when the
111
+ * provider gives no state. `in_call` covers ringing-to-bridged; `wrap_up` is the post-call time.
112
+ *
113
+ */
114
+ export type AgentState = "available" | "ringing" | "in_call" | "wrap_up" | "busy" | "declined" | "unreachable" | "selected" | "offline" | "unknown";
115
+ export interface AssignPhoneAgentRequest {
116
+ /**
117
+ * epilot user id of an active member of the caller's organization
118
+ */
119
+ user_id: string; // ^[A-Za-z0-9_-]+$
120
+ }
121
+ export interface CallReport {
122
+ from: string; // date-time
123
+ to: string; // date-time
124
+ inbound_total: number;
125
+ /**
126
+ * Inbound calls bridged to an agent
127
+ */
128
+ handled_by_agent: number;
129
+ /**
130
+ * Inbound calls that ended without reaching an agent
131
+ */
132
+ abandoned_or_failed: number;
133
+ /**
134
+ * The same window shifted back by whole days (its length rounded up to days), for the trend: a
135
+ * running "today" compares with yesterday up to the same time, "last 7 days" with the 7 days before
136
+ *
137
+ */
138
+ previous_period: {
139
+ from: string; // date-time
140
+ to: string; // date-time
141
+ inbound_total: number;
142
+ };
143
+ }
144
+ export interface CustomerBatchSearchResult {
145
+ /**
146
+ * One result per distinct identifier
147
+ */
148
+ results: CustomerSearchResult[];
149
+ }
150
+ export interface CustomerIdentifier {
151
+ type: "id" | "customer_number" | "external_id" | "phone_number" | "email";
152
+ /**
153
+ * The identifier as sent
154
+ * example:
155
+ * +4917012345678
156
+ */
157
+ value: string;
158
+ }
159
+ export interface CustomerSearchResult {
160
+ identifier: CustomerIdentifier;
161
+ /**
162
+ * - `found` — exactly one contact has the identifier; see `customer`
163
+ * - `not_found` — no contact the caller may see has it
164
+ * - `ambiguous` — several contacts share it; none is chosen
165
+ * - `invalid` — not a usable identifier (a phone number that does
166
+ * not parse), so nothing was searched
167
+ * - `error` — the search for this identifier failed; try again
168
+ *
169
+ */
170
+ status: "found" | "not_found" | "ambiguous" | "invalid" | "error";
171
+ customer?: /* Present when `status` is `found` */ CustomerSummary;
172
+ }
173
+ /**
174
+ * Present when `status` is `found`
175
+ */
176
+ export interface CustomerSummary {
177
+ /**
178
+ * epilot entity id of the customer (Contact)
179
+ * example:
180
+ * dba8e5f9-8b3f-4608-b887-cd0798fce624
181
+ */
182
+ id: string;
183
+ /**
184
+ * The contact's title, else its first and last name; null when it has neither
185
+ * example:
186
+ * Max Mustermann
187
+ */
188
+ name: string | null;
189
+ /**
190
+ * Omitted when the contact has none
191
+ * example:
192
+ * 4711
193
+ */
194
+ customer_number?: string;
195
+ }
196
+ /**
197
+ * How an agent can take a queue's calls:
198
+ * - `skill`: the queue routes to people with a skill the agent has (changes with the agent's skills);
199
+ * - `direct`: the agent is in the queue's epilot-managed step (added from the control center);
200
+ * - `routing`: the phone system's own routing names the agent (a team or a person set up there);
201
+ * epilot does not change it.
202
+ *
203
+ */
204
+ export type EligibilityPath = "skill" | "direct" | "routing";
205
+ /**
206
+ * An agent who can take the queue's calls, with live status
207
+ */
208
+ export interface EligibleAgent {
209
+ provider_agent_id: string;
210
+ user_id?: string;
211
+ name: string;
212
+ email?: string;
213
+ state: /**
214
+ * The agent's live line state as the provider reports it, plus `offline` for an agent whose
215
+ * presence is not available (not signed in or on a busy presence) and `unknown` when the
216
+ * provider gives no state. `in_call` covers ringing-to-bridged; `wrap_up` is the post-call time.
217
+ *
218
+ */
219
+ AgentState;
220
+ presence?: /* The provider presence the agent has selected (e.g. Available, Break, Meeting) */ AgentPresence;
221
+ via: [
222
+ /**
223
+ * How an agent can take a queue's calls:
224
+ * - `skill`: the queue routes to people with a skill the agent has (changes with the agent's skills);
225
+ * - `direct`: the agent is in the queue's epilot-managed step (added from the control center);
226
+ * - `routing`: the phone system's own routing names the agent (a team or a person set up there);
227
+ * epilot does not change it.
228
+ *
229
+ */
230
+ EligibilityPath,
231
+ .../**
232
+ * How an agent can take a queue's calls:
233
+ * - `skill`: the queue routes to people with a skill the agent has (changes with the agent's skills);
234
+ * - `direct`: the agent is in the queue's epilot-managed step (added from the control center);
235
+ * - `routing`: the phone system's own routing names the agent (a team or a person set up there);
236
+ * epilot does not change it.
237
+ *
238
+ */
239
+ EligibilityPath[]
240
+ ];
241
+ /**
242
+ * The agent's skills that make the queue route to them (empty unless `via` has `skill`)
243
+ */
244
+ skills: /**
245
+ * A skill as the phone system holds it (Babelforce: an agent tag). epilot's convention for skills is
246
+ * `<skill category>:<label>` (e.g. `language:german`), which the control center shows as
247
+ * "Category · Label"; a skill without a colon has no category.
248
+ *
249
+ */
250
+ Skill /* ^\S(.*\S)?$ */[];
251
+ }
252
+ export interface ErrorResponse {
253
+ /**
254
+ * HTTP status code.
255
+ */
256
+ status: number;
257
+ /**
258
+ * Human-readable error message.
259
+ */
260
+ error: string;
261
+ /**
262
+ * Stable machine-readable error code, when the operation defines one.
263
+ */
264
+ code?: string;
265
+ }
266
+ export interface LiveAgent {
267
+ /**
268
+ * The phone system's agent id
269
+ */
270
+ provider_agent_id: string;
271
+ /**
272
+ * The epilot user id, when the agent is an epilot phone agent (matched by email)
273
+ */
274
+ user_id?: string;
275
+ name: string;
276
+ email?: string;
277
+ /**
278
+ * Whether the phone system routes queue calls to this agent at all
279
+ */
280
+ enabled: boolean;
281
+ state: /**
282
+ * The agent's live line state as the provider reports it, plus `offline` for an agent whose
283
+ * presence is not available (not signed in or on a busy presence) and `unknown` when the
284
+ * provider gives no state. `in_call` covers ringing-to-bridged; `wrap_up` is the post-call time.
285
+ *
286
+ */
287
+ AgentState;
288
+ presence?: /* The provider presence the agent has selected (e.g. Available, Break, Meeting) */ AgentPresence;
289
+ /**
290
+ * The phone system's human-readable status label
291
+ */
292
+ display_status?: string;
293
+ /**
294
+ * The agent's skills as the phone system holds them (the source of truth for phone routing)
295
+ */
296
+ skills: /**
297
+ * A skill as the phone system holds it (Babelforce: an agent tag). epilot's convention for skills is
298
+ * `<skill category>:<label>` (e.g. `language:german`), which the control center shows as
299
+ * "Category · Label"; a skill without a colon has no category.
300
+ *
301
+ */
302
+ Skill /* ^\S(.*\S)?$ */[];
303
+ /**
304
+ * Queues the agent can take calls from, derived from every queue's routing steps
305
+ */
306
+ queues: /* A queue an agent can take calls from, and why */ AgentQueueEligibility[];
307
+ /**
308
+ * The call the agent is on, when the phone system reports one
309
+ */
310
+ current_call?: {
311
+ started_at: string; // date-time
312
+ queue_name?: string;
313
+ };
314
+ }
315
+ /**
316
+ * Presence counters over the organization's agents
317
+ */
318
+ export interface LiveAgentCounters {
319
+ total: number;
320
+ /**
321
+ * Agents on an available presence, i.e. everyone not offline (available + on call + wrap-up + other busy line states)
322
+ */
323
+ online: number;
324
+ available: number;
325
+ /**
326
+ * Ringing or bridged
327
+ */
328
+ on_call: number;
329
+ wrap_up: number;
330
+ offline: number;
331
+ }
332
+ export interface LiveSnapshot {
333
+ captured_at: string; // date-time
334
+ agents: /* Presence counters over the organization's agents */ LiveAgentCounters;
335
+ queues: /* Live demand and staffing of one queue */ QueueLive[];
336
+ /**
337
+ * Waiting calls across all queues
338
+ */
339
+ calls_waiting: number;
340
+ /**
341
+ * The longest wait across all queues; absent when nothing waits
342
+ */
343
+ longest_wait_seconds?: number;
344
+ }
345
+ export interface ManagerStatus {
346
+ /**
347
+ * Telephony provider behind this organization
348
+ */
349
+ provider: "babelforce";
350
+ /**
351
+ * Agents can be assigned
352
+ */
353
+ ready: boolean;
354
+ /**
355
+ * Why the organization is not ready (empty when ready)
356
+ */
357
+ reasons: ("provider_tenant_missing" | "sso_not_configured" | "scim_not_configured" | "identity_enablement_missing")[];
358
+ }
359
+ /**
360
+ * An agent as a routing step names them
361
+ */
362
+ export interface PersonRef {
363
+ provider_agent_id: string;
364
+ /**
365
+ * The epilot user id, when the agent is an epilot phone agent
366
+ */
367
+ user_id?: string;
368
+ name: string;
369
+ }
370
+ export interface PhoneAgent {
371
+ /**
372
+ * epilot user id
373
+ */
374
+ user_id: string;
375
+ email: string;
376
+ display_name?: string;
377
+ /**
378
+ * `active`: holds the phone and has an enabled provider user. `pending`: assigned in epilot but
379
+ * the provider user is not activated yet. `disabled`: provider user disabled. `missing_provider`:
380
+ * holds `phone:use` but no provider user is bound (assign again to repair). `missing_role`:
381
+ * assigned here, but the `phone_agent` role (`phone:use`) was removed elsewhere, e.g. in the
382
+ * users and permissions settings (assign again to restore it, or remove to deactivate the
383
+ * provider user).
384
+ *
385
+ */
386
+ status: "active" | "pending" | "disabled" | "missing_provider" | "missing_role";
387
+ /**
388
+ * The provider's id of the bound user
389
+ */
390
+ provider_user_id?: string;
391
+ provider_roles?: string[];
392
+ assigned_at?: string; // date-time
393
+ /**
394
+ * epilot user id of the manager who assigned the phone
395
+ */
396
+ assigned_by?: string;
397
+ }
398
+ export interface ProviderSetup {
399
+ provider: "babelforce";
400
+ org_id: string;
401
+ /**
402
+ * Everything below is in place
403
+ */
404
+ ready: boolean;
405
+ /**
406
+ * The provider tenant for this organization (null until created)
407
+ */
408
+ tenant: {
409
+ id: string;
410
+ name: string;
411
+ org_key: string;
412
+ created_at?: string; // date-time
413
+ } | null;
414
+ scim: {
415
+ configured: boolean;
416
+ roles_enabled: boolean;
417
+ };
418
+ sso: {
419
+ configured: boolean;
420
+ /**
421
+ * The identity-api client the tenant's SSO configuration points at
422
+ */
423
+ identity_client_id?: string;
424
+ configured_at?: string; // date-time
425
+ };
426
+ /**
427
+ * Admin-portal operator (email) who last ran the setup
428
+ */
429
+ last_setup_by?: string;
430
+ }
431
+ export interface ProviderSetupRequest {
432
+ /**
433
+ * Provider tenant name, unique across the provider (3 to 100 characters). Required the first
434
+ * time (`400` with code `account_name_required` without it); ignored once the tenant exists.
435
+ *
436
+ */
437
+ account_name?: string;
438
+ /**
439
+ * identity-api client registered for the provider (its partner application for this stage)
440
+ */
441
+ identity_client_id: string; // ^[A-Za-z0-9._~-]+$
442
+ /**
443
+ * The client's current secret, forwarded to the provider's SSO configuration and never stored
444
+ */
445
+ identity_client_secret: string;
446
+ }
447
+ /**
448
+ * One organization's provider setup, as listed in the overview (no live SCIM or SSO reads).
449
+ */
450
+ export interface ProviderSetupSummary {
451
+ /**
452
+ * epilot organization id (the provider tenant's org key)
453
+ */
454
+ org_id: string;
455
+ provider: "babelforce";
456
+ /**
457
+ * Phone agents can be assigned (same rule as getManagerStatus)
458
+ */
459
+ ready: boolean;
460
+ /**
461
+ * `setupProvider` has run for this organization at least once. `false` for a tenant created by
462
+ * hand at the provider: run the setup once to record it.
463
+ *
464
+ */
465
+ setup_recorded: boolean;
466
+ tenant: {
467
+ /**
468
+ * The provider's tenant id (Babelforce sub-account id)
469
+ */
470
+ id: string;
471
+ name: string;
472
+ org_key: string;
473
+ };
474
+ /**
475
+ * The identity-api client the recorded SSO configuration points at
476
+ */
477
+ sso_identity_client_id?: string;
478
+ /**
479
+ * The operator who last ran the setup (email)
480
+ */
481
+ last_setup_by?: string;
482
+ /**
483
+ * When the setup record last changed
484
+ */
485
+ updated_at?: string; // date-time
486
+ }
487
+ /**
488
+ * Live demand and staffing of one queue
489
+ */
490
+ export interface QueueDetail {
491
+ id: string;
492
+ name: string;
493
+ /**
494
+ * Calls waiting in the queue right now
495
+ */
496
+ waiting: number;
497
+ /**
498
+ * How long the longest-waiting call has waited; absent when nothing waits
499
+ */
500
+ longest_wait_seconds?: number;
501
+ /**
502
+ * Agents the queue's routing steps resolve to
503
+ */
504
+ eligible: number;
505
+ /**
506
+ * Eligible agents whose state is `available` right now
507
+ */
508
+ available: number;
509
+ health: /**
510
+ * `at_risk`: calls are waiting and no eligible agent is available. `healthy`: at least one
511
+ * eligible agent is available. `quiet`: nothing waiting and nobody available.
512
+ *
513
+ */
514
+ QueueHealth;
515
+ /**
516
+ * Service numbers routed into this queue, when the phone system makes that derivable
517
+ */
518
+ numbers?: string[];
519
+ /**
520
+ * Who can take the queue's calls, in the order the phone system tries them
521
+ */
522
+ routing: /**
523
+ * One step of who can take a queue's calls, in the order the phone system tries them. A step
524
+ * offers calls to the people it names and to everyone with any of its skills. Teams set up in the
525
+ * phone system appear as the people they contain. The epilot-managed step holds the people added
526
+ * from the control center; every other step is the organization's own routing, read-only here.
527
+ *
528
+ */
529
+ QueueRoutingStep[];
530
+ captured_at: string; // date-time
531
+ eligible_agents: /* An agent who can take the queue's calls, with live status */ EligibleAgent[];
532
+ waiting_calls: WaitingCall[];
533
+ }
534
+ /**
535
+ * `at_risk`: calls are waiting and no eligible agent is available. `healthy`: at least one
536
+ * eligible agent is available. `quiet`: nothing waiting and nobody available.
537
+ *
538
+ */
539
+ export type QueueHealth = "healthy" | "at_risk" | "quiet";
540
+ /**
541
+ * Live demand and staffing of one queue
542
+ */
543
+ export interface QueueLive {
544
+ id: string;
545
+ name: string;
546
+ /**
547
+ * Calls waiting in the queue right now
548
+ */
549
+ waiting: number;
550
+ /**
551
+ * How long the longest-waiting call has waited; absent when nothing waits
552
+ */
553
+ longest_wait_seconds?: number;
554
+ /**
555
+ * Agents the queue's routing steps resolve to
556
+ */
557
+ eligible: number;
558
+ /**
559
+ * Eligible agents whose state is `available` right now
560
+ */
561
+ available: number;
562
+ health: /**
563
+ * `at_risk`: calls are waiting and no eligible agent is available. `healthy`: at least one
564
+ * eligible agent is available. `quiet`: nothing waiting and nobody available.
565
+ *
566
+ */
567
+ QueueHealth;
568
+ }
569
+ /**
570
+ * Live demand and staffing of one queue
571
+ */
572
+ export interface QueueOverview {
573
+ id: string;
574
+ name: string;
575
+ /**
576
+ * Calls waiting in the queue right now
577
+ */
578
+ waiting: number;
579
+ /**
580
+ * How long the longest-waiting call has waited; absent when nothing waits
581
+ */
582
+ longest_wait_seconds?: number;
583
+ /**
584
+ * Agents the queue's routing steps resolve to
585
+ */
586
+ eligible: number;
587
+ /**
588
+ * Eligible agents whose state is `available` right now
589
+ */
590
+ available: number;
591
+ health: /**
592
+ * `at_risk`: calls are waiting and no eligible agent is available. `healthy`: at least one
593
+ * eligible agent is available. `quiet`: nothing waiting and nobody available.
594
+ *
595
+ */
596
+ QueueHealth;
597
+ /**
598
+ * Service numbers routed into this queue, when the phone system makes that derivable
599
+ */
600
+ numbers?: string[];
601
+ /**
602
+ * Who can take the queue's calls, in the order the phone system tries them
603
+ */
604
+ routing: /**
605
+ * One step of who can take a queue's calls, in the order the phone system tries them. A step
606
+ * offers calls to the people it names and to everyone with any of its skills. Teams set up in the
607
+ * phone system appear as the people they contain. The epilot-managed step holds the people added
608
+ * from the control center; every other step is the organization's own routing, read-only here.
609
+ *
610
+ */
611
+ QueueRoutingStep[];
612
+ }
613
+ export interface QueueRef {
614
+ id: string;
615
+ name: string;
616
+ }
617
+ /**
618
+ * One step of who can take a queue's calls, in the order the phone system tries them. A step
619
+ * offers calls to the people it names and to everyone with any of its skills. Teams set up in the
620
+ * phone system appear as the people they contain. The epilot-managed step holds the people added
621
+ * from the control center; every other step is the organization's own routing, read-only here.
622
+ *
623
+ */
624
+ export interface QueueRoutingStep {
625
+ id: string;
626
+ /**
627
+ * Lower is tried first
628
+ */
629
+ order: number;
630
+ label: string;
631
+ enabled: boolean;
632
+ /**
633
+ * Skills the step routes on (anyone with any of them)
634
+ */
635
+ skills: /**
636
+ * A skill as the phone system holds it (Babelforce: an agent tag). epilot's convention for skills is
637
+ * `<skill category>:<label>` (e.g. `language:german`), which the control center shows as
638
+ * "Category · Label"; a skill without a colon has no category.
639
+ *
640
+ */
641
+ Skill /* ^\S(.*\S)?$ */[];
642
+ /**
643
+ * People the step names, directly or through a team set up in the phone system
644
+ */
645
+ people: /* An agent as a routing step names them */ PersonRef[];
646
+ /**
647
+ * The step `setAgentRouting` maintains; the only one the control center writes
648
+ */
649
+ managed_by_epilot: boolean;
650
+ }
651
+ /**
652
+ * A skill as the phone system holds it (Babelforce: an agent tag). epilot's convention for skills is
653
+ * `<skill category>:<label>` (e.g. `language:german`), which the control center shows as
654
+ * "Category · Label"; a skill without a colon has no category.
655
+ *
656
+ */
657
+ export type Skill = string; // ^\S(.*\S)?$
658
+ export interface WaitingCall {
659
+ id: string;
660
+ /**
661
+ * The caller's number with all but the last four digits hidden
662
+ */
663
+ from_masked?: string;
664
+ waited_seconds: number;
665
+ /**
666
+ * The provider's call state (e.g. `queued`, `ringing`)
667
+ */
668
+ state: string;
669
+ }
670
+ }
671
+ }
672
+ declare namespace Paths {
673
+ namespace AssignPhoneAgent {
674
+ export type RequestBody = Components.Schemas.AssignPhoneAgentRequest;
675
+ namespace Responses {
676
+ export type $200 = Components.Schemas.PhoneAgent;
677
+ export type $201 = Components.Schemas.PhoneAgent;
678
+ export type $400 = Components.Responses.BadRequest;
679
+ export type $401 = Components.Responses.Unauthorized;
680
+ export type $403 = Components.Responses.Forbidden;
681
+ export type $404 = Components.Schemas.ErrorResponse;
682
+ export type $409 = Components.Schemas.ErrorResponse;
683
+ export type $502 = Components.Responses.BadGateway;
684
+ }
685
+ }
686
+ namespace BatchSearchCustomers {
687
+ export interface HeaderParameters {
688
+ "x-trace-id"?: Parameters.XTraceId;
689
+ }
690
+ namespace Parameters {
691
+ export type CustomerNumber = string[];
692
+ export type Email = string[];
693
+ export type ExternalId = string[];
694
+ export type Id = string[];
695
+ export type PhoneNumber = string[];
696
+ export type XTraceId = string;
697
+ }
698
+ export interface QueryParameters {
699
+ id?: Parameters.Id;
700
+ customer_number?: Parameters.CustomerNumber;
701
+ external_id?: Parameters.ExternalId;
702
+ phone_number?: Parameters.PhoneNumber;
703
+ email?: Parameters.Email;
704
+ }
705
+ namespace Responses {
706
+ export type $200 = Components.Schemas.CustomerBatchSearchResult;
707
+ export type $400 = Components.Schemas.ErrorResponse;
708
+ export type $401 = Components.Schemas.ErrorResponse;
709
+ export type $403 = Components.Schemas.ErrorResponse;
710
+ }
711
+ }
712
+ namespace GetCallReport {
713
+ namespace Parameters {
714
+ export type From = string;
715
+ export type To = string;
716
+ }
717
+ export interface QueryParameters {
718
+ from: Parameters.From;
719
+ to: Parameters.To;
720
+ }
721
+ namespace Responses {
722
+ export type $200 = Components.Schemas.CallReport;
723
+ export type $400 = Components.Responses.BadRequest;
724
+ export type $401 = Components.Responses.Unauthorized;
725
+ export type $403 = Components.Responses.Forbidden;
726
+ export type $409 = Components.Schemas.ErrorResponse;
727
+ export type $502 = Components.Responses.BadGateway;
728
+ }
729
+ }
730
+ namespace GetLiveSnapshot {
731
+ namespace Responses {
732
+ export type $200 = Components.Schemas.LiveSnapshot;
733
+ export type $401 = Components.Responses.Unauthorized;
734
+ export type $403 = Components.Responses.Forbidden;
735
+ export type $409 = Components.Schemas.ErrorResponse;
736
+ export type $502 = Components.Responses.BadGateway;
737
+ }
738
+ }
739
+ namespace GetManagerStatus {
740
+ namespace Responses {
741
+ export type $200 = Components.Schemas.ManagerStatus;
742
+ export type $401 = Components.Responses.Unauthorized;
743
+ export type $403 = Components.Responses.Forbidden;
744
+ }
745
+ }
746
+ namespace GetProviderSetup {
747
+ namespace Responses {
748
+ export type $200 = Components.Schemas.ProviderSetup;
749
+ export type $400 = Components.Responses.BadRequest;
750
+ export type $401 = Components.Responses.Unauthorized;
751
+ export type $403 = Components.Responses.Forbidden;
752
+ export type $502 = Components.Responses.BadGateway;
753
+ export type $503 = Components.Responses.ServiceUnavailable;
754
+ }
755
+ }
756
+ namespace GetQueue {
757
+ namespace Responses {
758
+ export type $200 = /* Live demand and staffing of one queue */ Components.Schemas.QueueDetail;
759
+ export type $401 = Components.Responses.Unauthorized;
760
+ export type $403 = Components.Responses.Forbidden;
761
+ export type $404 = Components.Schemas.ErrorResponse;
762
+ export type $409 = Components.Schemas.ErrorResponse;
763
+ export type $502 = Components.Responses.BadGateway;
764
+ }
765
+ }
766
+ namespace ListLiveAgents {
767
+ namespace Responses {
768
+ export interface $200 {
769
+ captured_at: string; // date-time
770
+ results: Components.Schemas.LiveAgent[];
771
+ }
772
+ export type $401 = Components.Responses.Unauthorized;
773
+ export type $403 = Components.Responses.Forbidden;
774
+ export type $409 = Components.Schemas.ErrorResponse;
775
+ export type $502 = Components.Responses.BadGateway;
776
+ }
777
+ }
778
+ namespace ListPhoneAgents {
779
+ namespace Responses {
780
+ export interface $200 {
781
+ results: Components.Schemas.PhoneAgent[];
782
+ }
783
+ export type $401 = Components.Responses.Unauthorized;
784
+ export type $403 = Components.Responses.Forbidden;
785
+ export type $502 = Components.Responses.BadGateway;
786
+ }
787
+ }
788
+ namespace ListProviderSetups {
789
+ namespace Responses {
790
+ export interface $200 {
791
+ results: /* One organization's provider setup, as listed in the overview (no live SCIM or SSO reads). */ Components.Schemas.ProviderSetupSummary[];
792
+ }
793
+ export type $401 = Components.Responses.Unauthorized;
794
+ export type $403 = Components.Responses.Forbidden;
795
+ export type $502 = Components.Responses.BadGateway;
796
+ export type $503 = Components.Responses.ServiceUnavailable;
797
+ }
798
+ }
799
+ namespace ListQueues {
800
+ namespace Responses {
801
+ export interface $200 {
802
+ captured_at: string; // date-time
803
+ results: /* Live demand and staffing of one queue */ Components.Schemas.QueueOverview[];
804
+ }
805
+ export type $401 = Components.Responses.Unauthorized;
806
+ export type $403 = Components.Responses.Forbidden;
807
+ export type $409 = Components.Schemas.ErrorResponse;
808
+ export type $502 = Components.Responses.BadGateway;
809
+ }
810
+ }
811
+ namespace PreviewAgentRouting {
812
+ export type RequestBody = Components.Schemas.AgentRoutingRequest;
813
+ namespace Responses {
814
+ export type $200 = Components.Schemas.AgentRoutingPreview;
815
+ export type $400 = Components.Responses.BadRequest;
816
+ export type $401 = Components.Responses.Unauthorized;
817
+ export type $403 = Components.Responses.Forbidden;
818
+ export type $404 = Components.Schemas.ErrorResponse;
819
+ export type $409 = Components.Schemas.ErrorResponse;
820
+ export type $502 = Components.Responses.BadGateway;
821
+ }
822
+ }
823
+ namespace RemovePhoneAgent {
824
+ namespace Responses {
825
+ export interface $204 {
826
+ }
827
+ export type $400 = Components.Responses.BadRequest;
828
+ export type $401 = Components.Responses.Unauthorized;
829
+ export type $403 = Components.Responses.Forbidden;
830
+ export type $404 = Components.Schemas.ErrorResponse;
831
+ export type $502 = Components.Schemas.ErrorResponse;
832
+ }
833
+ }
834
+ namespace SetAgentRouting {
835
+ export type RequestBody = Components.Schemas.AgentRoutingRequest;
836
+ namespace Responses {
837
+ export type $200 = Components.Schemas.AgentRouting;
838
+ export type $400 = Components.Responses.BadRequest;
839
+ export type $401 = Components.Responses.Unauthorized;
840
+ export type $403 = Components.Responses.Forbidden;
841
+ export type $404 = Components.Schemas.ErrorResponse;
842
+ export type $409 = Components.Schemas.ErrorResponse;
843
+ export type $502 = Components.Responses.BadGateway;
844
+ }
845
+ }
846
+ namespace SetupProvider {
847
+ export type RequestBody = Components.Schemas.ProviderSetupRequest;
848
+ namespace Responses {
849
+ export type $200 = Components.Schemas.ProviderSetup;
850
+ export type $400 = Components.Responses.BadRequest;
851
+ export type $401 = Components.Responses.Unauthorized;
852
+ export type $403 = Components.Responses.Forbidden;
853
+ export type $409 = Components.Schemas.ErrorResponse;
854
+ export type $502 = Components.Responses.BadGateway;
855
+ export type $503 = Components.Responses.ServiceUnavailable;
856
+ }
857
+ }
858
+ namespace V1ManagerAgents$ProviderAgentIdRouting {
859
+ namespace Parameters {
860
+ export type ProviderAgentId = string; // ^[A-Za-z0-9_-]+$
861
+ }
862
+ export interface PathParameters {
863
+ provider_agent_id: Parameters.ProviderAgentId /* ^[A-Za-z0-9_-]+$ */;
864
+ }
865
+ }
866
+ namespace V1ManagerAgents$ProviderAgentIdRoutingPreview {
867
+ namespace Parameters {
868
+ export type ProviderAgentId = string; // ^[A-Za-z0-9_-]+$
869
+ }
870
+ export interface PathParameters {
871
+ provider_agent_id: Parameters.ProviderAgentId /* ^[A-Za-z0-9_-]+$ */;
872
+ }
873
+ }
874
+ namespace V1ManagerAgents$UserId {
875
+ namespace Parameters {
876
+ export type UserId = string; // ^[A-Za-z0-9_-]+$
877
+ }
878
+ export interface PathParameters {
879
+ user_id: Parameters.UserId /* ^[A-Za-z0-9_-]+$ */;
880
+ }
881
+ }
882
+ namespace V1ManagerQueues$QueueId {
883
+ namespace Parameters {
884
+ export type QueueId = string; // ^[A-Za-z0-9_-]+$
885
+ }
886
+ export interface PathParameters {
887
+ queue_id: Parameters.QueueId /* ^[A-Za-z0-9_-]+$ */;
888
+ }
889
+ }
890
+ namespace V1OperatorOrganizations$OrgIdProvider {
891
+ namespace Parameters {
892
+ export type OrgId = string; // ^[A-Za-z0-9_-]+$
893
+ }
894
+ export interface PathParameters {
895
+ org_id: Parameters.OrgId /* ^[A-Za-z0-9_-]+$ */;
896
+ }
897
+ }
898
+ namespace V1OperatorOrganizations$OrgIdProviderSetup {
899
+ namespace Parameters {
900
+ export type OrgId = string; // ^[A-Za-z0-9_-]+$
901
+ }
902
+ export interface PathParameters {
903
+ org_id: Parameters.OrgId /* ^[A-Za-z0-9_-]+$ */;
904
+ }
905
+ }
906
+ }
907
+
908
+
909
+ interface OperationMethods {
910
+ /**
911
+ * batchSearchCustomers - batchSearchCustomers
912
+ *
913
+ * Resolves up to 50 identifiers to epilot customers (Contacts) in one
914
+ * request — for example every number in an agent's call history.
915
+ *
916
+ * Each identifier is an exact key of a Contact: its entity `id`, its
917
+ * `customer_number`, its `external_id`, one of its `email` addresses or
918
+ * one of its `phone` numbers. Repeat a parameter to pass several values,
919
+ * and combine parameters freely. Phone numbers are normalized on the
920
+ * server, so E.164, national and formatted forms of one number match the
921
+ * same contact; the other identifiers match exactly, ignoring case and
922
+ * surrounding whitespace.
923
+ *
924
+ * Every distinct identifier gets its own result, so one unknown or
925
+ * ambiguous identifier never fails the others. Results are ordered by
926
+ * parameter (`id`, `customer_number`, `external_id`, `phone_number`,
927
+ * `email`), then as sent; match them by `identifier`.
928
+ *
929
+ * The search runs with the caller's token: the organization and the
930
+ * permissions applied are the caller's own, as for entity search.
931
+ *
932
+ */
933
+ 'batchSearchCustomers'(
934
+ parameters?: Parameters<Paths.BatchSearchCustomers.QueryParameters & Paths.BatchSearchCustomers.HeaderParameters> | null,
935
+ data?: any,
936
+ config?: AxiosRequestConfig
937
+ ): OperationResponse<Paths.BatchSearchCustomers.Responses.$200>
938
+ /**
939
+ * getManagerStatus - getManagerStatus
940
+ *
941
+ * Whether the caller's organization is ready for phone agents: the telephony provider tenant
942
+ * exists and is configured. The control center shows a "not set up" state when `ready` is false.
943
+ * Requires `phone:manage`.
944
+ *
945
+ */
946
+ 'getManagerStatus'(
947
+ parameters?: Parameters<UnknownParamsObject> | null,
948
+ data?: any,
949
+ config?: AxiosRequestConfig
950
+ ): OperationResponse<Paths.GetManagerStatus.Responses.$200>
951
+ /**
952
+ * listPhoneAgents - listPhoneAgents
953
+ *
954
+ * Organization members who hold the phone (`phone:use`), each joined with the provider user behind
955
+ * them. Requires `phone:manage`.
956
+ *
957
+ */
958
+ 'listPhoneAgents'(
959
+ parameters?: Parameters<UnknownParamsObject> | null,
960
+ data?: any,
961
+ config?: AxiosRequestConfig
962
+ ): OperationResponse<Paths.ListPhoneAgents.Responses.$200>
963
+ /**
964
+ * assignPhoneAgent - assignPhoneAgent
965
+ *
966
+ * Gives an organization member the phone. In order: the member is verified with user-api, their
967
+ * pairwise subject for the provider is read from identity-api, the provider user is created (or
968
+ * found) bound to that subject with the `agent` role, and only then the `phone_agent` role
969
+ * (`phone:use`) is assigned in epilot. Idempotent: an already assigned member answers `200`.
970
+ * Requires `phone:manage`.
971
+ *
972
+ */
973
+ 'assignPhoneAgent'(
974
+ parameters?: Parameters<UnknownParamsObject> | null,
975
+ data?: Paths.AssignPhoneAgent.RequestBody,
976
+ config?: AxiosRequestConfig
977
+ ): OperationResponse<Paths.AssignPhoneAgent.Responses.$200 | Paths.AssignPhoneAgent.Responses.$201>
978
+ /**
979
+ * removePhoneAgent - removePhoneAgent
980
+ *
981
+ * Takes the phone away from a member: the `phone_agent` role is removed first, then the provider
982
+ * user is deactivated (never deleted: call history keeps referring to it). Requires `phone:manage`.
983
+ *
984
+ */
985
+ 'removePhoneAgent'(
986
+ parameters?: Parameters<Paths.V1ManagerAgents$UserId.PathParameters> | null,
987
+ data?: any,
988
+ config?: AxiosRequestConfig
989
+ ): OperationResponse<Paths.RemovePhoneAgent.Responses.$204>
990
+ /**
991
+ * getLiveSnapshot - getLiveSnapshot
992
+ *
993
+ * One snapshot of the organization's live phone state for the control center's Overview: agent
994
+ * presence counters and per-queue health (waiting calls, longest wait, eligible vs available
995
+ * agents). Read from the provider on every call (no caching); the control center polls it about
996
+ * every 20 seconds. Requires `phone:manage`.
997
+ *
998
+ */
999
+ 'getLiveSnapshot'(
1000
+ parameters?: Parameters<UnknownParamsObject> | null,
1001
+ data?: any,
1002
+ config?: AxiosRequestConfig
1003
+ ): OperationResponse<Paths.GetLiveSnapshot.Responses.$200>
1004
+ /**
1005
+ * listLiveAgents - listLiveAgents
1006
+ *
1007
+ * The organization's phone agents with their live phone status, their skills (as the phone system
1008
+ * holds them) and the queues they can take calls from. Agents that are epilot phone agents carry
1009
+ * the epilot `user_id`. Queue eligibility is derived from every queue's routing steps (skills and
1010
+ * people). The control center filters and searches this list client-side and polls it about every
1011
+ * 20 seconds. Requires `phone:manage`.
1012
+ *
1013
+ */
1014
+ 'listLiveAgents'(
1015
+ parameters?: Parameters<UnknownParamsObject> | null,
1016
+ data?: any,
1017
+ config?: AxiosRequestConfig
1018
+ ): OperationResponse<Paths.ListLiveAgents.Responses.$200>
1019
+ /**
1020
+ * setAgentRouting - setAgentRouting
1021
+ *
1022
+ * Sets an agent's skills and direct queue membership (full sets, not deltas), in this order:
1023
+ * 1. Skills: the agent's skills in the phone system are replaced by `skills`, so the phone system
1024
+ * routes on them right away. The phone system is the source of truth for phone skills; they are
1025
+ * independent of the skills in epilot's Access Management.
1026
+ * 2. Direct queue membership: each listed queue gets the agent in its epilot-managed routing step
1027
+ * (created on first use, lowest precedence, never touching the organization's own routing in
1028
+ * the phone system); every other queue's epilot-managed step drops the agent. Eligibility
1029
+ * through the phone system's own routing is not changed (`locked`).
1030
+ * Idempotent; a failure part-way answers `502` and repeating the call completes it. Requires
1031
+ * `phone:manage`.
1032
+ *
1033
+ */
1034
+ 'setAgentRouting'(
1035
+ parameters?: Parameters<Paths.V1ManagerAgents$ProviderAgentIdRouting.PathParameters> | null,
1036
+ data?: Paths.SetAgentRouting.RequestBody,
1037
+ config?: AxiosRequestConfig
1038
+ ): OperationResponse<Paths.SetAgentRouting.Responses.$200>
1039
+ /**
1040
+ * previewAgentRouting - previewAgentRouting
1041
+ *
1042
+ * The routing impact of `setAgentRouting` with the same body, without changing anything: the
1043
+ * queues the agent can take calls from now (as the phone system routes today) and after the
1044
+ * change, what is added and removed, the queues that would lose their last available agent, and
1045
+ * the queues the agent stays in through the phone system's own routing. Requires `phone:manage`.
1046
+ *
1047
+ */
1048
+ 'previewAgentRouting'(
1049
+ parameters?: Parameters<Paths.V1ManagerAgents$ProviderAgentIdRoutingPreview.PathParameters> | null,
1050
+ data?: Paths.PreviewAgentRouting.RequestBody,
1051
+ config?: AxiosRequestConfig
1052
+ ): OperationResponse<Paths.PreviewAgentRouting.Responses.$200>
1053
+ /**
1054
+ * listQueues - listQueues
1055
+ *
1056
+ * The organization's queues with live demand (waiting calls, longest wait), staffing (eligible
1057
+ * vs available agents), derived health and who can take their calls: the routing steps in the
1058
+ * order the phone system tries them, each naming skills and people. Routing is read-only in the
1059
+ * control center except the epilot-managed step that `setAgentRouting` maintains. Polled about
1060
+ * every 20 seconds. Requires `phone:manage`.
1061
+ *
1062
+ */
1063
+ 'listQueues'(
1064
+ parameters?: Parameters<UnknownParamsObject> | null,
1065
+ data?: any,
1066
+ config?: AxiosRequestConfig
1067
+ ): OperationResponse<Paths.ListQueues.Responses.$200>
1068
+ /**
1069
+ * getQueue - getQueue
1070
+ *
1071
+ * One queue for the control center's queue drawer: the overview fields plus the agents currently
1072
+ * eligible for it (with live status and how they are eligible) and the calls waiting in it.
1073
+ * Requires `phone:manage`.
1074
+ *
1075
+ */
1076
+ 'getQueue'(
1077
+ parameters?: Parameters<Paths.V1ManagerQueues$QueueId.PathParameters> | null,
1078
+ data?: any,
1079
+ config?: AxiosRequestConfig
1080
+ ): OperationResponse<Paths.GetQueue.Responses.$200>
1081
+ /**
1082
+ * getCallReport - getCallReport
1083
+ *
1084
+ * Inbound call outcomes for a period, from the provider's call reporting: how many inbound calls
1085
+ * there were, how many an agent handled (bridged) and how many ended without an agent (abandoned
1086
+ * or failed), plus the inbound total of the period of the same length just before, for the
1087
+ * trend. The window is at most 31 days. Requires `phone:manage`.
1088
+ *
1089
+ */
1090
+ 'getCallReport'(
1091
+ parameters?: Parameters<Paths.GetCallReport.QueryParameters> | null,
1092
+ data?: any,
1093
+ config?: AxiosRequestConfig
1094
+ ): OperationResponse<Paths.GetCallReport.Responses.$200>
1095
+ /**
1096
+ * listProviderSetups - listProviderSetups
1097
+ *
1098
+ * Every organization that has a telephony provider tenant, for the admin portal's overview: the
1099
+ * provider's sub-accounts (one per organization, keyed by the organization id) joined with this
1100
+ * service's setup record. `ready` follows getManagerStatus: an organization whose tenant was created
1101
+ * by hand, outside `setupProvider`, has no record and is not ready until the setup runs once.
1102
+ * Sorted by organization id; not paged (one tenant per organization, a few hundred at most).
1103
+ *
1104
+ */
1105
+ 'listProviderSetups'(
1106
+ parameters?: Parameters<UnknownParamsObject> | null,
1107
+ data?: any,
1108
+ config?: AxiosRequestConfig
1109
+ ): OperationResponse<Paths.ListProviderSetups.Responses.$200>
1110
+ /**
1111
+ * getProviderSetup - getProviderSetup
1112
+ *
1113
+ * What has been set up at the telephony provider for this organization.
1114
+ */
1115
+ 'getProviderSetup'(
1116
+ parameters?: Parameters<Paths.V1OperatorOrganizations$OrgIdProvider.PathParameters> | null,
1117
+ data?: any,
1118
+ config?: AxiosRequestConfig
1119
+ ): OperationResponse<Paths.GetProviderSetup.Responses.$200>
1120
+ /**
1121
+ * setupProvider - setupProvider
1122
+ *
1123
+ * Prepares the telephony provider for an organization, idempotently and in order: the provider
1124
+ * tenant (Babelforce sub-account keyed by the organization id), its SCIM configuration with role
1125
+ * management on, and its SSO configuration pointing at the identity-api client given here. The
1126
+ * client secret is forwarded to the provider and never stored by this service. Re-running updates
1127
+ * the SSO configuration (new client or rotated secret) and leaves the rest untouched.
1128
+ *
1129
+ */
1130
+ 'setupProvider'(
1131
+ parameters?: Parameters<Paths.V1OperatorOrganizations$OrgIdProviderSetup.PathParameters> | null,
1132
+ data?: Paths.SetupProvider.RequestBody,
1133
+ config?: AxiosRequestConfig
1134
+ ): OperationResponse<Paths.SetupProvider.Responses.$200>
1135
+ }
1136
+
1137
+ interface PathsDictionary {
1138
+ ['/v1/customer:batchSearch']: {
1139
+ /**
1140
+ * batchSearchCustomers - batchSearchCustomers
1141
+ *
1142
+ * Resolves up to 50 identifiers to epilot customers (Contacts) in one
1143
+ * request — for example every number in an agent's call history.
1144
+ *
1145
+ * Each identifier is an exact key of a Contact: its entity `id`, its
1146
+ * `customer_number`, its `external_id`, one of its `email` addresses or
1147
+ * one of its `phone` numbers. Repeat a parameter to pass several values,
1148
+ * and combine parameters freely. Phone numbers are normalized on the
1149
+ * server, so E.164, national and formatted forms of one number match the
1150
+ * same contact; the other identifiers match exactly, ignoring case and
1151
+ * surrounding whitespace.
1152
+ *
1153
+ * Every distinct identifier gets its own result, so one unknown or
1154
+ * ambiguous identifier never fails the others. Results are ordered by
1155
+ * parameter (`id`, `customer_number`, `external_id`, `phone_number`,
1156
+ * `email`), then as sent; match them by `identifier`.
1157
+ *
1158
+ * The search runs with the caller's token: the organization and the
1159
+ * permissions applied are the caller's own, as for entity search.
1160
+ *
1161
+ */
1162
+ 'get'(
1163
+ parameters?: Parameters<Paths.BatchSearchCustomers.QueryParameters & Paths.BatchSearchCustomers.HeaderParameters> | null,
1164
+ data?: any,
1165
+ config?: AxiosRequestConfig
1166
+ ): OperationResponse<Paths.BatchSearchCustomers.Responses.$200>
1167
+ }
1168
+ ['/v1/manager/status']: {
1169
+ /**
1170
+ * getManagerStatus - getManagerStatus
1171
+ *
1172
+ * Whether the caller's organization is ready for phone agents: the telephony provider tenant
1173
+ * exists and is configured. The control center shows a "not set up" state when `ready` is false.
1174
+ * Requires `phone:manage`.
1175
+ *
1176
+ */
1177
+ 'get'(
1178
+ parameters?: Parameters<UnknownParamsObject> | null,
1179
+ data?: any,
1180
+ config?: AxiosRequestConfig
1181
+ ): OperationResponse<Paths.GetManagerStatus.Responses.$200>
1182
+ }
1183
+ ['/v1/manager/agents']: {
1184
+ /**
1185
+ * listPhoneAgents - listPhoneAgents
1186
+ *
1187
+ * Organization members who hold the phone (`phone:use`), each joined with the provider user behind
1188
+ * them. Requires `phone:manage`.
1189
+ *
1190
+ */
1191
+ 'get'(
1192
+ parameters?: Parameters<UnknownParamsObject> | null,
1193
+ data?: any,
1194
+ config?: AxiosRequestConfig
1195
+ ): OperationResponse<Paths.ListPhoneAgents.Responses.$200>
1196
+ /**
1197
+ * assignPhoneAgent - assignPhoneAgent
1198
+ *
1199
+ * Gives an organization member the phone. In order: the member is verified with user-api, their
1200
+ * pairwise subject for the provider is read from identity-api, the provider user is created (or
1201
+ * found) bound to that subject with the `agent` role, and only then the `phone_agent` role
1202
+ * (`phone:use`) is assigned in epilot. Idempotent: an already assigned member answers `200`.
1203
+ * Requires `phone:manage`.
1204
+ *
1205
+ */
1206
+ 'post'(
1207
+ parameters?: Parameters<UnknownParamsObject> | null,
1208
+ data?: Paths.AssignPhoneAgent.RequestBody,
1209
+ config?: AxiosRequestConfig
1210
+ ): OperationResponse<Paths.AssignPhoneAgent.Responses.$200 | Paths.AssignPhoneAgent.Responses.$201>
1211
+ }
1212
+ ['/v1/manager/agents/{user_id}']: {
1213
+ /**
1214
+ * removePhoneAgent - removePhoneAgent
1215
+ *
1216
+ * Takes the phone away from a member: the `phone_agent` role is removed first, then the provider
1217
+ * user is deactivated (never deleted: call history keeps referring to it). Requires `phone:manage`.
1218
+ *
1219
+ */
1220
+ 'delete'(
1221
+ parameters?: Parameters<Paths.V1ManagerAgents$UserId.PathParameters> | null,
1222
+ data?: any,
1223
+ config?: AxiosRequestConfig
1224
+ ): OperationResponse<Paths.RemovePhoneAgent.Responses.$204>
1225
+ }
1226
+ ['/v1/manager/live']: {
1227
+ /**
1228
+ * getLiveSnapshot - getLiveSnapshot
1229
+ *
1230
+ * One snapshot of the organization's live phone state for the control center's Overview: agent
1231
+ * presence counters and per-queue health (waiting calls, longest wait, eligible vs available
1232
+ * agents). Read from the provider on every call (no caching); the control center polls it about
1233
+ * every 20 seconds. Requires `phone:manage`.
1234
+ *
1235
+ */
1236
+ 'get'(
1237
+ parameters?: Parameters<UnknownParamsObject> | null,
1238
+ data?: any,
1239
+ config?: AxiosRequestConfig
1240
+ ): OperationResponse<Paths.GetLiveSnapshot.Responses.$200>
1241
+ }
1242
+ ['/v1/manager/agents/live']: {
1243
+ /**
1244
+ * listLiveAgents - listLiveAgents
1245
+ *
1246
+ * The organization's phone agents with their live phone status, their skills (as the phone system
1247
+ * holds them) and the queues they can take calls from. Agents that are epilot phone agents carry
1248
+ * the epilot `user_id`. Queue eligibility is derived from every queue's routing steps (skills and
1249
+ * people). The control center filters and searches this list client-side and polls it about every
1250
+ * 20 seconds. Requires `phone:manage`.
1251
+ *
1252
+ */
1253
+ 'get'(
1254
+ parameters?: Parameters<UnknownParamsObject> | null,
1255
+ data?: any,
1256
+ config?: AxiosRequestConfig
1257
+ ): OperationResponse<Paths.ListLiveAgents.Responses.$200>
1258
+ }
1259
+ ['/v1/manager/agents/{provider_agent_id}/routing']: {
1260
+ /**
1261
+ * setAgentRouting - setAgentRouting
1262
+ *
1263
+ * Sets an agent's skills and direct queue membership (full sets, not deltas), in this order:
1264
+ * 1. Skills: the agent's skills in the phone system are replaced by `skills`, so the phone system
1265
+ * routes on them right away. The phone system is the source of truth for phone skills; they are
1266
+ * independent of the skills in epilot's Access Management.
1267
+ * 2. Direct queue membership: each listed queue gets the agent in its epilot-managed routing step
1268
+ * (created on first use, lowest precedence, never touching the organization's own routing in
1269
+ * the phone system); every other queue's epilot-managed step drops the agent. Eligibility
1270
+ * through the phone system's own routing is not changed (`locked`).
1271
+ * Idempotent; a failure part-way answers `502` and repeating the call completes it. Requires
1272
+ * `phone:manage`.
1273
+ *
1274
+ */
1275
+ 'put'(
1276
+ parameters?: Parameters<Paths.V1ManagerAgents$ProviderAgentIdRouting.PathParameters> | null,
1277
+ data?: Paths.SetAgentRouting.RequestBody,
1278
+ config?: AxiosRequestConfig
1279
+ ): OperationResponse<Paths.SetAgentRouting.Responses.$200>
1280
+ }
1281
+ ['/v1/manager/agents/{provider_agent_id}/routing:preview']: {
1282
+ /**
1283
+ * previewAgentRouting - previewAgentRouting
1284
+ *
1285
+ * The routing impact of `setAgentRouting` with the same body, without changing anything: the
1286
+ * queues the agent can take calls from now (as the phone system routes today) and after the
1287
+ * change, what is added and removed, the queues that would lose their last available agent, and
1288
+ * the queues the agent stays in through the phone system's own routing. Requires `phone:manage`.
1289
+ *
1290
+ */
1291
+ 'post'(
1292
+ parameters?: Parameters<Paths.V1ManagerAgents$ProviderAgentIdRoutingPreview.PathParameters> | null,
1293
+ data?: Paths.PreviewAgentRouting.RequestBody,
1294
+ config?: AxiosRequestConfig
1295
+ ): OperationResponse<Paths.PreviewAgentRouting.Responses.$200>
1296
+ }
1297
+ ['/v1/manager/queues']: {
1298
+ /**
1299
+ * listQueues - listQueues
1300
+ *
1301
+ * The organization's queues with live demand (waiting calls, longest wait), staffing (eligible
1302
+ * vs available agents), derived health and who can take their calls: the routing steps in the
1303
+ * order the phone system tries them, each naming skills and people. Routing is read-only in the
1304
+ * control center except the epilot-managed step that `setAgentRouting` maintains. Polled about
1305
+ * every 20 seconds. Requires `phone:manage`.
1306
+ *
1307
+ */
1308
+ 'get'(
1309
+ parameters?: Parameters<UnknownParamsObject> | null,
1310
+ data?: any,
1311
+ config?: AxiosRequestConfig
1312
+ ): OperationResponse<Paths.ListQueues.Responses.$200>
1313
+ }
1314
+ ['/v1/manager/queues/{queue_id}']: {
1315
+ /**
1316
+ * getQueue - getQueue
1317
+ *
1318
+ * One queue for the control center's queue drawer: the overview fields plus the agents currently
1319
+ * eligible for it (with live status and how they are eligible) and the calls waiting in it.
1320
+ * Requires `phone:manage`.
1321
+ *
1322
+ */
1323
+ 'get'(
1324
+ parameters?: Parameters<Paths.V1ManagerQueues$QueueId.PathParameters> | null,
1325
+ data?: any,
1326
+ config?: AxiosRequestConfig
1327
+ ): OperationResponse<Paths.GetQueue.Responses.$200>
1328
+ }
1329
+ ['/v1/manager/reporting/calls']: {
1330
+ /**
1331
+ * getCallReport - getCallReport
1332
+ *
1333
+ * Inbound call outcomes for a period, from the provider's call reporting: how many inbound calls
1334
+ * there were, how many an agent handled (bridged) and how many ended without an agent (abandoned
1335
+ * or failed), plus the inbound total of the period of the same length just before, for the
1336
+ * trend. The window is at most 31 days. Requires `phone:manage`.
1337
+ *
1338
+ */
1339
+ 'get'(
1340
+ parameters?: Parameters<Paths.GetCallReport.QueryParameters> | null,
1341
+ data?: any,
1342
+ config?: AxiosRequestConfig
1343
+ ): OperationResponse<Paths.GetCallReport.Responses.$200>
1344
+ }
1345
+ ['/v1/operator/provider-setups']: {
1346
+ /**
1347
+ * listProviderSetups - listProviderSetups
1348
+ *
1349
+ * Every organization that has a telephony provider tenant, for the admin portal's overview: the
1350
+ * provider's sub-accounts (one per organization, keyed by the organization id) joined with this
1351
+ * service's setup record. `ready` follows getManagerStatus: an organization whose tenant was created
1352
+ * by hand, outside `setupProvider`, has no record and is not ready until the setup runs once.
1353
+ * Sorted by organization id; not paged (one tenant per organization, a few hundred at most).
1354
+ *
1355
+ */
1356
+ 'get'(
1357
+ parameters?: Parameters<UnknownParamsObject> | null,
1358
+ data?: any,
1359
+ config?: AxiosRequestConfig
1360
+ ): OperationResponse<Paths.ListProviderSetups.Responses.$200>
1361
+ }
1362
+ ['/v1/operator/organizations/{org_id}/provider']: {
1363
+ /**
1364
+ * getProviderSetup - getProviderSetup
1365
+ *
1366
+ * What has been set up at the telephony provider for this organization.
1367
+ */
1368
+ 'get'(
1369
+ parameters?: Parameters<Paths.V1OperatorOrganizations$OrgIdProvider.PathParameters> | null,
1370
+ data?: any,
1371
+ config?: AxiosRequestConfig
1372
+ ): OperationResponse<Paths.GetProviderSetup.Responses.$200>
1373
+ }
1374
+ ['/v1/operator/organizations/{org_id}/provider:setup']: {
1375
+ /**
1376
+ * setupProvider - setupProvider
1377
+ *
1378
+ * Prepares the telephony provider for an organization, idempotently and in order: the provider
1379
+ * tenant (Babelforce sub-account keyed by the organization id), its SCIM configuration with role
1380
+ * management on, and its SSO configuration pointing at the identity-api client given here. The
1381
+ * client secret is forwarded to the provider and never stored by this service. Re-running updates
1382
+ * the SSO configuration (new client or rotated secret) and leaves the rest untouched.
1383
+ *
1384
+ */
1385
+ 'post'(
1386
+ parameters?: Parameters<Paths.V1OperatorOrganizations$OrgIdProviderSetup.PathParameters> | null,
1387
+ data?: Paths.SetupProvider.RequestBody,
1388
+ config?: AxiosRequestConfig
1389
+ ): OperationResponse<Paths.SetupProvider.Responses.$200>
1390
+ }
1391
+ }
1392
+
1393
+ type Client = OpenAPIClient<OperationMethods, PathsDictionary>
1394
+
1395
+
1396
+ type AgentPresence = Components.Schemas.AgentPresence;
1397
+ type AgentQueueEligibility = Components.Schemas.AgentQueueEligibility;
1398
+ type AgentRouting = Components.Schemas.AgentRouting;
1399
+ type AgentRoutingPreview = Components.Schemas.AgentRoutingPreview;
1400
+ type AgentRoutingRequest = Components.Schemas.AgentRoutingRequest;
1401
+ type AgentState = Components.Schemas.AgentState;
1402
+ type AssignPhoneAgentRequest = Components.Schemas.AssignPhoneAgentRequest;
1403
+ type CallReport = Components.Schemas.CallReport;
1404
+ type CustomerBatchSearchResult = Components.Schemas.CustomerBatchSearchResult;
1405
+ type CustomerIdentifier = Components.Schemas.CustomerIdentifier;
1406
+ type CustomerSearchResult = Components.Schemas.CustomerSearchResult;
1407
+ type CustomerSummary = Components.Schemas.CustomerSummary;
1408
+ type EligibilityPath = Components.Schemas.EligibilityPath;
1409
+ type EligibleAgent = Components.Schemas.EligibleAgent;
1410
+ type ErrorResponse = Components.Schemas.ErrorResponse;
1411
+ type LiveAgent = Components.Schemas.LiveAgent;
1412
+ type LiveAgentCounters = Components.Schemas.LiveAgentCounters;
1413
+ type LiveSnapshot = Components.Schemas.LiveSnapshot;
1414
+ type ManagerStatus = Components.Schemas.ManagerStatus;
1415
+ type PersonRef = Components.Schemas.PersonRef;
1416
+ type PhoneAgent = Components.Schemas.PhoneAgent;
1417
+ type ProviderSetup = Components.Schemas.ProviderSetup;
1418
+ type ProviderSetupRequest = Components.Schemas.ProviderSetupRequest;
1419
+ type ProviderSetupSummary = Components.Schemas.ProviderSetupSummary;
1420
+ type QueueDetail = Components.Schemas.QueueDetail;
1421
+ type QueueHealth = Components.Schemas.QueueHealth;
1422
+ type QueueLive = Components.Schemas.QueueLive;
1423
+ type QueueOverview = Components.Schemas.QueueOverview;
1424
+ type QueueRef = Components.Schemas.QueueRef;
1425
+ type QueueRoutingStep = Components.Schemas.QueueRoutingStep;
1426
+ type Skill = Components.Schemas.Skill;
1427
+ type WaitingCall = Components.Schemas.WaitingCall;
1428
+
1429
+ export { type AgentPresence as A, type QueueRoutingStep as B, type Client as C, type EligibilityPath as E, type LiveAgent as L, type ManagerStatus as M, type OperationMethods as O, Paths as P, type QueueDetail as Q, type Skill as S, type WaitingCall as W, Components as a, type PathsDictionary as b, type AgentQueueEligibility as c, type AgentRouting as d, type AgentRoutingPreview as e, type AgentRoutingRequest as f, type AgentState as g, type AssignPhoneAgentRequest as h, type CallReport as i, type CustomerBatchSearchResult as j, type CustomerIdentifier as k, type CustomerSearchResult as l, type CustomerSummary as m, type EligibleAgent as n, type ErrorResponse as o, type LiveAgentCounters as p, type LiveSnapshot as q, type PersonRef as r, type PhoneAgent as s, type ProviderSetup as t, type ProviderSetupRequest as u, type ProviderSetupSummary as v, type QueueHealth as w, type QueueLive as x, type QueueOverview as y, type QueueRef as z };