@sentdm/sentdm 0.41.0 → 0.42.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.
Files changed (111) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/client.d.mts +18 -3
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +18 -3
  5. package/client.d.ts.map +1 -1
  6. package/client.js +13 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +13 -0
  9. package/client.mjs.map +1 -1
  10. package/core/pagination.d.mts +25 -0
  11. package/core/pagination.d.mts.map +1 -1
  12. package/core/pagination.d.ts +25 -0
  13. package/core/pagination.d.ts.map +1 -1
  14. package/core/pagination.js +28 -1
  15. package/core/pagination.js.map +1 -1
  16. package/core/pagination.mjs +26 -0
  17. package/core/pagination.mjs.map +1 -1
  18. package/package.json +1 -1
  19. package/resources/calls/calls.d.mts +386 -0
  20. package/resources/calls/calls.d.mts.map +1 -0
  21. package/resources/calls/calls.d.ts +386 -0
  22. package/resources/calls/calls.d.ts.map +1 -0
  23. package/resources/calls/calls.js +158 -0
  24. package/resources/calls/calls.js.map +1 -0
  25. package/resources/calls/calls.mjs +153 -0
  26. package/resources/calls/calls.mjs.map +1 -0
  27. package/resources/calls/index.d.mts +3 -0
  28. package/resources/calls/index.d.mts.map +1 -0
  29. package/resources/calls/index.d.ts +3 -0
  30. package/resources/calls/index.d.ts.map +1 -0
  31. package/resources/calls/index.js +9 -0
  32. package/resources/calls/index.js.map +1 -0
  33. package/resources/calls/index.mjs +4 -0
  34. package/resources/calls/index.mjs.map +1 -0
  35. package/resources/calls/participants.d.mts +258 -0
  36. package/resources/calls/participants.d.mts.map +1 -0
  37. package/resources/calls/participants.d.ts +258 -0
  38. package/resources/calls/participants.d.ts.map +1 -0
  39. package/resources/calls/participants.js +158 -0
  40. package/resources/calls/participants.js.map +1 -0
  41. package/resources/calls/participants.mjs +154 -0
  42. package/resources/calls/participants.mjs.map +1 -0
  43. package/resources/calls.d.mts +2 -0
  44. package/resources/calls.d.mts.map +1 -0
  45. package/resources/calls.d.ts +2 -0
  46. package/resources/calls.d.ts.map +1 -0
  47. package/resources/calls.js +6 -0
  48. package/resources/calls.js.map +1 -0
  49. package/resources/calls.mjs +3 -0
  50. package/resources/calls.mjs.map +1 -0
  51. package/resources/channels/channels.d.mts +10 -0
  52. package/resources/channels/channels.d.mts.map +1 -0
  53. package/resources/channels/channels.d.ts +10 -0
  54. package/resources/channels/channels.d.ts.map +1 -0
  55. package/resources/channels/channels.js +17 -0
  56. package/resources/channels/channels.js.map +1 -0
  57. package/resources/channels/channels.mjs +12 -0
  58. package/resources/channels/channels.mjs.map +1 -0
  59. package/resources/channels/index.d.mts +3 -0
  60. package/resources/channels/index.d.mts.map +1 -0
  61. package/resources/channels/index.d.ts +3 -0
  62. package/resources/channels/index.d.ts.map +1 -0
  63. package/resources/channels/index.js +9 -0
  64. package/resources/channels/index.js.map +1 -0
  65. package/resources/channels/index.mjs +4 -0
  66. package/resources/channels/index.mjs.map +1 -0
  67. package/resources/channels/voice.d.mts +654 -0
  68. package/resources/channels/voice.d.mts.map +1 -0
  69. package/resources/channels/voice.d.ts +654 -0
  70. package/resources/channels/voice.d.ts.map +1 -0
  71. package/resources/channels/voice.js +285 -0
  72. package/resources/channels/voice.js.map +1 -0
  73. package/resources/channels/voice.mjs +281 -0
  74. package/resources/channels/voice.mjs.map +1 -0
  75. package/resources/channels.d.mts +2 -0
  76. package/resources/channels.d.mts.map +1 -0
  77. package/resources/channels.d.ts +2 -0
  78. package/resources/channels.d.ts.map +1 -0
  79. package/resources/channels.js +6 -0
  80. package/resources/channels.js.map +1 -0
  81. package/resources/channels.mjs +3 -0
  82. package/resources/channels.mjs.map +1 -0
  83. package/resources/index.d.mts +3 -1
  84. package/resources/index.d.mts.map +1 -1
  85. package/resources/index.d.ts +3 -1
  86. package/resources/index.d.ts.map +1 -1
  87. package/resources/index.js +5 -1
  88. package/resources/index.js.map +1 -1
  89. package/resources/index.mjs +2 -0
  90. package/resources/index.mjs.map +1 -1
  91. package/resources/webhooks.d.mts +104 -106
  92. package/resources/webhooks.d.mts.map +1 -1
  93. package/resources/webhooks.d.ts +104 -106
  94. package/resources/webhooks.d.ts.map +1 -1
  95. package/src/client.ts +60 -0
  96. package/src/core/pagination.ts +59 -0
  97. package/src/resources/calls/calls.ts +554 -0
  98. package/src/resources/calls/index.ts +31 -0
  99. package/src/resources/calls/participants.ts +367 -0
  100. package/src/resources/calls.ts +3 -0
  101. package/src/resources/channels/channels.ts +61 -0
  102. package/src/resources/channels/index.ts +27 -0
  103. package/src/resources/channels/voice.ts +864 -0
  104. package/src/resources/channels.ts +3 -0
  105. package/src/resources/index.ts +21 -0
  106. package/src/resources/webhooks.ts +119 -119
  107. package/src/version.ts +1 -1
  108. package/version.d.mts +1 -1
  109. package/version.d.ts +1 -1
  110. package/version.js +1 -1
  111. package/version.mjs +1 -1
