Properties
| Name | Type | Description |
|---|---|---|
| fallbackDestination | object | This is the fallback destination an inbound call will be transferred to if: 1. `assistantId` is not set 2. `squadId` is not set 3. and, `assistant-request` message to the `serverUrl` fails If this is |
| hooks | array | This is the hooks that will be used for incoming calls to this phone number. |
| name | string | This is the name of the phone number. This is just for your own reference. |
| assistantId | string | This is the assistant that will be used for incoming calls to this phone number. If neither `assistantId`, `squadId` nor `workflowId` is set, `assistant-request` will be sent to your Server URL. Check |
| workflowId | string | This is the workflow that will be used for incoming calls to this phone number. If neither `assistantId`, `squadId`, nor `workflowId` is set, `assistant-request` will be sent to your Server URL. Check |
| squadId | string | This is the squad that will be used for incoming calls to this phone number. If neither `assistantId`, `squadId`, nor `workflowId` is set, `assistant-request` will be sent to your Server URL. Check `S |
| server | object | This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema. The order of precedence is: 1. assistant.server 2. phoneNumber.server 3. org. |
| sipUri | string | This is the SIP URI of the phone number. You can SIP INVITE this. The assistant attached to this number will answer. This is case-insensitive. |
| authentication | object | This enables authentication for incoming SIP INVITE requests to the `sipUri`. If not set, any username/password to the 401 challenge of the SIP INVITE will be accepted. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/UpdateVapiPhoneNumberDTO",
"title": "UpdateVapiPhoneNumberDTO",
"type": "object",
"properties": {
"fallbackDestination": {
"description": "This is the fallback destination an inbound call will be transferred to if:\n1. `assistantId` is not set\n2. `squadId` is not set\n3. and, `assistant-request` message to the `serverUrl` fails\n\nIf this is not set and above conditions are met, the inbound call is hung up with an error message.",
"oneOf": [
{
"$ref": "#/components/schemas/TransferDestinationNumber",
"title": "NumberTransferDestination"
},
{
"$ref": "#/components/schemas/TransferDestinationSip",
"title": "SipTransferDestination"
}
]
},
"hooks": {
"type": "array",
"description": "This is the hooks that will be used for incoming calls to this phone number.",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/PhoneNumberHookCallRinging",
"title": "PhoneNumberHookCallRinging"
},
{
"$ref": "#/components/schemas/PhoneNumberHookCallEnding",
"title": "PhoneNumberHookCallEnding"
}
]
}
},
"name": {
"type": "string",
"description": "This is the name of the phone number. This is just for your own reference.",
"maxLength": 40
},
"assistantId": {
"type": "string",
"description": "This is the assistant that will be used for incoming calls to this phone number.\n\nIf neither `assistantId`, `squadId` nor `workflowId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected."
},
"workflowId": {
"type": "string",
"description": "This is the workflow that will be used for incoming calls to this phone number.\n\nIf neither `assistantId`, `squadId`, nor `workflowId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected."
},
"squadId": {
"type": "string",
"description": "This is the squad that will be used for incoming calls to this phone number.\n\nIf neither `assistantId`, `squadId`, nor `workflowId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected."
},
"server": {
"description": "This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema.\n\nThe order of precedence is:\n\n1. assistant.server\n2. phoneNumber.server\n3. org.server",
"allOf": [
{
"$ref": "#/components/schemas/Server"
}
]
},
"sipUri": {
"type": "string",
"description": "This is the SIP URI of the phone number. You can SIP INVITE this. The assistant attached to this number will answer.\n\nThis is case-insensitive."
},
"authentication": {
"description": "This enables authentication for incoming SIP INVITE requests to the `sipUri`.\n\nIf not set, any username/password to the 401 challenge of the SIP INVITE will be accepted.",
"allOf": [
{
"$ref": "#/components/schemas/SipAuthentication"
}
]
}
}
}
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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/vapi-updatevapiphonenumberdto"
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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.