telnyx 7.6.0 → 7.8.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 (113) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/client.d.mts +7 -4
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +7 -4
  5. package/client.d.ts.map +1 -1
  6. package/client.js +3 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +3 -0
  9. package/client.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/resources/ai/ai.d.mts +3 -36
  12. package/resources/ai/ai.d.mts.map +1 -1
  13. package/resources/ai/ai.d.ts +3 -36
  14. package/resources/ai/ai.d.ts.map +1 -1
  15. package/resources/ai/ai.js +0 -30
  16. package/resources/ai/ai.js.map +1 -1
  17. package/resources/ai/ai.mjs +1 -31
  18. package/resources/ai/ai.mjs.map +1 -1
  19. package/resources/ai/assistants/assistants.d.mts +46 -2
  20. package/resources/ai/assistants/assistants.d.mts.map +1 -1
  21. package/resources/ai/assistants/assistants.d.ts +46 -2
  22. package/resources/ai/assistants/assistants.d.ts.map +1 -1
  23. package/resources/ai/assistants/assistants.js.map +1 -1
  24. package/resources/ai/assistants/assistants.mjs.map +1 -1
  25. package/resources/ai/chat.d.mts +1 -188
  26. package/resources/ai/chat.d.mts.map +1 -1
  27. package/resources/ai/chat.d.ts +1 -188
  28. package/resources/ai/chat.d.ts.map +1 -1
  29. package/resources/ai/chat.js +0 -14
  30. package/resources/ai/chat.js.map +1 -1
  31. package/resources/ai/chat.mjs +0 -14
  32. package/resources/ai/chat.mjs.map +1 -1
  33. package/resources/ai/index.d.mts +2 -2
  34. package/resources/ai/index.d.mts.map +1 -1
  35. package/resources/ai/index.d.ts +2 -2
  36. package/resources/ai/index.d.ts.map +1 -1
  37. package/resources/ai/index.js.map +1 -1
  38. package/resources/ai/index.mjs +1 -1
  39. package/resources/ai/index.mjs.map +1 -1
  40. package/resources/ai/tools.d.mts +6 -0
  41. package/resources/ai/tools.d.mts.map +1 -1
  42. package/resources/ai/tools.d.ts +6 -0
  43. package/resources/ai/tools.d.ts.map +1 -1
  44. package/resources/calls/actions.d.mts +26 -2
  45. package/resources/calls/actions.d.mts.map +1 -1
  46. package/resources/calls/actions.d.ts +26 -2
  47. package/resources/calls/actions.d.ts.map +1 -1
  48. package/resources/calls/calls.d.mts +3 -0
  49. package/resources/calls/calls.d.mts.map +1 -1
  50. package/resources/calls/calls.d.ts +3 -0
  51. package/resources/calls/calls.d.ts.map +1 -1
  52. package/resources/calls/calls.js.map +1 -1
  53. package/resources/calls/calls.mjs.map +1 -1
  54. package/resources/conferences/actions.d.mts +6 -0
  55. package/resources/conferences/actions.d.mts.map +1 -1
  56. package/resources/conferences/actions.d.ts +6 -0
  57. package/resources/conferences/actions.d.ts.map +1 -1
  58. package/resources/index.d.mts +2 -2
  59. package/resources/index.d.mts.map +1 -1
  60. package/resources/index.d.ts +2 -2
  61. package/resources/index.d.ts.map +1 -1
  62. package/resources/index.js.map +1 -1
  63. package/resources/index.mjs.map +1 -1
  64. package/resources/messages/index.d.mts +1 -1
  65. package/resources/messages/index.d.mts.map +1 -1
  66. package/resources/messages/index.d.ts +1 -1
  67. package/resources/messages/index.d.ts.map +1 -1
  68. package/resources/messages/index.js.map +1 -1
  69. package/resources/messages/index.mjs.map +1 -1
  70. package/resources/messages/messages.d.mts +4 -82
  71. package/resources/messages/messages.d.mts.map +1 -1
  72. package/resources/messages/messages.d.ts +4 -82
  73. package/resources/messages/messages.d.ts.map +1 -1
  74. package/resources/messages/messages.js +3 -15
  75. package/resources/messages/messages.js.map +1 -1
  76. package/resources/messages/messages.mjs +3 -15
  77. package/resources/messages/messages.mjs.map +1 -1
  78. package/resources/phone-numbers/phone-numbers.d.mts +21 -0
  79. package/resources/phone-numbers/phone-numbers.d.mts.map +1 -1
  80. package/resources/phone-numbers/phone-numbers.d.ts +21 -0
  81. package/resources/phone-numbers/phone-numbers.d.ts.map +1 -1
  82. package/resources/phone-numbers/phone-numbers.js.map +1 -1
  83. package/resources/phone-numbers/phone-numbers.mjs.map +1 -1
  84. package/resources/speech-to-text/speech-to-text.d.mts +4 -4
  85. package/resources/speech-to-text/speech-to-text.d.mts.map +1 -1
  86. package/resources/speech-to-text/speech-to-text.d.ts +4 -4
  87. package/resources/speech-to-text/speech-to-text.d.ts.map +1 -1
  88. package/resources/speech-to-text/speech-to-text.js +1 -1
  89. package/resources/speech-to-text/speech-to-text.mjs +1 -1
  90. package/resources/text-to-speech/text-to-speech.d.mts +16 -11
  91. package/resources/text-to-speech/text-to-speech.d.mts.map +1 -1
  92. package/resources/text-to-speech/text-to-speech.d.ts +16 -11
  93. package/resources/text-to-speech/text-to-speech.d.ts.map +1 -1
  94. package/src/client.ts +3 -8
  95. package/src/resources/ai/ai.ts +2 -57
  96. package/src/resources/ai/assistants/assistants.ts +52 -0
  97. package/src/resources/ai/chat.ts +2 -234
  98. package/src/resources/ai/index.ts +1 -9
  99. package/src/resources/ai/tools.ts +4 -0
  100. package/src/resources/calls/actions.ts +26 -1
  101. package/src/resources/calls/calls.ts +3 -0
  102. package/src/resources/conferences/actions.ts +6 -0
  103. package/src/resources/index.ts +0 -4
  104. package/src/resources/messages/index.ts +0 -2
  105. package/src/resources/messages/messages.ts +3 -112
  106. package/src/resources/phone-numbers/phone-numbers.ts +24 -0
  107. package/src/resources/speech-to-text/speech-to-text.ts +13 -3
  108. package/src/resources/text-to-speech/text-to-speech.ts +16 -11
  109. package/src/version.ts +1 -1
  110. package/version.d.mts +1 -1
  111. package/version.d.ts +1 -1
  112. package/version.js +1 -1
  113. package/version.mjs +1 -1
