Karun
11/26/2025, 6:34 PMVapi Support Bot
11/26/2025, 6:35 PMlistenUrl and controlUrl are missing from your call response, double-check that you are sending a POST request to the /call endpoint as shown below, since these URLs should be returned in the monitor object:
bash
curl 'https://api.vapi.ai/call' \
-H 'authorization: Bearer YOUR_API_KEY' \
-H 'content-type: application/json' \
--data-raw '{
"assistantId": "YOUR_ASSISTANT_ID",
"customer": { "number": "+12345678913" },
"phoneNumberId": "YOUR_PHONE_NUMBER_ID"
}'
If the URLs are still missing, this may indicate a backend or configuration issue—please review your request and contact support if the problem persists.
Source: [Vapi Call Features Documentation](https://docs.vapi.ai/calls/call-features)Chiranjeet Mishra
11/28/2025, 12:54 AM/call endpoint to obtain the listenUrl and controlUrl. Here's a brief overview of the process:
1. **Initiate a Call**: Send a POST request to https://api.vapi.ai/call with the required details like assistantId, customer number, and phoneNumberId.
bash
curl 'https://api.vapi.ai/call' \
-H 'authorization: Bearer YOUR_API_KEY' \
-H 'content-type: application/json' \
--data-raw '{ "assistantId": "YOUR_ASSISTANT_ID", "customer": { "number": "CUSTOMER_NUMBER" }, "phoneNumberId": "PHONE_NUMBER_ID" }'
2. **Retrieve URLs**: The response will include the listenUrl and controlUrl within the monitor object.
3. **Perform Call Control Operations**: Once you have the controlUrl, you can post JSON data to control the call, inject messages, or end it. For example, to make the assistant say a message:
bash
curl -X POST 'CONTROL_URL/control' \
-H 'content-type: application/json' \
--data-raw '{ "type": "say", "content": "Your message here." }'
For more detailed instructions, check the [Live Call Control documentation](https://docs.vapi.ai/calls/call-features). If you need to stream audio, you can connect to the listenUrl using a WebSocket as covered in [WebSocket Transport](https://docs.vapi.ai/calls/websocket-transport).