Clarification on the transfer control command
# support
e
Hi VAPI team — I need clarification on the transfer control command. I’m calling the controlUrl during a live call to try to transfer the user to another phone number, as described in the docs. I’ve tried all of the following payloads: { "type": "transfer", "phoneNumber": "+1XXXXXXXXXX" } { "type": "transfer", "number": "+1XXXXXXXXXX" } { "type": "transfer", "payload": { "phoneNumber": "+1XXXXXXXXXX" } } { "type": "transfer", "destinations": [{ "type": "number", "number": "+1XXXXXXXXXX", "message": "Transferring..." }] } Every single one fails with an error like: "property phoneNumber should not exist" "property number should not exist" "property payload should not exist" "property destinations should not exist" I’m using the controlUrl provided by the assistant webhook during a live call, and controlEnabled: true is set. The POSTs are hitting successfully (status 200) but the VAPI backend is rejecting the schema. Can you confirm what is the correct payload for initiating a transfer mid-call using controlUrl? And if controlUrl does not support transfers, how can we achieve mid-call transfer to a live agent from our backend? I am using my own customLLM url which points to my python logic using LLM API's and manually coded tool calling functions. Any working example or schema would be massively helpful. Thanks!
v
To attempt a transfer via the controlUrl, use this payload schema (note: other fields like "phoneNumber" or "destinations" will cause errors):
Copy code
json
{
  "type": "transfer",
  "destination": {
    "type": "number",
    "number": "+1234567890"
  }
}
However, documentation indicates that mid-call transfer is best achieved using the
transferCall
tool via your custom LLM integration, not the controlUrl, as direct transfer via controlUrl may not be supported or documented for live calls. Sources: - [Discord Vapi controlUrl transfer payload schema](https://discord.com/channels/1211482211119796234/1341701224814219274) - [Vapi custom LLM tool calling integration documentation](https://docs.vapi.ai/documentation/advanced-concepts/customization/custom-llm/custom-llm-tool-calling-integration)
v
Message marked as helpful by @Evan Mendenhall - Founder! 🎉
e
THis solution worked, thank you. It looks like your documentation is out of date but this solution did the trick!
v
Glad you found a solution!