From df2b91f263161a1d72bfe84c19ccd077af2a0551 Mon Sep 17 00:00:00 2001 From: github-actions Date: Fri, 30 Oct 2026 00:29:22 +0000 Subject: [PATCH 1/6] Update API specifications with fern api update --- fern/apis/api/openapi.json | 285 ++----------------------------------- 1 file changed, 12 insertions(+), 273 deletions(-) diff --git a/fern/apis/api/openapi.json b/fern/apis/api/openapi.json index 32b2f5cc6..b2f40b284 100644 --- a/fern/apis/api/openapi.json +++ b/fern/apis/api/openapi.json @@ -12130,6 +12130,12 @@ "maximum": 1, "example": 0.4 }, + "feedbackFilterEnabled": { + "type": "boolean", + "description": "Controls whether Vapi filters user transcripts that repeat text from the\nassistant's recent transcript. Disable this only when legitimate caller\nresponses are being mistaken for assistant audio feedback.\n\n@default true", + "example": true, + "default": true + }, "eotThreshold": { "type": "number", "description": "End-of-turn confidence required to finish a turn. Only used with Flux models.\n\n@default 0.7", @@ -15291,6 +15297,12 @@ "maximum": 1, "example": 0.4 }, + "feedbackFilterEnabled": { + "type": "boolean", + "description": "Controls whether Vapi filters user transcripts that repeat text from the\nassistant's recent transcript. Disable this only when legitimate caller\nresponses are being mistaken for assistant audio feedback.\n\n@default true", + "example": true, + "default": true + }, "eotThreshold": { "type": "number", "description": "End-of-turn confidence required to finish a turn. Only used with Flux models.\n\n@default 0.7", @@ -18740,10 +18752,6 @@ "$ref": "#/components/schemas/SmallestAIVoice", "title": "SmallestAIVoice" }, - { - "$ref": "#/components/schemas/TavusVoice", - "title": "TavusVoice" - }, { "$ref": "#/components/schemas/VapiVoice", "title": "VapiVoice" @@ -19484,10 +19492,6 @@ "$ref": "#/components/schemas/SmallestAIVoice", "title": "SmallestAIVoice" }, - { - "$ref": "#/components/schemas/TavusVoice", - "title": "TavusVoice" - }, { "$ref": "#/components/schemas/VapiVoice", "title": "VapiVoice" @@ -19613,10 +19617,6 @@ "$ref": "#/components/schemas/SmallestAIVoice", "title": "SmallestAIVoice" }, - { - "$ref": "#/components/schemas/TavusVoice", - "title": "TavusVoice" - }, { "$ref": "#/components/schemas/VapiVoice", "title": "VapiVoice" @@ -20753,10 +20753,6 @@ "$ref": "#/components/schemas/SmallestAIVoice", "title": "SmallestAIVoice" }, - { - "$ref": "#/components/schemas/TavusVoice", - "title": "TavusVoice" - }, { "$ref": "#/components/schemas/VapiVoice", "title": "VapiVoice" @@ -21647,10 +21643,6 @@ "$ref": "#/components/schemas/SmallestAIVoice", "title": "SmallestAIVoice" }, - { - "$ref": "#/components/schemas/TavusVoice", - "title": "TavusVoice" - }, { "$ref": "#/components/schemas/VapiVoice", "title": "VapiVoice" @@ -27488,10 +27480,6 @@ "$ref": "#/components/schemas/SmallestAIVoice", "title": "SmallestAIVoice" }, - { - "$ref": "#/components/schemas/TavusVoice", - "title": "TavusVoice" - }, { "$ref": "#/components/schemas/VapiVoice", "title": "VapiVoice" @@ -28810,10 +28798,6 @@ "$ref": "#/components/schemas/SmallestAIVoice", "title": "SmallestAIVoice" }, - { - "$ref": "#/components/schemas/TavusVoice", - "title": "TavusVoice" - }, { "$ref": "#/components/schemas/VapiVoice", "title": "VapiVoice" @@ -29983,10 +29967,6 @@ "$ref": "#/components/schemas/FallbackSmallestAIVoice", "title": "Smallest AI" }, - { - "$ref": "#/components/schemas/FallbackTavusVoice", - "title": "TavusVoice" - }, { "$ref": "#/components/schemas/FallbackNeuphonicVoice", "title": "Neuphonic" @@ -31979,133 +31959,6 @@ "voiceId" ] }, - "TavusConversationProperties": { - "type": "object", - "properties": { - "maxCallDuration": { - "type": "number", - "description": "The maximum duration of the call in seconds. The default `maxCallDuration` is 3600 seconds (1 hour).\nOnce the time limit specified by this parameter has been reached, the conversation will automatically shut down." - }, - "participantLeftTimeout": { - "type": "number", - "description": "The duration in seconds after which the call will be automatically shut down once the last participant leaves." - }, - "participantAbsentTimeout": { - "type": "number", - "description": "Starting from conversation creation, the duration in seconds after which the call will be automatically shut down if no participant joins the call.\nDefault is 300 seconds (5 minutes)." - }, - "enableRecording": { - "type": "boolean", - "description": "If true, the user will be able to record the conversation." - }, - "enableTranscription": { - "type": "boolean", - "description": "If true, the user will be able to transcribe the conversation.\nYou can find more instructions on displaying transcriptions if you are using your custom DailyJS components here.\nYou need to have an event listener on Daily that listens for `app-messages`." - }, - "applyGreenscreen": { - "type": "boolean", - "description": "If true, the background will be replaced with a greenscreen (RGB values: `[0, 255, 155]`).\nYou can use WebGL on the frontend to make the greenscreen transparent or change its color." - }, - "language": { - "type": "string", - "description": "The language of the conversation. Please provide the **full language name**, not the two-letter code.\nIf you are using your own TTS voice, please ensure it supports the language you provide.\nIf you are using a stock replica or default persona, please note that only ElevenLabs and Cartesia supported languages are available.\nYou can find a full list of supported languages for Cartesia here, for ElevenLabs here, and for PlayHT here." - }, - "recordingS3BucketName": { - "type": "string", - "description": "The name of the S3 bucket where the recording will be stored." - }, - "recordingS3BucketRegion": { - "type": "string", - "description": "The region of the S3 bucket where the recording will be stored." - }, - "awsAssumeRoleArn": { - "type": "string", - "description": "The ARN of the role that will be assumed to access the S3 bucket." - } - } - }, - "TavusVoice": { - "type": "object", - "properties": { - "cachingEnabled": { - "type": "boolean", - "description": "This is the flag to toggle voice caching for the assistant.", - "example": true, - "default": true - }, - "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" - } - ] - }, - "chunkPlan": { - "description": "This is the plan for chunking the model output before it is sent to the voice provider.", - "allOf": [ - { - "$ref": "#/components/schemas/ChunkPlan" - } - ] - }, - "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" - } - ] - }, - "fallbackPlan": { - "description": "This is the plan for voice provider fallbacks in the event that the primary voice provider fails.", - "allOf": [ - { - "$ref": "#/components/schemas/FallbackPlan" - } - ] - } - }, - "required": [ - "provider", - "voiceId" - ] - }, "VapiPronunciationDictionaryLocator": { "type": "object", "properties": { @@ -34706,80 +34559,6 @@ "voiceId" ] }, - "FallbackTavusVoice": { - "type": "object", - "properties": { - "cachingEnabled": { - "type": "boolean", - "description": "This is the flag to toggle voice caching for the assistant.", - "example": true, - "default": true - }, - "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" - ] - }, "FallbackVapiVoice": { "type": "object", "properties": { @@ -37411,10 +37190,6 @@ "$ref": "#/components/schemas/SmallestAIVoice", "title": "SmallestAIVoice" }, - { - "$ref": "#/components/schemas/TavusVoice", - "title": "TavusVoice" - }, { "$ref": "#/components/schemas/VapiVoice", "title": "VapiVoice" @@ -38357,10 +38132,6 @@ "$ref": "#/components/schemas/SmallestAIVoice", "title": "SmallestAIVoice" }, - { - "$ref": "#/components/schemas/TavusVoice", - "title": "TavusVoice" - }, { "$ref": "#/components/schemas/VapiVoice", "title": "VapiVoice" @@ -39399,10 +39170,6 @@ "$ref": "#/components/schemas/SmallestAIVoice", "title": "SmallestAIVoice" }, - { - "$ref": "#/components/schemas/TavusVoice", - "title": "TavusVoice" - }, { "$ref": "#/components/schemas/VapiVoice", "title": "VapiVoice" @@ -40423,10 +40190,6 @@ "$ref": "#/components/schemas/SmallestAIVoice", "title": "SmallestAIVoice" }, - { - "$ref": "#/components/schemas/TavusVoice", - "title": "TavusVoice" - }, { "$ref": "#/components/schemas/VapiVoice", "title": "VapiVoice" @@ -41448,10 +41211,6 @@ "$ref": "#/components/schemas/SmallestAIVoice", "title": "SmallestAIVoice" }, - { - "$ref": "#/components/schemas/TavusVoice", - "title": "TavusVoice" - }, { "$ref": "#/components/schemas/VapiVoice", "title": "VapiVoice" @@ -42366,10 +42125,6 @@ "$ref": "#/components/schemas/SmallestAIVoice", "title": "SmallestAIVoice" }, - { - "$ref": "#/components/schemas/TavusVoice", - "title": "TavusVoice" - }, { "$ref": "#/components/schemas/VapiVoice", "title": "VapiVoice" @@ -43260,10 +43015,6 @@ "$ref": "#/components/schemas/SmallestAIVoice", "title": "SmallestAIVoice" }, - { - "$ref": "#/components/schemas/TavusVoice", - "title": "TavusVoice" - }, { "$ref": "#/components/schemas/VapiVoice", "title": "VapiVoice" @@ -44341,10 +44092,6 @@ "$ref": "#/components/schemas/SmallestAIVoice", "title": "SmallestAIVoice" }, - { - "$ref": "#/components/schemas/TavusVoice", - "title": "TavusVoice" - }, { "$ref": "#/components/schemas/VapiVoice", "title": "VapiVoice" @@ -45045,10 +44792,6 @@ "$ref": "#/components/schemas/SmallestAIVoice", "title": "SmallestAIVoice" }, - { - "$ref": "#/components/schemas/TavusVoice", - "title": "TavusVoice" - }, { "$ref": "#/components/schemas/VapiVoice", "title": "VapiVoice" @@ -45731,10 +45474,6 @@ "$ref": "#/components/schemas/SmallestAIVoice", "title": "SmallestAIVoice" }, - { - "$ref": "#/components/schemas/TavusVoice", - "title": "TavusVoice" - }, { "$ref": "#/components/schemas/VapiVoice", "title": "VapiVoice" From c3b2fe8b7f0e41de0d11ac3827c2c61f9fc466bb Mon Sep 17 00:00:00 2001 From: github-actions Date: Sat, 31 Oct 2026 00:23:52 +0000 Subject: [PATCH 2/6] Update API specifications with fern api update --- fern/apis/api/openapi.json | 39 +++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/fern/apis/api/openapi.json b/fern/apis/api/openapi.json index b2f40b284..336643639 100644 --- a/fern/apis/api/openapi.json +++ b/fern/apis/api/openapi.json @@ -46817,7 +46817,7 @@ }, "callToken": { "type": "string", - "description": "This is the meeting token the web client should join the call with.\nWhen video recording is enabled, joining with this token starts the cloud\nrecording automatically server-side, which is more reliable than the\nclient starting it after joining. Set by the server; only present when\nvideo recording is enabled." + "description": "This is the meeting token the web client should join the call with.\nWhen video recording is enabled, joining with this token starts the cloud\nrecording automatically server-side, which is more reliable than the\nclient starting it after joining. Set by the server; only present when\nvideo recording is enabled.\n\nWith `videoRecordingStartMode: 'server'`, joining with the token doesn't\nstart the recording: Vapi starts it once the user joins, and the client\nmust not start it either." }, "callUrl": { "type": "string", @@ -47928,6 +47928,11 @@ "type": "string", "description": "This is the explanation for how the call ended.", "enum": [ + "call.in-progress.error-vapifault-guardrail-evaluation-failed", + "call.in-progress.error-vapifault-guardrail-playback-timeout", + "call.in-progress.guardrail-blocked", + "call.in-progress.error-vapifault-call-start-failed", + "call.in-progress.error-vapifault-assistant-handoff-start-failed", "call-start-error-neither-assistant-nor-server-set", "assistant-request-failed", "assistant-request-returned-error", @@ -47955,6 +47960,10 @@ "call.start.assistant-version-error-validation", "call.start.squad-version-error-validation", "assistant-not-valid", + "call.in-progress.error-vapifault-guardrail-evaluation-failed", + "call.in-progress.error-vapifault-guardrail-playback-timeout", + "call.in-progress.error-vapifault-call-start-failed", + "call.in-progress.error-vapifault-assistant-handoff-start-failed", "call.start.error-vapifault-database-error", "assistant-not-found", "pipeline-error-openai-voice-failed", @@ -49636,6 +49645,16 @@ "type": "boolean", "default": true }, + "videoRecordingStartMode": { + "type": "string", + "description": "This determines who starts the video recording. Only applies when video\nrecording is enabled (`artifactPlan.videoRecordingEnabled`).\n\n- `client`: the web client starts the recording when it joins.\n- `server`: Vapi starts the recording once when the user first joins, so a\n weak client connection can't stop it from starting. The returned\n `transport.callToken` doesn't start the recording, and the client should\n not start it either. If Vapi can't set up the server-side start, no token\n is returned. If the start itself fails, the client is told during the\n call.\n\nDefaults to `client`.", + "example": "server", + "enum": [ + "client", + "server" + ], + "default": "client" + }, "assistantId": { "type": "string", "description": "This is the assistant ID that will be used for the call. To use a transient assistant, use `assistant` instead.\n\nTo start a call with:\n- Assistant, use `assistantId` or `assistant`\n- Squad, use `squadId` or `squad`\n- Workflow, use `workflowId` or `workflow`" @@ -79955,6 +79974,11 @@ "type": "string", "description": "This is the reason the call ended. This can also be found at `call.endedReason` on GET /call/:id.", "enum": [ + "call.in-progress.error-vapifault-guardrail-evaluation-failed", + "call.in-progress.error-vapifault-guardrail-playback-timeout", + "call.in-progress.guardrail-blocked", + "call.in-progress.error-vapifault-call-start-failed", + "call.in-progress.error-vapifault-assistant-handoff-start-failed", "call-start-error-neither-assistant-nor-server-set", "assistant-request-failed", "assistant-request-returned-error", @@ -79982,6 +80006,10 @@ "call.start.assistant-version-error-validation", "call.start.squad-version-error-validation", "assistant-not-valid", + "call.in-progress.error-vapifault-guardrail-evaluation-failed", + "call.in-progress.error-vapifault-guardrail-playback-timeout", + "call.in-progress.error-vapifault-call-start-failed", + "call.in-progress.error-vapifault-assistant-handoff-start-failed", "call.start.error-vapifault-database-error", "assistant-not-found", "pipeline-error-openai-voice-failed", @@ -81416,6 +81444,11 @@ "type": "string", "description": "This is the reason the call ended. This is only sent if the status is \"ended\".", "enum": [ + "call.in-progress.error-vapifault-guardrail-evaluation-failed", + "call.in-progress.error-vapifault-guardrail-playback-timeout", + "call.in-progress.guardrail-blocked", + "call.in-progress.error-vapifault-call-start-failed", + "call.in-progress.error-vapifault-assistant-handoff-start-failed", "call-start-error-neither-assistant-nor-server-set", "assistant-request-failed", "assistant-request-returned-error", @@ -81443,6 +81476,10 @@ "call.start.assistant-version-error-validation", "call.start.squad-version-error-validation", "assistant-not-valid", + "call.in-progress.error-vapifault-guardrail-evaluation-failed", + "call.in-progress.error-vapifault-guardrail-playback-timeout", + "call.in-progress.error-vapifault-call-start-failed", + "call.in-progress.error-vapifault-assistant-handoff-start-failed", "call.start.error-vapifault-database-error", "assistant-not-found", "pipeline-error-openai-voice-failed", From e89f28696c199601e2a7694a587dfe722750594e Mon Sep 17 00:00:00 2001 From: github-actions Date: Tue, 3 Nov 2026 00:24:01 +0000 Subject: [PATCH 3/6] Update API specifications with fern api update --- fern/apis/api/openapi.json | 589 ++++++++++++++++++++++++++++++++++++- 1 file changed, 587 insertions(+), 2 deletions(-) diff --git a/fern/apis/api/openapi.json b/fern/apis/api/openapi.json index 336643639..693502012 100644 --- a/fern/apis/api/openapi.json +++ b/fern/apis/api/openapi.json @@ -61280,6 +61280,579 @@ "toolId" ] }, + "CallHealthDashboardApiErrorDTO": { + "type": "object", + "properties": { + "code": { + "type": "string", + "minLength": 1 + }, + "message": { + "type": "string", + "minLength": 1 + }, + "requestId": { + "type": "string", + "minLength": 1 + }, + "retryable": { + "type": "boolean" + } + }, + "required": [ + "code", + "message", + "requestId", + "retryable" + ] + }, + "CallHealthDashboardAssistantReferenceDTO": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "name": { + "type": "string", + "minLength": 1 + }, + "latestVersion": { + "type": "string", + "description": "Current assistant.latest_version label; omitted when unavailable, never a goal revision.", + "minLength": 1 + } + }, + "required": [ + "id" + ] + }, + "CallHealthDashboardIssueDailyDTO": { + "type": "object", + "properties": { + "date": { + "type": "string", + "description": "UTC calendar date, with boundary buckets clipped to the requested window.", + "format": "date" + }, + "affectedCallCount": { + "type": "integer", + "description": "Distinct visible calls matching this issue in the bucket.", + "minimum": 0, + "maximum": 9007199254740991 + }, + "analyzedCallCount": { + "type": "integer", + "description": "All accepted current-goal outcomes for the issue's assistant in the bucket.", + "minimum": 0, + "maximum": 9007199254740991 + }, + "affectedCallRate": { + "type": "number", + "description": "affectedCallCount / analyzedCallCount; omitted for a zero denominator.", + "minimum": 0, + "maximum": 1 + } + }, + "required": [ + "date", + "affectedCallCount", + "analyzedCallCount" + ] + }, + "CallHealthDashboardIssueCoverageDTO": { + "type": "object", + "properties": { + "state": { + "type": "string", + "enum": [ + "complete", + "partial", + "sweeping", + "blocked" + ] + }, + "asOf": { + "type": "string", + "format": "date-time", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.(\\d{1,6}))?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)$" + } + }, + "required": [ + "state", + "asOf" + ] + }, + "CallHealthDashboardIssueSummaryDTO": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "name": { + "type": "string", + "minLength": 1 + }, + "status": { + "type": "string", + "enum": [ + "active", + "resolved", + "dismissed" + ] + }, + "rowVersion": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "goalId": { + "type": "string", + "description": "Owning goal identity; issue-ID routes derive this selection from the issue.", + "format": "uuid" + }, + "summary": { + "type": "string", + "minLength": 1 + }, + "assistant": { + "$ref": "#/components/schemas/CallHealthDashboardAssistantReferenceDTO" + }, + "affectedCallCount": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "analyzedCallCount": { + "type": "integer", + "description": "Same assistant/current-goal/window denominator used by the goal reads.", + "minimum": 0, + "maximum": 9007199254740991 + }, + "affectedCallRate": { + "type": "number", + "description": "Distinct calls matching this issue / analyzedCallCount; absent at zero.", + "minimum": 0, + "maximum": 1 + }, + "dailySeries": { + "description": "One ascending contiguous page of UTC buckets; memberships across issues are not unique calls.", + "minItems": 1, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/CallHealthDashboardIssueDailyDTO" + } + }, + "lastSeenAt": { + "type": "string", + "format": "date-time", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.(\\d{1,6}))?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)$" + }, + "coverage": { + "$ref": "#/components/schemas/CallHealthDashboardIssueCoverageDTO" + } + }, + "required": [ + "id", + "name", + "status", + "rowVersion", + "goalId", + "summary", + "assistant", + "affectedCallCount", + "analyzedCallCount", + "dailySeries", + "coverage" + ] + }, + "CallHealthDashboardWindowDTO": { + "type": "object", + "properties": { + "callTimeGte": { + "type": "string", + "format": "date-time", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.(\\d{1,6}))?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)$" + }, + "callTimeLt": { + "type": "string", + "format": "date-time", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.(\\d{1,6}))?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)$" + } + }, + "required": [ + "callTimeGte", + "callTimeLt" + ] + }, + "CallHealthDashboardSeriesPageDTO": { + "type": "object", + "properties": { + "window": { + "description": "Full resolved completion window used by every total, rate and coverage count.", + "allOf": [ + { + "$ref": "#/components/schemas/CallHealthDashboardWindowDTO" + } + ] + }, + "pageWindow": { + "description": "Clipped completion window represented by this page's daily buckets.", + "allOf": [ + { + "$ref": "#/components/schemas/CallHealthDashboardWindowDTO" + } + ] + }, + "nextCursor": { + "type": "string", + "description": "Continue chart dates only; independent of the issue-row nextCursor.", + "minLength": 1, + "maxLength": 2048, + "pattern": "^[A-Za-z0-9_-]+$" + } + }, + "required": [ + "window", + "pageWindow" + ] + }, + "CallHealthDashboardFacetsDTO": { + "type": "object", + "properties": { + "statuses": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "active", + "resolved", + "dismissed" + ] + } + } + }, + "required": [ + "statuses" + ] + }, + "CallHealthDashboardIntakeCoverageDTO": { + "type": "object", + "properties": { + "deliveryMode": { + "type": "string", + "enum": [ + "bestEffort" + ] + }, + "endToEndCoverage": { + "type": "string", + "enum": [ + "unknown" + ] + } + }, + "required": [ + "deliveryMode", + "endToEndCoverage" + ] + }, + "CallHealthDashboardGoalGapsDTO": { + "type": "object", + "properties": { + "pending": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "unavailable": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "skipped": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "error": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "excluded": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + } + }, + "required": [ + "pending", + "unavailable", + "skipped", + "error", + "excluded" + ] + }, + "CallHealthDashboardClassificationCoverageDTO": { + "type": "object", + "properties": { + "pending": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "unavailable": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "skipped": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "error": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "excluded": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "complete": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "partial": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + } + }, + "required": [ + "pending", + "unavailable", + "skipped", + "error", + "excluded", + "complete", + "partial" + ] + }, + "CallHealthDashboardAssignmentCoverageDTO": { + "type": "object", + "properties": { + "pending": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "unmatched": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "skipped": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "unavailable": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "error": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "coverageGapCount": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + } + }, + "required": [ + "pending", + "unmatched", + "skipped", + "unavailable", + "error", + "coverageGapCount" + ] + }, + "CallHealthDashboardDiscoveryCoverageDTO": { + "type": "object", + "properties": { + "pendingIssueCategoryCount": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "blockedIssueCategoryCount": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + } + }, + "required": [ + "pendingIssueCategoryCount", + "blockedIssueCategoryCount" + ] + }, + "CallHealthDashboardSweepCoverageDTO": { + "type": "object", + "properties": { + "state": { + "type": "string", + "enum": [ + "idle", + "enumerating", + "processing", + "deduplicating", + "blocked" + ] + } + }, + "required": [ + "state" + ] + }, + "CallHealthDashboardCoverageDTO": { + "type": "object", + "properties": { + "asOf": { + "type": "string", + "format": "date-time", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.(\\d{1,6}))?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)$" + }, + "intake": { + "$ref": "#/components/schemas/CallHealthDashboardIntakeCoverageDTO" + }, + "goal": { + "$ref": "#/components/schemas/CallHealthDashboardGoalGapsDTO" + }, + "classification": { + "$ref": "#/components/schemas/CallHealthDashboardClassificationCoverageDTO" + }, + "assignment": { + "$ref": "#/components/schemas/CallHealthDashboardAssignmentCoverageDTO" + }, + "discovery": { + "$ref": "#/components/schemas/CallHealthDashboardDiscoveryCoverageDTO" + }, + "sweep": { + "$ref": "#/components/schemas/CallHealthDashboardSweepCoverageDTO" + }, + "countsComplete": { + "type": "boolean", + "description": "Completeness of received authorized work only; never source delivery coverage." + } + }, + "required": [ + "asOf", + "intake", + "goal", + "classification", + "assignment", + "discovery", + "sweep", + "countsComplete" + ] + }, + "CallHealthDashboardIssueListResponseDTO": { + "type": "object", + "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CallHealthDashboardIssueSummaryDTO" + } + }, + "seriesPage": { + "description": "Every row's dailySeries represents this same date page.", + "allOf": [ + { + "$ref": "#/components/schemas/CallHealthDashboardSeriesPageDTO" + } + ] + }, + "facets": { + "$ref": "#/components/schemas/CallHealthDashboardFacetsDTO" + }, + "nextCursor": { + "type": "string", + "minLength": 1, + "maxLength": 2048, + "pattern": "^[A-Za-z0-9_-]+$" + }, + "coverage": { + "$ref": "#/components/schemas/CallHealthDashboardCoverageDTO" + } + }, + "required": [ + "results", + "seriesPage", + "facets", + "coverage" + ] + }, + "CallHealthDashboardIssueDefinitionDTO": { + "type": "object", + "properties": { + "applicability": { + "type": "string", + "nullable": true, + "minLength": 1 + }, + "problem": { + "type": "string", + "nullable": true, + "minLength": 1 + }, + "createdTaxonomyVersion": { + "type": "integer", + "nullable": true, + "minimum": 1, + "maximum": 9007199254740991 + } + }, + "required": [ + "applicability", + "problem", + "createdTaxonomyVersion" + ] + }, + "CallHealthDashboardIssueDetailResponseDTO": { + "type": "object", + "properties": { + "issue": { + "$ref": "#/components/schemas/CallHealthDashboardIssueSummaryDTO" + }, + "seriesPage": { + "$ref": "#/components/schemas/CallHealthDashboardSeriesPageDTO" + }, + "definition": { + "$ref": "#/components/schemas/CallHealthDashboardIssueDefinitionDTO" + }, + "coverage": { + "$ref": "#/components/schemas/CallHealthDashboardCoverageDTO" + } + }, + "required": [ + "issue", + "seriesPage", + "definition", + "coverage" + ] + }, "StructuredOutputRunResult": { "type": "object", "properties": { @@ -68479,8 +69052,20 @@ "claude-haiku-5-5" ] }, + "reasoningEffort": { + "type": "string", + "description": "Reasoning effort for the judge on claude-haiku-5-5. `none` turns thinking\noff. `low` to `max` let the judge think before it submits its verdict.\nUnset means `none`. Rejected for every other model.", + "enum": [ + "none", + "low", + "medium", + "high", + "xhigh", + "max" + ] + }, "thinking": { - "description": "This is the optional configuration for Anthropic's thinking feature.\n\n- If provided, `maxTokens` must be greater than `thinking.budgetTokens`.", + "description": "This is the optional configuration for Anthropic's thinking feature.\nclaude-haiku-5-5 uses `reasoningEffort` instead.\n\n- If provided, `maxTokens` must be greater than `thinking.budgetTokens`.", "allOf": [ { "$ref": "#/components/schemas/AnthropicThinkingConfig" @@ -69539,7 +70124,7 @@ "enum": [ "goal_met", "goal_not_met", - "ineligible" + "not_applicable" ], "description": "Absent until a semantic result is accepted. Processing failures are never goal_not_met." } From 5ddfa827ee8a11546bd08da403aa92fc8890dd91 Mon Sep 17 00:00:00 2001 From: github-actions Date: Wed, 4 Nov 2026 00:24:14 +0000 Subject: [PATCH 4/6] Update API specifications with fern api update --- fern/apis/api/openapi.json | 1488 ++++++++++++++++++++++++++++-------- 1 file changed, 1161 insertions(+), 327 deletions(-) diff --git a/fern/apis/api/openapi.json b/fern/apis/api/openapi.json index 693502012..2d8be97e6 100644 --- a/fern/apis/api/openapi.json +++ b/fern/apis/api/openapi.json @@ -11209,6 +11209,10 @@ { "$ref": "#/components/schemas/FallbackXaiTranscriber", "title": "xAI" + }, + { + "$ref": "#/components/schemas/FallbackReson8Transcriber", + "title": "Reson8" } ] } @@ -13896,6 +13900,73 @@ "provider" ] }, + "Reson8Transcriber": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": [ + "reson8" + ] + }, + "model": { + "type": "string", + "description": "The Reson8 speech-to-text endpoint to use. `turns` is Reson8's turn-detection endpoint.", + "enum": [ + "turns" + ] + }, + "language": { + "type": "string", + "description": "Language for transcription (e.g. `nl`), or a comma-separated candidate list such as `nl,en` which constrains auto-detection. When omitted, Reson8 auto-detects the language per utterance. Supported: de, en, es, fr, fy, it, nl, pl, pt, sv.", + "pattern": "^(de|en|es|fr|fy|it|nl|pl|pt|sv)(,(de|en|es|fr|fy|it|nl|pl|pt|sv))*$" + }, + "keyterms": { + "description": "Domain-specific terms to boost recognition (brand names, product codes, jargon). Sent to Reson8 as the `phrases` parameter. Max 250 phrases.", + "type": "array", + "items": { + "type": "string", + "maxLength": 255 + } + }, + "customModelId": { + "type": "string", + "description": "A stored Reson8 phrase collection (custom model) id, managed via the Reson8 API or console." + }, + "eagerTurnProbability": { + "type": "number", + "description": "Threshold (0-1) at which Reson8 emits an eager turn-end candidate. Provider default 0.5.", + "minimum": 0, + "maximum": 1 + }, + "finalTurnProbability": { + "type": "number", + "description": "Threshold (0-1) at which Reson8 confirms the end of a turn. Provider default 0.92.", + "minimum": 0, + "maximum": 1 + }, + "fillerMode": { + "type": "string", + "description": "How Reson8 renders filler words in transcripts. Provider default `natural`.", + "enum": [ + "clean", + "natural", + "verbatim" + ] + }, + "fallbackPlan": { + "description": "This is the plan for transcriber provider fallbacks in the event that the primary transcriber provider fails.", + "allOf": [ + { + "$ref": "#/components/schemas/FallbackTranscriberPlan" + } + ] + } + }, + "required": [ + "provider" + ] + }, "VapiTranscriber": { "type": "object", "properties": { @@ -16946,6 +17017,65 @@ "provider" ] }, + "FallbackReson8Transcriber": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": [ + "reson8" + ] + }, + "model": { + "type": "string", + "description": "The Reson8 speech-to-text endpoint to use. `turns` is Reson8's turn-detection endpoint.", + "enum": [ + "turns" + ] + }, + "language": { + "type": "string", + "description": "Language for transcription (e.g. `nl`), or a comma-separated candidate list such as `nl,en` which constrains auto-detection. When omitted, Reson8 auto-detects the language per utterance. Supported: de, en, es, fr, fy, it, nl, pl, pt, sv.", + "pattern": "^(de|en|es|fr|fy|it|nl|pl|pt|sv)(,(de|en|es|fr|fy|it|nl|pl|pt|sv))*$" + }, + "keyterms": { + "description": "Domain-specific terms to boost recognition (brand names, product codes, jargon). Sent to Reson8 as the `phrases` parameter. Max 250 phrases.", + "type": "array", + "items": { + "type": "string", + "maxLength": 255 + } + }, + "customModelId": { + "type": "string", + "description": "A stored Reson8 phrase collection (custom model) id, managed via the Reson8 API or console." + }, + "eagerTurnProbability": { + "type": "number", + "description": "Threshold (0-1) at which Reson8 emits an eager turn-end candidate. Provider default 0.5.", + "minimum": 0, + "maximum": 1 + }, + "finalTurnProbability": { + "type": "number", + "description": "Threshold (0-1) at which Reson8 confirms the end of a turn. Provider default 0.92.", + "minimum": 0, + "maximum": 1 + }, + "fillerMode": { + "type": "string", + "description": "How Reson8 renders filler words in transcripts. Provider default `natural`.", + "enum": [ + "clean", + "natural", + "verbatim" + ] + } + }, + "required": [ + "provider" + ] + }, "LangfuseObservabilityPlan": { "type": "object", "properties": { @@ -18833,6 +18963,10 @@ "$ref": "#/components/schemas/XaiTranscriber", "title": "XaiTranscriber" }, + { + "$ref": "#/components/schemas/Reson8Transcriber", + "title": "Reson8Transcriber" + }, { "$ref": "#/components/schemas/VapiTranscriber", "title": "VapiTranscriber" @@ -20619,6 +20753,10 @@ "$ref": "#/components/schemas/XaiTranscriber", "title": "XaiTranscriber" }, + { + "$ref": "#/components/schemas/Reson8Transcriber", + "title": "Reson8Transcriber" + }, { "$ref": "#/components/schemas/VapiTranscriber", "title": "VapiTranscriber" @@ -21182,6 +21320,10 @@ "$ref": "#/components/schemas/CreateSonioxCredentialDTO", "title": "SonioxCredential" }, + { + "$ref": "#/components/schemas/CreateReson8CredentialDTO", + "title": "Reson8Credential" + }, { "$ref": "#/components/schemas/CreateSupabaseCredentialDTO", "title": "SupabaseCredential" @@ -21309,6 +21451,7 @@ "mistral": "#/components/schemas/CreateMistralCredentialDTO", "speechmatics": "#/components/schemas/CreateSpeechmaticsCredentialDTO", "soniox": "#/components/schemas/CreateSonioxCredentialDTO", + "reson8": "#/components/schemas/CreateReson8CredentialDTO", "google.calendar.oauth2-client": "#/components/schemas/CreateGoogleCalendarOAuth2ClientCredentialDTO", "google.calendar.oauth2-authorization": "#/components/schemas/CreateGoogleCalendarOAuth2AuthorizationCredentialDTO", "google.sheets.oauth2-authorization": "#/components/schemas/CreateGoogleSheetsOAuth2AuthorizationCredentialDTO", @@ -21509,6 +21652,10 @@ "$ref": "#/components/schemas/XaiTranscriber", "title": "XaiTranscriber" }, + { + "$ref": "#/components/schemas/Reson8Transcriber", + "title": "Reson8Transcriber" + }, { "$ref": "#/components/schemas/VapiTranscriber", "title": "VapiTranscriber" @@ -22072,6 +22219,10 @@ "$ref": "#/components/schemas/CreateSonioxCredentialDTO", "title": "SonioxCredential" }, + { + "$ref": "#/components/schemas/CreateReson8CredentialDTO", + "title": "Reson8Credential" + }, { "$ref": "#/components/schemas/CreateSupabaseCredentialDTO", "title": "SupabaseCredential" @@ -22199,6 +22350,7 @@ "mistral": "#/components/schemas/CreateMistralCredentialDTO", "speechmatics": "#/components/schemas/CreateSpeechmaticsCredentialDTO", "soniox": "#/components/schemas/CreateSonioxCredentialDTO", + "reson8": "#/components/schemas/CreateReson8CredentialDTO", "google.calendar.oauth2-client": "#/components/schemas/CreateGoogleCalendarOAuth2ClientCredentialDTO", "google.calendar.oauth2-authorization": "#/components/schemas/CreateGoogleCalendarOAuth2AuthorizationCredentialDTO", "google.sheets.oauth2-authorization": "#/components/schemas/CreateGoogleSheetsOAuth2AuthorizationCredentialDTO", @@ -27419,6 +27571,10 @@ "$ref": "#/components/schemas/XaiTranscriber", "title": "XaiTranscriber" }, + { + "$ref": "#/components/schemas/Reson8Transcriber", + "title": "Reson8Transcriber" + }, { "$ref": "#/components/schemas/VapiTranscriber", "title": "VapiTranscriber" @@ -28737,6 +28893,10 @@ "$ref": "#/components/schemas/XaiTranscriber", "title": "XaiTranscriber" }, + { + "$ref": "#/components/schemas/Reson8Transcriber", + "title": "Reson8Transcriber" + }, { "$ref": "#/components/schemas/VapiTranscriber", "title": "VapiTranscriber" @@ -29041,6 +29201,10 @@ "$ref": "#/components/schemas/CreateSonioxCredentialDTO", "title": "SonioxCredential" }, + { + "$ref": "#/components/schemas/CreateReson8CredentialDTO", + "title": "Reson8Credential" + }, { "$ref": "#/components/schemas/CreateSupabaseCredentialDTO", "title": "SupabaseCredential" @@ -29168,6 +29332,7 @@ "mistral": "#/components/schemas/CreateMistralCredentialDTO", "speechmatics": "#/components/schemas/CreateSpeechmaticsCredentialDTO", "soniox": "#/components/schemas/CreateSonioxCredentialDTO", + "reson8": "#/components/schemas/CreateReson8CredentialDTO", "google.calendar.oauth2-client": "#/components/schemas/CreateGoogleCalendarOAuth2ClientCredentialDTO", "google.calendar.oauth2-authorization": "#/components/schemas/CreateGoogleCalendarOAuth2AuthorizationCredentialDTO", "google.sheets.oauth2-authorization": "#/components/schemas/CreateGoogleSheetsOAuth2AuthorizationCredentialDTO", @@ -37056,6 +37221,10 @@ "$ref": "#/components/schemas/XaiTranscriber", "title": "XaiTranscriber" }, + { + "$ref": "#/components/schemas/Reson8Transcriber", + "title": "Reson8Transcriber" + }, { "$ref": "#/components/schemas/VapiTranscriber", "title": "VapiTranscriber" @@ -37619,6 +37788,10 @@ "$ref": "#/components/schemas/CreateSonioxCredentialDTO", "title": "SonioxCredential" }, + { + "$ref": "#/components/schemas/CreateReson8CredentialDTO", + "title": "Reson8Credential" + }, { "$ref": "#/components/schemas/CreateSupabaseCredentialDTO", "title": "SupabaseCredential" @@ -37746,6 +37919,7 @@ "mistral": "#/components/schemas/CreateMistralCredentialDTO", "speechmatics": "#/components/schemas/CreateSpeechmaticsCredentialDTO", "soniox": "#/components/schemas/CreateSonioxCredentialDTO", + "reson8": "#/components/schemas/CreateReson8CredentialDTO", "google.calendar.oauth2-client": "#/components/schemas/CreateGoogleCalendarOAuth2ClientCredentialDTO", "google.calendar.oauth2-authorization": "#/components/schemas/CreateGoogleCalendarOAuth2AuthorizationCredentialDTO", "google.sheets.oauth2-authorization": "#/components/schemas/CreateGoogleSheetsOAuth2AuthorizationCredentialDTO", @@ -37998,6 +38172,10 @@ "$ref": "#/components/schemas/XaiTranscriber", "title": "XaiTranscriber" }, + { + "$ref": "#/components/schemas/Reson8Transcriber", + "title": "Reson8Transcriber" + }, { "$ref": "#/components/schemas/VapiTranscriber", "title": "VapiTranscriber" @@ -38561,6 +38739,10 @@ "$ref": "#/components/schemas/CreateSonioxCredentialDTO", "title": "SonioxCredential" }, + { + "$ref": "#/components/schemas/CreateReson8CredentialDTO", + "title": "Reson8Credential" + }, { "$ref": "#/components/schemas/CreateSupabaseCredentialDTO", "title": "SupabaseCredential" @@ -38688,6 +38870,7 @@ "mistral": "#/components/schemas/CreateMistralCredentialDTO", "speechmatics": "#/components/schemas/CreateSpeechmaticsCredentialDTO", "soniox": "#/components/schemas/CreateSonioxCredentialDTO", + "reson8": "#/components/schemas/CreateReson8CredentialDTO", "google.calendar.oauth2-client": "#/components/schemas/CreateGoogleCalendarOAuth2ClientCredentialDTO", "google.calendar.oauth2-authorization": "#/components/schemas/CreateGoogleCalendarOAuth2AuthorizationCredentialDTO", "google.sheets.oauth2-authorization": "#/components/schemas/CreateGoogleSheetsOAuth2AuthorizationCredentialDTO", @@ -39036,6 +39219,10 @@ "$ref": "#/components/schemas/XaiTranscriber", "title": "XaiTranscriber" }, + { + "$ref": "#/components/schemas/Reson8Transcriber", + "title": "Reson8Transcriber" + }, { "$ref": "#/components/schemas/VapiTranscriber", "title": "VapiTranscriber" @@ -39599,6 +39786,10 @@ "$ref": "#/components/schemas/CreateSonioxCredentialDTO", "title": "SonioxCredential" }, + { + "$ref": "#/components/schemas/CreateReson8CredentialDTO", + "title": "Reson8Credential" + }, { "$ref": "#/components/schemas/CreateSupabaseCredentialDTO", "title": "SupabaseCredential" @@ -39726,6 +39917,7 @@ "mistral": "#/components/schemas/CreateMistralCredentialDTO", "speechmatics": "#/components/schemas/CreateSpeechmaticsCredentialDTO", "soniox": "#/components/schemas/CreateSonioxCredentialDTO", + "reson8": "#/components/schemas/CreateReson8CredentialDTO", "google.calendar.oauth2-client": "#/components/schemas/CreateGoogleCalendarOAuth2ClientCredentialDTO", "google.calendar.oauth2-authorization": "#/components/schemas/CreateGoogleCalendarOAuth2AuthorizationCredentialDTO", "google.sheets.oauth2-authorization": "#/components/schemas/CreateGoogleSheetsOAuth2AuthorizationCredentialDTO", @@ -40056,6 +40248,10 @@ "$ref": "#/components/schemas/XaiTranscriber", "title": "XaiTranscriber" }, + { + "$ref": "#/components/schemas/Reson8Transcriber", + "title": "Reson8Transcriber" + }, { "$ref": "#/components/schemas/VapiTranscriber", "title": "VapiTranscriber" @@ -40619,6 +40815,10 @@ "$ref": "#/components/schemas/CreateSonioxCredentialDTO", "title": "SonioxCredential" }, + { + "$ref": "#/components/schemas/CreateReson8CredentialDTO", + "title": "Reson8Credential" + }, { "$ref": "#/components/schemas/CreateSupabaseCredentialDTO", "title": "SupabaseCredential" @@ -40746,6 +40946,7 @@ "mistral": "#/components/schemas/CreateMistralCredentialDTO", "speechmatics": "#/components/schemas/CreateSpeechmaticsCredentialDTO", "soniox": "#/components/schemas/CreateSonioxCredentialDTO", + "reson8": "#/components/schemas/CreateReson8CredentialDTO", "google.calendar.oauth2-client": "#/components/schemas/CreateGoogleCalendarOAuth2ClientCredentialDTO", "google.calendar.oauth2-authorization": "#/components/schemas/CreateGoogleCalendarOAuth2AuthorizationCredentialDTO", "google.sheets.oauth2-authorization": "#/components/schemas/CreateGoogleSheetsOAuth2AuthorizationCredentialDTO", @@ -41077,6 +41278,10 @@ "$ref": "#/components/schemas/XaiTranscriber", "title": "XaiTranscriber" }, + { + "$ref": "#/components/schemas/Reson8Transcriber", + "title": "Reson8Transcriber" + }, { "$ref": "#/components/schemas/VapiTranscriber", "title": "VapiTranscriber" @@ -41640,6 +41845,10 @@ "$ref": "#/components/schemas/CreateSonioxCredentialDTO", "title": "SonioxCredential" }, + { + "$ref": "#/components/schemas/CreateReson8CredentialDTO", + "title": "Reson8Credential" + }, { "$ref": "#/components/schemas/CreateSupabaseCredentialDTO", "title": "SupabaseCredential" @@ -41767,6 +41976,7 @@ "mistral": "#/components/schemas/CreateMistralCredentialDTO", "speechmatics": "#/components/schemas/CreateSpeechmaticsCredentialDTO", "soniox": "#/components/schemas/CreateSonioxCredentialDTO", + "reson8": "#/components/schemas/CreateReson8CredentialDTO", "google.calendar.oauth2-client": "#/components/schemas/CreateGoogleCalendarOAuth2ClientCredentialDTO", "google.calendar.oauth2-authorization": "#/components/schemas/CreateGoogleCalendarOAuth2AuthorizationCredentialDTO", "google.sheets.oauth2-authorization": "#/components/schemas/CreateGoogleSheetsOAuth2AuthorizationCredentialDTO", @@ -41991,6 +42201,10 @@ "$ref": "#/components/schemas/XaiTranscriber", "title": "XaiTranscriber" }, + { + "$ref": "#/components/schemas/Reson8Transcriber", + "title": "Reson8Transcriber" + }, { "$ref": "#/components/schemas/VapiTranscriber", "title": "VapiTranscriber" @@ -42554,6 +42768,10 @@ "$ref": "#/components/schemas/CreateSonioxCredentialDTO", "title": "SonioxCredential" }, + { + "$ref": "#/components/schemas/CreateReson8CredentialDTO", + "title": "Reson8Credential" + }, { "$ref": "#/components/schemas/CreateSupabaseCredentialDTO", "title": "SupabaseCredential" @@ -42681,6 +42899,7 @@ "mistral": "#/components/schemas/CreateMistralCredentialDTO", "speechmatics": "#/components/schemas/CreateSpeechmaticsCredentialDTO", "soniox": "#/components/schemas/CreateSonioxCredentialDTO", + "reson8": "#/components/schemas/CreateReson8CredentialDTO", "google.calendar.oauth2-client": "#/components/schemas/CreateGoogleCalendarOAuth2ClientCredentialDTO", "google.calendar.oauth2-authorization": "#/components/schemas/CreateGoogleCalendarOAuth2AuthorizationCredentialDTO", "google.sheets.oauth2-authorization": "#/components/schemas/CreateGoogleSheetsOAuth2AuthorizationCredentialDTO", @@ -42881,6 +43100,10 @@ "$ref": "#/components/schemas/XaiTranscriber", "title": "XaiTranscriber" }, + { + "$ref": "#/components/schemas/Reson8Transcriber", + "title": "Reson8Transcriber" + }, { "$ref": "#/components/schemas/VapiTranscriber", "title": "VapiTranscriber" @@ -43444,6 +43667,10 @@ "$ref": "#/components/schemas/CreateSonioxCredentialDTO", "title": "SonioxCredential" }, + { + "$ref": "#/components/schemas/CreateReson8CredentialDTO", + "title": "Reson8Credential" + }, { "$ref": "#/components/schemas/CreateSupabaseCredentialDTO", "title": "SupabaseCredential" @@ -43571,6 +43798,7 @@ "mistral": "#/components/schemas/CreateMistralCredentialDTO", "speechmatics": "#/components/schemas/CreateSpeechmaticsCredentialDTO", "soniox": "#/components/schemas/CreateSonioxCredentialDTO", + "reson8": "#/components/schemas/CreateReson8CredentialDTO", "google.calendar.oauth2-client": "#/components/schemas/CreateGoogleCalendarOAuth2ClientCredentialDTO", "google.calendar.oauth2-authorization": "#/components/schemas/CreateGoogleCalendarOAuth2AuthorizationCredentialDTO", "google.sheets.oauth2-authorization": "#/components/schemas/CreateGoogleSheetsOAuth2AuthorizationCredentialDTO", @@ -44031,6 +44259,10 @@ "$ref": "#/components/schemas/XaiTranscriber", "title": "XaiTranscriber" }, + { + "$ref": "#/components/schemas/Reson8Transcriber", + "title": "Reson8Transcriber" + }, { "$ref": "#/components/schemas/VapiTranscriber", "title": "VapiTranscriber" @@ -44335,6 +44567,10 @@ "$ref": "#/components/schemas/CreateSonioxCredentialDTO", "title": "SonioxCredential" }, + { + "$ref": "#/components/schemas/CreateReson8CredentialDTO", + "title": "Reson8Credential" + }, { "$ref": "#/components/schemas/CreateSupabaseCredentialDTO", "title": "SupabaseCredential" @@ -44462,6 +44698,7 @@ "mistral": "#/components/schemas/CreateMistralCredentialDTO", "speechmatics": "#/components/schemas/CreateSpeechmaticsCredentialDTO", "soniox": "#/components/schemas/CreateSonioxCredentialDTO", + "reson8": "#/components/schemas/CreateReson8CredentialDTO", "google.calendar.oauth2-client": "#/components/schemas/CreateGoogleCalendarOAuth2ClientCredentialDTO", "google.calendar.oauth2-authorization": "#/components/schemas/CreateGoogleCalendarOAuth2AuthorizationCredentialDTO", "google.sheets.oauth2-authorization": "#/components/schemas/CreateGoogleSheetsOAuth2AuthorizationCredentialDTO", @@ -44731,6 +44968,10 @@ "$ref": "#/components/schemas/XaiTranscriber", "title": "XaiTranscriber" }, + { + "$ref": "#/components/schemas/Reson8Transcriber", + "title": "Reson8Transcriber" + }, { "$ref": "#/components/schemas/VapiTranscriber", "title": "VapiTranscriber" @@ -45035,6 +45276,10 @@ "$ref": "#/components/schemas/CreateSonioxCredentialDTO", "title": "SonioxCredential" }, + { + "$ref": "#/components/schemas/CreateReson8CredentialDTO", + "title": "Reson8Credential" + }, { "$ref": "#/components/schemas/CreateSupabaseCredentialDTO", "title": "SupabaseCredential" @@ -45162,6 +45407,7 @@ "mistral": "#/components/schemas/CreateMistralCredentialDTO", "speechmatics": "#/components/schemas/CreateSpeechmaticsCredentialDTO", "soniox": "#/components/schemas/CreateSonioxCredentialDTO", + "reson8": "#/components/schemas/CreateReson8CredentialDTO", "google.calendar.oauth2-client": "#/components/schemas/CreateGoogleCalendarOAuth2ClientCredentialDTO", "google.calendar.oauth2-authorization": "#/components/schemas/CreateGoogleCalendarOAuth2AuthorizationCredentialDTO", "google.sheets.oauth2-authorization": "#/components/schemas/CreateGoogleSheetsOAuth2AuthorizationCredentialDTO", @@ -45413,6 +45659,10 @@ "$ref": "#/components/schemas/XaiTranscriber", "title": "XaiTranscriber" }, + { + "$ref": "#/components/schemas/Reson8Transcriber", + "title": "Reson8Transcriber" + }, { "$ref": "#/components/schemas/VapiTranscriber", "title": "VapiTranscriber" @@ -45717,6 +45967,10 @@ "$ref": "#/components/schemas/CreateSonioxCredentialDTO", "title": "SonioxCredential" }, + { + "$ref": "#/components/schemas/CreateReson8CredentialDTO", + "title": "Reson8Credential" + }, { "$ref": "#/components/schemas/CreateSupabaseCredentialDTO", "title": "SupabaseCredential" @@ -45844,6 +46098,7 @@ "mistral": "#/components/schemas/CreateMistralCredentialDTO", "speechmatics": "#/components/schemas/CreateSpeechmaticsCredentialDTO", "soniox": "#/components/schemas/CreateSonioxCredentialDTO", + "reson8": "#/components/schemas/CreateReson8CredentialDTO", "google.calendar.oauth2-client": "#/components/schemas/CreateGoogleCalendarOAuth2ClientCredentialDTO", "google.calendar.oauth2-authorization": "#/components/schemas/CreateGoogleCalendarOAuth2AuthorizationCredentialDTO", "google.sheets.oauth2-authorization": "#/components/schemas/CreateGoogleSheetsOAuth2AuthorizationCredentialDTO", @@ -48073,6 +48328,16 @@ "call.in-progress.error-vapifault-xai-transcriber-invalid-config", "call.in-progress.error-vapifault-xai-transcriber-server-error", "call.in-progress.error-vapifault-xai-transcriber-failed", + "pipeline-error-reson8-transcriber-auth-failed", + "pipeline-error-reson8-transcriber-rate-limited", + "pipeline-error-reson8-transcriber-invalid-config", + "pipeline-error-reson8-transcriber-closed", + "pipeline-error-reson8-transcriber-failed", + "call.in-progress.error-vapifault-reson8-transcriber-auth-failed", + "call.in-progress.error-vapifault-reson8-transcriber-rate-limited", + "call.in-progress.error-vapifault-reson8-transcriber-invalid-config", + "call.in-progress.error-vapifault-reson8-transcriber-closed", + "call.in-progress.error-vapifault-reson8-transcriber-failed", "pipeline-error-cartesia-transcriber-failed", "call.in-progress.error-vapifault-cartesia-transcriber-failed", "call.in-progress.error-pipeline-no-available-llm-model", @@ -48408,6 +48673,7 @@ "call.in-progress.error-vapifault-cartesia-socket-hang-up", "call.in-progress.error-vapifault-cartesia-requested-payment", "call.in-progress.error-providerfault-cartesia-500-server-error", + "call.in-progress.error-providerfault-cartesia-502-server-error", "call.in-progress.error-providerfault-cartesia-503-server-error", "call.in-progress.error-providerfault-cartesia-522-server-error", "pipeline-error-eleven-labs-voice-not-found", @@ -48528,6 +48794,16 @@ "call.in-progress.error-vapifault-xai-transcriber-invalid-config", "call.in-progress.error-vapifault-xai-transcriber-server-error", "call.in-progress.error-vapifault-xai-transcriber-failed", + "pipeline-error-reson8-transcriber-auth-failed", + "pipeline-error-reson8-transcriber-rate-limited", + "pipeline-error-reson8-transcriber-invalid-config", + "pipeline-error-reson8-transcriber-closed", + "pipeline-error-reson8-transcriber-failed", + "call.in-progress.error-vapifault-reson8-transcriber-auth-failed", + "call.in-progress.error-vapifault-reson8-transcriber-rate-limited", + "call.in-progress.error-vapifault-reson8-transcriber-invalid-config", + "call.in-progress.error-vapifault-reson8-transcriber-closed", + "call.in-progress.error-vapifault-reson8-transcriber-failed", "pipeline-error-cartesia-transcriber-failed", "call.in-progress.error-vapifault-cartesia-transcriber-failed", "call.in-progress.error-warm-transfer-max-duration", @@ -49739,6 +50015,697 @@ } } }, + "CallHealthDashboardApiErrorDTO": { + "type": "object", + "properties": { + "code": { + "type": "string", + "minLength": 1 + }, + "message": { + "type": "string", + "minLength": 1 + }, + "requestId": { + "type": "string", + "minLength": 1 + }, + "retryable": { + "type": "boolean" + } + }, + "required": [ + "code", + "message", + "requestId", + "retryable" + ] + }, + "CallHealthDashboardAssistantReferenceDTO": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "name": { + "type": "string", + "minLength": 1 + }, + "latestVersion": { + "type": "string", + "description": "Current assistant.latest_version label; omitted when unavailable, never a goal revision.", + "minLength": 1 + } + }, + "required": [ + "id" + ] + }, + "CallHealthDashboardGoalDefinitionDTO": { + "type": "object", + "properties": { + "goalId": { + "type": "string", + "description": "Explicit selected goal identity, stable across its revisions.", + "format": "uuid" + }, + "succeedsWhen": { + "type": "string", + "description": "Current visible revision of the selected goal.", + "minLength": 1, + "maxLength": 600 + }, + "leaveOut": { + "type": "string", + "description": "Current optional semantic exclusions.", + "minLength": 1, + "maxLength": 300 + } + }, + "required": [ + "goalId", + "succeedsWhen" + ] + }, + "CallHealthDashboardGoalSummaryDTO": { + "type": "object", + "properties": { + "registeredCallCount": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "eligibleCallCount": { + "type": "integer", + "description": "Calls with an accepted semantic eligibility decision and binary goal outcome.", + "minimum": 0, + "maximum": 9007199254740991 + }, + "ineligibleCallCount": { + "type": "integer", + "description": "Accepted semantic exclusions; absent from the goal denominator.", + "minimum": 0, + "maximum": 9007199254740991 + }, + "unassessedCallCount": { + "type": "integer", + "description": "No accepted eligibility decision, including technical or privacy exclusions.", + "minimum": 0, + "maximum": 9007199254740991 + }, + "goalMetCount": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "goalNotMetCount": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "evaluatedCallCount": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "analyzedCallCount": { + "type": "integer", + "description": "Accepted current-goal results, including ineligible; independent of issue processing.", + "minimum": 0, + "maximum": 9007199254740991 + }, + "goalMetRate": { + "type": "number", + "description": "Goal-met / evaluatedCallCount; omitted when there are no binary outcomes.", + "minimum": 0, + "maximum": 1 + }, + "goalNotMetRate": { + "type": "number", + "minimum": 0, + "maximum": 1 + } + }, + "required": [ + "registeredCallCount", + "eligibleCallCount", + "ineligibleCallCount", + "unassessedCallCount", + "goalMetCount", + "goalNotMetCount", + "evaluatedCallCount", + "analyzedCallCount" + ] + }, + "CallHealthDashboardAssistantOverviewDTO": { + "type": "object", + "properties": { + "assistant": { + "description": "Current permitted assistant metadata, fetched in a batch.", + "allOf": [ + { + "$ref": "#/components/schemas/CallHealthDashboardAssistantReferenceDTO" + } + ] + }, + "goalDefinition": { + "description": "Every row represents an explicitly selected, tenant-owned assistant goal.", + "allOf": [ + { + "$ref": "#/components/schemas/CallHealthDashboardGoalDefinitionDTO" + } + ] + }, + "goal": { + "description": "Window totals for the selected goal, including zero-result assistants.", + "allOf": [ + { + "$ref": "#/components/schemas/CallHealthDashboardGoalSummaryDTO" + } + ] + } + }, + "required": [ + "assistant", + "goalDefinition", + "goal" + ] + }, + "CallHealthDashboardIntakeCoverageDTO": { + "type": "object", + "properties": { + "deliveryMode": { + "type": "string", + "enum": [ + "bestEffort" + ] + }, + "endToEndCoverage": { + "type": "string", + "enum": [ + "unknown" + ] + } + }, + "required": [ + "deliveryMode", + "endToEndCoverage" + ] + }, + "CallHealthDashboardGoalGapsDTO": { + "type": "object", + "properties": { + "pending": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "unavailable": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "skipped": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "error": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "excluded": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + } + }, + "required": [ + "pending", + "unavailable", + "skipped", + "error", + "excluded" + ] + }, + "CallHealthDashboardClassificationCoverageDTO": { + "type": "object", + "properties": { + "pending": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "unavailable": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "skipped": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "error": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "excluded": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "complete": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "partial": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + } + }, + "required": [ + "pending", + "unavailable", + "skipped", + "error", + "excluded", + "complete", + "partial" + ] + }, + "CallHealthDashboardAssignmentCoverageDTO": { + "type": "object", + "properties": { + "pending": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "unmatched": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "skipped": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "unavailable": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "error": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "coverageGapCount": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + } + }, + "required": [ + "pending", + "unmatched", + "skipped", + "unavailable", + "error", + "coverageGapCount" + ] + }, + "CallHealthDashboardDiscoveryCoverageDTO": { + "type": "object", + "properties": { + "pendingIssueCategoryCount": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "blockedIssueCategoryCount": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + } + }, + "required": [ + "pendingIssueCategoryCount", + "blockedIssueCategoryCount" + ] + }, + "CallHealthDashboardSweepCoverageDTO": { + "type": "object", + "properties": { + "state": { + "type": "string", + "enum": [ + "idle", + "enumerating", + "processing", + "deduplicating", + "blocked" + ] + } + }, + "required": [ + "state" + ] + }, + "CallHealthDashboardCoverageDTO": { + "type": "object", + "properties": { + "asOf": { + "type": "string", + "format": "date-time", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.(\\d{1,6}))?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)$" + }, + "intake": { + "$ref": "#/components/schemas/CallHealthDashboardIntakeCoverageDTO" + }, + "goal": { + "$ref": "#/components/schemas/CallHealthDashboardGoalGapsDTO" + }, + "classification": { + "$ref": "#/components/schemas/CallHealthDashboardClassificationCoverageDTO" + }, + "assignment": { + "$ref": "#/components/schemas/CallHealthDashboardAssignmentCoverageDTO" + }, + "discovery": { + "$ref": "#/components/schemas/CallHealthDashboardDiscoveryCoverageDTO" + }, + "sweep": { + "$ref": "#/components/schemas/CallHealthDashboardSweepCoverageDTO" + }, + "countsComplete": { + "type": "boolean", + "description": "Completeness of received authorized work only; never source delivery coverage." + } + }, + "required": [ + "asOf", + "intake", + "goal", + "classification", + "assignment", + "discovery", + "sweep", + "countsComplete" + ] + }, + "CallHealthDashboardAssistantListResponseDTO": { + "type": "object", + "properties": { + "results": { + "description": "Visible nondeleted assistants in ascending ID transport order; sort the exhausted result in the frontend.", + "type": "array", + "items": { + "$ref": "#/components/schemas/CallHealthDashboardAssistantOverviewDTO" + } + }, + "nextCursor": { + "type": "string", + "description": "Opaque ID continuation bound to tenant, completion window and filters.", + "minLength": 1, + "maxLength": 2048, + "pattern": "^[A-Za-z0-9_-]+$" + }, + "coverage": { + "description": "Received-work processing coverage, separate from analyzed goal results.", + "allOf": [ + { + "$ref": "#/components/schemas/CallHealthDashboardCoverageDTO" + } + ] + } + }, + "required": [ + "results", + "coverage" + ] + }, + "CallHealthDashboardGoalOptionDTO": { + "type": "object", + "properties": { + "goalId": { + "type": "string", + "description": "Explicit selected goal identity, stable across its revisions.", + "format": "uuid" + }, + "succeedsWhen": { + "type": "string", + "description": "Current visible revision of the selected goal.", + "minLength": 1, + "maxLength": 600 + }, + "leaveOut": { + "type": "string", + "description": "Current optional semantic exclusions.", + "minLength": 1, + "maxLength": 300 + }, + "goalVersion": { + "type": "string", + "description": "Current revision for display; clients select by stable goalId, never by this version.", + "pattern": "^[1-9]\\d{0,18}$", + "minLength": 1, + "maxLength": 19 + } + }, + "required": [ + "goalId", + "succeedsWhen", + "goalVersion" + ] + }, + "CallHealthDashboardAssistantGoalsDTO": { + "type": "object", + "properties": { + "assistantId": { + "type": "string", + "description": "Requested assistant identity whose current published row remains visible.", + "format": "uuid" + }, + "goals": { + "description": "Empty when this visible assistant has no goals; no goal is automatically selected.", + "type": "array", + "items": { + "$ref": "#/components/schemas/CallHealthDashboardGoalOptionDTO" + } + } + }, + "required": [ + "assistantId", + "goals" + ] + }, + "CallHealthDashboardAssistantGoalsResponseDTO": { + "type": "object", + "properties": { + "results": { + "description": "Complete requested visible assistant cohort, including assistants with no goal options.", + "type": "array", + "items": { + "$ref": "#/components/schemas/CallHealthDashboardAssistantGoalsDTO" + } + } + }, + "required": [ + "results" + ] + }, + "CallHealthDashboardGoalDailyDTO": { + "type": "object", + "properties": { + "registeredCallCount": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "eligibleCallCount": { + "type": "integer", + "description": "Calls with an accepted semantic eligibility decision and binary goal outcome.", + "minimum": 0, + "maximum": 9007199254740991 + }, + "ineligibleCallCount": { + "type": "integer", + "description": "Accepted semantic exclusions; absent from the goal denominator.", + "minimum": 0, + "maximum": 9007199254740991 + }, + "unassessedCallCount": { + "type": "integer", + "description": "No accepted eligibility decision, including technical or privacy exclusions.", + "minimum": 0, + "maximum": 9007199254740991 + }, + "goalMetCount": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "goalNotMetCount": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "evaluatedCallCount": { + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "analyzedCallCount": { + "type": "integer", + "description": "Accepted current-goal results, including ineligible; independent of issue processing.", + "minimum": 0, + "maximum": 9007199254740991 + }, + "goalMetRate": { + "type": "number", + "description": "Goal-met / evaluatedCallCount; omitted when there are no binary outcomes.", + "minimum": 0, + "maximum": 1 + }, + "goalNotMetRate": { + "type": "number", + "minimum": 0, + "maximum": 1 + }, + "date": { + "type": "string", + "description": "UTC calendar date; the first and last buckets are clipped to the requested window.", + "format": "date" + } + }, + "required": [ + "registeredCallCount", + "eligibleCallCount", + "ineligibleCallCount", + "unassessedCallCount", + "goalMetCount", + "goalNotMetCount", + "evaluatedCallCount", + "analyzedCallCount", + "date" + ] + }, + "CallHealthDashboardWindowDTO": { + "type": "object", + "properties": { + "callTimeGte": { + "type": "string", + "format": "date-time", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.(\\d{1,6}))?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)$" + }, + "callTimeLt": { + "type": "string", + "format": "date-time", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.(\\d{1,6}))?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)$" + } + }, + "required": [ + "callTimeGte", + "callTimeLt" + ] + }, + "CallHealthDashboardSeriesPageDTO": { + "type": "object", + "properties": { + "window": { + "description": "Full resolved completion window used by every total, rate and coverage count.", + "allOf": [ + { + "$ref": "#/components/schemas/CallHealthDashboardWindowDTO" + } + ] + }, + "pageWindow": { + "description": "Clipped completion window represented by this page's daily buckets.", + "allOf": [ + { + "$ref": "#/components/schemas/CallHealthDashboardWindowDTO" + } + ] + }, + "nextCursor": { + "type": "string", + "description": "Continue chart dates only; independent of the issue-row nextCursor.", + "minLength": 1, + "maxLength": 2048, + "pattern": "^[A-Za-z0-9_-]+$" + } + }, + "required": [ + "window", + "pageWindow" + ] + }, + "CallHealthDashboardAssistantSummaryResponseDTO": { + "type": "object", + "properties": { + "assistant": { + "description": "Current permitted assistant metadata, fetched in a batch.", + "allOf": [ + { + "$ref": "#/components/schemas/CallHealthDashboardAssistantReferenceDTO" + } + ] + }, + "goalDefinition": { + "description": "Every row represents an explicitly selected, tenant-owned assistant goal.", + "allOf": [ + { + "$ref": "#/components/schemas/CallHealthDashboardGoalDefinitionDTO" + } + ] + }, + "goal": { + "description": "Window totals for the selected goal, including zero-result assistants.", + "allOf": [ + { + "$ref": "#/components/schemas/CallHealthDashboardGoalSummaryDTO" + } + ] + }, + "results": { + "description": "One ascending contiguous page of UTC dates, including empty buckets.", + "minItems": 1, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/components/schemas/CallHealthDashboardGoalDailyDTO" + } + }, + "seriesPage": { + "$ref": "#/components/schemas/CallHealthDashboardSeriesPageDTO" + }, + "coverage": { + "description": "Received-work processing coverage, separate from success rates.", + "allOf": [ + { + "$ref": "#/components/schemas/CallHealthDashboardCoverageDTO" + } + ] + } + }, + "required": [ + "assistant", + "goalDefinition", + "goal", + "results", + "seriesPage", + "coverage" + ] + }, "DeveloperMessage": { "type": "object", "properties": { @@ -61280,53 +62247,6 @@ "toolId" ] }, - "CallHealthDashboardApiErrorDTO": { - "type": "object", - "properties": { - "code": { - "type": "string", - "minLength": 1 - }, - "message": { - "type": "string", - "minLength": 1 - }, - "requestId": { - "type": "string", - "minLength": 1 - }, - "retryable": { - "type": "boolean" - } - }, - "required": [ - "code", - "message", - "requestId", - "retryable" - ] - }, - "CallHealthDashboardAssistantReferenceDTO": { - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uuid" - }, - "name": { - "type": "string", - "minLength": 1 - }, - "latestVersion": { - "type": "string", - "description": "Current assistant.latest_version label; omitted when unavailable, never a goal revision.", - "minLength": 1 - } - }, - "required": [ - "id" - ] - }, "CallHealthDashboardIssueDailyDTO": { "type": "object", "properties": { @@ -61468,57 +62388,6 @@ "coverage" ] }, - "CallHealthDashboardWindowDTO": { - "type": "object", - "properties": { - "callTimeGte": { - "type": "string", - "format": "date-time", - "pattern": "^\\d{4}-\\d{2}-\\d{2}T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.(\\d{1,6}))?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)$" - }, - "callTimeLt": { - "type": "string", - "format": "date-time", - "pattern": "^\\d{4}-\\d{2}-\\d{2}T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.(\\d{1,6}))?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)$" - } - }, - "required": [ - "callTimeGte", - "callTimeLt" - ] - }, - "CallHealthDashboardSeriesPageDTO": { - "type": "object", - "properties": { - "window": { - "description": "Full resolved completion window used by every total, rate and coverage count.", - "allOf": [ - { - "$ref": "#/components/schemas/CallHealthDashboardWindowDTO" - } - ] - }, - "pageWindow": { - "description": "Clipped completion window represented by this page's daily buckets.", - "allOf": [ - { - "$ref": "#/components/schemas/CallHealthDashboardWindowDTO" - } - ] - }, - "nextCursor": { - "type": "string", - "description": "Continue chart dates only; independent of the issue-row nextCursor.", - "minLength": 1, - "maxLength": 2048, - "pattern": "^[A-Za-z0-9_-]+$" - } - }, - "required": [ - "window", - "pageWindow" - ] - }, "CallHealthDashboardFacetsDTO": { "type": "object", "properties": { @@ -61538,235 +62407,6 @@ "statuses" ] }, - "CallHealthDashboardIntakeCoverageDTO": { - "type": "object", - "properties": { - "deliveryMode": { - "type": "string", - "enum": [ - "bestEffort" - ] - }, - "endToEndCoverage": { - "type": "string", - "enum": [ - "unknown" - ] - } - }, - "required": [ - "deliveryMode", - "endToEndCoverage" - ] - }, - "CallHealthDashboardGoalGapsDTO": { - "type": "object", - "properties": { - "pending": { - "type": "integer", - "minimum": 0, - "maximum": 9007199254740991 - }, - "unavailable": { - "type": "integer", - "minimum": 0, - "maximum": 9007199254740991 - }, - "skipped": { - "type": "integer", - "minimum": 0, - "maximum": 9007199254740991 - }, - "error": { - "type": "integer", - "minimum": 0, - "maximum": 9007199254740991 - }, - "excluded": { - "type": "integer", - "minimum": 0, - "maximum": 9007199254740991 - } - }, - "required": [ - "pending", - "unavailable", - "skipped", - "error", - "excluded" - ] - }, - "CallHealthDashboardClassificationCoverageDTO": { - "type": "object", - "properties": { - "pending": { - "type": "integer", - "minimum": 0, - "maximum": 9007199254740991 - }, - "unavailable": { - "type": "integer", - "minimum": 0, - "maximum": 9007199254740991 - }, - "skipped": { - "type": "integer", - "minimum": 0, - "maximum": 9007199254740991 - }, - "error": { - "type": "integer", - "minimum": 0, - "maximum": 9007199254740991 - }, - "excluded": { - "type": "integer", - "minimum": 0, - "maximum": 9007199254740991 - }, - "complete": { - "type": "integer", - "minimum": 0, - "maximum": 9007199254740991 - }, - "partial": { - "type": "integer", - "minimum": 0, - "maximum": 9007199254740991 - } - }, - "required": [ - "pending", - "unavailable", - "skipped", - "error", - "excluded", - "complete", - "partial" - ] - }, - "CallHealthDashboardAssignmentCoverageDTO": { - "type": "object", - "properties": { - "pending": { - "type": "integer", - "minimum": 0, - "maximum": 9007199254740991 - }, - "unmatched": { - "type": "integer", - "minimum": 0, - "maximum": 9007199254740991 - }, - "skipped": { - "type": "integer", - "minimum": 0, - "maximum": 9007199254740991 - }, - "unavailable": { - "type": "integer", - "minimum": 0, - "maximum": 9007199254740991 - }, - "error": { - "type": "integer", - "minimum": 0, - "maximum": 9007199254740991 - }, - "coverageGapCount": { - "type": "integer", - "minimum": 0, - "maximum": 9007199254740991 - } - }, - "required": [ - "pending", - "unmatched", - "skipped", - "unavailable", - "error", - "coverageGapCount" - ] - }, - "CallHealthDashboardDiscoveryCoverageDTO": { - "type": "object", - "properties": { - "pendingIssueCategoryCount": { - "type": "integer", - "minimum": 0, - "maximum": 9007199254740991 - }, - "blockedIssueCategoryCount": { - "type": "integer", - "minimum": 0, - "maximum": 9007199254740991 - } - }, - "required": [ - "pendingIssueCategoryCount", - "blockedIssueCategoryCount" - ] - }, - "CallHealthDashboardSweepCoverageDTO": { - "type": "object", - "properties": { - "state": { - "type": "string", - "enum": [ - "idle", - "enumerating", - "processing", - "deduplicating", - "blocked" - ] - } - }, - "required": [ - "state" - ] - }, - "CallHealthDashboardCoverageDTO": { - "type": "object", - "properties": { - "asOf": { - "type": "string", - "format": "date-time", - "pattern": "^\\d{4}-\\d{2}-\\d{2}T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.(\\d{1,6}))?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)$" - }, - "intake": { - "$ref": "#/components/schemas/CallHealthDashboardIntakeCoverageDTO" - }, - "goal": { - "$ref": "#/components/schemas/CallHealthDashboardGoalGapsDTO" - }, - "classification": { - "$ref": "#/components/schemas/CallHealthDashboardClassificationCoverageDTO" - }, - "assignment": { - "$ref": "#/components/schemas/CallHealthDashboardAssignmentCoverageDTO" - }, - "discovery": { - "$ref": "#/components/schemas/CallHealthDashboardDiscoveryCoverageDTO" - }, - "sweep": { - "$ref": "#/components/schemas/CallHealthDashboardSweepCoverageDTO" - }, - "countsComplete": { - "type": "boolean", - "description": "Completeness of received authorized work only; never source delivery coverage." - } - }, - "required": [ - "asOf", - "intake", - "goal", - "classification", - "assignment", - "discovery", - "sweep", - "countsComplete" - ] - }, "CallHealthDashboardIssueListResponseDTO": { "type": "object", "properties": { @@ -70213,6 +70853,62 @@ "results" ] }, + "CallHealthDashboardAffectedCallDTO": { + "type": "object", + "properties": { + "callId": { + "type": "string", + "format": "uuid" + }, + "assistantId": { + "type": "string", + "format": "uuid" + }, + "callTime": { + "type": "string", + "format": "date-time", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.(\\d{1,6}))?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)$", + "description": "Call completion time (endedAt), never startedAt." + }, + "callAvailability": { + "type": "string", + "enum": [ + "available", + "unavailable" + ] + } + }, + "required": [ + "callId", + "assistantId", + "callTime", + "callAvailability" + ] + }, + "CallHealthDashboardAffectedCallsResponseDTO": { + "type": "object", + "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CallHealthDashboardAffectedCallDTO" + } + }, + "nextCursor": { + "type": "string", + "minLength": 1, + "maxLength": 2048, + "pattern": "^[A-Za-z0-9_-]+$" + }, + "coverage": { + "$ref": "#/components/schemas/CallHealthDashboardCoverageDTO" + } + }, + "required": [ + "results", + "coverage" + ] + }, "CreateOrgDTO": { "type": "object", "properties": { @@ -73387,6 +74083,54 @@ "updatedAt" ] }, + "Reson8Credential": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": [ + "reson8" + ] + }, + "apiKey": { + "type": "string", + "pattern": "\\S", + "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" + ] + }, "SonioxCredential": { "type": "object", "properties": { @@ -74656,6 +75400,32 @@ "bucketPlan" ] }, + "CreateReson8CredentialDTO": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": [ + "reson8" + ] + }, + "apiKey": { + "type": "string", + "pattern": "\\S", + "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" + ] + }, "CreateSonioxCredentialDTO": { "type": "object", "properties": { @@ -76391,6 +77161,28 @@ } } }, + "UpdateReson8CredentialDTO": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": [ + "reson8" + ] + }, + "apiKey": { + "type": "string", + "pattern": "\\S", + "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 + } + } + }, "UpdateSonioxCredentialDTO": { "type": "object", "properties": { @@ -80704,6 +81496,16 @@ "call.in-progress.error-vapifault-xai-transcriber-invalid-config", "call.in-progress.error-vapifault-xai-transcriber-server-error", "call.in-progress.error-vapifault-xai-transcriber-failed", + "pipeline-error-reson8-transcriber-auth-failed", + "pipeline-error-reson8-transcriber-rate-limited", + "pipeline-error-reson8-transcriber-invalid-config", + "pipeline-error-reson8-transcriber-closed", + "pipeline-error-reson8-transcriber-failed", + "call.in-progress.error-vapifault-reson8-transcriber-auth-failed", + "call.in-progress.error-vapifault-reson8-transcriber-rate-limited", + "call.in-progress.error-vapifault-reson8-transcriber-invalid-config", + "call.in-progress.error-vapifault-reson8-transcriber-closed", + "call.in-progress.error-vapifault-reson8-transcriber-failed", "pipeline-error-cartesia-transcriber-failed", "call.in-progress.error-vapifault-cartesia-transcriber-failed", "call.in-progress.error-pipeline-no-available-llm-model", @@ -81039,6 +81841,7 @@ "call.in-progress.error-vapifault-cartesia-socket-hang-up", "call.in-progress.error-vapifault-cartesia-requested-payment", "call.in-progress.error-providerfault-cartesia-500-server-error", + "call.in-progress.error-providerfault-cartesia-502-server-error", "call.in-progress.error-providerfault-cartesia-503-server-error", "call.in-progress.error-providerfault-cartesia-522-server-error", "pipeline-error-eleven-labs-voice-not-found", @@ -81159,6 +81962,16 @@ "call.in-progress.error-vapifault-xai-transcriber-invalid-config", "call.in-progress.error-vapifault-xai-transcriber-server-error", "call.in-progress.error-vapifault-xai-transcriber-failed", + "pipeline-error-reson8-transcriber-auth-failed", + "pipeline-error-reson8-transcriber-rate-limited", + "pipeline-error-reson8-transcriber-invalid-config", + "pipeline-error-reson8-transcriber-closed", + "pipeline-error-reson8-transcriber-failed", + "call.in-progress.error-vapifault-reson8-transcriber-auth-failed", + "call.in-progress.error-vapifault-reson8-transcriber-rate-limited", + "call.in-progress.error-vapifault-reson8-transcriber-invalid-config", + "call.in-progress.error-vapifault-reson8-transcriber-closed", + "call.in-progress.error-vapifault-reson8-transcriber-failed", "pipeline-error-cartesia-transcriber-failed", "call.in-progress.error-vapifault-cartesia-transcriber-failed", "call.in-progress.error-warm-transfer-max-duration", @@ -82174,6 +82987,16 @@ "call.in-progress.error-vapifault-xai-transcriber-invalid-config", "call.in-progress.error-vapifault-xai-transcriber-server-error", "call.in-progress.error-vapifault-xai-transcriber-failed", + "pipeline-error-reson8-transcriber-auth-failed", + "pipeline-error-reson8-transcriber-rate-limited", + "pipeline-error-reson8-transcriber-invalid-config", + "pipeline-error-reson8-transcriber-closed", + "pipeline-error-reson8-transcriber-failed", + "call.in-progress.error-vapifault-reson8-transcriber-auth-failed", + "call.in-progress.error-vapifault-reson8-transcriber-rate-limited", + "call.in-progress.error-vapifault-reson8-transcriber-invalid-config", + "call.in-progress.error-vapifault-reson8-transcriber-closed", + "call.in-progress.error-vapifault-reson8-transcriber-failed", "pipeline-error-cartesia-transcriber-failed", "call.in-progress.error-vapifault-cartesia-transcriber-failed", "call.in-progress.error-pipeline-no-available-llm-model", @@ -82509,6 +83332,7 @@ "call.in-progress.error-vapifault-cartesia-socket-hang-up", "call.in-progress.error-vapifault-cartesia-requested-payment", "call.in-progress.error-providerfault-cartesia-500-server-error", + "call.in-progress.error-providerfault-cartesia-502-server-error", "call.in-progress.error-providerfault-cartesia-503-server-error", "call.in-progress.error-providerfault-cartesia-522-server-error", "pipeline-error-eleven-labs-voice-not-found", @@ -82629,6 +83453,16 @@ "call.in-progress.error-vapifault-xai-transcriber-invalid-config", "call.in-progress.error-vapifault-xai-transcriber-server-error", "call.in-progress.error-vapifault-xai-transcriber-failed", + "pipeline-error-reson8-transcriber-auth-failed", + "pipeline-error-reson8-transcriber-rate-limited", + "pipeline-error-reson8-transcriber-invalid-config", + "pipeline-error-reson8-transcriber-closed", + "pipeline-error-reson8-transcriber-failed", + "call.in-progress.error-vapifault-reson8-transcriber-auth-failed", + "call.in-progress.error-vapifault-reson8-transcriber-rate-limited", + "call.in-progress.error-vapifault-reson8-transcriber-invalid-config", + "call.in-progress.error-vapifault-reson8-transcriber-closed", + "call.in-progress.error-vapifault-reson8-transcriber-failed", "pipeline-error-cartesia-transcriber-failed", "call.in-progress.error-vapifault-cartesia-transcriber-failed", "call.in-progress.error-warm-transfer-max-duration", From d86d26797a1debe26f2b03d999bcb407e6a4c24d Mon Sep 17 00:00:00 2001 From: github-actions Date: Thu, 5 Nov 2026 00:24:44 +0000 Subject: [PATCH 5/6] Update API specifications with fern api update --- fern/apis/api/openapi.json | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/fern/apis/api/openapi.json b/fern/apis/api/openapi.json index 2d8be97e6..d34cda010 100644 --- a/fern/apis/api/openapi.json +++ b/fern/apis/api/openapi.json @@ -47715,23 +47715,23 @@ "properties": { "modelLatency": { "type": "number", - "description": "This is the model latency for the first token." + "description": "This is the time in milliseconds from the start of the turn's model stage to the model's first output token.\nIt includes knowledge-base retrieval and request routing before the provider request. 0 when it was not measured on this turn." }, "voiceLatency": { "type": "number", - "description": "This is the voice latency from the model output." + "description": "This is the time in milliseconds from the model's first output token to the first reply audio reaching Vapi's turn-taking buffer.\nIt includes the wait to collect enough text for the first voice request (set by `voice.chunkPlan`), the voice provider's time to first audio, and any sample-rate conversion. 0 when it was not measured on this turn." }, "transcriberLatency": { "type": "number", - "description": "This is the transcriber latency from the user speech." + "description": "This is the time in milliseconds from the user's last voice activity signal, normally the end of speech, to the transcriber returning the words of that speech.\n0 when it was not measured, including when the words arrived before that signal." }, "endpointingLatency": { "type": "number", - "description": "This is the endpointing latency." + "description": "This is the time in milliseconds from the transcriber returning the words to Vapi deciding the turn is over and sending it to the model.\n0 when the reply was not triggered by sending a user transcript to the model." }, "turnLatency": { "type": "number", - "description": "This is the latency for the whole turn." + "description": "This is the time in milliseconds from the user's last voice activity signal to Vapi starting to send the assistant's reply audio.\nIt is computed as `transcriberLatency` + `endpointingLatency` + the time from that decision to the reply starting, so when `transcriberLatency` is 0 because it was not measured, this total leaves that interval out. `modelLatency` and `voiceLatency` fall inside the last part, so the fields do not add up to this value." } } }, @@ -47739,7 +47739,7 @@ "type": "object", "properties": { "turnLatencies": { - "description": "These are the individual latencies for each turn.", + "description": "These are the individual latencies for each turn, in milliseconds, measured on Vapi's servers without network or playback time.\nA turn is recorded only when the assistant replies to the user. A first message the assistant speaks first is not recorded; with `assistant-waits-for-user` it is recorded, with `endpointingLatency` 0. A component that was not measured on a turn is 0.", "type": "array", "items": { "$ref": "#/components/schemas/TurnLatency" @@ -47747,11 +47747,11 @@ }, "modelLatencyAverage": { "type": "number", - "description": "This is the average latency for the model to output the first token." + "description": "This is the average `modelLatency` across `turnLatencies`, in milliseconds.\nTurns that recorded 0 because the model latency was not measured are included in the average." }, "voiceLatencyAverage": { "type": "number", - "description": "This is the average latency for the text to speech." + "description": "This is the average `voiceLatency` across `turnLatencies`, in milliseconds.\nTurns that recorded 0 because the voice latency was not measured are included in the average." }, "transcriberLatencyAverage": { "type": "number", @@ -77237,8 +77237,7 @@ } }, "required": [ - "endUserId", - "organizationId" + "endUserId" ] }, "CredentialSessionError": { From 19ce8aaeddc8e81d1923ceb7bf22a7aadb420f05 Mon Sep 17 00:00:00 2001 From: github-actions Date: Fri, 6 Nov 2026 00:25:12 +0000 Subject: [PATCH 6/6] Update API specifications with fern api update --- fern/apis/api/openapi.json | 72 +++++++++++++++++++++++++++++++++++++- 1 file changed, 71 insertions(+), 1 deletion(-) diff --git a/fern/apis/api/openapi.json b/fern/apis/api/openapi.json index d34cda010..b827ea73d 100644 --- a/fern/apis/api/openapi.json +++ b/fern/apis/api/openapi.json @@ -36277,6 +36277,11 @@ "type": "string", "description": "The host URL for Langfuse project. Eg: https://cloud.langfuse.com" }, + "serverVersion": { + "type": "string", + "description": "The semver version of your Langfuse server, e.g. 3.63.0, as its /api/public/health endpoint reports it. Optional.", + "maxLength": 32 + }, "name": { "type": "string", "description": "This is the name of credential. This is just for your reference.", @@ -66804,6 +66809,10 @@ { "$ref": "#/components/schemas/JSONQueryOnCallTableWithStructuredOutputColumn", "title": "JSONQueryOnCallTableWithStructuredOutputColumn" + }, + { + "$ref": "#/components/schemas/JSONQueryOnEventsTable", + "title": "JSONQueryOnEventsTable" } ] } @@ -66934,6 +66943,10 @@ { "$ref": "#/components/schemas/JSONQueryOnCallTableWithStructuredOutputColumn", "title": "JSONQueryOnCallTableWithStructuredOutputColumn" + }, + { + "$ref": "#/components/schemas/JSONQueryOnEventsTable", + "title": "JSONQueryOnEventsTable" } ] } @@ -67012,6 +67025,10 @@ { "$ref": "#/components/schemas/JSONQueryOnCallTableWithStructuredOutputColumn", "title": "JSONQueryOnCallTableWithStructuredOutputColumn" + }, + { + "$ref": "#/components/schemas/JSONQueryOnEventsTable", + "title": "JSONQueryOnEventsTable" } ] } @@ -67186,6 +67203,10 @@ { "$ref": "#/components/schemas/JSONQueryOnCallTableWithStructuredOutputColumn", "title": "JSONQueryOnCallTableWithStructuredOutputColumn" + }, + { + "$ref": "#/components/schemas/JSONQueryOnEventsTable", + "title": "JSONQueryOnEventsTable" } ] } @@ -67260,6 +67281,10 @@ { "$ref": "#/components/schemas/JSONQueryOnCallTableWithStructuredOutputColumn", "title": "JSONQueryOnCallTableWithStructuredOutputColumn" + }, + { + "$ref": "#/components/schemas/JSONQueryOnEventsTable", + "title": "JSONQueryOnEventsTable" } ] } @@ -67308,6 +67333,10 @@ { "$ref": "#/components/schemas/JSONQueryOnCallTableWithStructuredOutputColumn", "title": "JSONQueryOnCallTableWithStructuredOutputColumn" + }, + { + "$ref": "#/components/schemas/JSONQueryOnEventsTable", + "title": "JSONQueryOnEventsTable" } ] } @@ -67456,6 +67485,10 @@ { "$ref": "#/components/schemas/JSONQueryOnCallTableWithStructuredOutputColumn", "title": "JSONQueryOnCallTableWithStructuredOutputColumn" + }, + { + "$ref": "#/components/schemas/JSONQueryOnEventsTable", + "title": "JSONQueryOnEventsTable" } ] } @@ -67534,6 +67567,10 @@ { "$ref": "#/components/schemas/JSONQueryOnCallTableWithStructuredOutputColumn", "title": "JSONQueryOnCallTableWithStructuredOutputColumn" + }, + { + "$ref": "#/components/schemas/JSONQueryOnEventsTable", + "title": "JSONQueryOnEventsTable" } ] } @@ -67586,6 +67623,10 @@ { "$ref": "#/components/schemas/JSONQueryOnCallTableWithStructuredOutputColumn", "title": "JSONQueryOnCallTableWithStructuredOutputColumn" + }, + { + "$ref": "#/components/schemas/JSONQueryOnEventsTable", + "title": "JSONQueryOnEventsTable" } ] } @@ -67732,12 +67773,13 @@ "operation": { "type": "string", "enum": [ + "count", "average", "sum", "min", "max" ], - "description": "This is the aggregation operation to perform on the column.\nWhen the column is a number type, the operation must be one of the following:\n- average\n- sum\n- min\n- max", + "description": "This is the aggregation operation to perform on the column.\nWhen the column is a number type, the operation must be one of the following:\n- count\n- average\n- sum\n- min\n- max", "example": "sum" }, "name": { @@ -67958,6 +68000,12 @@ "pipeline.denoiserFailed" ] }, + "column": { + "type": "string", + "description": "The structured output an evaluation monitor tracks, as artifact.structuredOutputs[OutputID]", + "example": "artifact.structuredOutputs[1016c445-5a16-410d-a744-3bc07d8b1508]", + "pattern": "^artifact\\.structuredOutputs\\[[^\\]]+\\]$" + }, "operation": { "type": "string", "description": "This is the operation to perform on matching events.\n- \"count\": Returns the raw count of matching events\n- \"percentage\": Returns (count of matching events / total calls) * 100", @@ -68479,6 +68527,10 @@ { "$ref": "#/components/schemas/JSONQueryOnCallTableWithStructuredOutputColumn", "title": "JSONQueryOnCallTableWithStructuredOutputColumn" + }, + { + "$ref": "#/components/schemas/JSONQueryOnEventsTable", + "title": "JSONQueryOnEventsTable" } ] } @@ -68557,6 +68609,10 @@ { "$ref": "#/components/schemas/JSONQueryOnCallTableWithStructuredOutputColumn", "title": "JSONQueryOnCallTableWithStructuredOutputColumn" + }, + { + "$ref": "#/components/schemas/JSONQueryOnEventsTable", + "title": "JSONQueryOnEventsTable" } ] } @@ -68609,6 +68665,10 @@ { "$ref": "#/components/schemas/JSONQueryOnCallTableWithStructuredOutputColumn", "title": "JSONQueryOnCallTableWithStructuredOutputColumn" + }, + { + "$ref": "#/components/schemas/JSONQueryOnEventsTable", + "title": "JSONQueryOnEventsTable" } ] } @@ -73250,6 +73310,11 @@ "type": "string", "description": "The host URL for Langfuse project. Eg: https://cloud.langfuse.com" }, + "serverVersion": { + "type": "string", + "description": "The semver version of your Langfuse server, e.g. 3.63.0, as its /api/public/health endpoint reports it. Optional.", + "maxLength": 32 + }, "id": { "type": "string", "description": "This is the unique identifier for the credential." @@ -76415,6 +76480,11 @@ "type": "string", "description": "The host URL for Langfuse project. Eg: https://cloud.langfuse.com" }, + "serverVersion": { + "type": "string", + "description": "The semver version of your Langfuse server, e.g. 3.63.0, as its /api/public/health endpoint reports it. Optional.", + "maxLength": 32 + }, "name": { "type": "string", "description": "This is the name of credential. This is just for your reference.",