@@ -2,28 +2,8 @@
2
2
 
3
3
  import { APIResource } from '../../core/resource';
4
4
  import * as ChatAPI from './chat';
5
- import { APIPromise } from '../../core/api-promise';
6
- import { RequestOptions } from '../../internal/request-options';
7
5
 
8
- /**
9
- * Generate text with LLMs
10
- */
11
- export class Chat extends APIResource {
12
- /**
13
- * **Deprecated**: Use `POST /v2/ai/openai/chat/completions` instead. Chat with a
14
- * language model. This endpoint is consistent with the
15
- * [OpenAI Chat Completions API](https://platform.openai.com/docs/api-reference/chat)
16
- * and may be used with the OpenAI JS or Python SDK.
17
- *
18
- * @deprecated
19
- */
20
- createCompletion(
21
- body: ChatCreateCompletionParams,
22
- options?: RequestOptions,
23
- ): APIPromise<ChatCreateCompletionResponse> {
24
- return this._client.post('/ai/chat/completions', { body, ...options });
25
- }
26
- }
6
+ export class Chat extends APIResource {}
27
7
 
28
8
  export interface BucketIDs {
29
9
  /**
@@ -244,218 +224,6 @@ export namespace ChatCompletionRequest {
244
224
  }
245
225
  }
246
226
 
247
- export type ChatCreateCompletionResponse = { [key: string]: unknown };
248
-
249
- export interface ChatCreateCompletionParams {
250
- /**
251
- * A list of the previous chat messages for context.
252
- */
253
- messages: Array<ChatCreateCompletionParams.Message>;
254
-
255
- /**
256
- * If you are using an external inference provider like xAI or OpenAI, this field
257
- * allows you to pass along a reference to your API key. After creating an
258
- * [integration secret](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret)
259
- * for you API key, pass the secret's `identifier` in this field.
260
- */
261
- api_key_ref?: string;
262
-
263
- /**
264
- * This is used with `use_beam_search` to determine how many candidate beams to
265
- * explore.
266
- */
267
- best_of?: number;
268
-
269
- /**
270
- * This is used with `use_beam_search`. If `true`, generation stops as soon as
271
- * there are `best_of` complete candidates; if `false`, a heuristic is applied and
272
- * the generation stops when is it very unlikely to find better candidates.
273
- */
274
- early_stopping?: boolean;
275
-
276
- /**
277
- * Whether to enable the thinking/reasoning phase for models that support it (e.g.,
278
- * QwQ, Qwen3). When set to false, the model will skip the internal reasoning step
279
- * and respond directly, which can reduce latency. Defaults to true.
280
- */
281
- enable_thinking?: boolean;
282
-
283
- /**
284
- * Higher values will penalize the model from repeating the same output tokens.
285
- */
286
- frequency_penalty?: number;
287
-
288
- /**
289
- * If specified, the output will be exactly one of the choices.
290
- */
291
- guided_choice?: Array<string>;
292
-
293
- /**
294
- * Must be a valid JSON schema. If specified, the output will follow the JSON
295
- * schema.
296
- */
297
- guided_json?: { [key: string]: unknown };
298
-
299
- /**
300
- * If specified, the output will follow the regex pattern.
301
- */
302
- guided_regex?: string;
303
-
304
- /**
305
- * This is used with `use_beam_search` to prefer shorter or longer completions.
306
- */
307
- length_penalty?: number;
308
-
309
- /**
310
- * Whether to return log probabilities of the output tokens or not. If true,
311
- * returns the log probabilities of each output token returned in the `content` of
312
- * `message`.
313
- */
314
- logprobs?: boolean;
315
-
316
- /**
317
- * Maximum number of completion tokens the model should generate.
318
- */
319
- max_tokens?: number;
320
-
321
- /**
322
- * This is an alternative to `top_p` that
323
- * [many prefer](https://github.com/huggingface/transformers/issues/27670). Must be
324
- * in [0, 1].
325
- */
326
- min_p?: number;
327
-
328
- /**
329
- * The language model to chat with.
330
- */
331
- model?: string;
332
-
333
- /**
334
- * This will return multiple choices for you instead of a single chat completion.
335
- */
336
- n?: number;
337
-
338
- /**
339
- * Higher values will penalize the model from repeating the same output tokens.
340
- */
341
- presence_penalty?: number;
342
-
343
- /**
344
- * Use this is you want to guarantee a JSON output without defining a schema. For
345
- * control over the schema, use `guided_json`.
346
- */
347
- response_format?: ChatCreateCompletionParams.ResponseFormat;
348
-
349
- /**
350
- * If specified, the system will make a best effort to sample deterministically,
351
- * such that repeated requests with the same `seed` and parameters should return
352
- * the same result.
353
- */
354
- seed?: number;
355
-
356
- /**
357
- * Up to 4 sequences where the API will stop generating further tokens. The
358
- * returned text will not contain the stop sequence.
359
- */
360
- stop?: string | Array<string>;
361
-
362
- /**
363
- * Whether or not to stream data-only server-sent events as they become available.
364
- */
365
- stream?: boolean;
366
-
367
- /**
368
- * Adjusts the "creativity" of the model. Lower values make the model more
369
- * deterministic and repetitive, while higher values make the model more random and
370
- * creative.
371
- */
372
- temperature?: number;
373
-
374
- tool_choice?: 'none' | 'auto' | 'required';
375
-
376
- /**
377
- * The `function` tool type follows the same schema as the
378
- * [OpenAI Chat Completions API](https://platform.openai.com/docs/api-reference/chat).
379
- * The `retrieval` tool type is unique to Telnyx. You may pass a list of
380
- * [embedded storage buckets](https://developers.telnyx.com/api-reference/embeddings/embed-documents)
381
- * for retrieval-augmented generation.
382
- */
383
- tools?: Array<ChatCreateCompletionParams.Function | ChatCreateCompletionParams.Retrieval>;
384
-
385
- /**
386
- * This is used with `logprobs`. An integer between 0 and 20 specifying the number
387
- * of most likely tokens to return at each token position, each with an associated
388
- * log probability.
389
- */
390
- top_logprobs?: number;
391
-
392
- /**
393
- * An alternative or complement to `temperature`. This adjusts how many of the top
394
- * possibilities to consider.
395
- */
396
- top_p?: number;
397
-
398
- /**
399
- * Setting this to `true` will allow the model to
400
- * [explore more completion options](https://huggingface.co/blog/how-to-generate#beam-search).
401
- * This is not supported by OpenAI.
402
- */
403
- use_beam_search?: boolean;
404
- }
405
-
406
- export namespace ChatCreateCompletionParams {
407
- export interface Message {
408
- content: string | Array<Message.TextAndImageArray>;
409
-
410
- role: 'system' | 'user' | 'assistant' | 'tool';
411
- }
412
-
413
- export namespace Message {
414
- export interface TextAndImageArray {
415
- type: 'text' | 'image_url';
416
-
417
- image_url?: string;
418
-
419
- text?: string;
420
- }
421
- }
422
-
423
- /**
424
- * Use this is you want to guarantee a JSON output without defining a schema. For
425
- * control over the schema, use `guided_json`.
426
- */
427
- export interface ResponseFormat {
428
- type: 'text' | 'json_object';
429
- }
430
-
431
- export interface Function {
432
- function: Function.Function;
433
-
434
- type: 'function';
435
- }
436
-
437
- export namespace Function {
438
- export interface Function {
439
- name: string;
440
-
441
- description?: string;
442
-
443
- parameters?: { [key: string]: unknown };
444
- }
445
- }
446
-
447
- export interface Retrieval {
448
- retrieval: ChatAPI.BucketIDs;
449
-
450
- type: 'retrieval';
451
- }
452
- }
453
-
454
227
  export declare namespace Chat {
455
- export {
456
- type BucketIDs as BucketIDs,
457
- type ChatCompletionRequest as ChatCompletionRequest,
458
- type ChatCreateCompletionResponse as ChatCreateCompletionResponse,
459
- type ChatCreateCompletionParams as ChatCreateCompletionParams,
460
- };
228
+ export { type BucketIDs as BucketIDs, type ChatCompletionRequest as ChatCompletionRequest };
461
229
  }
