@vapi-ai/web 1.0.266 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/api.ts CHANGED
@@ -11,30 +11,30 @@
11
11
 
12
12
  export interface DeepgramVoice {
13
13
  /** This is the voice provider that will be used. */
14
- provider: "deepgram";
14
+ provider: 'deepgram';
15
15
  /** This is the provider-specific ID that will be used. */
16
16
  voiceId:
17
- | "asteria"
18
- | "luna"
19
- | "hera"
20
- | "athena"
21
- | "varun"
22
- | "leo"
23
- | "perseus"
24
- | "helios"
25
- | "angus"
17
+ | 'asteria'
18
+ | 'luna'
19
+ | 'hera'
20
+ | 'athena'
21
+ | 'varun'
22
+ | 'leo'
23
+ | 'perseus'
24
+ | 'helios'
25
+ | 'angus'
26
26
  | string;
27
27
  }
28
28
 
29
29
  export interface OpenAIMessage {
30
30
  content: string | null;
31
- role: string;
31
+ role: 'assistant' | 'function' | 'user' | 'system';
32
32
  function_call?: object;
33
33
  tool_calls?: object[];
34
34
  }
35
35
 
36
36
  export interface JsonSchema {
37
- type: "string" | "number" | "integer" | "boolean" | "array" | "object";
37
+ type: 'string' | 'number' | 'integer' | 'boolean' | 'array' | 'object';
38
38
  /** This is of type JsonSchema. However, Swagger doesn't support circular references. */
39
39
  items?: object;
40
40
  /** This is an array of type JsonSchema. However, Swagger doesn't support circular references. */
@@ -106,7 +106,7 @@ export interface JsonSchema {
106
106
 
107
107
  export interface OpenAIFunctionParameters {
108
108
  /** This must be set to 'object'. It instructs the model to return a JSON object containing the function call properties. */
109
- type: "object";
109
+ type: 'object';
110
110
  /**
111
111
  * This provides a description of the properties required by the function.
112
112
  * JSON Schema can be used to specify expectations for each property.
@@ -128,7 +128,10 @@ export interface OpenAIFunction {
128
128
  name: string;
129
129
  /** Setting async: true will cause the function to be called asynchronously, meaning that the Assistant will not wait for the function to return before continuing. */
130
130
  async?: boolean;
131
- /** This is the description of what the function does, used by the AI to choose when and how to call the function. */
131
+ /**
132
+ * This is the description of what the function does, used by the AI to choose when and how to call the function.
133
+ * @maxLength 1000
134
+ */
132
135
  description?: string;
133
136
  /**
134
137
  * These are the parameters the functions accepts, described as a JSON Schema object.
@@ -143,7 +146,7 @@ export interface OpenAIFunction {
143
146
  export interface TogetherAIModel {
144
147
  /** This is the starting state for the conversation. */
145
148
  messages?: OpenAIMessage[];
146
- provider: "together-ai";
149
+ provider: 'together-ai';
147
150
  /** The key of the model from the custom provider. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
148
151
  model: string;
149
152
  /**
@@ -165,7 +168,7 @@ export interface TogetherAIModel {
165
168
  export interface AnyscaleModel {
166
169
  /** This is the starting state for the conversation. */
167
170
  messages?: OpenAIMessage[];
168
- provider: "anyscale";
171
+ provider: 'anyscale';
169
172
  /** The key of the model from the custom provider. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
170
173
  model: string;
171
174
  /**
@@ -187,7 +190,7 @@ export interface AnyscaleModel {
187
190
  export interface OpenRouterModel {
188
191
  /** This is the starting state for the conversation. */
189
192
  messages?: OpenAIMessage[];
190
- provider: "openrouter";
193
+ provider: 'openrouter';
191
194
  /** The key of the model from the custom provider. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
192
195
  model: string;
193
196
  /**
@@ -209,7 +212,7 @@ export interface OpenRouterModel {
209
212
  export interface PerplexityAIModel {
210
213
  /** This is the starting state for the conversation. */
211
214
  messages?: OpenAIMessage[];
212
- provider: "perplexity-ai";
215
+ provider: 'perplexity-ai';
213
216
  /** The key of the model from the custom provider. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
214
217
  model: string;
215
218
  /**
@@ -231,7 +234,7 @@ export interface PerplexityAIModel {
231
234
  export interface DeepInfraModel {
232
235
  /** This is the starting state for the conversation. */
233
236
  messages?: OpenAIMessage[];
234
- provider: "deepinfra";
237
+ provider: 'deepinfra';
235
238
  /** The key of the model from the custom provider. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
236
239
  model: string;
237
240
  /**
@@ -254,9 +257,11 @@ export interface CustomLLMModel {
254
257
  /** This is the starting state for the conversation. */
255
258
  messages?: OpenAIMessage[];
256
259
  /** This is the provider that will be used for the model. Any service, including your own server, that is compatible with the OpenAI API can be used. */
257
- provider: "custom-llm";
260
+ provider: 'custom-llm';
258
261
  /** These is the URL we'll use for the OpenAI client's `baseURL`. Ex. https://openrouter.ai/api/v1 */
259
262
  url: string;
263
+ /** This sets whether the call object is sent in requests to the custom provider. Default is true. */
264
+ urlRequestMetadataEnabled: boolean;
260
265
  /** The key of the model from the custom provider. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
261
266
  model: string;
262
267
  /**
@@ -279,8 +284,8 @@ export interface GroqModel {
279
284
  /** This is the starting state for the conversation. */
280
285
  messages?: OpenAIMessage[];
281
286
  /** The key of the model from the custom provider. Ex. cognitivecomputations/dolphin-mixtral-8x7b */
282
- model: "mixtral-8x7b-32768";
283
- provider: "groq";
287
+ model: 'mixtral-8x7b-32768';
288
+ provider: 'groq';
284
289
  /**
285
290
  * This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency.
286
291
  * @min 0
@@ -298,47 +303,192 @@ export interface GroqModel {
298
303
  }
299
304
 
300
305
  export interface DeepgramTranscriber {
301
- /** This is the transcription provider that will be used. Currently, only Deepgram is supported. */
302
- provider: "deepgram";
306
+ /** This is the transcription provider that will be used. */
307
+ provider: 'deepgram';
303
308
  /** This is the Deepgram model that will be used. A list of models can be found here: https://developers.deepgram.com/docs/models-languages-overview */
304
309
  model?:
305
- | "nova-2"
306
- | "nova-2-general"
307
- | "nova-2-meeting"
308
- | "nova-2-phonecall"
309
- | "nova-2-finance"
310
- | "nova-2-conversationalai"
311
- | "nova-2-voicemail"
312
- | "nova-2-video"
313
- | "nova-2-medical"
314
- | "nova-2-drivethru"
315
- | "nova-2-automotive"
316
- | "nova-2-custom"
310
+ | 'nova-2'
311
+ | 'nova-2-general'
312
+ | 'nova-2-meeting'
313
+ | 'nova-2-phonecall'
314
+ | 'nova-2-finance'
315
+ | 'nova-2-conversationalai'
316
+ | 'nova-2-voicemail'
317
+ | 'nova-2-video'
318
+ | 'nova-2-medical'
319
+ | 'nova-2-drivethru'
320
+ | 'nova-2-automotive'
317
321
  | string;
322
+ /** This is the language that will be set for the transcription. The list of languages Deepgram supports can be found here: https://developers.deepgram.com/docs/models-languages-overview */
323
+ language?:
324
+ | 'cs'
325
+ | 'da'
326
+ | 'da-DK'
327
+ | 'nl'
328
+ | 'en'
329
+ | 'en-US'
330
+ | 'en-AU'
331
+ | 'en-GB'
332
+ | 'en-NZ'
333
+ | 'en-IN'
334
+ | 'nl-BE'
335
+ | 'fr'
336
+ | 'fr-CA'
337
+ | 'de'
338
+ | 'el'
339
+ | 'hi'
340
+ | 'hi-Latn'
341
+ | 'id'
342
+ | 'it'
343
+ | 'ja'
344
+ | 'ko'
345
+ | 'ko-KR'
346
+ | 'no'
347
+ | 'pl'
348
+ | 'pt'
349
+ | 'pt-BR'
350
+ | 'ru'
351
+ | 'es'
352
+ | 'es-419'
353
+ | 'sv'
354
+ | 'sv-SE'
355
+ | 'tr'
356
+ | 'uk';
318
357
  /** These keywords are passed to the transcription model to help it pick up use-case specific words. Anything that may not be a common word, like your company name, should be added here. */
319
358
  keywords?: string[];
320
359
  }
321
360
 
361
+ export interface TalkscriberTranscriber {
362
+ /** This is the transcription provider that will be used. */
363
+ provider: 'talkscriber';
364
+ /** This is the model that will be used for the transcription. */
365
+ model?: 'whisper';
366
+ /** This is the language that will be set for the transcription. The list of languages Whisper supports can be found here: https://github.com/openai/whisper/blob/main/whisper/tokenizer.py */
367
+ language?:
368
+ | 'en'
369
+ | 'zh'
370
+ | 'de'
371
+ | 'es'
372
+ | 'ru'
373
+ | 'ko'
374
+ | 'fr'
375
+ | 'ja'
376
+ | 'pt'
377
+ | 'tr'
378
+ | 'pl'
379
+ | 'ca'
380
+ | 'nl'
381
+ | 'ar'
382
+ | 'sv'
383
+ | 'it'
384
+ | 'id'
385
+ | 'hi'
386
+ | 'fi'
387
+ | 'vi'
388
+ | 'he'
389
+ | 'uk'
390
+ | 'el'
391
+ | 'ms'
392
+ | 'cs'
393
+ | 'ro'
394
+ | 'da'
395
+ | 'hu'
396
+ | 'ta'
397
+ | 'no'
398
+ | 'th'
399
+ | 'ur'
400
+ | 'hr'
401
+ | 'bg'
402
+ | 'lt'
403
+ | 'la'
404
+ | 'mi'
405
+ | 'ml'
406
+ | 'cy'
407
+ | 'sk'
408
+ | 'te'
409
+ | 'fa'
410
+ | 'lv'
411
+ | 'bn'
412
+ | 'sr'
413
+ | 'az'
414
+ | 'sl'
415
+ | 'kn'
416
+ | 'et'
417
+ | 'mk'
418
+ | 'br'
419
+ | 'eu'
420
+ | 'is'
421
+ | 'hy'
422
+ | 'ne'
423
+ | 'mn'
424
+ | 'bs'
425
+ | 'kk'
426
+ | 'sq'
427
+ | 'sw'
428
+ | 'gl'
429
+ | 'mr'
430
+ | 'pa'
431
+ | 'si'
432
+ | 'km'
433
+ | 'sn'
434
+ | 'yo'
435
+ | 'so'
436
+ | 'af'
437
+ | 'oc'
438
+ | 'ka'
439
+ | 'be'
440
+ | 'tg'
441
+ | 'sd'
442
+ | 'gu'
443
+ | 'am'
444
+ | 'yi'
445
+ | 'lo'
446
+ | 'uz'
447
+ | 'fo'
448
+ | 'ht'
449
+ | 'ps'
450
+ | 'tk'
451
+ | 'nn'
452
+ | 'mt'
453
+ | 'sa'
454
+ | 'lb'
455
+ | 'my'
456
+ | 'bo'
457
+ | 'tl'
458
+ | 'mg'
459
+ | 'as'
460
+ | 'tt'
461
+ | 'haw'
462
+ | 'ln'
463
+ | 'ha'
464
+ | 'ba'
465
+ | 'jw'
466
+ | 'su'
467
+ | 'yue';
468
+ /** This is the mode that will be used for Whisper. If 'transcribe' is selected, the audio will be transcribed in the language selected in 'language' field. If 'translate' is selected, the audio will be translated from language selected in 'language' field to English. Default is 'translate'. */
469
+ mode?: 'transcribe' | 'translate';
470
+ }
471
+
322
472
  export interface ElevenLabsVoice {
323
473
  /** This is the voice provider that will be used. */
324
- provider: "11labs";
474
+ provider: '11labs';
325
475
  /** This is the provider-specific ID that will be used. Ensure the Voice is present in your 11Labs Voice Library. */
326
476
  voiceId:
327
- | "burt"
328
- | "marissa"
329
- | "andrea"
330
- | "sarah"
331
- | "phillip"
332
- | "steve"
333
- | "joseph"
334
- | "myra"
335
- | "paula"
336
- | "ryan"
337
- | "drew"
338
- | "paul"
339
- | "mrb"
340
- | "matilda"
341
- | "mark"
477
+ | 'burt'
478
+ | 'marissa'
479
+ | 'andrea'
480
+ | 'sarah'
481
+ | 'phillip'
482
+ | 'steve'
483
+ | 'joseph'
484
+ | 'myra'
485
+ | 'paula'
486
+ | 'ryan'
487
+ | 'drew'
488
+ | 'paul'
489
+ | 'mrb'
490
+ | 'matilda'
491
+ | 'mark'
342
492
  | string;
343
493
  /**
344
494
  * Defines the stability for voice settings.
@@ -373,15 +523,20 @@ export interface ElevenLabsVoice {
373
523
  * @example 4
374
524
  */
375
525
  optimizeStreamingLatency?: number;
526
+ /**
527
+ * This is the model that will be used. Defaults to 'eleven_multilingual_v2' if transcriber.language is non-English, otherwise 'eleven_turbo_v2'.
528
+ * @example "eleven_turbo_v2"
529
+ */
530
+ model?: 'eleven_multilingual_v2' | 'eleven_turbo_v2';
376
531
  }
377
532
 
378
533
  export interface OpenAIModel {
379
534
  /** This is the starting state for the conversation. */
380
535
  messages?: OpenAIMessage[];
381
536
  /** This is the provider that will be used for the model. */
382
- provider: "openai";
537
+ provider: 'openai';
383
538
  /** This is the OpenAI model that will be used. */
384
- model: "gpt-4" | "gpt-3.5-turbo";
539
+ model: 'gpt-4' | 'gpt-3.5-turbo';
385
540
  /**
386
541
  * This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency.
387
542
  * @min 0
@@ -400,19 +555,19 @@ export interface OpenAIModel {
400
555
 
401
556
  export interface PlayHTVoice {
402
557
  /** This is the voice provider that will be used. */
403
- provider: "playht";
558
+ provider: 'playht';
404
559
  /** This is the provider-specific ID that will be used. */
405
560
  voiceId:
406
- | "jennifer"
407
- | "melissa"
408
- | "will"
409
- | "chris"
410
- | "matt"
411
- | "jack"
412
- | "ruby"
413
- | "davis"
414
- | "donna"
415
- | "michael"
561
+ | 'jennifer'
562
+ | 'melissa'
563
+ | 'will'
564
+ | 'chris'
565
+ | 'matt'
566
+ | 'jack'
567
+ | 'ruby'
568
+ | 'davis'
569
+ | 'donna'
570
+ | 'michael'
416
571
  | string;
417
572
  /**
418
573
  * This is the speed multiplier that will be used.
@@ -433,12 +588,18 @@ export interface PlayHTVoice {
433
588
  * @example null
434
589
  */
435
590
  emotion?:
436
- | "female_happy"
437
- | "female_sad"
438
- | "female_angry"
439
- | "female_fearful"
440
- | "female_disgust"
441
- | "female_surprised";
591
+ | 'female_happy'
592
+ | 'female_sad'
593
+ | 'female_angry'
594
+ | 'female_fearful'
595
+ | 'female_disgust'
596
+ | 'female_surprised'
597
+ | 'male_happy'
598
+ | 'male_sad'
599
+ | 'male_angry'
600
+ | 'male_fearful'
601
+ | 'male_disgust'
602
+ | 'male_surprised';
442
603
  /**
443
604
  * A number between 1 and 6. Use lower numbers to reduce how unique your chosen voice will be compared to other voices.
444
605
  * @min 1
@@ -464,19 +625,19 @@ export interface PlayHTVoice {
464
625
 
465
626
  export interface RimeAIVoice {
466
627
  /** This is the voice provider that will be used. */
467
- provider: "rime-ai";
628
+ provider: 'rime-ai';
468
629
  /** This is the provider-specific ID that will be used. */
469
630
  voiceId:
470
- | "kai"
471
- | "zion"
472
- | "xavier"
473
- | "marty"
474
- | "hudson"
475
- | "savannah"
476
- | "colette"
477
- | "daphne"
478
- | "aurora"
479
- | "nova"
631
+ | 'kai'
632
+ | 'zion'
633
+ | 'xavier'
634
+ | 'marty'
635
+ | 'hudson'
636
+ | 'savannah'
637
+ | 'colette'
638
+ | 'daphne'
639
+ | 'aurora'
640
+ | 'nova'
480
641
  | string;
481
642
  /**
482
643
  * This is the speed multiplier that will be used.
@@ -488,9 +649,9 @@ export interface RimeAIVoice {
488
649
 
489
650
  export interface OpenAIVoice {
490
651
  /** This is the voice provider that will be used. */
491
- provider: "openai";
652
+ provider: 'openai';
492
653
  /** This is the provider-specific ID that will be used. */
493
- voiceId: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer" | string;
654
+ voiceId: 'alloy' | 'echo' | 'fable' | 'onyx' | 'nova' | 'shimmer' | string;
494
655
  /**
495
656
  * This is the speed multiplier that will be used.
496
657
  * @min 0.25
@@ -502,12 +663,33 @@ export interface OpenAIVoice {
502
663
 
503
664
  export interface AzureVoice {
504
665
  /** This is the voice provider that will be used. */
505
- provider: "azure";
666
+ provider: 'azure';
506
667
  /** This is the provider-specific ID that will be used. */
507
- voiceId: "andrew" | "brian" | "emma" | string;
668
+ voiceId: 'andrew' | 'brian' | 'emma' | string;
669
+ }
670
+
671
+ export interface LMNTVoice {
672
+ /** This is the voice provider that will be used. */
673
+ provider: 'lmnt';
674
+ /** This is the provider-specific ID that will be used. */
675
+ voiceId: 'lily' | 'daniel' | string;
676
+ /**
677
+ * This is the speed multiplier that will be used.
678
+ * @min 0.25
679
+ * @max 2
680
+ * @example null
681
+ */
682
+ speed?: number;
683
+ }
684
+
685
+ export interface ForwardingPhoneNumber {
686
+ number: string;
687
+ message?: string;
508
688
  }
509
689
 
510
690
  export interface CreateAssistantDTO {
691
+ /** These are the options for the assistant's transcriber. */
692
+ transcriber?: DeepgramTranscriber | TalkscriberTranscriber;
511
693
  /** These are the options for the assistant's LLM. */
512
694
  model?:
513
695
  | OpenAIModel
@@ -528,27 +710,8 @@ export interface CreateAssistantDTO {
528
710
  | PlayHTVoice
529
711
  | RimeAIVoice
530
712
  | DeepgramVoice
531
- | OpenAIVoice;
532
- /**
533
- * This sets the spoken language of the user. The assistant will do its best to respond in the same language.
534
- * When using a language other than `en-*`, only `11labs` voices will pronounce the words correctly. There will also be ~1sec of additional latency.
535
- */
536
- language?:
537
- | "en"
538
- | "en-US"
539
- | "en-AU"
540
- | "en-GB"
541
- | "en-NZ"
542
- | "en-IN"
543
- | "fr"
544
- | "fr-CA"
545
- | "de"
546
- | "hi"
547
- | "hi-Latn"
548
- | "pt"
549
- | "pt-BR"
550
- | "es"
551
- | "es-419";
713
+ | OpenAIVoice
714
+ | LMNTVoice;
552
715
  /**
553
716
  * This is the number to forward to if assistant runs into issues.
554
717
  * @example null
@@ -579,25 +742,25 @@ export interface CreateAssistantDTO {
579
742
  * @example ["transcript","hang","function-call","speech-update","metadata","conversation-update"]
580
743
  */
581
744
  clientMessages?: (
582
- | "status-update"
583
- | "speech-update"
584
- | "transcript"
585
- | "hang"
586
- | "function-call"
587
- | "metadata"
588
- | "conversation-update"
745
+ | 'status-update'
746
+ | 'speech-update'
747
+ | 'transcript'
748
+ | 'hang'
749
+ | 'function-call'
750
+ | 'metadata'
751
+ | 'conversation-update'
589
752
  )[];
590
753
  /**
591
754
  * These are the messages that will be sent to your Server URL. Default is ['end-of-call-report', 'status-update', 'hang', 'function-call']
592
755
  * @example ["end-of-call-report","status-update","hang","function-call"]
593
756
  */
594
757
  serverMessages?: (
595
- | "status-update"
596
- | "transcript"
597
- | "hang"
598
- | "function-call"
599
- | "end-of-call-report"
600
- | "conversation-update"
758
+ | 'status-update'
759
+ | 'transcript'
760
+ | 'hang'
761
+ | 'function-call'
762
+ | 'end-of-call-report'
763
+ | 'conversation-update'
601
764
  )[];
602
765
  /**
603
766
  * How many seconds of silence to wait before ending the call. Defaults to 30.
@@ -613,6 +776,20 @@ export interface CreateAssistantDTO {
613
776
  * @example 0.4
614
777
  */
615
778
  responseDelaySeconds?: number;
779
+ /**
780
+ * The minimum number of seconds to wait after punctuation before sending a request to the LLM. Defaults to 0.1.
781
+ * @min 0
782
+ * @max 3
783
+ * @example 0.1
784
+ */
785
+ llmRequestDelaySeconds?: number;
786
+ /**
787
+ * The number of words to wait for before interrupting the assistant. Words like "stop", "actually", "no", etc. will always interrupt immediately regardless of this value. Words like "okay", "yeah", "right" will never interrupt. Defaults to 2.
788
+ * @min 1
789
+ * @max 10
790
+ * @example 2
791
+ */
792
+ numWordsToInterruptAssistant?: number;
616
793
  /**
617
794
  * This is the maximum number of seconds that the call will last. When the call reaches this duration, it will be ended.
618
795
  * @min 10
@@ -625,8 +802,8 @@ export interface CreateAssistantDTO {
625
802
  * @maxLength 100
626
803
  */
627
804
  name?: string;
628
- /** These are the options for the assistant's transcriber. */
629
- transcriber?: DeepgramTranscriber;
805
+ /** You can provide a set of phone numbers to forward to. You'll want to tell the assistant when to use each of these numbers in the system prompt. */
806
+ forwardingPhoneNumbers?: ForwardingPhoneNumber[];
630
807
  /**
631
808
  * This is the first message that the assistant will say. This can also be a URL to a containerized audio file (mp3, wav, etc.).
632
809
  *
@@ -657,18 +834,20 @@ export interface CreateAssistantDTO {
657
834
  *
658
835
  * All requests will be sent with the call object among other things relevant to that message. You can find more details in the Server URL documentation.
659
836
  *
660
- * This overrides the serverUrl set on the org.
837
+ * This overrides the serverUrl set on the org and the phoneNumber. Order of precedence: assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl
661
838
  */
662
839
  serverUrl?: string;
663
840
  /**
664
841
  * This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret.
665
842
  *
666
- * This overrides the serverUrlSecret set on the org.
843
+ * Same precendence logic as serverUrl.
667
844
  */
668
845
  serverUrlSecret?: string;
669
846
  }
670
847
 
671
848
  export interface Assistant {
849
+ /** These are the options for the assistant's transcriber. */
850
+ transcriber?: DeepgramTranscriber | TalkscriberTranscriber;
672
851
  /** These are the options for the assistant's LLM. */
673
852
  model?:
674
853
  | OpenAIModel
@@ -689,27 +868,8 @@ export interface Assistant {
689
868
  | PlayHTVoice
690
869
  | RimeAIVoice
691
870
  | DeepgramVoice
692
- | OpenAIVoice;
693
- /**
694
- * This sets the spoken language of the user. The assistant will do its best to respond in the same language.
695
- * When using a language other than `en-*`, only `11labs` voices will pronounce the words correctly. There will also be ~1sec of additional latency.
696
- */
697
- language?:
698
- | "en"
699
- | "en-US"
700
- | "en-AU"
701
- | "en-GB"
702
- | "en-NZ"
703
- | "en-IN"
704
- | "fr"
705
- | "fr-CA"
706
- | "de"
707
- | "hi"
708
- | "hi-Latn"
709
- | "pt"
710
- | "pt-BR"
711
- | "es"
712
- | "es-419";
871
+ | OpenAIVoice
872
+ | LMNTVoice;
713
873
  /**
714
874
  * This is the number to forward to if assistant runs into issues.
715
875
  * @example null
@@ -740,25 +900,25 @@ export interface Assistant {
740
900
  * @example ["transcript","hang","function-call","speech-update","metadata","conversation-update"]
741
901
  */
742
902
  clientMessages?: (
743
- | "status-update"
744
- | "speech-update"
745
- | "transcript"
746
- | "hang"
747
- | "function-call"
748
- | "metadata"
749
- | "conversation-update"
903
+ | 'status-update'
904
+ | 'speech-update'
905
+ | 'transcript'
906
+ | 'hang'
907
+ | 'function-call'
908
+ | 'metadata'
909
+ | 'conversation-update'
750
910
  )[];
751
911
  /**
752
912
  * These are the messages that will be sent to your Server URL. Default is ['end-of-call-report', 'status-update', 'hang', 'function-call']
753
913
  * @example ["end-of-call-report","status-update","hang","function-call"]
754
914
  */
755
915
  serverMessages?: (
756
- | "status-update"
757
- | "transcript"
758
- | "hang"
759
- | "function-call"
760
- | "end-of-call-report"
761
- | "conversation-update"
916
+ | 'status-update'
917
+ | 'transcript'
918
+ | 'hang'
919
+ | 'function-call'
920
+ | 'end-of-call-report'
921
+ | 'conversation-update'
762
922
  )[];
763
923
  /**
764
924
  * How many seconds of silence to wait before ending the call. Defaults to 30.
@@ -774,6 +934,20 @@ export interface Assistant {
774
934
  * @example 0.4
775
935
  */
776
936
  responseDelaySeconds?: number;
937
+ /**
938
+ * The minimum number of seconds to wait after punctuation before sending a request to the LLM. Defaults to 0.1.
939
+ * @min 0
940
+ * @max 3
941
+ * @example 0.1
942
+ */
943
+ llmRequestDelaySeconds?: number;
944
+ /**
945
+ * The number of words to wait for before interrupting the assistant. Words like "stop", "actually", "no", etc. will always interrupt immediately regardless of this value. Words like "okay", "yeah", "right" will never interrupt. Defaults to 2.
946
+ * @min 1
947
+ * @max 10
948
+ * @example 2
949
+ */
950
+ numWordsToInterruptAssistant?: number;
777
951
  /**
778
952
  * This is the maximum number of seconds that the call will last. When the call reaches this duration, it will be ended.
779
953
  * @min 10
@@ -786,8 +960,8 @@ export interface Assistant {
786
960
  * @maxLength 100
787
961
  */
788
962
  name?: string;
789
- /** These are the options for the assistant's transcriber. */
790
- transcriber?: DeepgramTranscriber;
963
+ /** You can provide a set of phone numbers to forward to. You'll want to tell the assistant when to use each of these numbers in the system prompt. */
964
+ forwardingPhoneNumbers?: ForwardingPhoneNumber[];
791
965
  /**
792
966
  * This is the first message that the assistant will say. This can also be a URL to a containerized audio file (mp3, wav, etc.).
793
967
  *
@@ -818,13 +992,13 @@ export interface Assistant {
818
992
  *
819
993
  * All requests will be sent with the call object among other things relevant to that message. You can find more details in the Server URL documentation.
820
994
  *
821
- * This overrides the serverUrl set on the org.
995
+ * This overrides the serverUrl set on the org and the phoneNumber. Order of precedence: assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl
822
996
  */
823
997
  serverUrl?: string;
824
998
  /**
825
999
  * This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret.
826
1000
  *
827
- * This overrides the serverUrlSecret set on the org.
1001
+ * Same precendence logic as serverUrl.
828
1002
  */
829
1003
  serverUrlSecret?: string;
830
1004
  /** This is the unique identifier for the assistant. */
@@ -844,6 +1018,8 @@ export interface Assistant {
844
1018
  }
845
1019
 
846
1020
  export interface UpdateAssistantDTO {
1021
+ /** These are the options for the assistant's transcriber. */
1022
+ transcriber?: DeepgramTranscriber | TalkscriberTranscriber;
847
1023
  /** These are the options for the assistant's LLM. */
848
1024
  model?:
849
1025
  | OpenAIModel
@@ -864,27 +1040,8 @@ export interface UpdateAssistantDTO {
864
1040
  | PlayHTVoice
865
1041
  | RimeAIVoice
866
1042
  | DeepgramVoice
867
- | OpenAIVoice;
868
- /**
869
- * This sets the spoken language of the user. The assistant will do its best to respond in the same language.
870
- * When using a language other than `en-*`, only `11labs` voices will pronounce the words correctly. There will also be ~1sec of additional latency.
871
- */
872
- language?:
873
- | "en"
874
- | "en-US"
875
- | "en-AU"
876
- | "en-GB"
877
- | "en-NZ"
878
- | "en-IN"
879
- | "fr"
880
- | "fr-CA"
881
- | "de"
882
- | "hi"
883
- | "hi-Latn"
884
- | "pt"
885
- | "pt-BR"
886
- | "es"
887
- | "es-419";
1043
+ | OpenAIVoice
1044
+ | LMNTVoice;
888
1045
  /**
889
1046
  * This is the number to forward to if assistant runs into issues.
890
1047
  * @example null
@@ -915,25 +1072,25 @@ export interface UpdateAssistantDTO {
915
1072
  * @example ["transcript","hang","function-call","speech-update","metadata","conversation-update"]
916
1073
  */
917
1074
  clientMessages?: (
918
- | "status-update"
919
- | "speech-update"
920
- | "transcript"
921
- | "hang"
922
- | "function-call"
923
- | "metadata"
924
- | "conversation-update"
1075
+ | 'status-update'
1076
+ | 'speech-update'
1077
+ | 'transcript'
1078
+ | 'hang'
1079
+ | 'function-call'
1080
+ | 'metadata'
1081
+ | 'conversation-update'
925
1082
  )[];
926
1083
  /**
927
1084
  * These are the messages that will be sent to your Server URL. Default is ['end-of-call-report', 'status-update', 'hang', 'function-call']
928
1085
  * @example ["end-of-call-report","status-update","hang","function-call"]
929
1086
  */
930
1087
  serverMessages?: (
931
- | "status-update"
932
- | "transcript"
933
- | "hang"
934
- | "function-call"
935
- | "end-of-call-report"
936
- | "conversation-update"
1088
+ | 'status-update'
1089
+ | 'transcript'
1090
+ | 'hang'
1091
+ | 'function-call'
1092
+ | 'end-of-call-report'
1093
+ | 'conversation-update'
937
1094
  )[];
938
1095
  /**
939
1096
  * How many seconds of silence to wait before ending the call. Defaults to 30.
@@ -949,6 +1106,20 @@ export interface UpdateAssistantDTO {
949
1106
  * @example 0.4
950
1107
  */
951
1108
  responseDelaySeconds?: number;
1109
+ /**
1110
+ * The minimum number of seconds to wait after punctuation before sending a request to the LLM. Defaults to 0.1.
1111
+ * @min 0
1112
+ * @max 3
1113
+ * @example 0.1
1114
+ */
1115
+ llmRequestDelaySeconds?: number;
1116
+ /**
1117
+ * The number of words to wait for before interrupting the assistant. Words like "stop", "actually", "no", etc. will always interrupt immediately regardless of this value. Words like "okay", "yeah", "right" will never interrupt. Defaults to 2.
1118
+ * @min 1
1119
+ * @max 10
1120
+ * @example 2
1121
+ */
1122
+ numWordsToInterruptAssistant?: number;
952
1123
  /**
953
1124
  * This is the maximum number of seconds that the call will last. When the call reaches this duration, it will be ended.
954
1125
  * @min 10
@@ -961,8 +1132,8 @@ export interface UpdateAssistantDTO {
961
1132
  * @maxLength 100
962
1133
  */
963
1134
  name?: string;
964
- /** These are the options for the assistant's transcriber. */
965
- transcriber?: DeepgramTranscriber;
1135
+ /** You can provide a set of phone numbers to forward to. You'll want to tell the assistant when to use each of these numbers in the system prompt. */
1136
+ forwardingPhoneNumbers?: ForwardingPhoneNumber[];
966
1137
  /**
967
1138
  * This is the first message that the assistant will say. This can also be a URL to a containerized audio file (mp3, wav, etc.).
968
1139
  *
@@ -993,13 +1164,13 @@ export interface UpdateAssistantDTO {
993
1164
  *
994
1165
  * All requests will be sent with the call object among other things relevant to that message. You can find more details in the Server URL documentation.
995
1166
  *
996
- * This overrides the serverUrl set on the org.
1167
+ * This overrides the serverUrl set on the org and the phoneNumber. Order of precedence: assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl
997
1168
  */
998
1169
  serverUrl?: string;
999
1170
  /**
1000
1171
  * This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret.
1001
1172
  *
1002
- * This overrides the serverUrlSecret set on the org.
1173
+ * Same precendence logic as serverUrl.
1003
1174
  */
1004
1175
  serverUrlSecret?: string;
1005
1176
  }
@@ -1037,58 +1208,83 @@ export interface ImportTwilioPhoneNumberDTO {
1037
1208
  * If this is not set, then the phone number will not handle incoming calls.
1038
1209
  */
1039
1210
  assistantId?: string;
1211
+ /**
1212
+ * This is the server URL that will be used to handle this phone number.
1213
+ *
1214
+ * All requests will be sent with the call object among other things relevant to that message. You can find more details in the Server URL documentation.
1215
+ *
1216
+ * This overrides the serverUrl set on the org. Order of precedence: assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
1217
+ */
1218
+ serverUrl?: string;
1219
+ /**
1220
+ * This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret.
1221
+ *
1222
+ * Same precendence logic as serverUrl.
1223
+ */
1224
+ serverUrlSecret?: string;
1040
1225
  }
1041
1226
 
1042
1227
  export interface Call {
1043
1228
  /** This is the type of call. */
1044
- type?: "inboundPhoneCall" | "outboundPhoneCall" | "webCall";
1229
+ type?: 'inboundPhoneCall' | 'outboundPhoneCall' | 'webCall';
1230
+ /**
1231
+ * This is the provider of the call.
1232
+ *
1233
+ * Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
1234
+ */
1235
+ phoneCallProvider?: 'twilio' | 'vonage';
1045
1236
  /** This is the status of the call. */
1046
- status?: "queued" | "ringing" | "in-progress" | "forwarding" | "ended";
1237
+ status?: 'queued' | 'ringing' | 'in-progress' | 'forwarding' | 'ended';
1047
1238
  /** This is the explanation for how the call ended. */
1048
1239
  endedReason?:
1049
- | "assistant-error"
1050
- | "assistant-not-found"
1051
- | "db-error"
1052
- | "no-server-available"
1053
- | "pipeline-error-extra-function-failed"
1054
- | "pipeline-error-first-message-failed"
1055
- | "pipeline-error-function-filler-failed"
1056
- | "pipeline-error-function-failed"
1057
- | "pipeline-error-openai-llm-failed"
1058
- | "pipeline-error-azure-openai-llm-failed"
1059
- | "pipeline-error-together-ai-llm-failed"
1060
- | "pipeline-error-anyscale-llm-failed"
1061
- | "pipeline-error-openrouter-llm-failed"
1062
- | "pipeline-error-perplexity-ai-llm-failed"
1063
- | "pipeline-error-deepinfra-llm-failed"
1064
- | "pipeline-error-runpod-llm-failed"
1065
- | "pipeline-error-groq-llm-failed"
1066
- | "pipeline-error-openai-voice-failed"
1067
- | "pipeline-error-deepgram-transcriber-failed"
1068
- | "pipeline-error-deepgram-voice-failed"
1069
- | "pipeline-error-eleven-labs-voice-failed"
1070
- | "pipeline-error-eleven-labs-voice-not-found"
1071
- | "pipeline-error-eleven-labs-quota-exceeded"
1072
- | "pipeline-error-playht-voice-failed"
1073
- | "pipeline-error-azure-voice-failed"
1074
- | "pipeline-error-rime-ai-voice-failed"
1075
- | "server-shutdown"
1076
- | "twilio-closed-websocket"
1077
- | "twilio-failed-to-connect-call"
1078
- | "unknown-error"
1079
- | "assistant-ended-call"
1080
- | "assistant-said-end-call-phrase"
1081
- | "assistant-forwarded-call"
1082
- | "assistant-join-timed-out"
1083
- | "customer-busy"
1084
- | "customer-ended-call"
1085
- | "customer-did-not-answer"
1086
- | "customer-did-not-give-microphone-permission"
1087
- | "exceeded-max-duration"
1088
- | "manually-canceled"
1089
- | "pipeline-error-custom-llm-llm-failed"
1090
- | "silence-timed-out"
1091
- | "voicemail";
1240
+ | 'assistant-error'
1241
+ | 'assistant-not-found'
1242
+ | 'db-error'
1243
+ | 'no-server-available'
1244
+ | 'pipeline-error-extra-function-failed'
1245
+ | 'pipeline-error-first-message-failed'
1246
+ | 'pipeline-error-function-filler-failed'
1247
+ | 'pipeline-error-function-failed'
1248
+ | 'pipeline-error-openai-llm-failed'
1249
+ | 'pipeline-error-azure-openai-llm-failed'
1250
+ | 'pipeline-error-together-ai-llm-failed'
1251
+ | 'pipeline-error-anyscale-llm-failed'
1252
+ | 'pipeline-error-openrouter-llm-failed'
1253
+ | 'pipeline-error-perplexity-ai-llm-failed'
1254
+ | 'pipeline-error-deepinfra-llm-failed'
1255
+ | 'pipeline-error-runpod-llm-failed'
1256
+ | 'pipeline-error-groq-llm-failed'
1257
+ | 'pipeline-error-openai-voice-failed'
1258
+ | 'pipeline-error-deepgram-transcriber-failed'
1259
+ | 'pipeline-error-deepgram-voice-failed'
1260
+ | 'pipeline-error-eleven-labs-voice-failed'
1261
+ | 'pipeline-error-eleven-labs-voice-not-found'
1262
+ | 'pipeline-error-eleven-labs-quota-exceeded'
1263
+ | 'pipeline-error-playht-voice-failed'
1264
+ | 'pipeline-error-lmnt-voice-failed'
1265
+ | 'pipeline-error-azure-voice-failed'
1266
+ | 'pipeline-error-rime-ai-voice-failed'
1267
+ | 'pipeline-error-neets-voice-failed'
1268
+ | 'server-shutdown'
1269
+ | 'twilio-failed-to-connect-call'
1270
+ | 'unknown-error'
1271
+ | 'vonage-disconnected'
1272
+ | 'vonage-failed-to-connect-call'
1273
+ | 'assistant-ended-call'
1274
+ | 'assistant-said-end-call-phrase'
1275
+ | 'assistant-forwarded-call'
1276
+ | 'assistant-join-timed-out'
1277
+ | 'customer-busy'
1278
+ | 'customer-ended-call'
1279
+ | 'customer-did-not-answer'
1280
+ | 'customer-did-not-give-microphone-permission'
1281
+ | 'exceeded-max-duration'
1282
+ | 'manually-canceled'
1283
+ | 'phone-call-provider-closed-websocket'
1284
+ | 'pipeline-error-custom-llm-llm-failed'
1285
+ | 'silence-timed-out'
1286
+ | 'voicemail'
1287
+ | 'vonage-rejected';
1092
1288
  /**
1093
1289
  * This is the maximum number of seconds that the call will last. When the call reaches this duration, it will be ended.
1094
1290
  * @min 10
@@ -1135,17 +1331,25 @@ export interface Call {
1135
1331
  /** These are the messages that were spoken during the call. */
1136
1332
  messages?: object[];
1137
1333
  /**
1138
- * This is the callSid of the phone call.
1334
+ * The ID of the call as provided by the phone number service. callSid in Twilio. conversationUuid in Vonage.
1139
1335
  *
1140
1336
  * Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
1141
1337
  */
1142
- twilioCallSid?: string;
1338
+ phoneCallProviderId?: string;
1143
1339
  /**
1144
1340
  * This is the URL of the call that the assistant will join.
1145
1341
  *
1146
1342
  * Only relevant for `webCall` type.
1147
1343
  */
1148
1344
  webCallUrl?: string;
1345
+ /**
1346
+ * This is the SIP URI of the call that the assistant will join.
1347
+ *
1348
+ * Only relevant for `webCall` type.
1349
+ */
1350
+ webCallSipUri?: string;
1351
+ /** This is the phone number that the call was forwarded to. */
1352
+ forwardedPhoneNumber?: string;
1149
1353
  /** This is the assistant that will be used for the call. To use a transient assistant, use `assistant` instead. */
1150
1354
  assistantId?: string;
1151
1355
  /** This is the assistant that will be used for the call. To use an existing assistant, use `assistantId` instead. */
@@ -1223,12 +1427,14 @@ export interface CreateWebCallDTO {
1223
1427
  assistantId?: string;
1224
1428
  /** This is the assistant that will be used for the call. To use an existing assistant, use `assistantId` instead. */
1225
1429
  assistant?: CreateAssistantDTO;
1430
+ /** This will expose SIP URI you can use to connect to the call. Disabled by default. */
1431
+ sipEnabled?: boolean;
1226
1432
  /** This is the metadata associated with the call. */
1227
1433
  metadata?: object;
1228
1434
  }
1229
1435
 
1230
1436
  export interface TwilioCredential {
1231
- provider: "twilio";
1437
+ provider: 'twilio';
1232
1438
  /** This is not returned in the API. */
1233
1439
  authToken: string;
1234
1440
  /** This is the unique identifier for the credential. */
@@ -1249,7 +1455,7 @@ export interface TwilioCredential {
1249
1455
  }
1250
1456
 
1251
1457
  export interface DeepgramCredential {
1252
- provider: "deepgram";
1458
+ provider: 'deepgram';
1253
1459
  /** This is not returned in the API. */
1254
1460
  apiKey: string;
1255
1461
  /** This is the unique identifier for the credential. */
@@ -1269,7 +1475,7 @@ export interface DeepgramCredential {
1269
1475
  }
1270
1476
 
1271
1477
  export interface ElevenLabsCredential {
1272
- provider: "11labs";
1478
+ provider: '11labs';
1273
1479
  /** This is not returned in the API. */
1274
1480
  apiKey: string;
1275
1481
  /** This is the unique identifier for the credential. */
@@ -1289,7 +1495,7 @@ export interface ElevenLabsCredential {
1289
1495
  }
1290
1496
 
1291
1497
  export interface PlayHTCredential {
1292
- provider: "playht";
1498
+ provider: 'playht';
1293
1499
  /** This is not returned in the API. */
1294
1500
  apiKey: string;
1295
1501
  /** This is the unique identifier for the credential. */
@@ -1310,7 +1516,7 @@ export interface PlayHTCredential {
1310
1516
  }
1311
1517
 
1312
1518
  export interface RimeAICredential {
1313
- provider: "rime-ai";
1519
+ provider: 'rime-ai';
1314
1520
  /** This is not returned in the API. */
1315
1521
  apiKey: string;
1316
1522
  /** This is the unique identifier for the credential. */
@@ -1330,7 +1536,7 @@ export interface RimeAICredential {
1330
1536
  }
1331
1537
 
1332
1538
  export interface OpenAICredential {
1333
- provider: "openai";
1539
+ provider: 'openai';
1334
1540
  /** This is not returned in the API. */
1335
1541
  apiKey: string;
1336
1542
  /** This is the unique identifier for the credential. */
@@ -1350,7 +1556,7 @@ export interface OpenAICredential {
1350
1556
  }
1351
1557
 
1352
1558
  export interface TogetherAICredential {
1353
- provider: "together-ai";
1559
+ provider: 'together-ai';
1354
1560
  /** This is not returned in the API. */
1355
1561
  apiKey: string;
1356
1562
  /** This is the unique identifier for the credential. */
@@ -1370,7 +1576,7 @@ export interface TogetherAICredential {
1370
1576
  }
1371
1577
 
1372
1578
  export interface AnyscaleCredential {
1373
- provider: "anyscale";
1579
+ provider: 'anyscale';
1374
1580
  /** This is not returned in the API. */
1375
1581
  apiKey: string;
1376
1582
  /** This is the unique identifier for the credential. */
@@ -1390,7 +1596,7 @@ export interface AnyscaleCredential {
1390
1596
  }
1391
1597
 
1392
1598
  export interface OpenRouterCredential {
1393
- provider: "openrouter";
1599
+ provider: 'openrouter';
1394
1600
  /** This is not returned in the API. */
1395
1601
  apiKey: string;
1396
1602
  /** This is the unique identifier for the credential. */
@@ -1410,7 +1616,7 @@ export interface OpenRouterCredential {
1410
1616
  }
1411
1617
 
1412
1618
  export interface PerplexityAICredential {
1413
- provider: "perplexity-ai";
1619
+ provider: 'perplexity-ai';
1414
1620
  /** This is not returned in the API. */
1415
1621
  apiKey: string;
1416
1622
  /** This is the unique identifier for the credential. */
@@ -1430,7 +1636,7 @@ export interface PerplexityAICredential {
1430
1636
  }
1431
1637
 
1432
1638
  export interface DeepInfraCredential {
1433
- provider: "deepinfra";
1639
+ provider: 'deepinfra';
1434
1640
  /** This is not returned in the API. */
1435
1641
  apiKey: string;
1436
1642
  /** This is the unique identifier for the credential. */
@@ -1450,7 +1656,7 @@ export interface DeepInfraCredential {
1450
1656
  }
1451
1657
 
1452
1658
  export interface CustomLLMCredential {
1453
- provider: "custom-llm";
1659
+ provider: 'custom-llm';
1454
1660
  /** This is not returned in the API. */
1455
1661
  apiKey: string;
1456
1662
  /** This is the unique identifier for the credential. */
@@ -1470,7 +1676,7 @@ export interface CustomLLMCredential {
1470
1676
  }
1471
1677
 
1472
1678
  export interface RunpodCredential {
1473
- provider: "runpod";
1679
+ provider: 'runpod';
1474
1680
  /** This is not returned in the API. */
1475
1681
  apiKey: string;
1476
1682
  /** This is the unique identifier for the credential. */
@@ -1489,163 +1695,242 @@ export interface RunpodCredential {
1489
1695
  updatedAt: string;
1490
1696
  }
1491
1697
 
1698
+ export interface GroqCredential {
1699
+ provider: 'groq';
1700
+ /** This is not returned in the API. */
1701
+ apiKey: string;
1702
+ /** This is the unique identifier for the credential. */
1703
+ id: string;
1704
+ /** This is the unique identifier for the org that this credential belongs to. */
1705
+ orgId: string;
1706
+ /**
1707
+ * This is the ISO 8601 date-time string of when the credential was created.
1708
+ * @format date-time
1709
+ */
1710
+ createdAt: string;
1711
+ /**
1712
+ * This is the ISO 8601 date-time string of when the assistant was last updated.
1713
+ * @format date-time
1714
+ */
1715
+ updatedAt: string;
1716
+ }
1717
+
1718
+ export interface VonageCredential {
1719
+ provider: 'vonage';
1720
+ /** This is not returned in the API. */
1721
+ apiSecret: string;
1722
+ /** This is the unique identifier for the credential. */
1723
+ id: string;
1724
+ /** This is the unique identifier for the org that this credential belongs to. */
1725
+ orgId: string;
1726
+ /**
1727
+ * This is the ISO 8601 date-time string of when the credential was created.
1728
+ * @format date-time
1729
+ */
1730
+ createdAt: string;
1731
+ /**
1732
+ * This is the ISO 8601 date-time string of when the assistant was last updated.
1733
+ * @format date-time
1734
+ */
1735
+ updatedAt: string;
1736
+ /**
1737
+ * This is the Vonage Application ID for the credential.
1738
+ *
1739
+ * Only relevant for Vonage credentials.
1740
+ */
1741
+ vonageApplicationId: string;
1742
+ /**
1743
+ * This is the Vonage Application Private Key for the credential.
1744
+ *
1745
+ * Only relevant for Vonage credentials.
1746
+ */
1747
+ vonageApplicationPrivateKey: string;
1748
+ apiKey: string;
1749
+ }
1750
+
1492
1751
  export interface CreateTwilioCredentialDTO {
1493
- provider: "twilio";
1752
+ provider: 'twilio';
1494
1753
  /** This is not returned in the API. */
1495
1754
  authToken: string;
1496
1755
  accountSid: string;
1497
1756
  }
1498
1757
 
1499
1758
  export interface CreateDeepgramCredentialDTO {
1500
- provider: "deepgram";
1759
+ provider: 'deepgram';
1501
1760
  /** This is not returned in the API. */
1502
1761
  apiKey: string;
1503
1762
  }
1504
1763
 
1505
1764
  export interface CreateOpenAICredentialDTO {
1506
- provider: "openai";
1765
+ provider: 'openai';
1507
1766
  /** This is not returned in the API. */
1508
1767
  apiKey: string;
1509
1768
  }
1510
1769
 
1511
1770
  export interface CreateTogetherAICredentialDTO {
1512
- provider: "together-ai";
1771
+ provider: 'together-ai';
1513
1772
  /** This is not returned in the API. */
1514
1773
  apiKey: string;
1515
1774
  }
1516
1775
 
1517
1776
  export interface CreateAnyscaleCredentialDTO {
1518
- provider: "anyscale";
1777
+ provider: 'anyscale';
1519
1778
  /** This is not returned in the API. */
1520
1779
  apiKey: string;
1521
1780
  }
1522
1781
 
1523
1782
  export interface CreateOpenRouterCredentialDTO {
1524
- provider: "openrouter";
1783
+ provider: 'openrouter';
1525
1784
  /** This is not returned in the API. */
1526
1785
  apiKey: string;
1527
1786
  }
1528
1787
 
1529
1788
  export interface CreatePerplexityAICredentialDTO {
1530
- provider: "perplexity-ai";
1789
+ provider: 'perplexity-ai';
1531
1790
  /** This is not returned in the API. */
1532
1791
  apiKey: string;
1533
1792
  }
1534
1793
 
1535
1794
  export interface CreateDeepInfraCredentialDTO {
1536
- provider: "deepinfra";
1795
+ provider: 'deepinfra';
1537
1796
  /** This is not returned in the API. */
1538
1797
  apiKey: string;
1539
1798
  }
1540
1799
 
1541
1800
  export interface CreateCustomLLMCredentialDTO {
1542
- provider: "custom-llm";
1801
+ provider: 'custom-llm';
1543
1802
  /** This is not returned in the API. */
1544
1803
  apiKey: string;
1545
1804
  }
1546
1805
 
1547
1806
  export interface CreateElevenLabsCredentialDTO {
1548
- provider: "11labs";
1807
+ provider: '11labs';
1549
1808
  /** This is not returned in the API. */
1550
1809
  apiKey: string;
1551
1810
  }
1552
1811
 
1553
1812
  export interface CreatePlayHTCredentialDTO {
1554
- provider: "playht";
1813
+ provider: 'playht';
1555
1814
  /** This is not returned in the API. */
1556
1815
  apiKey: string;
1557
1816
  userId: string;
1558
1817
  }
1559
1818
 
1560
1819
  export interface CreateRimeAICredentialDTO {
1561
- provider: "rime-ai";
1820
+ provider: 'rime-ai';
1562
1821
  /** This is not returned in the API. */
1563
1822
  apiKey: string;
1564
1823
  }
1565
1824
 
1566
1825
  export interface CreateRunpodCredentialDTO {
1567
- provider: "runpod";
1826
+ provider: 'runpod';
1827
+ /** This is not returned in the API. */
1828
+ apiKey: string;
1829
+ }
1830
+
1831
+ export interface CreateGroqCredentialDTO {
1832
+ provider: 'groq';
1833
+ /** This is not returned in the API. */
1834
+ apiKey: string;
1835
+ }
1836
+
1837
+ export interface CreateVonageCredentialDTO {
1838
+ provider: 'vonage';
1568
1839
  /** This is not returned in the API. */
1840
+ apiSecret: string;
1569
1841
  apiKey: string;
1570
1842
  }
1571
1843
 
1572
1844
  export interface UpdateTwilioCredentialDTO {
1573
- provider: "twilio";
1845
+ provider: 'twilio';
1574
1846
  /** This is not returned in the API. */
1575
1847
  authToken: string;
1576
1848
  accountSid: string;
1577
1849
  }
1578
1850
 
1579
1851
  export interface UpdateDeepgramCredentialDTO {
1580
- provider: "deepgram";
1852
+ provider: 'deepgram';
1581
1853
  /** This is not returned in the API. */
1582
1854
  apiKey: string;
1583
1855
  }
1584
1856
 
1585
1857
  export interface UpdateOpenAICredentialDTO {
1586
- provider: "openai";
1858
+ provider: 'openai';
1587
1859
  /** This is not returned in the API. */
1588
1860
  apiKey: string;
1589
1861
  }
1590
1862
 
1591
1863
  export interface UpdateTogetherAICredentialDTO {
1592
- provider: "together-ai";
1864
+ provider: 'together-ai';
1593
1865
  /** This is not returned in the API. */
1594
1866
  apiKey: string;
1595
1867
  }
1596
1868
 
1597
1869
  export interface UpdateAnyscaleCredentialDTO {
1598
- provider: "anyscale";
1870
+ provider: 'anyscale';
1599
1871
  /** This is not returned in the API. */
1600
1872
  apiKey: string;
1601
1873
  }
1602
1874
 
1603
1875
  export interface UpdateOpenRouterCredentialDTO {
1604
- provider: "openrouter";
1876
+ provider: 'openrouter';
1605
1877
  /** This is not returned in the API. */
1606
1878
  apiKey: string;
1607
1879
  }
1608
1880
 
1609
1881
  export interface UpdatePerplexityAICredentialDTO {
1610
- provider: "perplexity-ai";
1882
+ provider: 'perplexity-ai';
1611
1883
  /** This is not returned in the API. */
1612
1884
  apiKey: string;
1613
1885
  }
1614
1886
 
1615
1887
  export interface UpdateDeepInfraCredentialDTO {
1616
- provider: "deepinfra";
1888
+ provider: 'deepinfra';
1617
1889
  /** This is not returned in the API. */
1618
1890
  apiKey: string;
1619
1891
  }
1620
1892
 
1621
1893
  export interface UpdateCustomLLMCredentialDTO {
1622
- provider: "custom-llm";
1894
+ provider: 'custom-llm';
1623
1895
  /** This is not returned in the API. */
1624
1896
  apiKey: string;
1625
1897
  }
1626
1898
 
1627
1899
  export interface UpdateElevenLabsCredentialDTO {
1628
- provider: "11labs";
1900
+ provider: '11labs';
1629
1901
  /** This is not returned in the API. */
1630
1902
  apiKey: string;
1631
1903
  }
1632
1904
 
1633
1905
  export interface UpdatePlayHTCredentialDTO {
1634
- provider: "playht";
1906
+ provider: 'playht';
1635
1907
  /** This is not returned in the API. */
1636
1908
  apiKey: string;
1637
1909
  userId: string;
1638
1910
  }
1639
1911
 
1640
1912
  export interface UpdateRimeAICredentialDTO {
1641
- provider: "rime-ai";
1913
+ provider: 'rime-ai';
1642
1914
  /** This is not returned in the API. */
1643
1915
  apiKey: string;
1644
1916
  }
1645
1917
 
1646
1918
  export interface UpdateRunpodCredentialDTO {
1647
- provider: "runpod";
1919
+ provider: 'runpod';
1920
+ /** This is not returned in the API. */
1921
+ apiKey: string;
1922
+ }
1923
+
1924
+ export interface UpdateGroqCredentialDTO {
1925
+ provider: 'groq';
1926
+ /** This is not returned in the API. */
1927
+ apiKey: string;
1928
+ }
1929
+
1930
+ export interface UpdateVonageCredentialDTO {
1931
+ provider: 'vonage';
1648
1932
  /** This is not returned in the API. */
1933
+ apiSecret: string;
1649
1934
  apiKey: string;
1650
1935
  }
1651
1936
 
@@ -1667,6 +1952,20 @@ export interface BuyPhoneNumberDTO {
1667
1952
  * If this is not set, then the phone number will not handle incoming calls.
1668
1953
  */
1669
1954
  assistantId?: string;
1955
+ /**
1956
+ * This is the server URL that will be used to handle this phone number.
1957
+ *
1958
+ * All requests will be sent with the call object among other things relevant to that message. You can find more details in the Server URL documentation.
1959
+ *
1960
+ * This overrides the serverUrl set on the org. Order of precedence: assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
1961
+ */
1962
+ serverUrl?: string;
1963
+ /**
1964
+ * This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret.
1965
+ *
1966
+ * Same precendence logic as serverUrl.
1967
+ */
1968
+ serverUrlSecret?: string;
1670
1969
  }
1671
1970
 
1672
1971
  export interface PhoneNumber {
@@ -1707,6 +2006,12 @@ export interface PhoneNumber {
1707
2006
  * This is for numbers not bought on Vapi.
1708
2007
  */
1709
2008
  twilioAuthToken?: string;
2009
+ /**
2010
+ * This is the credential that will be used to handle this phone number.
2011
+ *
2012
+ * This is for numbers not bought on Vapi.
2013
+ */
2014
+ credentialId?: string;
1710
2015
  /**
1711
2016
  * This is the name of the phone number. This is just for your own reference.
1712
2017
  * @maxLength 40
@@ -1718,6 +2023,56 @@ export interface PhoneNumber {
1718
2023
  * If this is not set, then the phone number will not handle incoming calls.
1719
2024
  */
1720
2025
  assistantId?: string;
2026
+ /**
2027
+ * This is the server URL that will be used to handle this phone number.
2028
+ *
2029
+ * All requests will be sent with the call object among other things relevant to that message. You can find more details in the Server URL documentation.
2030
+ *
2031
+ * This overrides the serverUrl set on the org. Order of precedence: assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
2032
+ */
2033
+ serverUrl?: string;
2034
+ /**
2035
+ * This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret.
2036
+ *
2037
+ * Same precendence logic as serverUrl.
2038
+ */
2039
+ serverUrlSecret?: string;
2040
+ }
2041
+
2042
+ export interface ImportVonagePhoneNumberDTO {
2043
+ /** These are the digits of the phone number you own on your Vonage. */
2044
+ vonagePhoneNumber: string;
2045
+ /**
2046
+ * This is the credential that will be used to handle this phone number.
2047
+ *
2048
+ * You can add the Vonage credentials in the Provider Keys page on the dashboard to get the credentialId.
2049
+ */
2050
+ credentialId: string;
2051
+ /**
2052
+ * This is the name of the phone number. This is just for your own reference.
2053
+ * @maxLength 40
2054
+ */
2055
+ name?: string;
2056
+ /**
2057
+ * This is the assistant that will be used for incoming calls to this phone number.
2058
+ *
2059
+ * If this is not set, then the phone number will not handle incoming calls.
2060
+ */
2061
+ assistantId?: string;
2062
+ /**
2063
+ * This is the server URL that will be used to handle this phone number.
2064
+ *
2065
+ * All requests will be sent with the call object among other things relevant to that message. You can find more details in the Server URL documentation.
2066
+ *
2067
+ * This overrides the serverUrl set on the org. Order of precedence: assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
2068
+ */
2069
+ serverUrl?: string;
2070
+ /**
2071
+ * This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret.
2072
+ *
2073
+ * Same precendence logic as serverUrl.
2074
+ */
2075
+ serverUrlSecret?: string;
1721
2076
  }
1722
2077
 
1723
2078
  export interface UpdatePhoneNumberDTO {
@@ -1732,6 +2087,20 @@ export interface UpdatePhoneNumberDTO {
1732
2087
  * If this is not set, then the phone number will not handle incoming calls.
1733
2088
  */
1734
2089
  assistantId?: string;
2090
+ /**
2091
+ * This is the server URL that will be used to handle this phone number.
2092
+ *
2093
+ * All requests will be sent with the call object among other things relevant to that message. You can find more details in the Server URL documentation.
2094
+ *
2095
+ * This overrides the serverUrl set on the org. Order of precedence: assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
2096
+ */
2097
+ serverUrl?: string;
2098
+ /**
2099
+ * This is the secret you can set that Vapi will send with every request to your server. Will be sent as a header called x-vapi-secret.
2100
+ *
2101
+ * Same precendence logic as serverUrl.
2102
+ */
2103
+ serverUrlSecret?: string;
1735
2104
  }
1736
2105
 
1737
2106
  export interface Metrics {
@@ -1752,9 +2121,9 @@ export interface Metrics {
1752
2121
  }
1753
2122
 
1754
2123
  export type QueryParamsType = Record<string | number, any>;
1755
- export type ResponseFormat = keyof Omit<Body, "body" | "bodyUsed">;
2124
+ export type ResponseFormat = keyof Omit<Body, 'body' | 'bodyUsed'>;
1756
2125
 
1757
- export interface FullRequestParams extends Omit<RequestInit, "body"> {
2126
+ export interface FullRequestParams extends Omit<RequestInit, 'body'> {
1758
2127
  /** set parameter to `true` for call `securityWorker` for this request */
1759
2128
  secure?: boolean;
1760
2129
  /** request path */
@@ -1773,22 +2142,18 @@ export interface FullRequestParams extends Omit<RequestInit, "body"> {
1773
2142
  cancelToken?: CancelToken;
1774
2143
  }
1775
2144
 
1776
- export type RequestParams = Omit<
1777
- FullRequestParams,
1778
- "body" | "method" | "query" | "path"
1779
- >;
2145
+ export type RequestParams = Omit<FullRequestParams, 'body' | 'method' | 'query' | 'path'>;
1780
2146
 
1781
2147
  export interface ApiConfig<SecurityDataType = unknown> {
1782
2148
  baseUrl?: string;
1783
- baseApiParams?: Omit<RequestParams, "baseUrl" | "cancelToken" | "signal">;
2149
+ baseApiParams?: Omit<RequestParams, 'baseUrl' | 'cancelToken' | 'signal'>;
1784
2150
  securityWorker?: (
1785
- securityData: SecurityDataType | null
2151
+ securityData: SecurityDataType | null,
1786
2152
  ) => Promise<RequestParams | void> | RequestParams | void;
1787
2153
  customFetch?: typeof fetch;
1788
2154
  }
1789
2155
 
1790
- export interface HttpResponse<D extends unknown, E extends unknown = unknown>
1791
- extends Response {
2156
+ export interface HttpResponse<D extends unknown, E extends unknown = unknown> extends Response {
1792
2157
  data: D;
1793
2158
  error: E;
1794
2159
  }
@@ -1796,25 +2161,24 @@ export interface HttpResponse<D extends unknown, E extends unknown = unknown>
1796
2161
  type CancelToken = Symbol | string | number;
1797
2162
 
1798
2163
  export enum ContentType {
1799
- Json = "application/json",
1800
- FormData = "multipart/form-data",
1801
- UrlEncoded = "application/x-www-form-urlencoded",
1802
- Text = "text/plain",
2164
+ Json = 'application/json',
2165
+ FormData = 'multipart/form-data',
2166
+ UrlEncoded = 'application/x-www-form-urlencoded',
2167
+ Text = 'text/plain',
1803
2168
  }
1804
2169
 
1805
2170
  export class HttpClient<SecurityDataType = unknown> {
1806
- public baseUrl: string = "https://west-api.vapi.ai";
2171
+ public baseUrl: string = 'https://west-api.vapi.ai';
1807
2172
  private securityData: SecurityDataType | null = null;
1808
- private securityWorker?: ApiConfig<SecurityDataType>["securityWorker"];
2173
+ private securityWorker?: ApiConfig<SecurityDataType>['securityWorker'];
1809
2174
  private abortControllers = new Map<CancelToken, AbortController>();
1810
- private customFetch = (...fetchParams: Parameters<typeof fetch>) =>
1811
- fetch(...fetchParams);
2175
+ private customFetch = (...fetchParams: Parameters<typeof fetch>) => fetch(...fetchParams);
1812
2176
 
1813
2177
  private baseApiParams: RequestParams = {
1814
- credentials: "same-origin",
2178
+ credentials: 'same-origin',
1815
2179
  headers: {},
1816
- redirect: "follow",
1817
- referrerPolicy: "no-referrer",
2180
+ redirect: 'follow',
2181
+ referrerPolicy: 'no-referrer',
1818
2182
  };
1819
2183
 
1820
2184
  constructor(apiConfig: ApiConfig<SecurityDataType> = {}) {
@@ -1827,9 +2191,7 @@ export class HttpClient<SecurityDataType = unknown> {
1827
2191
 
1828
2192
  protected encodeQueryParam(key: string, value: any) {
1829
2193
  const encodedKey = encodeURIComponent(key);
1830
- return `${encodedKey}=${encodeURIComponent(
1831
- typeof value === "number" ? value : `${value}`
1832
- )}`;
2194
+ return `${encodedKey}=${encodeURIComponent(typeof value === 'number' ? value : `${value}`)}`;
1833
2195
  }
1834
2196
 
1835
2197
  protected addQueryParam(query: QueryParamsType, key: string) {
@@ -1838,37 +2200,33 @@ export class HttpClient<SecurityDataType = unknown> {
1838
2200
 
1839
2201
  protected addArrayQueryParam(query: QueryParamsType, key: string) {
1840
2202
  const value = query[key];
1841
- return value.map((v: any) => this.encodeQueryParam(key, v)).join("&");
2203
+ return value.map((v: any) => this.encodeQueryParam(key, v)).join('&');
1842
2204
  }
1843
2205
 
1844
2206
  protected toQueryString(rawQuery?: QueryParamsType): string {
1845
2207
  const query = rawQuery || {};
1846
- const keys = Object.keys(query).filter(
1847
- (key) => "undefined" !== typeof query[key]
1848
- );
2208
+ const keys = Object.keys(query).filter((key) => 'undefined' !== typeof query[key]);
1849
2209
  return keys
1850
2210
  .map((key) =>
1851
2211
  Array.isArray(query[key])
1852
2212
  ? this.addArrayQueryParam(query, key)
1853
- : this.addQueryParam(query, key)
2213
+ : this.addQueryParam(query, key),
1854
2214
  )
1855
- .join("&");
2215
+ .join('&');
1856
2216
  }
1857
2217
 
1858
2218
  protected addQueryParams(rawQuery?: QueryParamsType): string {
1859
2219
  const queryString = this.toQueryString(rawQuery);
1860
- return queryString ? `?${queryString}` : "";
2220
+ return queryString ? `?${queryString}` : '';
1861
2221
  }
1862
2222
 
1863
2223
  private contentFormatters: Record<ContentType, (input: any) => any> = {
1864
2224
  [ContentType.Json]: (input: any) =>
1865
- input !== null && (typeof input === "object" || typeof input === "string")
2225
+ input !== null && (typeof input === 'object' || typeof input === 'string')
1866
2226
  ? JSON.stringify(input)
1867
2227
  : input,
1868
2228
  [ContentType.Text]: (input: any) =>
1869
- input !== null && typeof input !== "string"
1870
- ? JSON.stringify(input)
1871
- : input,
2229
+ input !== null && typeof input !== 'string' ? JSON.stringify(input) : input,
1872
2230
  [ContentType.FormData]: (input: any) =>
1873
2231
  Object.keys(input || {}).reduce((formData, key) => {
1874
2232
  const property = input[key];
@@ -1876,19 +2234,16 @@ export class HttpClient<SecurityDataType = unknown> {
1876
2234
  key,
1877
2235
  property instanceof Blob
1878
2236
  ? property
1879
- : typeof property === "object" && property !== null
2237
+ : typeof property === 'object' && property !== null
1880
2238
  ? JSON.stringify(property)
1881
- : `${property}`
2239
+ : `${property}`,
1882
2240
  );
1883
2241
  return formData;
1884
2242
  }, new FormData()),
1885
2243
  [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input),
1886
2244
  };
1887
2245
 
1888
- protected mergeRequestParams(
1889
- params1: RequestParams,
1890
- params2?: RequestParams
1891
- ): RequestParams {
2246
+ protected mergeRequestParams(params1: RequestParams, params2?: RequestParams): RequestParams {
1892
2247
  return {
1893
2248
  ...this.baseApiParams,
1894
2249
  ...params1,
@@ -1901,9 +2256,7 @@ export class HttpClient<SecurityDataType = unknown> {
1901
2256
  };
1902
2257
  }
1903
2258
 
1904
- protected createAbortSignal = (
1905
- cancelToken: CancelToken
1906
- ): AbortSignal | undefined => {
2259
+ protected createAbortSignal = (cancelToken: CancelToken): AbortSignal | undefined => {
1907
2260
  if (this.abortControllers.has(cancelToken)) {
1908
2261
  const abortController = this.abortControllers.get(cancelToken);
1909
2262
  if (abortController) {
@@ -1938,7 +2291,7 @@ export class HttpClient<SecurityDataType = unknown> {
1938
2291
  ...params
1939
2292
  }: FullRequestParams): Promise<HttpResponse<T, E>> => {
1940
2293
  const secureParams =
1941
- ((typeof secure === "boolean" ? secure : this.baseApiParams.secure) &&
2294
+ ((typeof secure === 'boolean' ? secure : this.baseApiParams.secure) &&
1942
2295
  this.securityWorker &&
1943
2296
  (await this.securityWorker(this.securityData))) ||
1944
2297
  {};
@@ -1948,26 +2301,16 @@ export class HttpClient<SecurityDataType = unknown> {
1948
2301
  const responseFormat = format || requestParams.format;
1949
2302
 
1950
2303
  return this.customFetch(
1951
- `${baseUrl || this.baseUrl || ""}${path}${
1952
- queryString ? `?${queryString}` : ""
1953
- }`,
2304
+ `${baseUrl || this.baseUrl || ''}${path}${queryString ? `?${queryString}` : ''}`,
1954
2305
  {
1955
2306
  ...requestParams,
1956
2307
  headers: {
1957
2308
  ...(requestParams.headers || {}),
1958
- ...(type && type !== ContentType.FormData
1959
- ? { "Content-Type": type }
1960
- : {}),
2309
+ ...(type && type !== ContentType.FormData ? { 'Content-Type': type } : {}),
1961
2310
  },
1962
- signal:
1963
- (cancelToken
1964
- ? this.createAbortSignal(cancelToken)
1965
- : requestParams.signal) || null,
1966
- body:
1967
- typeof body === "undefined" || body === null
1968
- ? null
1969
- : payloadFormatter(body),
1970
- }
2311
+ signal: (cancelToken ? this.createAbortSignal(cancelToken) : requestParams.signal) || null,
2312
+ body: typeof body === 'undefined' || body === null ? null : payloadFormatter(body),
2313
+ },
1971
2314
  ).then(async (response) => {
1972
2315
  const r = response as HttpResponse<T, E>;
1973
2316
  r.data = null as unknown as T;
@@ -2007,9 +2350,7 @@ export class HttpClient<SecurityDataType = unknown> {
2007
2350
  *
2008
2351
  * API for building voice assistants
2009
2352
  */
2010
- export class Api<
2011
- SecurityDataType extends unknown,
2012
- > extends HttpClient<SecurityDataType> {
2353
+ export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDataType> {
2013
2354
  assistant = {
2014
2355
  /**
2015
2356
  * No description
@@ -2020,17 +2361,14 @@ export class Api<
2020
2361
  * @request POST:/assistant
2021
2362
  * @secure
2022
2363
  */
2023
- assistantControllerCreate: (
2024
- data: CreateAssistantDTO,
2025
- params: RequestParams = {}
2026
- ) =>
2364
+ assistantControllerCreate: (data: CreateAssistantDTO, params: RequestParams = {}) =>
2027
2365
  this.request<Assistant, any>({
2028
2366
  path: `/assistant`,
2029
- method: "POST",
2367
+ method: 'POST',
2030
2368
  body: data,
2031
2369
  secure: true,
2032
2370
  type: ContentType.Json,
2033
- format: "json",
2371
+ format: 'json',
2034
2372
  ...params,
2035
2373
  }),
2036
2374
 
@@ -2092,14 +2430,14 @@ export class Api<
2092
2430
  */
2093
2431
  updatedAtLe?: string;
2094
2432
  },
2095
- params: RequestParams = {}
2433
+ params: RequestParams = {},
2096
2434
  ) =>
2097
2435
  this.request<Assistant[], any>({
2098
2436
  path: `/assistant`,
2099
- method: "GET",
2437
+ method: 'GET',
2100
2438
  query: query,
2101
2439
  secure: true,
2102
- format: "json",
2440
+ format: 'json',
2103
2441
  ...params,
2104
2442
  }),
2105
2443
 
@@ -2115,9 +2453,9 @@ export class Api<
2115
2453
  assistantControllerFindOne: (id: string, params: RequestParams = {}) =>
2116
2454
  this.request<Assistant, any>({
2117
2455
  path: `/assistant/${id}`,
2118
- method: "GET",
2456
+ method: 'GET',
2119
2457
  secure: true,
2120
- format: "json",
2458
+ format: 'json',
2121
2459
  ...params,
2122
2460
  }),
2123
2461
 
@@ -2130,18 +2468,14 @@ export class Api<
2130
2468
  * @request PATCH:/assistant/{id}
2131
2469
  * @secure
2132
2470
  */
2133
- assistantControllerUpdate: (
2134
- id: string,
2135
- data: UpdateAssistantDTO,
2136
- params: RequestParams = {}
2137
- ) =>
2471
+ assistantControllerUpdate: (id: string, data: UpdateAssistantDTO, params: RequestParams = {}) =>
2138
2472
  this.request<Assistant, any>({
2139
2473
  path: `/assistant/${id}`,
2140
- method: "PATCH",
2474
+ method: 'PATCH',
2141
2475
  body: data,
2142
2476
  secure: true,
2143
2477
  type: ContentType.Json,
2144
- format: "json",
2478
+ format: 'json',
2145
2479
  ...params,
2146
2480
  }),
2147
2481
 
@@ -2157,15 +2491,15 @@ export class Api<
2157
2491
  assistantControllerReplace: (
2158
2492
  id: string,
2159
2493
  data: UpdateAssistantDTO,
2160
- params: RequestParams = {}
2494
+ params: RequestParams = {},
2161
2495
  ) =>
2162
2496
  this.request<Assistant, any>({
2163
2497
  path: `/assistant/${id}`,
2164
- method: "PUT",
2498
+ method: 'PUT',
2165
2499
  body: data,
2166
2500
  secure: true,
2167
2501
  type: ContentType.Json,
2168
- format: "json",
2502
+ format: 'json',
2169
2503
  ...params,
2170
2504
  }),
2171
2505
 
@@ -2181,9 +2515,9 @@ export class Api<
2181
2515
  assistantControllerRemove: (id: string, params: RequestParams = {}) =>
2182
2516
  this.request<Assistant, any>({
2183
2517
  path: `/assistant/${id}`,
2184
- method: "DELETE",
2518
+ method: 'DELETE',
2185
2519
  secure: true,
2186
- format: "json",
2520
+ format: 'json',
2187
2521
  ...params,
2188
2522
  }),
2189
2523
  };
@@ -2248,14 +2582,14 @@ export class Api<
2248
2582
  */
2249
2583
  updatedAtLe?: string;
2250
2584
  },
2251
- params: RequestParams = {}
2585
+ params: RequestParams = {},
2252
2586
  ) =>
2253
2587
  this.request<Call[], any>({
2254
2588
  path: `/call`,
2255
- method: "GET",
2589
+ method: 'GET',
2256
2590
  query: query,
2257
2591
  secure: true,
2258
- format: "json",
2592
+ format: 'json',
2259
2593
  ...params,
2260
2594
  }),
2261
2595
 
@@ -2271,9 +2605,9 @@ export class Api<
2271
2605
  callControllerFindOne: (id: string, params: RequestParams = {}) =>
2272
2606
  this.request<Call, any>({
2273
2607
  path: `/call/${id}`,
2274
- method: "GET",
2608
+ method: 'GET',
2275
2609
  secure: true,
2276
- format: "json",
2610
+ format: 'json',
2277
2611
  ...params,
2278
2612
  }),
2279
2613
 
@@ -2286,17 +2620,14 @@ export class Api<
2286
2620
  * @request POST:/call/phone
2287
2621
  * @secure
2288
2622
  */
2289
- callControllerCreatePhoneCall: (
2290
- data: CreateOutboundCallDTO,
2291
- params: RequestParams = {}
2292
- ) =>
2623
+ callControllerCreatePhoneCall: (data: CreateOutboundCallDTO, params: RequestParams = {}) =>
2293
2624
  this.request<Call, any>({
2294
2625
  path: `/call/phone`,
2295
- method: "POST",
2626
+ method: 'POST',
2296
2627
  body: data,
2297
2628
  secure: true,
2298
2629
  type: ContentType.Json,
2299
- format: "json",
2630
+ format: 'json',
2300
2631
  ...params,
2301
2632
  }),
2302
2633
 
@@ -2309,17 +2640,14 @@ export class Api<
2309
2640
  * @request POST:/call/web
2310
2641
  * @secure
2311
2642
  */
2312
- callControllerCreateWebCall: (
2313
- data: CreateWebCallDTO,
2314
- params: RequestParams = {}
2315
- ) =>
2643
+ callControllerCreateWebCall: (data: CreateWebCallDTO, params: RequestParams = {}) =>
2316
2644
  this.request<Call, any>({
2317
2645
  path: `/call/web`,
2318
- method: "POST",
2646
+ method: 'POST',
2319
2647
  body: data,
2320
2648
  secure: true,
2321
2649
  type: ContentType.Json,
2322
- format: "json",
2650
+ format: 'json',
2323
2651
  ...params,
2324
2652
  }),
2325
2653
  };
@@ -2336,94 +2664,106 @@ export class Api<
2336
2664
  credentialControllerCreate: (
2337
2665
  data:
2338
2666
  | ({
2339
- provider: "twilio";
2667
+ provider: 'twilio';
2340
2668
  } & CreateTwilioCredentialDTO)
2341
2669
  | ({
2342
- provider: "deepgram";
2670
+ provider: 'deepgram';
2343
2671
  } & CreateDeepgramCredentialDTO)
2344
2672
  | ({
2345
- provider: "openai";
2673
+ provider: 'openai';
2346
2674
  } & CreateOpenAICredentialDTO)
2347
2675
  | ({
2348
- provider: "together-ai";
2676
+ provider: 'together-ai';
2349
2677
  } & CreateTogetherAICredentialDTO)
2350
2678
  | ({
2351
- provider: "anyscale";
2679
+ provider: 'anyscale';
2352
2680
  } & CreateAnyscaleCredentialDTO)
2353
2681
  | ({
2354
- provider: "openrouter";
2682
+ provider: 'openrouter';
2355
2683
  } & CreateOpenRouterCredentialDTO)
2356
2684
  | ({
2357
- provider: "perplexity-ai";
2685
+ provider: 'perplexity-ai';
2358
2686
  } & CreatePerplexityAICredentialDTO)
2359
2687
  | ({
2360
- provider: "deepinfra";
2688
+ provider: 'deepinfra';
2361
2689
  } & CreateDeepInfraCredentialDTO)
2362
2690
  | ({
2363
- provider: "custom-llm";
2691
+ provider: 'custom-llm';
2364
2692
  } & CreateCustomLLMCredentialDTO)
2365
2693
  | ({
2366
- provider: "11labs";
2694
+ provider: '11labs';
2367
2695
  } & CreateElevenLabsCredentialDTO)
2368
2696
  | ({
2369
- provider: "playht";
2697
+ provider: 'playht';
2370
2698
  } & CreatePlayHTCredentialDTO)
2371
2699
  | ({
2372
- provider: "rime-ai";
2700
+ provider: 'rime-ai';
2373
2701
  } & CreateRimeAICredentialDTO)
2374
2702
  | ({
2375
- provider: "runpod";
2376
- } & CreateRunpodCredentialDTO),
2377
- params: RequestParams = {}
2703
+ provider: 'runpod';
2704
+ } & CreateRunpodCredentialDTO)
2705
+ | ({
2706
+ provider: 'groq';
2707
+ } & CreateGroqCredentialDTO)
2708
+ | ({
2709
+ provider: 'vonage';
2710
+ } & CreateVonageCredentialDTO),
2711
+ params: RequestParams = {},
2378
2712
  ) =>
2379
2713
  this.request<
2380
2714
  | ({
2381
- provider: "twilio";
2715
+ provider: 'twilio';
2382
2716
  } & TwilioCredential)
2383
2717
  | ({
2384
- provider: "deepgram";
2718
+ provider: 'deepgram';
2385
2719
  } & DeepgramCredential)
2386
2720
  | ({
2387
- provider: "openai";
2721
+ provider: 'openai';
2388
2722
  } & OpenAICredential)
2389
2723
  | ({
2390
- provider: "together-ai";
2724
+ provider: 'together-ai';
2391
2725
  } & TogetherAICredential)
2392
2726
  | ({
2393
- provider: "anyscale";
2727
+ provider: 'anyscale';
2394
2728
  } & AnyscaleCredential)
2395
2729
  | ({
2396
- provider: "openrouter";
2730
+ provider: 'openrouter';
2397
2731
  } & OpenRouterCredential)
2398
2732
  | ({
2399
- provider: "perplexity-ai";
2733
+ provider: 'perplexity-ai';
2400
2734
  } & PerplexityAICredential)
2401
2735
  | ({
2402
- provider: "deepinfra";
2736
+ provider: 'deepinfra';
2403
2737
  } & DeepInfraCredential)
2404
2738
  | ({
2405
- provider: "custom-llm";
2739
+ provider: 'custom-llm';
2406
2740
  } & CustomLLMCredential)
2407
2741
  | ({
2408
- provider: "11labs";
2742
+ provider: '11labs';
2409
2743
  } & ElevenLabsCredential)
2410
2744
  | ({
2411
- provider: "playht";
2745
+ provider: 'playht';
2412
2746
  } & PlayHTCredential)
2413
2747
  | ({
2414
- provider: "rime-ai";
2748
+ provider: 'rime-ai';
2415
2749
  } & RimeAICredential)
2416
2750
  | ({
2417
- provider: "runpod";
2418
- } & RunpodCredential),
2751
+ provider: 'runpod';
2752
+ } & RunpodCredential)
2753
+ | ({
2754
+ provider: 'groq';
2755
+ } & GroqCredential)
2756
+ | ({
2757
+ provider: 'vonage';
2758
+ } & VonageCredential),
2419
2759
  any
2420
2760
  >({
2421
2761
  path: `/credential`,
2422
- method: "POST",
2762
+ method: 'POST',
2423
2763
  body: data,
2424
2764
  secure: true,
2425
2765
  type: ContentType.Json,
2426
- format: "json",
2766
+ format: 'json',
2427
2767
  ...params,
2428
2768
  }),
2429
2769
 
@@ -2485,57 +2825,63 @@ export class Api<
2485
2825
  */
2486
2826
  updatedAtLe?: string;
2487
2827
  },
2488
- params: RequestParams = {}
2828
+ params: RequestParams = {},
2489
2829
  ) =>
2490
2830
  this.request<
2491
2831
  (
2492
2832
  | ({
2493
- provider: "twilio";
2833
+ provider: 'twilio';
2494
2834
  } & TwilioCredential)
2495
2835
  | ({
2496
- provider: "deepgram";
2836
+ provider: 'deepgram';
2497
2837
  } & DeepgramCredential)
2498
2838
  | ({
2499
- provider: "openai";
2839
+ provider: 'openai';
2500
2840
  } & OpenAICredential)
2501
2841
  | ({
2502
- provider: "together-ai";
2842
+ provider: 'together-ai';
2503
2843
  } & TogetherAICredential)
2504
2844
  | ({
2505
- provider: "anyscale";
2845
+ provider: 'anyscale';
2506
2846
  } & AnyscaleCredential)
2507
2847
  | ({
2508
- provider: "openrouter";
2848
+ provider: 'openrouter';
2509
2849
  } & OpenRouterCredential)
2510
2850
  | ({
2511
- provider: "perplexity-ai";
2851
+ provider: 'perplexity-ai';
2512
2852
  } & PerplexityAICredential)
2513
2853
  | ({
2514
- provider: "deepinfra";
2854
+ provider: 'deepinfra';
2515
2855
  } & DeepInfraCredential)
2516
2856
  | ({
2517
- provider: "custom-llm";
2857
+ provider: 'custom-llm';
2518
2858
  } & CustomLLMCredential)
2519
2859
  | ({
2520
- provider: "11labs";
2860
+ provider: '11labs';
2521
2861
  } & ElevenLabsCredential)
2522
2862
  | ({
2523
- provider: "playht";
2863
+ provider: 'playht';
2524
2864
  } & PlayHTCredential)
2525
2865
  | ({
2526
- provider: "rime-ai";
2866
+ provider: 'rime-ai';
2527
2867
  } & RimeAICredential)
2528
2868
  | ({
2529
- provider: "runpod";
2869
+ provider: 'runpod';
2530
2870
  } & RunpodCredential)
2871
+ | ({
2872
+ provider: 'groq';
2873
+ } & GroqCredential)
2874
+ | ({
2875
+ provider: 'vonage';
2876
+ } & VonageCredential)
2531
2877
  )[],
2532
2878
  any
2533
2879
  >({
2534
2880
  path: `/credential`,
2535
- method: "GET",
2881
+ method: 'GET',
2536
2882
  query: query,
2537
2883
  secure: true,
2538
- format: "json",
2884
+ format: 'json',
2539
2885
  ...params,
2540
2886
  }),
2541
2887
 
@@ -2551,50 +2897,56 @@ export class Api<
2551
2897
  credentialControllerFindOne: (id: string, params: RequestParams = {}) =>
2552
2898
  this.request<
2553
2899
  | ({
2554
- provider: "twilio";
2900
+ provider: 'twilio';
2555
2901
  } & TwilioCredential)
2556
2902
  | ({
2557
- provider: "deepgram";
2903
+ provider: 'deepgram';
2558
2904
  } & DeepgramCredential)
2559
2905
  | ({
2560
- provider: "openai";
2906
+ provider: 'openai';
2561
2907
  } & OpenAICredential)
2562
2908
  | ({
2563
- provider: "together-ai";
2909
+ provider: 'together-ai';
2564
2910
  } & TogetherAICredential)
2565
2911
  | ({
2566
- provider: "anyscale";
2912
+ provider: 'anyscale';
2567
2913
  } & AnyscaleCredential)
2568
2914
  | ({
2569
- provider: "openrouter";
2915
+ provider: 'openrouter';
2570
2916
  } & OpenRouterCredential)
2571
2917
  | ({
2572
- provider: "perplexity-ai";
2918
+ provider: 'perplexity-ai';
2573
2919
  } & PerplexityAICredential)
2574
2920
  | ({
2575
- provider: "deepinfra";
2921
+ provider: 'deepinfra';
2576
2922
  } & DeepInfraCredential)
2577
2923
  | ({
2578
- provider: "custom-llm";
2924
+ provider: 'custom-llm';
2579
2925
  } & CustomLLMCredential)
2580
2926
  | ({
2581
- provider: "11labs";
2927
+ provider: '11labs';
2582
2928
  } & ElevenLabsCredential)
2583
2929
  | ({
2584
- provider: "playht";
2930
+ provider: 'playht';
2585
2931
  } & PlayHTCredential)
2586
2932
  | ({
2587
- provider: "rime-ai";
2933
+ provider: 'rime-ai';
2588
2934
  } & RimeAICredential)
2589
2935
  | ({
2590
- provider: "runpod";
2591
- } & RunpodCredential),
2936
+ provider: 'runpod';
2937
+ } & RunpodCredential)
2938
+ | ({
2939
+ provider: 'groq';
2940
+ } & GroqCredential)
2941
+ | ({
2942
+ provider: 'vonage';
2943
+ } & VonageCredential),
2592
2944
  any
2593
2945
  >({
2594
2946
  path: `/credential/${id}`,
2595
- method: "GET",
2947
+ method: 'GET',
2596
2948
  secure: true,
2597
- format: "json",
2949
+ format: 'json',
2598
2950
  ...params,
2599
2951
  }),
2600
2952
 
@@ -2611,94 +2963,106 @@ export class Api<
2611
2963
  id: string,
2612
2964
  data:
2613
2965
  | ({
2614
- provider: "twilio";
2966
+ provider: 'twilio';
2615
2967
  } & UpdateTwilioCredentialDTO)
2616
2968
  | ({
2617
- provider: "deepgram";
2969
+ provider: 'deepgram';
2618
2970
  } & UpdateDeepgramCredentialDTO)
2619
2971
  | ({
2620
- provider: "openai";
2972
+ provider: 'openai';
2621
2973
  } & UpdateOpenAICredentialDTO)
2622
2974
  | ({
2623
- provider: "together-ai";
2975
+ provider: 'together-ai';
2624
2976
  } & UpdateTogetherAICredentialDTO)
2625
2977
  | ({
2626
- provider: "anyscale";
2978
+ provider: 'anyscale';
2627
2979
  } & UpdateAnyscaleCredentialDTO)
2628
2980
  | ({
2629
- provider: "openrouter";
2981
+ provider: 'openrouter';
2630
2982
  } & UpdateOpenRouterCredentialDTO)
2631
2983
  | ({
2632
- provider: "perplexity-ai";
2984
+ provider: 'perplexity-ai';
2633
2985
  } & UpdatePerplexityAICredentialDTO)
2634
2986
  | ({
2635
- provider: "deepinfra";
2987
+ provider: 'deepinfra';
2636
2988
  } & UpdateDeepInfraCredentialDTO)
2637
2989
  | ({
2638
- provider: "custom-llm";
2990
+ provider: 'custom-llm';
2639
2991
  } & UpdateCustomLLMCredentialDTO)
2640
2992
  | ({
2641
- provider: "11labs";
2993
+ provider: '11labs';
2642
2994
  } & UpdateElevenLabsCredentialDTO)
2643
2995
  | ({
2644
- provider: "playht";
2996
+ provider: 'playht';
2645
2997
  } & UpdatePlayHTCredentialDTO)
2646
2998
  | ({
2647
- provider: "rime-ai";
2999
+ provider: 'rime-ai';
2648
3000
  } & UpdateRimeAICredentialDTO)
2649
3001
  | ({
2650
- provider: "runpod";
2651
- } & UpdateRunpodCredentialDTO),
2652
- params: RequestParams = {}
3002
+ provider: 'runpod';
3003
+ } & UpdateRunpodCredentialDTO)
3004
+ | ({
3005
+ provider: 'groq';
3006
+ } & UpdateGroqCredentialDTO)
3007
+ | ({
3008
+ provider: 'vonage';
3009
+ } & UpdateVonageCredentialDTO),
3010
+ params: RequestParams = {},
2653
3011
  ) =>
2654
3012
  this.request<
2655
3013
  | ({
2656
- provider: "twilio";
3014
+ provider: 'twilio';
2657
3015
  } & TwilioCredential)
2658
3016
  | ({
2659
- provider: "deepgram";
3017
+ provider: 'deepgram';
2660
3018
  } & DeepgramCredential)
2661
3019
  | ({
2662
- provider: "openai";
3020
+ provider: 'openai';
2663
3021
  } & OpenAICredential)
2664
3022
  | ({
2665
- provider: "together-ai";
3023
+ provider: 'together-ai';
2666
3024
  } & TogetherAICredential)
2667
3025
  | ({
2668
- provider: "anyscale";
3026
+ provider: 'anyscale';
2669
3027
  } & AnyscaleCredential)
2670
3028
  | ({
2671
- provider: "openrouter";
3029
+ provider: 'openrouter';
2672
3030
  } & OpenRouterCredential)
2673
3031
  | ({
2674
- provider: "perplexity-ai";
3032
+ provider: 'perplexity-ai';
2675
3033
  } & PerplexityAICredential)
2676
3034
  | ({
2677
- provider: "deepinfra";
3035
+ provider: 'deepinfra';
2678
3036
  } & DeepInfraCredential)
2679
3037
  | ({
2680
- provider: "custom-llm";
3038
+ provider: 'custom-llm';
2681
3039
  } & CustomLLMCredential)
2682
3040
  | ({
2683
- provider: "11labs";
3041
+ provider: '11labs';
2684
3042
  } & ElevenLabsCredential)
2685
3043
  | ({
2686
- provider: "playht";
3044
+ provider: 'playht';
2687
3045
  } & PlayHTCredential)
2688
3046
  | ({
2689
- provider: "rime-ai";
3047
+ provider: 'rime-ai';
2690
3048
  } & RimeAICredential)
2691
3049
  | ({
2692
- provider: "runpod";
2693
- } & RunpodCredential),
3050
+ provider: 'runpod';
3051
+ } & RunpodCredential)
3052
+ | ({
3053
+ provider: 'groq';
3054
+ } & GroqCredential)
3055
+ | ({
3056
+ provider: 'vonage';
3057
+ } & VonageCredential),
2694
3058
  any
2695
3059
  >({
2696
3060
  path: `/credential/${id}`,
2697
- method: "PUT",
3061
+ method: 'PUT',
2698
3062
  body: data,
2699
3063
  secure: true,
2700
3064
  type: ContentType.Json,
2701
- format: "json",
3065
+ format: 'json',
2702
3066
  ...params,
2703
3067
  }),
2704
3068
 
@@ -2714,50 +3078,56 @@ export class Api<
2714
3078
  credentialControllerRemove: (id: string, params: RequestParams = {}) =>
2715
3079
  this.request<
2716
3080
  | ({
2717
- provider: "twilio";
3081
+ provider: 'twilio';
2718
3082
  } & TwilioCredential)
2719
3083
  | ({
2720
- provider: "deepgram";
3084
+ provider: 'deepgram';
2721
3085
  } & DeepgramCredential)
2722
3086
  | ({
2723
- provider: "openai";
3087
+ provider: 'openai';
2724
3088
  } & OpenAICredential)
2725
3089
  | ({
2726
- provider: "together-ai";
3090
+ provider: 'together-ai';
2727
3091
  } & TogetherAICredential)
2728
3092
  | ({
2729
- provider: "anyscale";
3093
+ provider: 'anyscale';
2730
3094
  } & AnyscaleCredential)
2731
3095
  | ({
2732
- provider: "openrouter";
3096
+ provider: 'openrouter';
2733
3097
  } & OpenRouterCredential)
2734
3098
  | ({
2735
- provider: "perplexity-ai";
3099
+ provider: 'perplexity-ai';
2736
3100
  } & PerplexityAICredential)
2737
3101
  | ({
2738
- provider: "deepinfra";
3102
+ provider: 'deepinfra';
2739
3103
  } & DeepInfraCredential)
2740
3104
  | ({
2741
- provider: "custom-llm";
3105
+ provider: 'custom-llm';
2742
3106
  } & CustomLLMCredential)
2743
3107
  | ({
2744
- provider: "11labs";
3108
+ provider: '11labs';
2745
3109
  } & ElevenLabsCredential)
2746
3110
  | ({
2747
- provider: "playht";
3111
+ provider: 'playht';
2748
3112
  } & PlayHTCredential)
2749
3113
  | ({
2750
- provider: "rime-ai";
3114
+ provider: 'rime-ai';
2751
3115
  } & RimeAICredential)
2752
3116
  | ({
2753
- provider: "runpod";
2754
- } & RunpodCredential),
3117
+ provider: 'runpod';
3118
+ } & RunpodCredential)
3119
+ | ({
3120
+ provider: 'groq';
3121
+ } & GroqCredential)
3122
+ | ({
3123
+ provider: 'vonage';
3124
+ } & VonageCredential),
2755
3125
  any
2756
3126
  >({
2757
3127
  path: `/credential/${id}`,
2758
- method: "DELETE",
3128
+ method: 'DELETE',
2759
3129
  secure: true,
2760
- format: "json",
3130
+ format: 'json',
2761
3131
  ...params,
2762
3132
  }),
2763
3133
  };
@@ -2771,17 +3141,14 @@ export class Api<
2771
3141
  * @request POST:/phone-number/buy
2772
3142
  * @secure
2773
3143
  */
2774
- phoneNumberControllerBuy: (
2775
- data: BuyPhoneNumberDTO,
2776
- params: RequestParams = {}
2777
- ) =>
3144
+ phoneNumberControllerBuy: (data: BuyPhoneNumberDTO, params: RequestParams = {}) =>
2778
3145
  this.request<PhoneNumber, any>({
2779
3146
  path: `/phone-number/buy`,
2780
- method: "POST",
3147
+ method: 'POST',
2781
3148
  body: data,
2782
3149
  secure: true,
2783
3150
  type: ContentType.Json,
2784
- format: "json",
3151
+ format: 'json',
2785
3152
  ...params,
2786
3153
  }),
2787
3154
 
@@ -2789,22 +3156,45 @@ export class Api<
2789
3156
  * No description
2790
3157
  *
2791
3158
  * @tags Phone Numbers
2792
- * @name PhoneNumberControllerImport
3159
+ * @name PhoneNumberControllerImportTwilio
2793
3160
  * @summary Import Twilio Number
2794
- * @request POST:/phone-number/import
3161
+ * @request POST:/phone-number/import/twilio
2795
3162
  * @secure
2796
3163
  */
2797
- phoneNumberControllerImport: (
3164
+ phoneNumberControllerImportTwilio: (
2798
3165
  data: ImportTwilioPhoneNumberDTO,
2799
- params: RequestParams = {}
3166
+ params: RequestParams = {},
3167
+ ) =>
3168
+ this.request<PhoneNumber, any>({
3169
+ path: `/phone-number/import/twilio`,
3170
+ method: 'POST',
3171
+ body: data,
3172
+ secure: true,
3173
+ type: ContentType.Json,
3174
+ format: 'json',
3175
+ ...params,
3176
+ }),
3177
+
3178
+ /**
3179
+ * No description
3180
+ *
3181
+ * @tags Phone Numbers
3182
+ * @name PhoneNumberControllerImportVonage
3183
+ * @summary Import Vonage Number
3184
+ * @request POST:/phone-number/import/vonage
3185
+ * @secure
3186
+ */
3187
+ phoneNumberControllerImportVonage: (
3188
+ data: ImportVonagePhoneNumberDTO,
3189
+ params: RequestParams = {},
2800
3190
  ) =>
2801
3191
  this.request<PhoneNumber, any>({
2802
- path: `/phone-number/import`,
2803
- method: "POST",
3192
+ path: `/phone-number/import/vonage`,
3193
+ method: 'POST',
2804
3194
  body: data,
2805
3195
  secure: true,
2806
3196
  type: ContentType.Json,
2807
- format: "json",
3197
+ format: 'json',
2808
3198
  ...params,
2809
3199
  }),
2810
3200
 
@@ -2866,14 +3256,14 @@ export class Api<
2866
3256
  */
2867
3257
  updatedAtLe?: string;
2868
3258
  },
2869
- params: RequestParams = {}
3259
+ params: RequestParams = {},
2870
3260
  ) =>
2871
3261
  this.request<PhoneNumber[], any>({
2872
3262
  path: `/phone-number`,
2873
- method: "GET",
3263
+ method: 'GET',
2874
3264
  query: query,
2875
3265
  secure: true,
2876
- format: "json",
3266
+ format: 'json',
2877
3267
  ...params,
2878
3268
  }),
2879
3269
 
@@ -2889,9 +3279,9 @@ export class Api<
2889
3279
  phoneNumberControllerFindOne: (id: string, params: RequestParams = {}) =>
2890
3280
  this.request<PhoneNumber, any>({
2891
3281
  path: `/phone-number/${id}`,
2892
- method: "GET",
3282
+ method: 'GET',
2893
3283
  secure: true,
2894
- format: "json",
3284
+ format: 'json',
2895
3285
  ...params,
2896
3286
  }),
2897
3287
 
@@ -2907,15 +3297,15 @@ export class Api<
2907
3297
  phoneNumberControllerUpdate: (
2908
3298
  id: string,
2909
3299
  data: UpdatePhoneNumberDTO,
2910
- params: RequestParams = {}
3300
+ params: RequestParams = {},
2911
3301
  ) =>
2912
3302
  this.request<PhoneNumber, any>({
2913
3303
  path: `/phone-number/${id}`,
2914
- method: "PATCH",
3304
+ method: 'PATCH',
2915
3305
  body: data,
2916
3306
  secure: true,
2917
3307
  type: ContentType.Json,
2918
- format: "json",
3308
+ format: 'json',
2919
3309
  ...params,
2920
3310
  }),
2921
3311
 
@@ -2931,9 +3321,9 @@ export class Api<
2931
3321
  phoneNumberControllerRemove: (id: string, params: RequestParams = {}) =>
2932
3322
  this.request<PhoneNumber, any>({
2933
3323
  path: `/phone-number/${id}`,
2934
- method: "DELETE",
3324
+ method: 'DELETE',
2935
3325
  secure: true,
2936
- format: "json",
3326
+ format: 'json',
2937
3327
  ...params,
2938
3328
  }),
2939
3329
  };
@@ -2964,14 +3354,14 @@ export class Api<
2964
3354
  */
2965
3355
  rangeEnd?: string;
2966
3356
  },
2967
- params: RequestParams = {}
3357
+ params: RequestParams = {},
2968
3358
  ) =>
2969
3359
  this.request<Metrics[], any>({
2970
3360
  path: `/metrics`,
2971
- method: "GET",
3361
+ method: 'GET',
2972
3362
  query: query,
2973
3363
  secure: true,
2974
- format: "json",
3364
+ format: 'json',
2975
3365
  ...params,
2976
3366
  }),
2977
3367
  };