diff --git a/fern/apis/api/openapi.json b/fern/apis/api/openapi.json index 809018e77..f2ddee16a 100644 --- a/fern/apis/api/openapi.json +++ b/fern/apis/api/openapi.json @@ -10827,7 +10827,12 @@ "type": "string", "description": "The voices provided by Vapi", "enum": [ - "Jordan" + "Jordan", + "Adi", + "Julia", + "Maibri (Web)", + "Maibri (Phone)", + "Ashley" ] }, "chunkPlan": { @@ -12337,7 +12342,7 @@ "type" ] }, - "TwilioVoicemailDetection": { + "TwilioVoicemailDetectionPlan": { "type": "object", "properties": { "provider": { @@ -12409,6 +12414,29 @@ "provider" ] }, + "GoogleVoicemailDetectionPlan": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "This is the provider to use for voicemail detection.", + "enum": [ + "google" + ] + }, + "voicemailExpectedDurationSeconds": { + "type": "number", + "description": "This is how long should we listen in order to determine if we were sent to voicemail or not?\n\n@default 15", + "minimum": 5, + "maximum": 60, + "default": 15 + } + }, + "required": [ + "provider", + "voicemailExpectedDurationSeconds" + ] + }, "CompliancePlan": { "type": "object", "properties": { @@ -13027,15 +13055,7 @@ "#", "*", "" - ], - "x-fern-enum": { - "#": { - "name": "Hash" - }, - "*": { - "name": "Asterisk" - } - } + ] } } }, @@ -13204,6 +13224,10 @@ ], "example": "assistant-speaks-first" }, + "voicemailDetection": { + "type": "object", + "description": "These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be configured using the model.tools=[VoicemailTool].\nThis uses Twilio's built-in detection while the VoicemailTool relies on the model to detect if a voicemail was reached.\nYou can use neither of them, one of them, or both of them. By default, Twilio built-in detection is enabled while VoicemailTool is not." + }, "clientMessages": { "type": "array", "enum": [ @@ -13512,14 +13536,6 @@ "description": "This is the name of the assistant.\n\nThis is required when you want to transfer between assistants in a call.", "maxLength": 40 }, - "voicemailDetection": { - "description": "These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be configured using the model.tools=[VoicemailTool].\nThis uses Twilio's built-in detection while the VoicemailTool relies on the model to detect if a voicemail was reached.\nYou can use neither of them, one of them, or both of them. By default, Twilio built-in detection is enabled while VoicemailTool is not.", - "allOf": [ - { - "$ref": "#/components/schemas/TwilioVoicemailDetection" - } - ] - }, "voicemailMessage": { "type": "string", "description": "This is the message that the assistant will say if the call is forwarded to voicemail.\n\nIf unspecified, it will hang up.", @@ -13786,6 +13802,10 @@ ], "example": "assistant-speaks-first" }, + "voicemailDetection": { + "type": "object", + "description": "These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be configured using the model.tools=[VoicemailTool].\nThis uses Twilio's built-in detection while the VoicemailTool relies on the model to detect if a voicemail was reached.\nYou can use neither of them, one of them, or both of them. By default, Twilio built-in detection is enabled while VoicemailTool is not." + }, "clientMessages": { "type": "array", "enum": [ @@ -14098,14 +14118,6 @@ "description": "This is the name of the assistant.\n\nThis is required when you want to transfer between assistants in a call.", "maxLength": 40 }, - "voicemailDetection": { - "description": "These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be configured using the model.tools=[VoicemailTool].\nThis uses Twilio's built-in detection while the VoicemailTool relies on the model to detect if a voicemail was reached.\nYou can use neither of them, one of them, or both of them. By default, Twilio built-in detection is enabled while VoicemailTool is not.", - "allOf": [ - { - "$ref": "#/components/schemas/TwilioVoicemailDetection" - } - ] - }, "voicemailMessage": { "type": "string", "description": "This is the message that the assistant will say if the call is forwarded to voicemail.\n\nIf unspecified, it will hang up.", @@ -14661,6 +14673,10 @@ "$ref": "#/components/schemas/VapiCost", "title": "VapiCost" }, + { + "$ref": "#/components/schemas/VoicemailDetectionCost", + "title": "VoicemailDetectionCost" + }, { "$ref": "#/components/schemas/AnalysisCost", "title": "AnalysisCost" @@ -15429,6 +15445,10 @@ ], "example": "assistant-speaks-first" }, + "voicemailDetection": { + "type": "object", + "description": "These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be configured using the model.tools=[VoicemailTool].\nThis uses Twilio's built-in detection while the VoicemailTool relies on the model to detect if a voicemail was reached.\nYou can use neither of them, one of them, or both of them. By default, Twilio built-in detection is enabled while VoicemailTool is not." + }, "clientMessages": { "type": "array", "enum": [ @@ -15737,14 +15757,6 @@ "description": "This is the name of the assistant.\n\nThis is required when you want to transfer between assistants in a call.", "maxLength": 40 }, - "voicemailDetection": { - "description": "These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be configured using the model.tools=[VoicemailTool].\nThis uses Twilio's built-in detection while the VoicemailTool relies on the model to detect if a voicemail was reached.\nYou can use neither of them, one of them, or both of them. By default, Twilio built-in detection is enabled while VoicemailTool is not.", - "allOf": [ - { - "$ref": "#/components/schemas/TwilioVoicemailDetection" - } - ] - }, "voicemailMessage": { "type": "string", "description": "This is the message that the assistant will say if the call is forwarded to voicemail.\n\nIf unspecified, it will hang up.", @@ -16035,6 +16047,10 @@ ], "example": "assistant-speaks-first" }, + "voicemailDetection": { + "type": "object", + "description": "These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be configured using the model.tools=[VoicemailTool].\nThis uses Twilio's built-in detection while the VoicemailTool relies on the model to detect if a voicemail was reached.\nYou can use neither of them, one of them, or both of them. By default, Twilio built-in detection is enabled while VoicemailTool is not." + }, "clientMessages": { "type": "array", "enum": [ @@ -16343,14 +16359,6 @@ "description": "This is the name of the assistant.\n\nThis is required when you want to transfer between assistants in a call.", "maxLength": 40 }, - "voicemailDetection": { - "description": "These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be configured using the model.tools=[VoicemailTool].\nThis uses Twilio's built-in detection while the VoicemailTool relies on the model to detect if a voicemail was reached.\nYou can use neither of them, one of them, or both of them. By default, Twilio built-in detection is enabled while VoicemailTool is not.", - "allOf": [ - { - "$ref": "#/components/schemas/TwilioVoicemailDetection" - } - ] - }, "voicemailMessage": { "type": "string", "description": "This is the message that the assistant will say if the call is forwarded to voicemail.\n\nIf unspecified, it will hang up.", @@ -20672,8 +20680,9 @@ }, "status": { "enum": [ - "indexed", - "not_indexed" + "processing", + "done", + "failed" ], "type": "string" }, @@ -20706,6 +20715,12 @@ "url": { "type": "string" }, + "parsedTextUrl": { + "type": "string" + }, + "parsedTextBytes": { + "type": "number" + }, "metadata": { "type": "object" }, @@ -24619,6 +24634,27 @@ "threshold" ] }, + "InvoicePlan": { + "type": "object", + "properties": { + "companyName": { + "type": "string", + "description": "This is the name of the company." + }, + "companyAddress": { + "type": "string", + "description": "This is the address of the company." + }, + "companyTaxId": { + "type": "string", + "description": "This is the tax ID of the company." + }, + "companyEmail": { + "type": "string", + "description": "This is the preferred invoicing email of the company. If not specified, defaults to the subscription's email." + } + } + }, "Subscription": { "type": "object", "properties": { @@ -24785,6 +24821,14 @@ "couponUsageLeft": { "type": "string", "description": "This is the number of credits left obtained from a coupon." + }, + "invoicePlan": { + "description": "This is the invoice plan for the subscription.", + "allOf": [ + { + "$ref": "#/components/schemas/InvoicePlan" + } + ] } }, "required": [ @@ -27292,6 +27336,10 @@ "$ref": "#/components/schemas/VapiCost", "title": "VapiCost" }, + { + "$ref": "#/components/schemas/VoicemailDetectionCost", + "title": "VoicemailDetectionCost" + }, { "$ref": "#/components/schemas/AnalysisCost", "title": "AnalysisCost" @@ -29721,6 +29769,61 @@ "cost" ] }, + "VoicemailDetectionCost": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "This is the type of cost, always 'voicemail-detection' for this class.", + "enum": [ + "voicemail-detection" + ] + }, + "model": { + "type": "object", + "description": "This is the model that was used to perform the analysis." + }, + "provider": { + "type": "string", + "description": "This is the provider that was used to detect the voicemail.", + "enum": [ + "twilio", + "google", + "openai" + ] + }, + "promptTextTokens": { + "type": "number", + "description": "This is the number of prompt text tokens used in the voicemail detection." + }, + "promptAudioTokens": { + "type": "number", + "description": "This is the number of prompt audio tokens used in the voicemail detection." + }, + "completionTextTokens": { + "type": "number", + "description": "This is the number of completion text tokens used in the voicemail detection." + }, + "completionAudioTokens": { + "type": "number", + "description": "This is the number of completion audio tokens used in the voicemail detection." + }, + "cost": { + "type": "number", + "description": "This is the cost of the component in USD." + } + }, + "required": [ + "type", + "model", + "provider", + "promptTextTokens", + "promptAudioTokens", + "completionTextTokens", + "completionAudioTokens", + "cost" + ] + }, "FunctionToolWithToolCall": { "type": "object", "properties": {