Vapi · Schema

TransferAssistant

Artificial IntelligenceVoiceAgentsReal-TimeCPaaS

Properties

Name Type Description
name string Optional name for the transfer assistant
model object Model configuration for the transfer assistant
voice object These are the options for the transfer assistant's voice.
transcriber object These are the options for the transfer assistant's transcriber.
firstMessage string This is the first message that the transfer assistant will say. This can also be a URL to a custom audio file. If unspecified, assistant will wait for user to speak and use the model to respond once t
backgroundSound object This is the background sound in the transfer assistant call. Default for phone calls is 'office' and default for web calls is 'off'. You can also provide a custom sound by providing a URL to an audio
startSpeakingPlan object This is the plan for when the transfer assistant should start talking. You should configure this if the transfer assistant needs different endpointing behavior than the base assistant. If this is not
firstMessageMode string This is the mode for the first message. Default is 'assistant-speaks-first'. Use: - 'assistant-speaks-first' to have the assistant speak first. - 'assistant-waits-for-user' to have the assistant wait
maxDurationSeconds number This is the maximum duration in seconds for the transfer assistant conversation. After this time, the transfer will be cancelled automatically. @default 120
backgroundSpeechDenoisingPlan object This enables filtering of noise and background speech while the user is talking. Features: - Smart denoising using Krisp - Fourier denoising Smart denoising can be combined with or used independently
silenceTimeoutSeconds number This is the number of seconds of silence to wait before ending the call. Defaults to 30. @default 30
View JSON Schema on GitHub

JSON Schema

