diff --git a/fern/apis/api/openapi.json b/fern/apis/api/openapi.json index 7ec05c053..73a8b3189 100644 --- a/fern/apis/api/openapi.json +++ b/fern/apis/api/openapi.json @@ -2655,6 +2655,48 @@ } }, "schemas": { + "AssemblyAITranscriber": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "This is the transcription provider that will be used.", + "enum": [ + "assembly-ai" + ] + }, + "language": { + "type": "string", + "description": "This is the language that will be set for the transcription.", + "enum": [ + "en" + ] + }, + "realtimeUrl": { + "type": "string", + "description": "The WebSocket URL that the transcriber connects to." + }, + "wordBoost": { + "description": "Add up to 2500 characters of custom vocabulary.", + "type": "array", + "items": { + "type": "string", + "maxLength": 2500 + } + }, + "endUtteranceSilenceThreshold": { + "type": "number", + "description": "The duration of the end utterance silence threshold in milliseconds." + }, + "disablePartialTranscripts": { + "type": "boolean", + "description": "Disable partial transcripts.\nSet to `true` to not receive partial transcripts. Defaults to `false`." + } + }, + "required": [ + "provider" + ] + }, "Server": { "type": "object", "properties": { @@ -5224,6 +5266,7 @@ "gpt-4o", "gpt-4o-2024-05-13", "gpt-4o-2024-08-06", + "gpt-4o-2024-11-20", "gpt-4-turbo", "gpt-4-turbo-2024-04-09", "gpt-4-turbo-preview", @@ -5248,6 +5291,7 @@ "gpt-4o", "gpt-4o-2024-05-13", "gpt-4o-2024-08-06", + "gpt-4o-2024-11-20", "gpt-4-turbo", "gpt-4-turbo-2024-04-09", "gpt-4-turbo-preview", @@ -5274,6 +5318,7 @@ "gpt-4o", "gpt-4o-2024-05-13", "gpt-4o-2024-08-06", + "gpt-4o-2024-11-20", "gpt-4-turbo", "gpt-4-turbo-2024-04-09", "gpt-4-turbo-preview", @@ -5947,9 +5992,8 @@ "properties": { "voices": { "type": "array", + "description": "This is the list of voices to fallback to in the event that the primary voice provider fails.", "items": { - "required": true, - "description": "This is the list of voices to fallback to in the event that the primary voice provider fails.", "oneOf": [ { "$ref": "#/components/schemas/FallbackAzureVoice", @@ -5995,15 +6039,7 @@ "$ref": "#/components/schemas/FallbackTavusVoice", "title": "TavusVoice" } - ], - "default": { - "provider": "playht", - "voiceId": "jennifer" - }, - "type": "array", - "items": { - "type": "object" - } + ] } } }, @@ -6014,11 +6050,6 @@ "AzureVoice": { "type": "object", "properties": { - "fillerInjectionEnabled": { - "type": "boolean", - "description": "This determines whether fillers are injected into the model output before inputting it into the voice provider.\n\nDefault `false` because you can achieve better results with prompting the model.", - "example": false - }, "provider": { "type": "string", "description": "This is the voice provider that will be used.", @@ -6075,11 +6106,6 @@ "CartesiaVoice": { "type": "object", "properties": { - "fillerInjectionEnabled": { - "type": "boolean", - "description": "This determines whether fillers are injected into the model output before inputting it into the voice provider.\n\nDefault `false` because you can achieve better results with prompting the model.", - "example": false - }, "provider": { "type": "string", "description": "This is the voice provider that will be used.", @@ -6147,11 +6173,6 @@ "CustomVoice": { "type": "object", "properties": { - "fillerInjectionEnabled": { - "type": "boolean", - "description": "This determines whether fillers are injected into the model output before inputting it into the voice provider.\n\nDefault `false` because you can achieve better results with prompting the model.", - "example": false - }, "provider": { "type": "string", "description": "This is the voice provider that will be used. Use `custom-voice` for providers that are not natively supported.", @@ -6192,11 +6213,6 @@ "DeepgramVoice": { "type": "object", "properties": { - "fillerInjectionEnabled": { - "type": "boolean", - "description": "This determines whether fillers are injected into the model output before inputting it into the voice provider.\n\nDefault `false` because you can achieve better results with prompting the model.", - "example": false - }, "provider": { "type": "string", "description": "This is the voice provider that will be used.", @@ -6256,11 +6272,6 @@ "ElevenLabsVoice": { "type": "object", "properties": { - "fillerInjectionEnabled": { - "type": "boolean", - "description": "This determines whether fillers are injected into the model output before inputting it into the voice provider.\n\nDefault `false` because you can achieve better results with prompting the model.", - "example": false - }, "provider": { "type": "string", "description": "This is the voice provider that will be used.", @@ -6376,11 +6387,6 @@ "LMNTVoice": { "type": "object", "properties": { - "fillerInjectionEnabled": { - "type": "boolean", - "description": "This determines whether fillers are injected into the model output before inputting it into the voice provider.\n\nDefault `false` because you can achieve better results with prompting the model.", - "example": false - }, "provider": { "type": "string", "description": "This is the voice provider that will be used.", @@ -6437,11 +6443,6 @@ "NeetsVoice": { "type": "object", "properties": { - "fillerInjectionEnabled": { - "type": "boolean", - "description": "This determines whether fillers are injected into the model output before inputting it into the voice provider.\n\nDefault `false` because you can achieve better results with prompting the model.", - "example": false - }, "provider": { "type": "string", "description": "This is the voice provider that will be used.", @@ -6491,11 +6492,6 @@ "OpenAIVoice": { "type": "object", "properties": { - "fillerInjectionEnabled": { - "type": "boolean", - "description": "This determines whether fillers are injected into the model output before inputting it into the voice provider.\n\nDefault `false` because you can achieve better results with prompting the model.", - "example": false - }, "provider": { "type": "string", "description": "This is the voice provider that will be used.", @@ -6569,11 +6565,6 @@ "PlayHTVoice": { "type": "object", "properties": { - "fillerInjectionEnabled": { - "type": "boolean", - "description": "This determines whether fillers are injected into the model output before inputting it into the voice provider.\n\nDefault `false` because you can achieve better results with prompting the model.", - "example": false - }, "provider": { "type": "string", "description": "This is the voice provider that will be used.", @@ -6669,6 +6660,49 @@ "Play3.0-mini" ] }, + "language": { + "type": "string", + "description": "The language to use for the speech.", + "enum": [ + "afrikaans", + "albanian", + "amharic", + "arabic", + "bengali", + "bulgarian", + "catalan", + "croatian", + "czech", + "danish", + "dutch", + "english", + "french", + "galician", + "german", + "greek", + "hebrew", + "hindi", + "hungarian", + "indonesian", + "italian", + "japanese", + "korean", + "malay", + "mandarin", + "polish", + "portuguese", + "russian", + "serbian", + "spanish", + "swedish", + "tagalog", + "thai", + "turkish", + "ukrainian", + "urdu", + "xhosa" + ] + }, "chunkPlan": { "description": "This is the plan for chunking the model output before it is sent to the voice provider.", "allOf": [ @@ -6694,11 +6728,6 @@ "RimeAIVoice": { "type": "object", "properties": { - "fillerInjectionEnabled": { - "type": "boolean", - "description": "This determines whether fillers are injected into the model output before inputting it into the voice provider.\n\nDefault `false` because you can achieve better results with prompting the model.", - "example": false - }, "provider": { "type": "string", "description": "This is the voice provider that will be used.", @@ -6887,11 +6916,6 @@ "TavusVoice": { "type": "object", "properties": { - "fillerInjectionEnabled": { - "type": "boolean", - "description": "This determines whether fillers are injected into the model output before inputting it into the voice provider.\n\nDefault `false` because you can achieve better results with prompting the model.", - "example": false - }, "provider": { "type": "string", "description": "This is the voice provider that will be used.", @@ -6965,140 +6989,949 @@ "voiceId" ] }, - "TransportConfigurationTwilio": { + "FallbackAzureVoice": { "type": "object", "properties": { "provider": { "type": "string", + "description": "This is the voice provider that will be used.", "enum": [ - "twilio" + "azure" ] }, - "timeout": { - "type": "number", - "description": "The integer number of seconds that we should allow the phone to ring before assuming there is no answer.\nThe default is `60` seconds and the maximum is `600` seconds.\nFor some call flows, we will add a 5-second buffer to the timeout value you provide.\nFor this reason, a timeout value of 10 seconds could result in an actual timeout closer to 15 seconds.\nYou can set this to a short time, such as `15` seconds, to hang up before reaching an answering machine or voicemail.\n\n@default 60", - "minimum": 1, - "maximum": 600, - "example": 60 + "voiceId": { + "description": "This is the provider-specific ID that will be used.", + "oneOf": [ + { + "type": "string", + "enum": [ + "andrew", + "brian", + "emma" + ], + "title": "Preset Voice Options" + }, + { + "type": "string", + "title": "Azure Voice ID" + } + ] }, - "record": { - "type": "boolean", - "description": "Whether to record the call.\nCan be `true` to record the phone call, or `false` to not.\nThe default is `false`.\n\n@default false", - "example": false + "speed": { + "type": "number", + "description": "This is the speed multiplier that will be used.", + "minimum": 0.5, + "maximum": 2 }, - "recordingChannels": { - "type": "string", - "description": "The number of channels in the final recording.\nCan be: `mono` or `dual`.\nThe default is `mono`.\n`mono` records both legs of the call in a single channel of the recording file.\n`dual` records each leg to a separate channel of the recording file.\nThe first channel of a dual-channel recording contains the parent call and the second channel contains the child call.\n\n@default 'mono'", - "enum": [ - "mono", - "dual" - ], - "example": "mono" + "chunkPlan": { + "description": "This is the plan for chunking the model output before it is sent to the voice provider.", + "allOf": [ + { + "$ref": "#/components/schemas/ChunkPlan" + } + ] } }, "required": [ - "provider" + "provider", + "voiceId" ] }, - "TwilioVoicemailDetection": { + "FallbackCartesiaVoice": { "type": "object", "properties": { "provider": { "type": "string", - "description": "This is the provider to use for voicemail detection.", + "description": "This is the voice provider that will be used.", "enum": [ - "twilio" + "cartesia" ] }, - "voicemailDetectionTypes": { - "type": "array", - "description": "These are the AMD messages from Twilio that are considered as voicemail. Default is ['machine_end_beep', 'machine_end_silence'].\n\n@default {Array} ['machine_end_beep', 'machine_end_silence']", + "model": { + "type": "string", + "description": "This is the model that will be used. This is optional and will default to the correct model for the voiceId.", "enum": [ - "machine_start", - "human", - "fax", - "unknown", - "machine_end_beep", - "machine_end_silence", - "machine_end_other" - ], - "example": [ - "machine_end_beep", - "machine_end_silence" + "sonic-english", + "sonic-multilingual" ], - "items": { - "type": "string", - "enum": [ - "machine_start", - "human", - "fax", - "unknown", - "machine_end_beep", - "machine_end_silence", - "machine_end_other" - ] - } - }, - "enabled": { - "type": "boolean", - "description": "This sets whether the assistant should detect voicemail. Defaults to true.\n\n@default true" - }, - "machineDetectionTimeout": { - "type": "number", - "description": "The number of seconds that Twilio should attempt to perform answering machine detection before timing out and returning AnsweredBy as unknown. Default is 30 seconds.\n\nIncreasing this value will provide the engine more time to make a determination. This can be useful when DetectMessageEnd is provided in the MachineDetection parameter and there is an expectation of long answering machine greetings that can exceed 30 seconds.\n\nDecreasing this value will reduce the amount of time the engine has to make a determination. This can be particularly useful when the Enable option is provided in the MachineDetection parameter and you want to limit the time for initial detection.\n\nCheck the [Twilio docs](https://www.twilio.com/docs/voice/answering-machine-detection#optional-api-tuning-parameters) for more info.\n\n@default 30", - "minimum": 3, - "maximum": 59 + "example": "sonic-english" }, - "machineDetectionSpeechThreshold": { - "type": "number", - "description": "The number of milliseconds that is used as the measuring stick for the length of the speech activity. Durations lower than this value will be interpreted as a human, longer as a machine. Default is 2400 milliseconds.\n\nIncreasing this value will reduce the chance of a False Machine (detected machine, actually human) for a long human greeting (e.g., a business greeting) but increase the time it takes to detect a machine.\n\nDecreasing this value will reduce the chances of a False Human (detected human, actually machine) for short voicemail greetings. The value of this parameter may need to be reduced by more than 1000ms to detect very short voicemail greetings. A reduction of that significance can result in increased False Machine detections. Adjusting the MachineDetectionSpeechEndThreshold is likely the better approach for short voicemails. Decreasing MachineDetectionSpeechThreshold will also reduce the time it takes to detect a machine.\n\nCheck the [Twilio docs](https://www.twilio.com/docs/voice/answering-machine-detection#optional-api-tuning-parameters) for more info.\n\n@default 2400", - "minimum": 1000, - "maximum": 6000 + "language": { + "type": "string", + "description": "This is the language that will be used. This is optional and will default to the correct language for the voiceId.", + "enum": [ + "en", + "de", + "es", + "fr", + "ja", + "pt", + "zh", + "hi", + "it", + "ko", + "nl", + "pl", + "ru", + "sv", + "tr" + ], + "example": "en" }, - "machineDetectionSpeechEndThreshold": { - "type": "number", - "description": "The number of milliseconds of silence after speech activity at which point the speech activity is considered complete. Default is 1200 milliseconds.\n\nIncreasing this value will typically be used to better address the short voicemail greeting scenarios. For short voicemails, there is typically 1000-2000ms of audio followed by 1200-2400ms of silence and then additional audio before the beep. Increasing the MachineDetectionSpeechEndThreshold to ~2500ms will treat the 1200-2400ms of silence as a gap in the greeting but not the end of the greeting and will result in a machine detection. The downsides of such a change include:\n- Increasing the delay for human detection by the amount you increase this parameter, e.g., a change of 1200ms to 2500ms increases human detection delay by 1300ms.\n- Cases where a human has two utterances separated by a period of silence (e.g. a \"Hello\", then 2000ms of silence, and another \"Hello\") may be interpreted as a machine.\n\nDecreasing this value will result in faster human detection. The consequence is that it can lead to increased False Human (detected human, actually machine) detections because a silence gap in a voicemail greeting (not necessarily just in short voicemail scenarios) can be incorrectly interpreted as the end of speech.\n\nCheck the [Twilio docs](https://www.twilio.com/docs/voice/answering-machine-detection#optional-api-tuning-parameters) for more info.\n\n@default 1200", - "minimum": 500, - "maximum": 5000 + "voiceId": { + "type": "string", + "description": "This is the provider-specific ID that will be used." }, - "machineDetectionSilenceTimeout": { - "type": "number", - "description": "The number of milliseconds of initial silence after which an unknown AnsweredBy result will be returned. Default is 5000 milliseconds.\n\nIncreasing this value will result in waiting for a longer period of initial silence before returning an 'unknown' AMD result.\n\nDecreasing this value will result in waiting for a shorter period of initial silence before returning an 'unknown' AMD result.\n\nCheck the [Twilio docs](https://www.twilio.com/docs/voice/answering-machine-detection#optional-api-tuning-parameters) for more info.\n\n@default 5000", - "minimum": 2000, - "maximum": 10000 + "chunkPlan": { + "description": "This is the plan for chunking the model output before it is sent to the voice provider.", + "allOf": [ + { + "$ref": "#/components/schemas/ChunkPlan" + } + ] } }, "required": [ - "provider" + "provider", + "voiceId" ] }, - "StructuredDataPlan": { + "FallbackCustomVoice": { "type": "object", "properties": { - "messages": { - "description": "These are the messages used to generate the structured data.\n\n@default: ```\n[\n {\n \"role\": \"system\",\n \"content\": \"You are an expert data extractor. You will be given a transcript of a call. Extract structured data per the JSON Schema. DO NOT return anything except the structured data.\\n\\nJson Schema:\\\\n{{schema}}\\n\\nOnly respond with the JSON.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"Here is the transcript:\\n\\n{{transcript}}\\n\\n\"\n }\n]```\n\nYou can customize by providing any messages you want.\n\nHere are the template variables available:\n- {{transcript}}: the transcript of the call from `call.artifact.transcript`- {{systemPrompt}}: the system prompt of the call from `assistant.model.messages[type=system].content`- {{schema}}: the schema of the structured data from `structuredDataPlan.schema`", - "type": "array", - "items": { - "type": "object" - } - }, - "enabled": { - "type": "boolean", - "description": "This determines whether structured data is generated and stored in `call.analysis.structuredData`. Defaults to false.\n\nUsage:\n- If you want to extract structured data, set this to true and provide a `schema`.\n\n@default false" + "provider": { + "type": "string", + "description": "This is the voice provider that will be used. Use `custom-voice` for providers that are not natively supported.", + "enum": [ + "custom-voice" + ] }, - "schema": { - "description": "This is the schema of the structured data. The output is stored in `call.analysis.structuredData`.\n\nComplete guide on JSON Schema can be found [here](https://ajv.js.org/json-schema.html#json-data-type).", + "server": { + "description": "This is where the voice request will be sent.\n\nRequest Example:\n\nPOST https://{server.url}\nContent-Type: application/json\n\n{\n \"message\": {\n \"type\": \"voice-request\",\n \"text\": \"Hello, world!\",\n \"sampleRate\": 24000,\n ...other metadata about the call...\n }\n}\n\nResponse Expected: 1-channel 16-bit raw PCM audio at the sample rate specified in the request. Here is how the response will be piped to the transport:\n```\nresponse.on('data', (chunk: Buffer) => {\n outputStream.write(chunk);\n});\n```", "allOf": [ { - "$ref": "#/components/schemas/JsonSchema" + "$ref": "#/components/schemas/Server" } ] }, - "timeoutSeconds": { - "type": "number", - "description": "This is how long the request is tried before giving up. When request times out, `call.analysis.structuredData` will be empty.\n\nUsage:\n- To guarantee the structured data is generated, set this value high. Note, this will delay the end of call report in cases where model is slow to respond.\n\n@default 5 seconds", - "minimum": 1, - "maximum": 60 + "chunkPlan": { + "description": "This is the plan for chunking the model output before it is sent to the voice provider.", + "allOf": [ + { + "$ref": "#/components/schemas/ChunkPlan" + } + ] + } + }, + "required": [ + "provider", + "server" + ] + }, + "FallbackDeepgramVoice": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "This is the voice provider that will be used.", + "enum": [ + "deepgram" + ] + }, + "voiceId": { + "description": "This is the provider-specific ID that will be used.", + "oneOf": [ + { + "type": "string", + "enum": [ + "asteria", + "luna", + "stella", + "athena", + "hera", + "orion", + "arcas", + "perseus", + "angus", + "orpheus", + "helios", + "zeus" + ], + "title": "Preset Voice Options" + }, + { + "type": "string", + "title": "Deepgram Voice ID" + } + ] + }, + "chunkPlan": { + "description": "This is the plan for chunking the model output before it is sent to the voice provider.", + "allOf": [ + { + "$ref": "#/components/schemas/ChunkPlan" + } + ] + } + }, + "required": [ + "provider", + "voiceId" + ] + }, + "FallbackElevenLabsVoice": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "This is the voice provider that will be used.", + "enum": [ + "11labs" + ] + }, + "voiceId": { + "description": "This is the provider-specific ID that will be used. Ensure the Voice is present in your 11Labs Voice Library.", + "oneOf": [ + { + "type": "string", + "enum": [ + "burt", + "marissa", + "andrea", + "sarah", + "phillip", + "steve", + "joseph", + "myra", + "paula", + "ryan", + "drew", + "paul", + "mrb", + "matilda", + "mark" + ], + "title": "Preset Voice Options" + }, + { + "type": "string", + "title": "11Labs Voice ID" + } + ] + }, + "stability": { + "type": "number", + "description": "Defines the stability for voice settings.", + "minimum": 0, + "maximum": 1, + "example": 0.5 + }, + "similarityBoost": { + "type": "number", + "description": "Defines the similarity boost for voice settings.", + "minimum": 0, + "maximum": 1, + "example": 0.75 + }, + "style": { + "type": "number", + "description": "Defines the style for voice settings.", + "minimum": 0, + "maximum": 1, + "example": 0 + }, + "useSpeakerBoost": { + "type": "boolean", + "description": "Defines the use speaker boost for voice settings.", + "example": false + }, + "optimizeStreamingLatency": { + "type": "number", + "description": "Defines the optimize streaming latency for voice settings. Defaults to 3.", + "minimum": 0, + "maximum": 4, + "example": 3 + }, + "enableSsmlParsing": { + "type": "boolean", + "description": "This enables the use of https://elevenlabs.io/docs/speech-synthesis/prompting#pronunciation. Defaults to false to save latency.\n\n@default false", + "example": false + }, + "model": { + "type": "string", + "description": "This is the model that will be used. Defaults to 'eleven_turbo_v2' if not specified.", + "enum": [ + "eleven_multilingual_v2", + "eleven_turbo_v2", + "eleven_turbo_v2_5", + "eleven_monolingual_v1" + ], + "example": "eleven_turbo_v2_5" + }, + "language": { + "type": "string", + "description": "This is the language (ISO 639-1) that is enforced for the model. Currently only Turbo v2.5 supports language enforcement. For other models, an error will be returned if language code is provided." + }, + "chunkPlan": { + "description": "This is the plan for chunking the model output before it is sent to the voice provider.", + "allOf": [ + { + "$ref": "#/components/schemas/ChunkPlan" + } + ] + } + }, + "required": [ + "provider", + "voiceId" + ] + }, + "FallbackLMNTVoice": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "This is the voice provider that will be used.", + "enum": [ + "lmnt" + ] + }, + "voiceId": { + "description": "This is the provider-specific ID that will be used.", + "oneOf": [ + { + "type": "string", + "enum": [ + "lily", + "daniel" + ], + "title": "Preset Voice Options" + }, + { + "type": "string", + "title": "LMNT Voice ID" + } + ] + }, + "speed": { + "type": "number", + "description": "This is the speed multiplier that will be used.", + "minimum": 0.25, + "maximum": 2, + "example": null + }, + "chunkPlan": { + "description": "This is the plan for chunking the model output before it is sent to the voice provider.", + "allOf": [ + { + "$ref": "#/components/schemas/ChunkPlan" + } + ] + } + }, + "required": [ + "provider", + "voiceId" + ] + }, + "FallbackNeetsVoice": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "This is the voice provider that will be used.", + "enum": [ + "neets" + ] + }, + "voiceId": { + "description": "This is the provider-specific ID that will be used.", + "oneOf": [ + { + "type": "string", + "enum": [ + "vits", + "vits" + ], + "title": "Preset Voice Options" + }, + { + "type": "string", + "title": "Neets Voice ID" + } + ] + }, + "chunkPlan": { + "description": "This is the plan for chunking the model output before it is sent to the voice provider.", + "allOf": [ + { + "$ref": "#/components/schemas/ChunkPlan" + } + ] + } + }, + "required": [ + "provider", + "voiceId" + ] + }, + "FallbackOpenAIVoice": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "This is the voice provider that will be used.", + "enum": [ + "openai" + ] + }, + "voiceId": { + "description": "This is the provider-specific ID that will be used.\nPlease note that ash, ballad, coral, sage, and verse may only be used with the `gpt-4o-realtime-preview-2024-10-01` model.", + "enum": [ + "alloy", + "echo", + "fable", + "onyx", + "nova", + "shimmer", + "ash", + "ballad", + "coral", + "sage", + "verse" + ], + "oneOf": [ + { + "type": "string", + "enum": [ + "alloy", + "echo", + "fable", + "onyx", + "nova", + "shimmer" + ], + "title": "Preset Voice Options" + }, + { + "type": "string", + "title": "OpenAI Voice ID" + } + ] + }, + "speed": { + "type": "number", + "description": "This is the speed multiplier that will be used.", + "minimum": 0.25, + "maximum": 4, + "example": null + }, + "chunkPlan": { + "description": "This is the plan for chunking the model output before it is sent to the voice provider.", + "allOf": [ + { + "$ref": "#/components/schemas/ChunkPlan" + } + ] + } + }, + "required": [ + "provider", + "voiceId" + ] + }, + "FallbackPlayHTVoice": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "This is the voice provider that will be used.", + "enum": [ + "playht" + ] + }, + "voiceId": { + "description": "This is the provider-specific ID that will be used.", + "oneOf": [ + { + "type": "string", + "enum": [ + "jennifer", + "melissa", + "will", + "chris", + "matt", + "jack", + "ruby", + "davis", + "donna", + "michael" + ], + "title": "Preset Voice Options" + }, + { + "type": "string", + "title": "PlayHT Voice ID" + } + ] + }, + "speed": { + "type": "number", + "description": "This is the speed multiplier that will be used.", + "minimum": 0.1, + "maximum": 5, + "example": null + }, + "temperature": { + "type": "number", + "description": "A floating point number between 0, exclusive, and 2, inclusive. If equal to null or not provided, the model's default temperature will be used. The temperature parameter controls variance. Lower temperatures result in more predictable results, higher temperatures allow each run to vary more, so the voice may sound less like the baseline voice.", + "minimum": 0.1, + "maximum": 2, + "example": null + }, + "emotion": { + "type": "string", + "description": "An emotion to be applied to the speech.", + "enum": [ + "female_happy", + "female_sad", + "female_angry", + "female_fearful", + "female_disgust", + "female_surprised", + "male_happy", + "male_sad", + "male_angry", + "male_fearful", + "male_disgust", + "male_surprised" + ], + "example": null + }, + "voiceGuidance": { + "type": "number", + "description": "A number between 1 and 6. Use lower numbers to reduce how unique your chosen voice will be compared to other voices.", + "minimum": 1, + "maximum": 6, + "example": null + }, + "styleGuidance": { + "type": "number", + "description": "A number between 1 and 30. Use lower numbers to to reduce how strong your chosen emotion will be. Higher numbers will create a very emotional performance.", + "minimum": 1, + "maximum": 30, + "example": null + }, + "textGuidance": { + "type": "number", + "description": "A number between 1 and 2. This number influences how closely the generated speech adheres to the input text. Use lower values to create more fluid speech, but with a higher chance of deviating from the input text. Higher numbers will make the generated speech more accurate to the input text, ensuring that the words spoken align closely with the provided text.", + "minimum": 1, + "maximum": 2, + "example": null + }, + "model": { + "type": "string", + "description": "Playht voice model/engine to use.", + "enum": [ + "PlayHT2.0", + "PlayHT2.0-turbo", + "Play3.0-mini" + ] + }, + "language": { + "type": "string", + "description": "The language to use for the speech.", + "enum": [ + "afrikaans", + "albanian", + "amharic", + "arabic", + "bengali", + "bulgarian", + "catalan", + "croatian", + "czech", + "danish", + "dutch", + "english", + "french", + "galician", + "german", + "greek", + "hebrew", + "hindi", + "hungarian", + "indonesian", + "italian", + "japanese", + "korean", + "malay", + "mandarin", + "polish", + "portuguese", + "russian", + "serbian", + "spanish", + "swedish", + "tagalog", + "thai", + "turkish", + "ukrainian", + "urdu", + "xhosa" + ] + }, + "chunkPlan": { + "description": "This is the plan for chunking the model output before it is sent to the voice provider.", + "allOf": [ + { + "$ref": "#/components/schemas/ChunkPlan" + } + ] + } + }, + "required": [ + "provider", + "voiceId" + ] + }, + "FallbackRimeAIVoice": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "This is the voice provider that will be used.", + "enum": [ + "rime-ai" + ] + }, + "voiceId": { + "description": "This is the provider-specific ID that will be used.", + "oneOf": [ + { + "type": "string", + "enum": [ + "marsh", + "bayou", + "creek", + "brook", + "flower", + "spore", + "glacier", + "gulch", + "alpine", + "cove", + "lagoon", + "tundra", + "steppe", + "mesa", + "grove", + "rainforest", + "moraine", + "wildflower", + "peak", + "boulder", + "abbie", + "allison", + "ally", + "alona", + "amber", + "ana", + "antoine", + "armon", + "brenda", + "brittany", + "carol", + "colin", + "courtney", + "elena", + "elliot", + "eva", + "geoff", + "gerald", + "hank", + "helen", + "hera", + "jen", + "joe", + "joy", + "juan", + "kendra", + "kendrick", + "kenneth", + "kevin", + "kris", + "linda", + "madison", + "marge", + "marina", + "marissa", + "marta", + "maya", + "nicholas", + "nyles", + "phil", + "reba", + "rex", + "rick", + "ritu", + "rob", + "rodney", + "rohan", + "rosco", + "samantha", + "sandy", + "selena", + "seth", + "sharon", + "stan", + "tamra", + "tanya", + "tibur", + "tj", + "tyler", + "viv", + "yadira" + ], + "title": "Preset Voice Options" + }, + { + "type": "string", + "title": "RimeAI Voice ID" + } + ] + }, + "model": { + "type": "string", + "description": "This is the model that will be used. Defaults to 'v1' when not specified.", + "enum": [ + "v1", + "mist" + ], + "example": "v1" + }, + "speed": { + "type": "number", + "description": "This is the speed multiplier that will be used.", + "minimum": 0.1, + "example": null + }, + "chunkPlan": { + "description": "This is the plan for chunking the model output before it is sent to the voice provider.", + "allOf": [ + { + "$ref": "#/components/schemas/ChunkPlan" + } + ] + } + }, + "required": [ + "provider", + "voiceId" + ] + }, + "FallbackTavusVoice": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "This is the voice provider that will be used.", + "enum": [ + "tavus" + ] + }, + "voiceId": { + "description": "This is the provider-specific ID that will be used.", + "oneOf": [ + { + "type": "string", + "enum": [ + "r52da2535a" + ], + "title": "Preset Voice Options" + }, + { + "type": "string", + "title": "Tavus Voice ID" + } + ] + }, + "personaId": { + "type": "string", + "description": "This is the unique identifier for the persona that the replica will use in the conversation." + }, + "callbackUrl": { + "type": "string", + "description": "This is the url that will receive webhooks with updates regarding the conversation state." + }, + "conversationName": { + "type": "string", + "description": "This is the name for the conversation." + }, + "conversationalContext": { + "type": "string", + "description": "This is the context that will be appended to any context provided in the persona, if one is provided." + }, + "customGreeting": { + "type": "string", + "description": "This is the custom greeting that the replica will give once a participant joines the conversation." + }, + "properties": { + "description": "These are optional properties used to customize the conversation.", + "allOf": [ + { + "$ref": "#/components/schemas/TavusConversationProperties" + } + ] + }, + "chunkPlan": { + "description": "This is the plan for chunking the model output before it is sent to the voice provider.", + "allOf": [ + { + "$ref": "#/components/schemas/ChunkPlan" + } + ] + } + }, + "required": [ + "provider", + "voiceId" + ] + }, + "TransportConfigurationTwilio": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": [ + "twilio" + ] + }, + "timeout": { + "type": "number", + "description": "The integer number of seconds that we should allow the phone to ring before assuming there is no answer.\nThe default is `60` seconds and the maximum is `600` seconds.\nFor some call flows, we will add a 5-second buffer to the timeout value you provide.\nFor this reason, a timeout value of 10 seconds could result in an actual timeout closer to 15 seconds.\nYou can set this to a short time, such as `15` seconds, to hang up before reaching an answering machine or voicemail.\n\n@default 60", + "minimum": 1, + "maximum": 600, + "example": 60 + }, + "record": { + "type": "boolean", + "description": "Whether to record the call.\nCan be `true` to record the phone call, or `false` to not.\nThe default is `false`.\n\n@default false", + "example": false + }, + "recordingChannels": { + "type": "string", + "description": "The number of channels in the final recording.\nCan be: `mono` or `dual`.\nThe default is `mono`.\n`mono` records both legs of the call in a single channel of the recording file.\n`dual` records each leg to a separate channel of the recording file.\nThe first channel of a dual-channel recording contains the parent call and the second channel contains the child call.\n\n@default 'mono'", + "enum": [ + "mono", + "dual" + ], + "example": "mono" + } + }, + "required": [ + "provider" + ] + }, + "TwilioVoicemailDetection": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "This is the provider to use for voicemail detection.", + "enum": [ + "twilio" + ] + }, + "voicemailDetectionTypes": { + "type": "array", + "description": "These are the AMD messages from Twilio that are considered as voicemail. Default is ['machine_end_beep', 'machine_end_silence'].\n\n@default {Array} ['machine_end_beep', 'machine_end_silence']", + "enum": [ + "machine_start", + "human", + "fax", + "unknown", + "machine_end_beep", + "machine_end_silence", + "machine_end_other" + ], + "example": [ + "machine_end_beep", + "machine_end_silence" + ], + "items": { + "type": "string", + "enum": [ + "machine_start", + "human", + "fax", + "unknown", + "machine_end_beep", + "machine_end_silence", + "machine_end_other" + ] + } + }, + "enabled": { + "type": "boolean", + "description": "This sets whether the assistant should detect voicemail. Defaults to true.\n\n@default true" + }, + "machineDetectionTimeout": { + "type": "number", + "description": "The number of seconds that Twilio should attempt to perform answering machine detection before timing out and returning AnsweredBy as unknown. Default is 30 seconds.\n\nIncreasing this value will provide the engine more time to make a determination. This can be useful when DetectMessageEnd is provided in the MachineDetection parameter and there is an expectation of long answering machine greetings that can exceed 30 seconds.\n\nDecreasing this value will reduce the amount of time the engine has to make a determination. This can be particularly useful when the Enable option is provided in the MachineDetection parameter and you want to limit the time for initial detection.\n\nCheck the [Twilio docs](https://www.twilio.com/docs/voice/answering-machine-detection#optional-api-tuning-parameters) for more info.\n\n@default 30", + "minimum": 3, + "maximum": 59 + }, + "machineDetectionSpeechThreshold": { + "type": "number", + "description": "The number of milliseconds that is used as the measuring stick for the length of the speech activity. Durations lower than this value will be interpreted as a human, longer as a machine. Default is 2400 milliseconds.\n\nIncreasing this value will reduce the chance of a False Machine (detected machine, actually human) for a long human greeting (e.g., a business greeting) but increase the time it takes to detect a machine.\n\nDecreasing this value will reduce the chances of a False Human (detected human, actually machine) for short voicemail greetings. The value of this parameter may need to be reduced by more than 1000ms to detect very short voicemail greetings. A reduction of that significance can result in increased False Machine detections. Adjusting the MachineDetectionSpeechEndThreshold is likely the better approach for short voicemails. Decreasing MachineDetectionSpeechThreshold will also reduce the time it takes to detect a machine.\n\nCheck the [Twilio docs](https://www.twilio.com/docs/voice/answering-machine-detection#optional-api-tuning-parameters) for more info.\n\n@default 2400", + "minimum": 1000, + "maximum": 6000 + }, + "machineDetectionSpeechEndThreshold": { + "type": "number", + "description": "The number of milliseconds of silence after speech activity at which point the speech activity is considered complete. Default is 1200 milliseconds.\n\nIncreasing this value will typically be used to better address the short voicemail greeting scenarios. For short voicemails, there is typically 1000-2000ms of audio followed by 1200-2400ms of silence and then additional audio before the beep. Increasing the MachineDetectionSpeechEndThreshold to ~2500ms will treat the 1200-2400ms of silence as a gap in the greeting but not the end of the greeting and will result in a machine detection. The downsides of such a change include:\n- Increasing the delay for human detection by the amount you increase this parameter, e.g., a change of 1200ms to 2500ms increases human detection delay by 1300ms.\n- Cases where a human has two utterances separated by a period of silence (e.g. a \"Hello\", then 2000ms of silence, and another \"Hello\") may be interpreted as a machine.\n\nDecreasing this value will result in faster human detection. The consequence is that it can lead to increased False Human (detected human, actually machine) detections because a silence gap in a voicemail greeting (not necessarily just in short voicemail scenarios) can be incorrectly interpreted as the end of speech.\n\nCheck the [Twilio docs](https://www.twilio.com/docs/voice/answering-machine-detection#optional-api-tuning-parameters) for more info.\n\n@default 1200", + "minimum": 500, + "maximum": 5000 + }, + "machineDetectionSilenceTimeout": { + "type": "number", + "description": "The number of milliseconds of initial silence after which an unknown AnsweredBy result will be returned. Default is 5000 milliseconds.\n\nIncreasing this value will result in waiting for a longer period of initial silence before returning an 'unknown' AMD result.\n\nDecreasing this value will result in waiting for a shorter period of initial silence before returning an 'unknown' AMD result.\n\nCheck the [Twilio docs](https://www.twilio.com/docs/voice/answering-machine-detection#optional-api-tuning-parameters) for more info.\n\n@default 5000", + "minimum": 2000, + "maximum": 10000 + } + }, + "required": [ + "provider" + ] + }, + "StructuredDataPlan": { + "type": "object", + "properties": { + "messages": { + "description": "These are the messages used to generate the structured data.\n\n@default: ```\n[\n {\n \"role\": \"system\",\n \"content\": \"You are an expert data extractor. You will be given a transcript of a call. Extract structured data per the JSON Schema. DO NOT return anything except the structured data.\\n\\nJson Schema:\\\\n{{schema}}\\n\\nOnly respond with the JSON.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"Here is the transcript:\\n\\n{{transcript}}\\n\\n\"\n }\n]```\n\nYou can customize by providing any messages you want.\n\nHere are the template variables available:\n- {{transcript}}: the transcript of the call from `call.artifact.transcript`- {{systemPrompt}}: the system prompt of the call from `assistant.model.messages[type=system].content`- {{schema}}: the schema of the structured data from `structuredDataPlan.schema`", + "type": "array", + "items": { + "type": "object" + } + }, + "enabled": { + "type": "boolean", + "description": "This determines whether structured data is generated and stored in `call.analysis.structuredData`. Defaults to false.\n\nUsage:\n- If you want to extract structured data, set this to true and provide a `schema`.\n\n@default false" + }, + "schema": { + "description": "This is the schema of the structured data. The output is stored in `call.analysis.structuredData`.\n\nComplete guide on JSON Schema can be found [here](https://ajv.js.org/json-schema.html#json-data-type).", + "allOf": [ + { + "$ref": "#/components/schemas/JsonSchema" + } + ] + }, + "timeoutSeconds": { + "type": "number", + "description": "This is how long the request is tried before giving up. When request times out, `call.analysis.structuredData` will be empty.\n\nUsage:\n- To guarantee the structured data is generated, set this value high. Note, this will delay the end of call report in cases where model is slow to respond.\n\n@default 5 seconds", + "minimum": 1, + "maximum": 60 } } }, @@ -7468,6 +8301,10 @@ "transcriber": { "description": "These are the options for the assistant's transcriber.", "oneOf": [ + { + "$ref": "#/components/schemas/AssemblyAITranscriber", + "title": "AssemblyAI" + }, { "$ref": "#/components/schemas/CustomTranscriber", "title": "CustomTranscriber" @@ -7868,6 +8705,10 @@ "transcriber": { "description": "These are the options for the assistant's transcriber.", "oneOf": [ + { + "$ref": "#/components/schemas/AssemblyAITranscriber", + "title": "AssemblyAI" + }, { "$ref": "#/components/schemas/CustomTranscriber", "title": "CustomTranscriber" @@ -9292,6 +10133,10 @@ "transcriber": { "description": "These are the options for the assistant's transcriber.", "oneOf": [ + { + "$ref": "#/components/schemas/AssemblyAITranscriber", + "title": "AssemblyAI" + }, { "$ref": "#/components/schemas/CustomTranscriber", "title": "CustomTranscriber" @@ -9716,6 +10561,10 @@ "transcriber": { "description": "These are the options for the assistant's transcriber.", "oneOf": [ + { + "$ref": "#/components/schemas/AssemblyAITranscriber", + "title": "AssemblyAI" + }, { "$ref": "#/components/schemas/CustomTranscriber", "title": "CustomTranscriber" @@ -13396,13 +14245,13 @@ "metadata" ] }, - "AnyscaleCredential": { + "AnthropicCredential": { "type": "object", "properties": { "provider": { "type": "string", "enum": [ - "anyscale" + "anthropic" ] }, "apiKey": { @@ -13427,6 +14276,12 @@ "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -13438,13 +14293,13 @@ "updatedAt" ] }, - "AnthropicCredential": { + "AnyscaleCredential": { "type": "object", "properties": { "provider": { "type": "string", "enum": [ - "anthropic" + "anyscale" ] }, "apiKey": { @@ -13469,6 +14324,12 @@ "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -13510,6 +14371,12 @@ "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -13521,6 +14388,83 @@ "updatedAt" ] }, + "AzureCredential": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": [ + "azure" + ] + }, + "service": { + "type": "string", + "description": "This is the service being used in Azure.", + "enum": [ + "speech" + ] + }, + "region": { + "type": "string", + "description": "This is the region of the Azure resource.", + "enum": [ + "australia", + "canada", + "eastus2", + "eastus", + "france", + "india", + "japan", + "uaenorth", + "northcentralus", + "norway", + "southcentralus", + "sweden", + "switzerland", + "uk", + "westus", + "westus3" + ] + }, + "apiKey": { + "type": "string", + "description": "This is not returned in the API.", + "maxLength": 10000 + }, + "id": { + "type": "string", + "description": "This is the unique identifier for the credential." + }, + "orgId": { + "type": "string", + "description": "This is the unique identifier for the org that this credential belongs to." + }, + "createdAt": { + "format": "date-time", + "type": "string", + "description": "This is the ISO 8601 date-time string of when the credential was created." + }, + "updatedAt": { + "format": "date-time", + "type": "string", + "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 + } + }, + "required": [ + "provider", + "service", + "id", + "orgId", + "createdAt", + "updatedAt" + ] + }, "AzureOpenAICredential": { "type": "object", "properties": { @@ -13606,6 +14550,12 @@ "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 + }, "openAIEndpoint": { "type": "string", "maxLength": 10000 @@ -13735,6 +14685,12 @@ "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 + }, "gateways": { "description": "This is the list of SIP trunk's gateways.", "type": "array", @@ -13742,12 +14698,6 @@ "$ref": "#/components/schemas/SipTrunkGateway" } }, - "name": { - "type": "string", - "description": "This is the name of the SIP trunk. This is just for your reference.", - "minLength": 1, - "maxLength": 40 - }, "outboundAuthenticationPlan": { "description": "This can be used to configure the outbound authentication if required by the SIP trunk.", "allOf": [ @@ -13817,6 +14767,12 @@ "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -13859,6 +14815,12 @@ "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -13876,11 +14838,110 @@ "provider": { "type": "string", "enum": [ - "deepgram" + "deepgram" + ] + }, + "apiKey": { + "type": "string", + "description": "This is not returned in the API." + }, + "id": { + "type": "string", + "description": "This is the unique identifier for the credential." + }, + "orgId": { + "type": "string", + "description": "This is the unique identifier for the org that this credential belongs to." + }, + "createdAt": { + "format": "date-time", + "type": "string", + "description": "This is the ISO 8601 date-time string of when the credential was created." + }, + "updatedAt": { + "format": "date-time", + "type": "string", + "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 + }, + "apiUrl": { + "type": "string", + "description": "This can be used to point to an onprem Deepgram instance. Defaults to api.deepgram.com." + } + }, + "required": [ + "provider", + "apiKey", + "id", + "orgId", + "createdAt", + "updatedAt" + ] + }, + "DeepInfraCredential": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": [ + "deepinfra" + ] + }, + "apiKey": { + "type": "string", + "description": "This is not returned in the API." + }, + "id": { + "type": "string", + "description": "This is the unique identifier for the credential." + }, + "orgId": { + "type": "string", + "description": "This is the unique identifier for the org that this credential belongs to." + }, + "createdAt": { + "format": "date-time", + "type": "string", + "description": "This is the ISO 8601 date-time string of when the credential was created." + }, + "updatedAt": { + "format": "date-time", + "type": "string", + "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 + } + }, + "required": [ + "provider", + "apiKey", + "id", + "orgId", + "createdAt", + "updatedAt" + ] + }, + "ElevenLabsCredential": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": [ + "11labs" ] }, "apiKey": { "type": "string", + "maxLength": 10000, "description": "This is not returned in the API." }, "id": { @@ -13901,9 +14962,11 @@ "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." }, - "apiUrl": { + "name": { "type": "string", - "description": "This can be used to point to an onprem Deepgram instance. Defaults to api.deepgram.com." + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -14034,7 +15097,7 @@ }, "name": { "type": "string", - "description": "This is the name of the GCP credential. This is just for your reference.", + "description": "This is the name of credential. This is just for your reference.", "minLength": 1, "maxLength": 40 }, @@ -14094,6 +15157,12 @@ "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -14105,13 +15174,13 @@ "updatedAt" ] }, - "DeepInfraCredential": { + "GoHighLevelCredential": { "type": "object", "properties": { "provider": { "type": "string", "enum": [ - "deepinfra" + "gohighlevel" ] }, "apiKey": { @@ -14135,6 +15204,12 @@ "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -14146,13 +15221,14 @@ "updatedAt" ] }, - "ElevenLabsCredential": { + "GoogleCredential": { "type": "object", "properties": { "provider": { "type": "string", + "description": "This is the key for Gemini in Google AI Studio. Get it from here: https://aistudio.google.com/app/apikey", "enum": [ - "11labs" + "google" ] }, "apiKey": { @@ -14177,47 +15253,12 @@ "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." - } - }, - "required": [ - "provider", - "apiKey", - "id", - "orgId", - "createdAt", - "updatedAt" - ] - }, - "GoHighLevelCredential": { - "type": "object", - "properties": { - "provider": { - "type": "string", - "enum": [ - "gohighlevel" - ] - }, - "apiKey": { - "type": "string", - "description": "This is not returned in the API." - }, - "id": { - "type": "string", - "description": "This is the unique identifier for the credential." - }, - "orgId": { - "type": "string", - "description": "This is the unique identifier for the org that this credential belongs to." - }, - "createdAt": { - "format": "date-time", - "type": "string", - "description": "This is the ISO 8601 date-time string of when the credential was created." }, - "updatedAt": { - "format": "date-time", + "name": { "type": "string", - "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -14259,6 +15300,12 @@ "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -14308,6 +15355,12 @@ "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -14351,6 +15404,12 @@ "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -14400,6 +15459,12 @@ "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -14443,6 +15508,12 @@ "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -14484,6 +15555,12 @@ "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -14525,6 +15602,12 @@ "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -14567,6 +15650,12 @@ "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 + }, "userId": { "type": "string" } @@ -14611,6 +15700,12 @@ "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -14652,6 +15747,12 @@ "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -14710,6 +15811,12 @@ "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -14755,6 +15862,12 @@ "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -14796,6 +15909,12 @@ "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -14838,6 +15957,12 @@ "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 + }, "accountSid": { "type": "string" } @@ -14852,19 +15977,22 @@ "accountSid" ] }, - "GoogleCredential": { + "VonageCredential": { "type": "object", "properties": { + "vonageApplicationPrivateKey": { + "type": "string", + "description": "This is not returned in the API.", + "maxLength": 10000 + }, "provider": { "type": "string", - "description": "This is the key for Gemini in Google AI Studio. Get it from here: https://aistudio.google.com/app/apikey", "enum": [ - "google" + "vonage" ] }, - "apiKey": { + "apiSecret": { "type": "string", - "maxLength": 10000, "description": "This is not returned in the API." }, "id": { @@ -14884,15 +16012,32 @@ "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "vonageApplicationId": { + "type": "string", + "description": "This is the Vonage Application ID for the credential.\n\nOnly relevant for Vonage credentials.", + "maxLength": 10000 + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 + }, + "apiKey": { + "type": "string" } }, "required": [ + "vonageApplicationPrivateKey", "provider", - "apiKey", + "apiSecret", "id", "orgId", "createdAt", - "updatedAt" + "updatedAt", + "vonageApplicationId", + "apiKey" ] }, "XAiCredential": { @@ -14927,6 +16072,12 @@ "format": "date-time", "type": "string", "description": "This is the ISO 8601 date-time string of when the assistant was last updated." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -14938,60 +16089,29 @@ "updatedAt" ] }, - "VonageCredential": { + "CreateAnthropicCredentialDTO": { "type": "object", "properties": { - "vonageApplicationPrivateKey": { - "type": "string", - "description": "This is not returned in the API.", - "maxLength": 10000 - }, "provider": { "type": "string", "enum": [ - "vonage" + "anthropic" ] }, - "apiSecret": { + "apiKey": { "type": "string", + "maxLength": 10000, "description": "This is not returned in the API." }, - "id": { - "type": "string", - "description": "This is the unique identifier for the credential." - }, - "orgId": { - "type": "string", - "description": "This is the unique identifier for the org that this credential belongs to." - }, - "createdAt": { - "format": "date-time", - "type": "string", - "description": "This is the ISO 8601 date-time string of when the credential was created." - }, - "updatedAt": { - "format": "date-time", - "type": "string", - "description": "This is the ISO 8601 date-time string of when the assistant was last updated." - }, - "vonageApplicationId": { + "name": { "type": "string", - "description": "This is the Vonage Application ID for the credential.\n\nOnly relevant for Vonage credentials.", - "maxLength": 10000 - }, - "apiKey": { - "type": "string" + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ - "vonageApplicationPrivateKey", "provider", - "apiSecret", - "id", - "orgId", - "createdAt", - "updatedAt", - "vonageApplicationId", "apiKey" ] }, @@ -15008,6 +16128,12 @@ "type": "string", "maxLength": 10000, "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15015,19 +16141,24 @@ "apiKey" ] }, - "CreateAnthropicCredentialDTO": { + "CreateAssemblyAICredentialDTO": { "type": "object", "properties": { "provider": { "type": "string", "enum": [ - "anthropic" + "assembly-ai" ] }, "apiKey": { "type": "string", - "maxLength": 10000, "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15035,23 +16166,59 @@ "apiKey" ] }, - "CreateAssemblyAICredentialDTO": { + "CreateAzureCredentialDTO": { "type": "object", "properties": { "provider": { "type": "string", "enum": [ - "assembly-ai" + "azure" + ] + }, + "service": { + "type": "string", + "description": "This is the service being used in Azure.", + "enum": [ + "speech" + ] + }, + "region": { + "type": "string", + "description": "This is the region of the Azure resource.", + "enum": [ + "australia", + "canada", + "eastus2", + "eastus", + "france", + "india", + "japan", + "uaenorth", + "northcentralus", + "norway", + "southcentralus", + "sweden", + "switzerland", + "uk", + "westus", + "westus3" ] }, "apiKey": { "type": "string", - "description": "This is not returned in the API." + "description": "This is not returned in the API.", + "maxLength": 10000 + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ "provider", - "apiKey" + "service" ] }, "CreateAzureOpenAICredentialDTO": { @@ -15124,6 +16291,12 @@ "openAIEndpoint": { "type": "string", "maxLength": 10000 + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15151,12 +16324,6 @@ "$ref": "#/components/schemas/SipTrunkGateway" } }, - "name": { - "type": "string", - "description": "This is the name of the SIP trunk. This is just for your reference.", - "minLength": 1, - "maxLength": 40 - }, "outboundAuthenticationPlan": { "description": "This can be used to configure the outbound authentication if required by the SIP trunk.", "allOf": [ @@ -15186,6 +16353,12 @@ "$ref": "#/components/schemas/SbcConfiguration" } ] + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15204,6 +16377,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15224,6 +16403,12 @@ "type": "string", "maxLength": 10000, "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15247,6 +16432,12 @@ "apiUrl": { "type": "string", "description": "This can be used to point to an onprem Deepgram instance. Defaults to api.deepgram.com." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15254,20 +16445,65 @@ "apiKey" ] }, - "CreateGcpCredentialDTO": { + "CreateDeepInfraCredentialDTO": { "type": "object", "properties": { "provider": { "type": "string", "enum": [ - "gcp" + "deepinfra" + ] + }, + "apiKey": { + "type": "string", + "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 + } + }, + "required": [ + "provider", + "apiKey" + ] + }, + "CreateElevenLabsCredentialDTO": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": [ + "11labs" ] }, + "apiKey": { + "type": "string", + "maxLength": 10000, + "description": "This is not returned in the API." + }, "name": { "type": "string", - "description": "This is the name of the GCP credential. This is just for your reference.", + "description": "This is the name of credential. This is just for your reference.", "minLength": 1, "maxLength": 40 + } + }, + "required": [ + "provider", + "apiKey" + ] + }, + "CreateGcpCredentialDTO": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": [ + "gcp" + ] }, "gcpKey": { "description": "This is the GCP key. This is the JSON that can be generated in the Google Cloud Console at https://console.cloud.google.com/iam-admin/serviceaccounts/details//keys.\n\nThe schema is identical to the JSON that GCP outputs.", @@ -15284,6 +16520,12 @@ "$ref": "#/components/schemas/BucketPlan" } ] + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15303,6 +16545,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15310,18 +16558,24 @@ "apiKey" ] }, - "CreateDeepInfraCredentialDTO": { + "CreateGoHighLevelCredentialDTO": { "type": "object", "properties": { "provider": { "type": "string", "enum": [ - "deepinfra" + "gohighlevel" ] }, "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15329,38 +16583,26 @@ "apiKey" ] }, - "CreateElevenLabsCredentialDTO": { + "CreateGoogleCredentialDTO": { "type": "object", "properties": { "provider": { "type": "string", + "description": "This is the key for Gemini in Google AI Studio. Get it from here: https://aistudio.google.com/app/apikey", "enum": [ - "11labs" + "google" ] }, "apiKey": { "type": "string", "maxLength": 10000, "description": "This is not returned in the API." - } - }, - "required": [ - "provider", - "apiKey" - ] - }, - "CreateGoHighLevelCredentialDTO": { - "type": "object", - "properties": { - "provider": { - "type": "string", - "enum": [ - "gohighlevel" - ] }, - "apiKey": { + "name": { "type": "string", - "description": "This is not returned in the API." + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15380,6 +16622,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15407,6 +16655,12 @@ "apiUrl": { "type": "string", "description": "The host URL for Langfuse project. Eg: https://cloud.langfuse.com" + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15428,6 +16682,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15455,6 +16715,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15476,6 +16742,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15495,6 +16767,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15514,6 +16792,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15536,6 +16820,12 @@ }, "userId": { "type": "string" + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15556,6 +16846,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15575,6 +16871,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15611,6 +16913,12 @@ "s3PathPrefix": { "type": "string", "description": "The path prefix for the uploaded recording. Ex. \"recordings/\"" + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15634,6 +16942,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15653,6 +16967,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15675,6 +16995,12 @@ }, "accountSid": { "type": "string" + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15683,24 +17009,32 @@ "accountSid" ] }, - "CreateGoogleCredentialDTO": { + "CreateVonageCredentialDTO": { "type": "object", "properties": { "provider": { "type": "string", - "description": "This is the key for Gemini in Google AI Studio. Get it from here: https://aistudio.google.com/app/apikey", "enum": [ - "google" + "vonage" ] }, - "apiKey": { + "apiSecret": { "type": "string", - "maxLength": 10000, "description": "This is not returned in the API." + }, + "apiKey": { + "type": "string" + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ "provider", + "apiSecret", "apiKey" ] }, @@ -15718,6 +17052,12 @@ "type": "string", "maxLength": 10000, "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15725,26 +17065,29 @@ "apiKey" ] }, - "CreateVonageCredentialDTO": { + "UpdateAnthropicCredentialDTO": { "type": "object", "properties": { "provider": { "type": "string", "enum": [ - "vonage" + "anthropic" ] }, - "apiSecret": { + "apiKey": { "type": "string", + "maxLength": 10000, "description": "This is not returned in the API." }, - "apiKey": { - "type": "string" + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ "provider", - "apiSecret", "apiKey" ] }, @@ -15761,6 +17104,12 @@ "type": "string", "maxLength": 10000, "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15768,19 +17117,24 @@ "apiKey" ] }, - "UpdateAnthropicCredentialDTO": { + "UpdateAssemblyAICredentialDTO": { "type": "object", "properties": { "provider": { "type": "string", "enum": [ - "anthropic" + "assembly-ai" ] }, "apiKey": { "type": "string", - "maxLength": 10000, "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15788,23 +17142,59 @@ "apiKey" ] }, - "UpdateAssemblyAICredentialDTO": { + "UpdateAzureCredentialDTO": { "type": "object", "properties": { "provider": { "type": "string", "enum": [ - "assembly-ai" + "azure" + ] + }, + "service": { + "type": "string", + "description": "This is the service being used in Azure.", + "enum": [ + "speech" + ] + }, + "region": { + "type": "string", + "description": "This is the region of the Azure resource.", + "enum": [ + "australia", + "canada", + "eastus2", + "eastus", + "france", + "india", + "japan", + "uaenorth", + "northcentralus", + "norway", + "southcentralus", + "sweden", + "switzerland", + "uk", + "westus", + "westus3" ] }, "apiKey": { "type": "string", - "description": "This is not returned in the API." + "description": "This is not returned in the API.", + "maxLength": 10000 + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ "provider", - "apiKey" + "service" ] }, "UpdateAzureOpenAICredentialDTO": { @@ -15877,6 +17267,12 @@ "openAIEndpoint": { "type": "string", "maxLength": 10000 + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15904,12 +17300,6 @@ "$ref": "#/components/schemas/SipTrunkGateway" } }, - "name": { - "type": "string", - "description": "This is the name of the SIP trunk. This is just for your reference.", - "minLength": 1, - "maxLength": 40 - }, "outboundAuthenticationPlan": { "description": "This can be used to configure the outbound authentication if required by the SIP trunk.", "allOf": [ @@ -15939,6 +17329,12 @@ "$ref": "#/components/schemas/SbcConfiguration" } ] + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15957,6 +17353,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15977,6 +17379,12 @@ "type": "string", "maxLength": 10000, "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -15984,18 +17392,28 @@ "apiKey" ] }, - "UpdateDeepInfraCredentialDTO": { + "UpdateDeepgramCredentialDTO": { "type": "object", "properties": { "provider": { "type": "string", "enum": [ - "deepinfra" + "deepgram" ] }, "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "apiUrl": { + "type": "string", + "description": "This can be used to point to an onprem Deepgram instance. Defaults to api.deepgram.com." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -16003,22 +17421,24 @@ "apiKey" ] }, - "UpdateDeepgramCredentialDTO": { + "UpdateDeepInfraCredentialDTO": { "type": "object", "properties": { "provider": { "type": "string", "enum": [ - "deepgram" + "deepinfra" ] }, "apiKey": { "type": "string", "description": "This is not returned in the API." }, - "apiUrl": { + "name": { "type": "string", - "description": "This can be used to point to an onprem Deepgram instance. Defaults to api.deepgram.com." + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -16026,20 +17446,40 @@ "apiKey" ] }, - "UpdateGcpCredentialDTO": { + "UpdateElevenLabsCredentialDTO": { "type": "object", "properties": { "provider": { "type": "string", "enum": [ - "gcp" + "11labs" ] }, + "apiKey": { + "type": "string", + "maxLength": 10000, + "description": "This is not returned in the API." + }, "name": { "type": "string", - "description": "This is the name of the GCP credential. This is just for your reference.", + "description": "This is the name of credential. This is just for your reference.", "minLength": 1, "maxLength": 40 + } + }, + "required": [ + "provider", + "apiKey" + ] + }, + "UpdateGcpCredentialDTO": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": [ + "gcp" + ] }, "gcpKey": { "description": "This is the GCP key. This is the JSON that can be generated in the Google Cloud Console at https://console.cloud.google.com/iam-admin/serviceaccounts/details//keys.\n\nThe schema is identical to the JSON that GCP outputs.", @@ -16056,6 +17496,12 @@ "$ref": "#/components/schemas/BucketPlan" } ] + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -16075,6 +17521,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -16082,19 +17534,24 @@ "apiKey" ] }, - "UpdateElevenLabsCredentialDTO": { + "UpdateGoHighLevelCredentialDTO": { "type": "object", "properties": { "provider": { "type": "string", "enum": [ - "11labs" + "gohighlevel" ] }, "apiKey": { "type": "string", - "maxLength": 10000, "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -16102,18 +17559,26 @@ "apiKey" ] }, - "UpdateGoHighLevelCredentialDTO": { + "UpdateGoogleCredentialDTO": { "type": "object", "properties": { "provider": { "type": "string", + "description": "This is the key for Gemini in Google AI Studio. Get it from here: https://aistudio.google.com/app/apikey", "enum": [ - "gohighlevel" + "google" ] }, "apiKey": { "type": "string", + "maxLength": 10000, "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -16133,6 +17598,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -16160,6 +17631,12 @@ "apiUrl": { "type": "string", "description": "The host URL for Langfuse project. Eg: https://cloud.langfuse.com" + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -16181,6 +17658,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -16208,6 +17691,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -16229,6 +17718,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -16248,6 +17743,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -16267,6 +17768,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -16289,6 +17796,12 @@ }, "userId": { "type": "string" + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -16309,6 +17822,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -16328,6 +17847,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -16364,6 +17889,12 @@ "s3PathPrefix": { "type": "string", "description": "The path prefix for the uploaded recording. Ex. \"recordings/\"" + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -16387,6 +17918,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -16406,6 +17943,12 @@ "apiKey": { "type": "string", "description": "This is not returned in the API." + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -16428,6 +17971,12 @@ }, "accountSid": { "type": "string" + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ @@ -16436,24 +17985,32 @@ "accountSid" ] }, - "UpdateGoogleCredentialDTO": { + "UpdateVonageCredentialDTO": { "type": "object", "properties": { "provider": { "type": "string", - "description": "This is the key for Gemini in Google AI Studio. Get it from here: https://aistudio.google.com/app/apikey", "enum": [ - "google" + "vonage" ] }, - "apiKey": { + "apiSecret": { "type": "string", - "maxLength": 10000, "description": "This is not returned in the API." + }, + "apiKey": { + "type": "string" + }, + "name": { + "type": "string", + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ "provider", + "apiSecret", "apiKey" ] }, @@ -16471,33 +18028,16 @@ "type": "string", "maxLength": 10000, "description": "This is not returned in the API." - } - }, - "required": [ - "provider", - "apiKey" - ] - }, - "UpdateVonageCredentialDTO": { - "type": "object", - "properties": { - "provider": { - "type": "string", - "enum": [ - "vonage" - ] }, - "apiSecret": { + "name": { "type": "string", - "description": "This is not returned in the API." - }, - "apiKey": { - "type": "string" + "description": "This is the name of credential. This is just for your reference.", + "minLength": 1, + "maxLength": 40 } }, "required": [ "provider", - "apiSecret", "apiKey" ] },