vapi-client 0.4.2

Unofficial crate for Vapi - Voice AI for developers.
Documentation
/*
 * Vapi API
 *
 * Voice AI for developers.
 *
 * The version of the OpenAPI document: 1.0
 *
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(tag = "provider")]
pub enum WorkflowUserEditableCredentialsInner {
    #[serde(rename = "anthropic")]
    Anthropic(models::CreateAnthropicCredentialDto),
    #[serde(rename = "anyscale")]
    Anyscale(models::CreateAnyscaleCredentialDto),
    #[serde(rename = "assembly-ai")]
    AssemblyAi(models::CreateAssemblyAiCredentialDto),
    #[serde(rename = "azure")]
    Azure(models::CreateAzureCredentialDto),
    #[serde(rename = "azure-openai")]
    AzureOpenai(models::CreateAzureOpenAiCredentialDto),
    #[serde(rename = "byo-sip-trunk")]
    ByoSipTrunk(models::CreateByoSipTrunkCredentialDto),
    #[serde(rename = "cartesia")]
    Cartesia(models::CreateCartesiaCredentialDto),
    #[serde(rename = "cerebras")]
    Cerebras(models::CreateCerebrasCredentialDto),
    #[serde(rename = "cloudflare")]
    Cloudflare(models::CreateCloudflareCredentialDto),
    #[serde(rename = "custom-llm")]
    CustomLlm(models::CreateCustomLlmCredentialDto),
    #[serde(rename = "deepgram")]
    Deepgram(models::CreateDeepgramCredentialDto),
    #[serde(rename = "deepinfra")]
    Deepinfra(models::CreateDeepInfraCredentialDto),
    #[serde(rename = "deep-seek")]
    DeepSeek(models::CreateDeepSeekCredentialDto),
    #[serde(rename = "11labs")]
    Model11labs(models::CreateElevenLabsCredentialDto),
    #[serde(rename = "gcp")]
    Gcp(models::CreateGcpCredentialDto),
    #[serde(rename = "gladia")]
    Gladia(models::CreateGladiaCredentialDto),
    #[serde(rename = "gohighlevel")]
    Gohighlevel(models::CreateGoHighLevelCredentialDto),
    #[serde(rename = "google")]
    Google(models::CreateGoogleCredentialDto),
    #[serde(rename = "groq")]
    Groq(models::CreateGroqCredentialDto),
    #[serde(rename = "hume")]
    Hume(models::CreateHumeCredentialDto),
    #[serde(rename = "inflection-ai")]
    InflectionAi(models::CreateInflectionAiCredentialDto),
    #[serde(rename = "langfuse")]
    Langfuse(models::CreateLangfuseCredentialDto),
    #[serde(rename = "lmnt")]
    Lmnt(models::CreateLmntCredentialDto),
    #[serde(rename = "make")]
    Make(models::CreateMakeCredentialDto),
    #[serde(rename = "mistral")]
    Mistral(models::CreateMistralCredentialDto),
    #[serde(rename = "neuphonic")]
    Neuphonic(models::CreateNeuphonicCredentialDto),
    #[serde(rename = "openai")]
    Openai(models::CreateOpenAiCredentialDto),
    #[serde(rename = "openrouter")]
    Openrouter(models::CreateOpenRouterCredentialDto),
    #[serde(rename = "perplexity-ai")]
    PerplexityAi(models::CreatePerplexityAiCredentialDto),
    #[serde(rename = "playht")]
    Playht(models::CreatePlayHtCredentialDto),
    #[serde(rename = "rime-ai")]
    RimeAi(models::CreateRimeAiCredentialDto),
    #[serde(rename = "runpod")]
    Runpod(models::CreateRunpodCredentialDto),
    #[serde(rename = "s3")]
    S3(models::CreateS3CredentialDto),
    #[serde(rename = "smallest-ai")]
    SmallestAi(models::CreateSmallestAiCredentialDto),
    #[serde(rename = "speechmatics")]
    Speechmatics(models::CreateSpeechmaticsCredentialDto),
    #[serde(rename = "supabase")]
    Supabase(models::CreateSupabaseCredentialDto),
    #[serde(rename = "tavus")]
    Tavus(models::CreateTavusCredentialDto),
    #[serde(rename = "together-ai")]
    TogetherAi(models::CreateTogetherAiCredentialDto),
    #[serde(rename = "trieve")]
    Trieve(models::CreateTrieveCredentialDto),
    #[serde(rename = "twilio")]
    Twilio(models::CreateTwilioCredentialDto),
    #[serde(rename = "vonage")]
    Vonage(models::CreateVonageCredentialDto),
    #[serde(rename = "webhook")]
    Webhook(models::CreateWebhookCredentialDto),
    #[serde(rename = "xai")]
    Xai(models::CreateXaiCredentialDto),
    #[serde(rename = "google.calendar.oauth2-client")]
    GooglePeriodCalendarPeriodOauth2Client(models::CreateGoogleCalendarOAuth2ClientCredentialDto),
    #[serde(rename = "google.calendar.oauth2-authorization")]
    GooglePeriodCalendarPeriodOauth2Authorization(
        models::CreateGoogleCalendarOAuth2AuthorizationCredentialDto,
    ),
    #[serde(rename = "google.sheets.oauth2-authorization")]
    GooglePeriodSheetsPeriodOauth2Authorization(
        models::CreateGoogleSheetsOAuth2AuthorizationCredentialDto,
    ),
    #[serde(rename = "slack.oauth2-authorization")]
    SlackPeriodOauth2Authorization(models::CreateSlackOAuth2AuthorizationCredentialDto),
    #[serde(rename = "ghl.oauth2-authorization")]
    GhlPeriodOauth2Authorization(models::CreateGoHighLevelMcpCredentialDto),
}

impl Default for WorkflowUserEditableCredentialsInner {
    fn default() -> Self {
        Self::Anthropic(Default::default())
    }
}

/// This is the service being used in Azure.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ServiceTrue {
    #[serde(rename = "speech")]
    Speech,
    #[serde(rename = "blob_storage")]
    BlobStorage,
}

impl Default for ServiceTrue {
    fn default() -> ServiceTrue {
        Self::Speech
    }
}
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ModelsTrue {
    #[serde(rename = "gpt-4.1-2025-04-14")]
    Gpt4Period120250414,
    #[serde(rename = "gpt-4.1-mini-2025-04-14")]
    Gpt4Period1Mini20250414,
    #[serde(rename = "gpt-4.1-nano-2025-04-14")]
    Gpt4Period1Nano20250414,
    #[serde(rename = "gpt-4o-2024-11-20")]
    Gpt4o20241120,
    #[serde(rename = "gpt-4o-2024-08-06")]
    Gpt4o20240806,
    #[serde(rename = "gpt-4o-2024-05-13")]
    Gpt4o20240513,
    #[serde(rename = "gpt-4o-mini-2024-07-18")]
    Gpt4oMini20240718,
    #[serde(rename = "gpt-4-turbo-2024-04-09")]
    Gpt4Turbo20240409,
    #[serde(rename = "gpt-4-0125-preview")]
    Gpt40125Preview,
    #[serde(rename = "gpt-4-1106-preview")]
    Gpt41106Preview,
    #[serde(rename = "gpt-4-0613")]
    Gpt40613,
    #[serde(rename = "gpt-35-turbo-0125")]
    Gpt35Turbo0125,
    #[serde(rename = "gpt-35-turbo-1106")]
    Gpt35Turbo1106,
}

impl Default for ModelsTrue {
    fn default() -> ModelsTrue {
        Self::Gpt4Period120250414
    }
}