vapi-transferassistant-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/TransferAssistant",
  "title": "TransferAssistant",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Optional name for the transfer assistant",
      "maxLength": 100,
      "default": "transfer-assistant",
      "example": "Sales Transfer Assistant"
    },
    "model": {
      "description": "Model configuration for the transfer assistant",
      "allOf": [
        {
          "$ref": "#/components/schemas/TransferAssistantModel"
        }
      ]
    },
    "voice": {
      "description": "These are the options for the transfer assistant's voice.",
      "oneOf": [
        {
          "$ref": "#/components/schemas/AzureVoice",
          "title": "AzureVoice"
        },
        {
          "$ref": "#/components/schemas/CartesiaVoice",
          "title": "CartesiaVoice"
        },
        {
          "$ref": "#/components/schemas/CustomVoice",
          "title": "CustomVoice"
        },
        {
          "$ref": "#/components/schemas/DeepgramVoice",
          "title": "DeepgramVoice"
        },
        {
          "$ref": "#/components/schemas/ElevenLabsVoice",
          "title": "ElevenLabsVoice"
        },
        {
          "$ref": "#/components/schemas/HumeVoice",
          "title": "HumeVoice"
        },
        {
          "$ref": "#/components/schemas/LMNTVoice",
          "title": "LMNTVoice"
        },
        {
          "$ref": "#/components/schemas/NeuphonicVoice",
          "title": "NeuphonicVoice"
        },
        {
          "$ref": "#/components/schemas/OpenAIVoice",
          "title": "OpenAIVoice"
        },
        {
          "$ref": "#/components/schemas/PlayHTVoice",
          "title": "PlayHTVoice"
        },
        {
          "$ref": "#/components/schemas/WellSaidVoice",
          "title": "WellSaidVoice"
        },
        {
          "$ref": "#/components/schemas/RimeAIVoice",
          "title": "RimeAIVoice"
        },
        {
          "$ref": "#/components/schemas/SmallestAIVoice",
          "title": "SmallestAIVoice"
        },
        {
          "$ref": "#/components/schemas/TavusVoice",
          "title": "TavusVoice"
        },
        {
          "$ref": "#/components/schemas/VapiVoice",
          "title": "VapiVoice"
        },
        {
          "$ref": "#/components/schemas/SesameVoice",
          "title": "SesameVoice"
        },
        {
          "$ref": "#/components/schemas/InworldVoice",
          "title": "InworldVoice"
        },
        {
          "$ref": "#/components/schemas/MinimaxVoice",
          "title": "MinimaxVoice"
        }
      ]
    },
    "transcriber": {
      "description": "These are the options for the transfer assistant's transcriber.",
      "oneOf": [
        {
          "$ref": "#/components/schemas/AssemblyAITranscriber",
          "title": "AssemblyAITranscriber"
        },
        {
          "$ref": "#/components/schemas/AzureSpeechTranscriber",
          "title": "AzureSpeechTranscriber"
        },
        {
          "$ref": "#/components/schemas/CustomTranscriber",
          "title": "CustomTranscriber"
        },
        {
          "$ref": "#/components/schemas/DeepgramTranscriber",
          "title": "DeepgramTranscriber"
        },
        {
          "$ref": "#/components/schemas/ElevenLabsTranscriber",
          "title": "ElevenLabsTranscriber"
        },
        {
          "$ref": "#/components/schemas/GladiaTranscriber",
          "title": "GladiaTranscriber"
        },
        {
          "$ref": "#/components/schemas/GoogleTranscriber",
          "title": "GoogleTranscriber"
        },
        {
          "$ref": "#/components/schemas/SpeechmaticsTranscriber",
          "title": "SpeechmaticsTranscriber"
        },
        {
          "$ref": "#/components/schemas/TalkscriberTranscriber",
          "title": "TalkscriberTranscriber"
        },
        {
          "$ref": "#/components/schemas/OpenAITranscriber",
          "title": "OpenAITranscriber"
        },
        {
          "$ref": "#/components/schemas/CartesiaTranscriber",
          "title": "CartesiaTranscriber"
        },
        {
          "$ref": "#/components/schemas/SonioxTranscriber",
          "title": "SonioxTranscriber"
        }
      ]
    },
    "firstMessage": {
      "type": "string",
      "description": "This is the first message that the transfer assistant will say.\nThis can also be a URL to a custom audio file.\n\nIf unspecified, assistant will wait for user to speak and use the model to respond once they speak.",
      "example": "Hello! I understand you need to be transferred. Let me connect you."
    },
    "backgroundSound": {
      "description": "This is the background sound in the transfer assistant call. Default for phone calls is 'office' and default for web calls is 'off'.\nYou can also provide a custom sound by providing a URL to an audio file.",
      "oneOf": [
        {
          "type": "string",
          "enum": [
            "off",
            "office"
          ],
          "example": "office"
        },
        {
          "type": "string",
          "format": "uri",
          "example": "https://www.soundjay.com/ambient/sounds/people-in-lounge-1.mp3"
        }
      ]
    },
    "startSpeakingPlan": {
      "description": "This is the plan for when the transfer assistant should start talking.\n\nYou should configure this if the transfer assistant needs different endpointing behavior than the base assistant.\n\nIf this is not set, the transfer assistant will inherit the start speaking plan from the base assistant.",
      "allOf": [
        {
          "$ref": "#/components/schemas/StartSpeakingPlan"
        }
      ]
    },
    "firstMessageMode": {
      "type": "string",
      "description": "This is the mode for the first message. Default is 'assistant-speaks-first'.\n\nUse:\n- 'assistant-speaks-first' to have the assistant speak first.\n- 'assistant-waits-for-user' to have the assistant wait for the user to speak first.\n- 'assistant-speaks-first-with-model-generated-message' to have the assistant speak first with a message generated by the model based on the conversation state.\n\n@default 'assistant-speaks-first'",
      "enum": [
        "assistant-speaks-first",
        "assistant-speaks-first-with-model-generated-message",
        "assistant-waits-for-user"
      ],
      "example": "assistant-speaks-first"
    },
    "maxDurationSeconds": {
      "type": "number",
      "description": "This is the maximum duration in seconds for the transfer assistant conversation.\nAfter this time, the transfer will be cancelled automatically.\n@default 120",
      "minimum": 10,
      "maximum": 43200,
      "example": 120
    },
    "backgroundSpeechDenoisingPlan": {
      "description": "This enables filtering of noise and background speech while the user is talking.\n\nFeatures:\n- Smart denoising using Krisp\n- Fourier denoising\n\nSmart denoising can be combined with or used independently of Fourier denoising.\n\nOrder of precedence:\n- Smart denoising\n- Fourier denoising",
      "allOf": [
        {
          "$ref": "#/components/schemas/BackgroundSpeechDenoisingPlan"
        }
      ]
    },
    "silenceTimeoutSeconds": {
      "type": "number",
      "description": "This is the number of seconds of silence to wait before ending the call. Defaults to 30.\n\n@default 30",
      "minimum": 10,
      "maximum": 3600
    }
  },
  "required": [
    "model"
  ]
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/vapi-transferassistant"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.