@@ -0,0 +1,554 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../core/resource';
4
+ import * as WebhooksAPI from '../webhooks';
5
+ import * as ParticipantsAPI from './participants';
6
+ import {
7
+ APIResponseOfListOfCallParticipant,
8
+ CallParticipant,
9
+ CallParticipantTarget,
10
+ ParticipantAddParams,
11
+ ParticipantListParams,
12
+ ParticipantRemoveAllParams,
13
+ ParticipantRemoveParams,
14
+ ParticipantUpdateParams,
15
+ Participants,
16
+ } from './participants';
17
+ import { APIPromise } from '../../core/api-promise';
18
+ import { CallsPage, type CallsPageParams, PagePromise } from '../../core/pagination';
19
+ import { buildHeaders } from '../../internal/headers';
20
+ import { RequestOptions } from '../../internal/request-options';
21
+ import { path } from '../../internal/utils/path';
22
+
23
+ /**
24
+ * Phone calls from the numbers you hold, driven by your own callback URL.
25
+ *
26
+ * `POST /v3/channels/voice` enables a number for calls, with the callback URL Sent asks what to do with each call on it, and `POST /v3/channels/voice/tokens` mints a short-lived token that lets a user of your app place and receive calls as that number. When a call arrives or a caller presses a key, a signed question is POSTed to the callback URL and the answer decides the call; `POST /v3/channels/voice/{number}/test` checks the URL answers the way we need before a real call reaches it, and `POST /v3/channels/voice/{number}/rotate-secret` replaces the signing secret. The call events themselves (`call.completed` and the rest) arrive through your webhooks.
27
+ *
28
+ * Every call is a record under `/v3/calls`: read it, list its recordings once one is ready, hang it up, start or stop recording, and add, mute or remove conference participants while it is live. A leg to a phone number runs for at most what your balance affords at the destination's rate.
29
+ */
30
+ export class Calls extends APIResource {
31
+ participants: ParticipantsAPI.Participants = new ParticipantsAPI.Participants(this._client);
32
+
33
+ /**
34
+ * Retrieves one of your calls by id: the parties, the owning number, the current
35
+ * status with its failure reason, duration, price, recording availability, and a
36
+ * timeline of when the call entered each status.
37
+ *
38
+ * @example
39
+ * ```ts
40
+ * const apiResponseOfCall = await client.calls.retrieve(
41
+ * 'call_9f2ab000-0000-4000-8000-000000000001',
42
+ * );
43
+ * ```
44
+ */
45
+ retrieve(
46
+ id: string,
47
+ params: CallRetrieveParams | null | undefined = {},
48
+ options?: RequestOptions,
49
+ ): APIPromise<APIResponseOfCall> {
50
+ const { 'x-profile-id': xProfileID } = params ?? {};
51
+ return this._client.get(path`/v3/calls/${id}`, {
52
+ ...options,
53
+ headers: buildHeaders([
54
+ { ...(xProfileID != null ? { 'x-profile-id': xProfileID } : undefined) },
55
+ options?.headers,
56
+ ]),
57
+ });
58
+ }
59
+
60
+ /**
61
+ * Retrieves a paginated list of your calls, most recent first. Filter by
62
+ * direction, status, the owning number, and the time the call started (from and to
63
+ * are inclusive). Use the call webhooks for real-time updates; this list is for
64
+ * looking calls up afterwards.
65
+ *
66
+ * @example
67
+ * ```ts
68
+ * // Automatically fetches more pages as needed.
69
+ * for await (const call of client.calls.list()) {
70
+ * // ...
71
+ * }
72
+ * ```
73
+ */
74
+ list(
75
+ params: CallListParams | null | undefined = {},
76
+ options?: RequestOptions,
77
+ ): PagePromise<CallsCallsPage, Call> {
78
+ const { 'x-profile-id': xProfileID, ...query } = params ?? {};
79
+ return this._client.getAPIList('/v3/calls', CallsPage<Call>, {
80
+ query,
81
+ ...options,
82
+ headers: buildHeaders([
83
+ { ...(xProfileID != null ? { 'x-profile-id': xProfileID } : undefined) },
84
+ options?.headers,
85
+ ]),
86
+ });
87
+ }
88
+
89
+ /**
90
+ * Ends one of your live calls. The call then ends the way any other call does: its
91
+ * status moves to completed and call.completed is sent once the disconnect is
92
+ * reported. A call that has already ended answers 409, and so does a call with no
93
+ * phone leg, such as one between two app users.
94
+ *
95
+ * @example
96
+ * ```ts
97
+ * await client.calls.hangup(
98
+ * 'call_9f2ab000-0000-4000-8000-000000000001',
99
+ * );
100
+ * ```
101
+ */
102
+ hangup(id: string, params: CallHangupParams, options?: RequestOptions): APIPromise<void> {
103
+ const { 'Idempotency-Key': idempotencyKey, 'x-profile-id': xProfileID, ...body } = params;
104
+ return this._client.post(path`/v3/calls/${id}/hangup`, {
105
+ body,
106
+ ...options,
107
+ headers: buildHeaders([
108
+ {
109
+ Accept: '*/*',
110
+ ...(idempotencyKey != null ? { 'Idempotency-Key': idempotencyKey } : undefined),
111
+ ...(xProfileID != null ? { 'x-profile-id': xProfileID } : undefined),
112
+ },
113
+ options?.headers,
114
+ ]),
115
+ });
116
+ }
117
+
118
+ /**
119
+ * Returns pre-signed links to the recordings of one of your calls, each valid
120
+ * until its url_expires_at. A recording appears once the call was recorded, by a
121
+ * connect answer with record set, a startRecording instruction or the recordings
122
+ * command, and the call.recording_ready webhook has been sent; until then, and for
123
+ * a call that was never recorded, the list is empty. A call recorded more than
124
+ * once lists every recording, oldest first, each under the recording_id its
125
+ * call.recording_ready webhook carried.
126
+ *
127
+ * @example
128
+ * ```ts
129
+ * const apiResponseOfCallRecordings =
130
+ * await client.calls.listRecordings(
131
+ * 'call_9f2ab000-0000-4000-8000-000000000001',
132
+ * );
133
+ * ```
134
+ */
135
+ listRecordings(
136
+ id: string,
137
+ params: CallListRecordingsParams | null | undefined = {},
138
+ options?: RequestOptions,
139
+ ): APIPromise<APIResponseOfCallRecordings> {
140
+ const { 'x-profile-id': xProfileID } = params ?? {};
141
+ return this._client.get(path`/v3/calls/${id}/recordings`, {
142
+ ...options,
143
+ headers: buildHeaders([
144
+ { ...(xProfileID != null ? { 'x-profile-id': xProfileID } : undefined) },
145
+ options?.headers,
146
+ ]),
147
+ });
148
+ }
149
+
150
+ /**
151
+ * Starts or stops recording one of your live calls. Use start to begin recording
152
+ * mid-call, or stop to end a recording, whether it was started here or by a
153
+ * connect answer with record set. A call that has already ended answers 409, and
154
+ * so does a call with no phone leg, such as one between two app users, which can't
155
+ * be recorded.
156
+ *
157
+ * @example
158
+ * ```ts
159
+ * await client.calls.record(
160
+ * 'call_9f2ab000-0000-4000-8000-000000000001',
161
+ * );
162
+ * ```
163
+ */
164
+ record(id: string, params: CallRecordParams, options?: RequestOptions): APIPromise<void> {
165
+ const { 'Idempotency-Key': idempotencyKey, 'x-profile-id': xProfileID, ...body } = params;
166
+ return this._client.post(path`/v3/calls/${id}/recordings`, {
167
+ body,
168
+ ...options,
169
+ headers: buildHeaders([
170
+ {
171
+ Accept: '*/*',
172
+ ...(idempotencyKey != null ? { 'Idempotency-Key': idempotencyKey } : undefined),
173
+ ...(xProfileID != null ? { 'x-profile-id': xProfileID } : undefined),
174
+ },
175
+ options?.headers,
176
+ ]),
177
+ });
178
+ }
179
+ }
180
+
181
+ export type CallsCallsPage = CallsPage<Call>;
182
+
183
+ /**
184
+ * Standard API response envelope for all v3 endpoints
185
+ */
186
+ export interface APIResponseOfCall {
187
+ /**
188
+ * A call record
189
+ */
190
+ data?: Call | null;
191
+
192
+ /**
193
+ * Error information
194
+ */
195
+ error?: WebhooksAPI.ErrorDetail | null;
196
+
197
+ /**
198
+ * Request and response metadata
199
+ */
200
+ meta?: WebhooksAPI.APIMeta;
201
+
202
+ /**
203
+ * Indicates whether the request was successful
204
+ */
205
+ success?: boolean;
206
+ }
207
+
208
+ /**
209
+ * Standard API response envelope for all v3 endpoints
210
+ */
211
+ export interface APIResponseOfCallRecordings {
212
+ /**
213
+ * The recordings of a call, each as a short-lived download link
214
+ */
215
+ data?: CallRecordings | null;
216
+
217
+ /**
218
+ * Error information
219
+ */
220
+ error?: WebhooksAPI.ErrorDetail | null;
221
+
222
+ /**
223
+ * Request and response metadata
224
+ */
225
+ meta?: WebhooksAPI.APIMeta;
226
+
227
+ /**
228
+ * Indicates whether the request was successful
229
+ */
230
+ success?: boolean;
231
+ }
232
+
233
+ /**
234
+ * Standard API response envelope for all v3 endpoints
235
+ */
236
+ export interface APIResponseOfCallsList {
237
+ /**
238
+ * Paginated list of calls
239
+ */
240
+ data?: CallsList | null;
241
+
242
+ /**
243
+ * Error information
244
+ */
245
+ error?: WebhooksAPI.ErrorDetail | null;
246
+
247
+ /**
248
+ * Request and response metadata
249
+ */
250
+ meta?: WebhooksAPI.APIMeta;
251
+
252
+ /**
253
+ * Indicates whether the request was successful
254
+ */
255
+ success?: boolean;
256
+ }
257
+
258
+ /**
259
+ * A call record
260
+ */
261
+ export interface Call {
262
+ /**
263
+ * The call id, the same one carried by the call.request question and every call
264
+ * webhook
265
+ */
266
+ id?: string;
267
+
268
+ /**
269
+ * When the call was answered (UTC). Null until then, and always null for a call
270
+ * between two of your app users
271
+ */
272
+ answered_at?: string | null;
273
+
274
+ /**
275
+ * outbound for a call placed from your app, inbound for a call to one of your
276
+ * numbers
277
+ */
278
+ direction?: string;
279
+
280
+ /**
281
+ * Billable duration in seconds. Null while the call is live
282
+ */
283
+ duration_seconds?: number | null;
284
+
285
+ /**
286
+ * When the call ended (UTC). Null while the call is live
287
+ */
288
+ ended_at?: string | null;
289
+
290
+ /**
291
+ * Why the call did not complete: callback_timeout, invalid_answer,
292
+ * insufficient_balance, destination_blocked, rejected or no_answer. Null while the
293
+ * call is live, when it completed, and when it failed without a recorded reason
294
+ */
295
+ failure_reason?: string | null;
296
+
297
+ /**
298
+ * One end of a call
299
+ */
300
+ from?: CallParty;
301
+
302
+ /**
303
+ * Your number that owns the call, in E.164 format: the dialed number for an
304
+ * inbound call, the caller's bound number for a call placed from your app
305
+ */
306
+ number?: string;
307
+
308
+ /**
309
+ * What the call cost. Null until it has been priced
310
+ */
311
+ price?: number | null;
312
+
313
+ /**
314
+ * True once a recording of the call is available
315
+ */
316
+ recording_available?: boolean;
317
+
318
+ /**
319
+ * When the call was placed (UTC)
320
+ */
321
+ started_at?: string;
322
+
323
+ /**
324
+ * initiated, ringing, answered, completed, failed, no_answer or rejected
325
+ */
326
+ status?: string;
327
+
328
+ /**
329
+ * When the call entered each status, oldest first. Only returned when reading one
330
+ * call
331
+ */
332
+ timeline?: Array<CallTimelineEntry> | null;
333
+
334
+ /**
335
+ * One end of a call
336
+ */
337
+ to?: CallParty;
338
+ }
339
+
340
+ /**
341
+ * One end of a call
342
+ */
343
+ export interface CallParty {
344
+ /**
345
+ * user for one of your app users, number for a phone number, conference for a
346
+ * room, anonymous for a caller who withheld their number
347
+ */
348
+ kind?: string;
349
+
350
+ /**
351
+ * The app user's identity, the phone number in E.164 format, or the room name.
352
+ * Null when the kind is anonymous
353
+ */
354
+ value?: string | null;
355
+ }
356
+
357
+ /**
358
+ * A short-lived link to a call recording
359
+ */
360
+ export interface CallRecording {
361
+ /**
362
+ * A pre-signed link that downloads the recording as an MP3 file. Anyone holding it
363
+ * can download the recording until it expires
364
+ */
365
+ download_url?: string;
366
+
367
+ /**
368
+ * The recording's id, the one the call.recording_ready webhook announced it under
369
+ */
370
+ recording_id?: string;
371
+
372
+ /**
373
+ * When the link stops working (UTC). Request the recordings again for a fresh link
374
+ */
375
+ url_expires_at?: string;
376
+ }
377
+
378
+ /**
379
+ * The recordings of a call, each as a short-lived download link
380
+ */
381
+ export interface CallRecordings {
382
+ /**
383
+ * Every recording of the call, oldest first. Empty until the first
384
+ * call.recording_ready webhook has been sent, and for a call that was never
385
+ * recorded
386
+ */
387
+ recordings?: Array<CallRecording>;
388
+ }
389
+
390
+ /**
391
+ * When a call entered a status
392
+ */
393
+ export interface CallTimelineEntry {
394
+ /**
395
+ * initiated, ringing, answered, completed, failed, no_answer or rejected
396
+ */
397
+ status?: string;
398
+
399
+ /**
400
+ * When the call entered this status (UTC)
401
+ */
402
+ timestamp?: string;
403
+ }
404
+
405
+ /**
406
+ * Paginated list of calls
407
+ */
408
+ export interface CallsList {
409
+ /**
410
+ * The calls on this page, most recent first
411
+ */
412
+ calls?: Array<Call>;
413
+
414
+ /**
415
+ * Pagination metadata for list responses
416
+ */
417
+ pagination?: WebhooksAPI.PaginationMeta;
418
+ }
419
+
420
+ export interface CallRetrieveParams {
421
+ /**
422
+ * Profile UUID to scope the request to a child profile. Only organization API keys
423
+ * can use this header. The profile must belong to the calling organization.
424
+ */
425
+ 'x-profile-id'?: string;
426
+ }
427
+
428
+ export interface CallListParams extends CallsPageParams {
429
+ /**
430
+ * Query param: Optional direction filter: outbound for calls placed from your app,
431
+ * inbound for calls to one of your numbers
432
+ */
433
+ direction?: string | null;
434
+
435
+ /**
436
+ * Query param: Only calls started at or after this time (ISO 8601)
437
+ */
438
+ from?: string | null;
439
+
440
+ /**
441
+ * Query param: Optional filter on the number that owns the call, one of your
442
+ * voice-enabled numbers in E.164 format
443
+ */
444
+ number?: string | null;
445
+
446
+ /**
447
+ * Query param: Optional status filter: initiated, ringing, answered, completed,
448
+ * failed, no_answer or rejected
449
+ */
450
+ status?: string | null;
451
+
452
+ /**
453
+ * Query param: Only calls started at or before this time (ISO 8601)
454
+ */
455
+ to?: string | null;
456
+
457
+ /**
458
+ * Header param: Profile UUID to scope the request to a child profile. Only
459
+ * organization API keys can use this header. The profile must belong to the
460
+ * calling organization.
461
+ */
462
+ 'x-profile-id'?: string;
463
+ }
464
+
465
+ export interface CallHangupParams {
466
+ /**
467
+ * Body param: Sandbox flag - when true, the operation is simulated without side
468
+ * effects Useful for testing integrations without actual execution
469
+ */
470
+ sandbox?: boolean;
471
+
472
+ /**
473
+ * Header param: Unique key to ensure idempotent request processing. Must be 1-255
474
+ * alphanumeric characters, hyphens, or underscores. Responses are cached for 24
475
+ * hours per key per customer.
476
+ */
477
+ 'Idempotency-Key'?: string;
478
+
479
+ /**
480
+ * Header param: Profile UUID to scope the request to a child profile. Only
481
+ * organization API keys can use this header. The profile must belong to the
482
+ * calling organization.
483
+ */
484
+ 'x-profile-id'?: string;
485
+ }
486
+
487
+ export interface CallListRecordingsParams {
488
+ /**
489
+ * Profile UUID to scope the request to a child profile. Only organization API keys
490
+ * can use this header. The profile must belong to the calling organization.
491
+ */
492
+ 'x-profile-id'?: string;
493
+ }
494
+
495
+ export interface CallRecordParams {
496
+ /**
497
+ * Body param: start to begin recording, stop to end it
498
+ */
499
+ action?: string;
500
+
501
+ /**
502
+ * Body param: Sandbox flag - when true, the operation is simulated without side
503
+ * effects Useful for testing integrations without actual execution
504
+ */
505
+ sandbox?: boolean;
506
+
507
+ /**
508
+ * Header param: Unique key to ensure idempotent request processing. Must be 1-255
509
+ * alphanumeric characters, hyphens, or underscores. Responses are cached for 24
510
+ * hours per key per customer.
511
+ */
512
+ 'Idempotency-Key'?: string;
513
+
514
+ /**
515
+ * Header param: Profile UUID to scope the request to a child profile. Only
516
+ * organization API keys can use this header. The profile must belong to the
517
+ * calling organization.
518
+ */
519
+ 'x-profile-id'?: string;
520
+ }
521
+
522
+ Calls.Participants = Participants;
523
+
524
+ export declare namespace Calls {
525
+ export {
526
+ type APIResponseOfCall as APIResponseOfCall,
527
+ type APIResponseOfCallRecordings as APIResponseOfCallRecordings,
528
+ type APIResponseOfCallsList as APIResponseOfCallsList,
529
+ type Call as Call,
530
+ type CallParty as CallParty,
531
+ type CallRecording as CallRecording,
532
+ type CallRecordings as CallRecordings,
533
+ type CallTimelineEntry as CallTimelineEntry,
534
+ type CallsList as CallsList,
535
+ type CallsCallsPage as CallsCallsPage,
536
+ type CallRetrieveParams as CallRetrieveParams,
537
+ type CallListParams as CallListParams,
538
+ type CallHangupParams as CallHangupParams,
539
+ type CallListRecordingsParams as CallListRecordingsParams,
540
+ type CallRecordParams as CallRecordParams,
541
+ };
542
+
543
+ export {
544
+ Participants as Participants,
545
+ type APIResponseOfListOfCallParticipant as APIResponseOfListOfCallParticipant,
546
+ type CallParticipant as CallParticipant,
547
+ type CallParticipantTarget as CallParticipantTarget,
548
+ type ParticipantUpdateParams as ParticipantUpdateParams,
549
+ type ParticipantListParams as ParticipantListParams,
550
+ type ParticipantAddParams as ParticipantAddParams,
551
+ type ParticipantRemoveParams as ParticipantRemoveParams,
552
+ type ParticipantRemoveAllParams as ParticipantRemoveAllParams,
553
+ };
554
+ }
@@ -0,0 +1,31 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export {
4
+ Calls,
5
+ type APIResponseOfCall,
6
+ type APIResponseOfCallRecordings,
7
+ type APIResponseOfCallsList,
8
+ type Call,
9
+ type CallParty,
10
+ type CallRecording,
11
+ type CallRecordings,
12
+ type CallTimelineEntry,
13
+ type CallsList,
14
+ type CallRetrieveParams,
15
+ type CallListParams,
16
+ type CallHangupParams,
17
+ type CallListRecordingsParams,
18
+ type CallRecordParams,
19
+ type CallsCallsPage,
20
+ } from './calls';
21
+ export {
22
+ Participants,
23
+ type APIResponseOfListOfCallParticipant,
24
+ type CallParticipant,
25
+ type CallParticipantTarget,
26
+ type ParticipantUpdateParams,
27
+ type ParticipantListParams,
28
+ type ParticipantAddParams,
29
+ type ParticipantRemoveParams,
30
+ type ParticipantRemoveAllParams,
31
+ } from './participants';