@@ -4,11 +4,9 @@ export {
4
4
  AI,
5
5
  type ModelMetadata,
6
6
  type ModelsResponse,
7
- type AICreateResponseDeprecatedResponse,
8
7
  type AIRetrieveConversationHistoriesResponse,
9
8
  type AISummarizeResponse,
10
9
  type AISummarizeParams,
11
- type AICreateResponseDeprecatedParams,
12
10
  type AIRetrieveConversationHistoriesParams,
13
11
  } from './ai';
14
12
  export {
@@ -69,13 +67,7 @@ export {
69
67
  type AssistantSendSMSParams,
70
68
  } from './assistants/index';
71
69
  export { Audio, type AudioTranscribeResponse, type AudioTranscribeParams } from './audio';
72
- export {
73
- Chat,
74
- type BucketIDs,
75
- type ChatCompletionRequest,
76
- type ChatCreateCompletionResponse,
77
- type ChatCreateCompletionParams,
78
- } from './chat';
70
+ export { Chat, type BucketIDs, type ChatCompletionRequest } from './chat';
79
71
  export {
80
72
  Clusters,
81
73
  type RecursiveCluster,
@@ -122,6 +122,8 @@ export interface ToolCreateParams {
122
122
 
123
123
  type: string;
124
124
 
125
+ client_side_tool?: { [key: string]: unknown };
126
+
125
127
  function?: { [key: string]: unknown };
126
128
 
127
129
  handoff?: { [key: string]: unknown };
@@ -138,6 +140,8 @@ export interface ToolCreateParams {
138
140
  }
139
141
 
140
142
  export interface ToolUpdateParams {
143
+ client_side_tool?: { [key: string]: unknown };
144
+
141
145
  display_name?: string;
142
146
 
143
147
  function?: { [key: string]: unknown };
@@ -1546,7 +1546,8 @@ export interface TelnyxVoiceSettings {
1546
1546
 
1547
1547
  /**
1548
1548
  * The voice speed to be used for the voice. The voice speed must be between 0.1
1549
- * and 2.0. Default value is 1.0.
1549
+ * and 2.0. Default value is 1.0. Not supported for `Telnyx.Bayan.*` or
1550
+ * `Telnyx.Sukhan.*` voices.
1550
1551
  */
1551
1552
  voice_speed?: number;
1552
1553
  }
@@ -1604,6 +1605,8 @@ export interface TranscriptionConfig {
1604
1605
  * - `xai/grok-stt` for live streaming transcription.
1605
1606
  * - `soniox/stt-rt-v4` for live streaming multilingual transcription with
1606
1607
  * automatic language detection.
1608
+ * - `parakeet/tdt-0.6b-v3` for multilingual transcription with automatic language
1609
+ * detection.
1607
1610
  * - `azure/fast` and `azure/realtime`; Azure models require `region`, and
1608
1611
  * unsupported regions require `api_key_ref`.
1609
1612
  * - `google/latest_long` for non-streaming multilingual transcription.
@@ -1622,6 +1625,7 @@ export interface TranscriptionConfig {
1622
1625
  | 'assemblyai/universal-streaming'
1623
1626
  | 'xai/grok-stt'
1624
1627
  | 'soniox/stt-rt-v4'
1628
+ | 'parakeet/tdt-0.6b-v3'
1625
1629
  | 'azure/fast'
1626
1630
  | 'azure/realtime'
1627
1631
  | 'google/latest_long'
@@ -2417,6 +2421,9 @@ export interface ActionStartAIAssistantParams {
2417
2421
  * - **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`,
2418
2422
  * `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
2419
2423
  * `Max`, `TTS2`.
2424
+ * - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
2425
+ * `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
2426
+ * `s1`. `VoiceId` is a Fish Voice-Library reference ID.
2420
2427
  * - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
2421
2428
  * `ara`, `rex`, `sal`, `leo`.
2422
2429
  */
@@ -3126,6 +3133,9 @@ export interface ActionGatherUsingAIParams {
3126
3133
  * - **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`,
3127
3134
  * `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
3128
3135
  * `Max`, `TTS2`.
3136
+ * - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
3137
+ * `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
3138
+ * `s1`. `VoiceId` is a Fish Voice-Library reference ID.
3129
3139
  * - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
3130
3140
  * `ara`, `rex`, `sal`, `leo`.
3131
3141
  */
@@ -3276,6 +3286,9 @@ export interface ActionGatherUsingSpeakParams {
3276
3286
  * [available voices](https://elevenlabs.io/docs/api-reference/get-voices).
3277
3287
  * - **Telnyx:** Use `Telnyx.<model_id>.<voice_id>` (e.g., `Telnyx.KokoroTTS.af`).
3278
3288
  * Use `voice_settings` to configure voice_speed and other synthesis parameters.
3289
+ * `Bayan` provides Arabic (multiple dialects) and English voices (e.g.,
3290
+ * `Telnyx.Bayan.Ahmed`, `Telnyx.Bayan.Amanda`). `Sukhan` provides Urdu voices
3291
+ * (e.g., `Telnyx.Sukhan.urdu-professor`); `voice_speed` is not supported.
3279
3292
  * - **Minimax:** Use `Minimax.<ModelId>.<VoiceId>` (e.g.,
3280
3293
  * `Minimax.speech-02-hd.Wise_Woman`). Supported models: `speech-02-turbo`,
3281
3294
  * `speech-02-hd`, `speech-2.6-turbo`, `speech-2.8-turbo`. Use `voice_settings`
@@ -3290,6 +3303,9 @@ export interface ActionGatherUsingSpeakParams {
3290
3303
  * `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
3291
3304
  * `Max`, `TTS2`. Use `voice_settings` to configure `delivery_mode` (`STABLE`,
3292
3305
  * `BALANCED`, `CREATIVE`), supported by `TTS2` only.
3306
+ * - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
3307
+ * `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
3308
+ * `s1`. `VoiceId` is a Fish Voice-Library reference ID.
3293
3309
  * - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
3294
3310
  * `ara`, `rex`, `sal`, `leo`.
3295
3311
  *
@@ -4159,6 +4175,9 @@ export interface ActionSpeakParams {
4159
4175
  * [available voices](https://elevenlabs.io/docs/api-reference/get-voices).
4160
4176
  * - **Telnyx:** Use `Telnyx.<model_id>.<voice_id>` (e.g., `Telnyx.KokoroTTS.af`).
4161
4177
  * Use `voice_settings` to configure voice_speed and other synthesis parameters.
4178
+ * `Bayan` provides Arabic (multiple dialects) and English voices (e.g.,
4179
+ * `Telnyx.Bayan.Ahmed`, `Telnyx.Bayan.Amanda`). `Sukhan` provides Urdu voices
4180
+ * (e.g., `Telnyx.Sukhan.urdu-professor`); `voice_speed` is not supported.
4162
4181
  * - **Minimax:** Use `Minimax.<ModelId>.<VoiceId>` (e.g.,
4163
4182
  * `Minimax.speech-02-hd.Wise_Woman`). Supported models: `speech-02-turbo`,
4164
4183
  * `speech-02-hd`, `speech-2.6-turbo`, `speech-2.8-turbo`. Use `voice_settings`
@@ -4173,6 +4192,9 @@ export interface ActionSpeakParams {
4173
4192
  * `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
4174
4193
  * `Max`, `TTS2`. Use `voice_settings` to configure `delivery_mode` (`STABLE`,
4175
4194
  * `BALANCED`, `CREATIVE`), supported by `TTS2` only.
4195
+ * - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
4196
+ * `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
4197
+ * `s1`. `VoiceId` is a Fish Voice-Library reference ID.
4176
4198
  * - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
4177
4199
  * `ara`, `rex`, `sal`, `leo`.
4178
4200
  *
@@ -5119,6 +5141,9 @@ export interface ActionStartConversationRelayParams {
5119
5141
  * - **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`,
5120
5142
  * `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
5121
5143
  * `Max`, `TTS2`.
5144
+ * - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
5145
+ * `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
5146
+ * `s1`. `VoiceId` is a Fish Voice-Library reference ID.
5122
5147
  * - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
5123
5148
  * `ara`, `rex`, `sal`, `leo`.
5124
5149
  */
@@ -525,6 +525,9 @@ export interface ConversationRelayEmbeddedConfig {
525
525
  * - **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`,
526
526
  * `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
527
527
  * `Max`, `TTS2`.
528
+ * - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
529
+ * `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
530
+ * `s1`. `VoiceId` is a Fish Voice-Library reference ID.
528
531
  * - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
529
532
  * `ara`, `rex`, `sal`, `leo`.
530
533
  */
@@ -778,6 +778,9 @@ export interface ActionSpeakParams {
778
778
  * [available voices](https://elevenlabs.io/docs/api-reference/get-voices).
779
779
  * - **Telnyx:** Use `Telnyx.<model_id>.<voice_id>` (e.g., `Telnyx.KokoroTTS.af`).
780
780
  * Use `voice_settings` to configure voice_speed and other synthesis parameters.
781
+ * `Bayan` provides Arabic (multiple dialects) and English voices (e.g.,
782
+ * `Telnyx.Bayan.Ahmed`, `Telnyx.Bayan.Amanda`). `Sukhan` provides Urdu voices
783
+ * (e.g., `Telnyx.Sukhan.urdu-professor`); `voice_speed` is not supported.
781
784
  * - **Minimax:** Use `Minimax.<ModelId>.<VoiceId>` (e.g.,
782
785
  * `Minimax.speech-02-hd.Wise_Woman`). Supported models: `speech-02-turbo`,
783
786
  * `speech-02-hd`, `speech-2.6-turbo`, `speech-2.8-turbo`. Use `voice_settings`
@@ -792,6 +795,9 @@ export interface ActionSpeakParams {
792
795
  * `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
793
796
  * `Max`, `TTS2`. Use `voice_settings` to configure `delivery_mode` (`STABLE`,
794
797
  * `BALANCED`, `CREATIVE`), supported by `TTS2` only.
798
+ * - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
799
+ * `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
800
+ * `s1`. `VoiceId` is a Fish Voice-Library reference ID.
795
801
  * - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
796
802
  * `ara`, `rex`, `sal`, `leo`.
797
803
  *
@@ -5,11 +5,9 @@ export {
5
5
  AI,
6
6
  type ModelMetadata,
7
7
  type ModelsResponse,
8
- type AICreateResponseDeprecatedResponse,
9
8
  type AIRetrieveConversationHistoriesResponse,
10
9
  type AISummarizeResponse,
11
10
  type AISummarizeParams,
12
- type AICreateResponseDeprecatedParams,
13
11
  type AIRetrieveConversationHistoriesParams,
14
12
  } from './ai/ai';
15
13
  export {
@@ -593,14 +591,12 @@ export {
593
591
  type MessageSendLongCodeResponse,
594
592
  type MessageSendNumberPoolResponse,
595
593
  type MessageSendShortCodeResponse,
596
- type MessageSendWhatsappResponse,
597
594
  type MessageSendWithAlphanumericSenderResponse,
598
595
  type MessageSendParams,
599
596
  type MessageSendLongCodeParams,
600
597
  type MessageSendNumberPoolParams,
601
598
  type MessageSendShortCodeParams,
602
599
  type MessageSendGroupMmsParams,
603
- type MessageSendWhatsappParams,
604
600
  type MessageScheduleParams,
605
601
  type MessageSendWithAlphanumericSenderParams,
606
602
  } from './messages/messages';
@@ -23,14 +23,12 @@ export {
23
23
  type MessageSendLongCodeResponse,
24
24
  type MessageSendNumberPoolResponse,
25
25
  type MessageSendShortCodeResponse,
26
- type MessageSendWhatsappResponse,
27
26
  type MessageSendWithAlphanumericSenderResponse,
28
27
  type MessageSendParams,
29
28
  type MessageSendLongCodeParams,
30
29
  type MessageSendNumberPoolParams,
31
30
  type MessageSendShortCodeParams,
32
31
  type MessageSendGroupMmsParams,
33
- type MessageSendWhatsappParams,
34
32
  type MessageScheduleParams,
35
33
  type MessageSendWithAlphanumericSenderParams,
36
34
  } from './messages';
@@ -15,6 +15,9 @@ import { APIPromise } from '../../core/api-promise';
15
15
  import { RequestOptions } from '../../internal/request-options';
16
16
  import { path } from '../../internal/utils/path';
17
17
 
18
+ /**
19
+ * Messages
20
+ */
18
21
  export class Messages extends APIResource {
19
22
  rcs: RcsAPI.Rcs = new RcsAPI.Rcs(this._client);
20
23
 
@@ -110,25 +113,6 @@ export class Messages extends APIResource {
110
113
  return this._client.post('/messages/group_mms', { body, ...options });
111
114
  }
112
115
 
113
- /**
114
- * Send a Whatsapp message
115
- *
116
- * @example
117
- * ```ts
118
- * const response = await client.messages.sendWhatsapp({
119
- * from: '+13125551234',
120
- * to: '+13125551234',
121
- * whatsapp_message: {},
122
- * });
123
- * ```
124
- */
125
- sendWhatsapp(
126
- body: MessageSendWhatsappParams,
127
- options?: RequestOptions,
128
- ): APIPromise<MessageSendWhatsappResponse> {
129
- return this._client.post('/messages/whatsapp', { body, ...options });
130
- }
131
-
132
116
  /**
133
117
  * Schedule a message with a Phone Number, Alphanumeric Sender ID, Short Code or
134
118
  * Number Pool.
@@ -1560,68 +1544,6 @@ export interface MessageSendShortCodeResponse {
1560
1544
  data?: OutboundMessagePayload;
1561
1545
  }
1562
1546
 
1563
- export interface MessageSendWhatsappResponse {
1564
- data?: MessageSendWhatsappResponse.Data;
1565
- }
1566
-
1567
- export namespace MessageSendWhatsappResponse {
1568
- export interface Data {
1569
- /**
1570
- * message ID
1571
- */
1572
- id?: string;
1573
-
1574
- body?: MessagesAPI.WhatsappMessageContent;
1575
-
1576
- direction?: string;
1577
-
1578
- encoding?: string;
1579
-
1580
- from?: Data.From;
1581
-
1582
- messaging_profile_id?: string;
1583
-
1584
- organization_id?: string;
1585
-
1586
- received_at?: string;
1587
-
1588
- record_type?: string;
1589
-
1590
- to?: Array<MessagesAPI.RcsToItem>;
1591
-
1592
- type?: string;
1593
-
1594
- /**
1595
- * Seconds the message is queued due to rate limiting before being sent to the
1596
- * carrier. Represents the maximum wait across all applicable rate limits (account,
1597
- * carrier, campaign). 0.0 = no queuing delay.
1598
- */
1599
- wait_seconds?: number | null;
1600
- }
1601
-
1602
- export namespace Data {
1603
- export interface From {
1604
- /**
1605
- * The carrier of the sender.
1606
- */
1607
- carrier?: string;
1608
-
1609
- /**
1610
- * The line-type of the sender.
1611
- */
1612
- line_type?: 'Wireline' | 'Wireless' | 'VoWiFi' | 'VoIP' | 'Pre-Paid Wireless' | '';
1613
-
1614
- /**
1615
- * Sending address (+E.164 formatted phone number, alphanumeric sender ID, or short
1616
- * code).
1617
- */
1618
- phone_number?: string;
1619
-
1620
- status?: 'received' | 'delivered';
1621
- }
1622
- }
1623
- }
1624
-
1625
1547
  export interface MessageSendWithAlphanumericSenderResponse {
1626
1548
  data?: OutboundMessagePayload;
1627
1549
  }
@@ -1964,35 +1886,6 @@ export interface MessageSendGroupMmsParams {
1964
1886
  webhook_url?: string;
1965
1887
  }
1966
1888
 
1967
- export interface MessageSendWhatsappParams {
1968
- /**
1969
- * Phone number in +E.164 format associated with Whatsapp account
1970
- */
1971
- from: string;
1972
-
1973
- /**
1974
- * Phone number in +E.164 format
1975
- */
1976
- to: string;
1977
-
1978
- whatsapp_message: WhatsappMessageContent;
1979
-
1980
- /**
1981
- * Messaging profile ID - required if the 'from' number is not SMS-enabled
1982
- */
1983
- messaging_profile_id?: string;
1984
-
1985
- /**
1986
- * Message type - must be set to "WHATSAPP"
1987
- */
1988
- type?: 'WHATSAPP';
1989
-
1990
- /**
1991
- * The URL where webhooks related to this message will be sent.
1992
- */
1993
- webhook_url?: string;
1994
- }
1995
-
1996
1889
  export interface MessageScheduleParams {
1997
1890
  /**
1998
1891
  * Receiving address (+E.164 formatted phone number or short code).
@@ -2132,14 +2025,12 @@ export declare namespace Messages {
2132
2025
  type MessageSendLongCodeResponse as MessageSendLongCodeResponse,
2133
2026
  type MessageSendNumberPoolResponse as MessageSendNumberPoolResponse,
2134
2027
  type MessageSendShortCodeResponse as MessageSendShortCodeResponse,
2135
- type MessageSendWhatsappResponse as MessageSendWhatsappResponse,
2136
2028
  type MessageSendWithAlphanumericSenderResponse as MessageSendWithAlphanumericSenderResponse,
2137
2029
  type MessageSendParams as MessageSendParams,
2138
2030
  type MessageSendLongCodeParams as MessageSendLongCodeParams,
2139
2031
  type MessageSendNumberPoolParams as MessageSendNumberPoolParams,
2140
2032
  type MessageSendShortCodeParams as MessageSendShortCodeParams,
2141
2033
  type MessageSendGroupMmsParams as MessageSendGroupMmsParams,
2142
- type MessageSendWhatsappParams as MessageSendWhatsappParams,
2143
2034
  type MessageScheduleParams as MessageScheduleParams,
2144
2035
  type MessageSendWithAlphanumericSenderParams as MessageSendWithAlphanumericSenderParams,
2145
2036
  };
@@ -264,6 +264,14 @@ export interface PhoneNumberDetailed {
264
264
  */
265
265
  tags: Array<string>;
266
266
 
267
+ /**
268
+ * ISO 8601 formatted date indicating when the phone number was first activated
269
+ * (transitioned from purchase-pending or port-pending to active). Will be null for
270
+ * numbers that have not yet been activated, or for legacy numbers activated before
271
+ * this field was tracked.
272
+ */
273
+ activated_at?: string | null;
274
+
267
275
  /**
268
276
  * Identifies the billing group associated with the phone number.
269
277
  */
@@ -384,6 +392,14 @@ export namespace PhoneNumberDeleteResponse {
384
392
  */
385
393
  id?: string;
386
394
 
395
+ /**
396
+ * ISO 8601 formatted date indicating when the phone number was first activated
397
+ * (transitioned from purchase-pending or port-pending to active). Will be null for
398
+ * numbers that have not yet been activated, or for legacy numbers activated before
399
+ * this field was tracked.
400
+ */
401
+ activated_at?: string | null;
402
+
387
403
  /**
388
404
  * Identifies the billing group associated with the phone number.
389
405
  */
@@ -530,6 +546,14 @@ export interface PhoneNumberSlimListResponse {
530
546
  */
531
547
  id?: string;
532
548
 
549
+ /**
550
+ * ISO 8601 formatted date indicating when the phone number was first activated
551
+ * (transitioned from purchase-pending or port-pending to active). Will be null for
552
+ * numbers that have not yet been activated, or for legacy numbers activated before
553
+ * this field was tracked.
554
+ */
555
+ activated_at?: string | null;
556
+
533
557
  /**
534
558
  * Identifies the billing group associated with the phone number.
535
559
  */