diff --git a/fern/apis/api/openapi.json b/fern/apis/api/openapi.json index 72bba5399..e0c9d0fc0 100644 --- a/fern/apis/api/openapi.json +++ b/fern/apis/api/openapi.json @@ -21534,6 +21534,73 @@ "model" ] }, + "OpenAISpeaker": { + "type": "object", + "properties": { + "instructions": { + "type": "string", + "description": "Omit to use legacy system messages. An explicit empty string is preserved." + }, + "personalityPacks": { + "type": "array", + "enum": [ + "eager-listener", + "idle-hummer", + "bouncy", + "unhurried" + ], + "items": { + "type": "string", + "enum": [ + "eager-listener", + "idle-hummer", + "bouncy", + "unhurried" + ] + } + } + } + }, + "OpenAIReasoner": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "The reasoner uses OpenAI. Omit to use OpenAI.", + "enum": [ + "openai" + ], + "default": "openai" + }, + "model": { + "type": "string", + "description": "The delegated reasoning model. Omit to use GPT-5.6 Terra.", + "enum": [ + "gpt-5.6-sol", + "gpt-5.6-terra", + "gpt-5.6-luna" + ], + "default": "gpt-5.6-terra" + }, + "reasoningEffort": { + "type": "string", + "description": "Higher effort can increase response time. Omit to use low.", + "enum": [ + "none", + "low", + "medium", + "high", + "xhigh", + "max" + ], + "default": "low" + }, + "instructions": { + "type": "string", + "description": "Complete reasoner instructions. An explicit empty string is preserved.\nOmit to use Vapi's default reasoner instructions. No behavioral instructions\nare appended to a custom prompt." + } + } + }, "OpenAIModel": { "type": "object", "properties": { @@ -21667,6 +21734,22 @@ } ] }, + "speaker": { + "description": "Configuration for the GPT-Live speaker.", + "allOf": [ + { + "$ref": "#/components/schemas/OpenAISpeaker" + } + ] + }, + "reasoner": { + "description": "Configuration for the reasoner supporting the GPT-Live speaker.", + "allOf": [ + { + "$ref": "#/components/schemas/OpenAIReasoner" + } + ] + }, "provider": { "type": "string", "description": "This is the provider that will be used for the model.", @@ -28526,10 +28609,17 @@ "orion", "masonry", "albion", - "parapet" + "parapet", + "clementine", + "walnut", + "eyre", + "bancroft", + "hesse", + "beatty", + "godfrey" ], "title": "Suggested Voice Options", - "description": "Popular Rime AI voices across mist, mistv2, and arcana models. Any valid Rime AI voice ID is accepted, not just these suggestions." + "description": "Popular Rime AI voices across mist, mistv2, mistv3, arcana, and coda models. Any valid Rime AI voice ID is accepted, not just these suggestions." }, { "type": "string", @@ -28543,7 +28633,9 @@ "description": "This is the model that will be used. Defaults to 'arcana' when not specified.", "enum": [ "arcana", + "coda", "mistv2", + "mistv3", "mist" ], "example": "arcana" @@ -31183,10 +31275,17 @@ "orion", "masonry", "albion", - "parapet" + "parapet", + "clementine", + "walnut", + "eyre", + "bancroft", + "hesse", + "beatty", + "godfrey" ], "title": "Suggested Voice Options", - "description": "Popular Rime AI voices across mist, mistv2, and arcana models. Any valid Rime AI voice ID is accepted, not just these suggestions." + "description": "Popular Rime AI voices across mist, mistv2, mistv3, arcana, and coda models. Any valid Rime AI voice ID is accepted, not just these suggestions." }, { "type": "string", @@ -31200,7 +31299,9 @@ "description": "This is the model that will be used. Defaults to 'arcana' when not specified.", "enum": [ "arcana", + "coda", "mistv2", + "mistv3", "mist" ], "example": "arcana" @@ -44120,6 +44221,14 @@ "model" ] }, + "seconds": { + "type": "number", + "description": "Provider-reported billable duration in seconds. Currently supplied for GPT-Live; omitted for token-billed models." + }, + "usageComplete": { + "type": "boolean", + "description": "Whether the reported usage is complete. False means the cost reflects missing or partial usage and may understate provider spend. Omitted when the provider integration does not report completeness." + }, "model": { "type": "object", "description": "This is the model that was used during the call.\n\nThis matches one of the following:\n- `call.assistant.model`,\n- `call.assistantId->model`,\n- `call.squad[n].assistant.model`,\n- `call.squad[n].assistantId->model`,\n- `call.squadId->[n].assistant.model`,\n- `call.squadId->[n].assistantId->model`."