{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/ServerMessagePhoneCallControl", "title": "ServerMessagePhoneCallControl", "type": "object", "properties": { "phoneNumber": { "description": "This is the phone number that the message is associated with.", "oneOf": [ { "$ref": "#/components/schemas/CreateByoPhoneNumberDTO", "title": "ByoPhoneNumber" }, { "$ref": "#/components/schemas/CreateTwilioPhoneNumberDTO", "title": "TwilioPhoneNumber" }, { "$ref": "#/components/schemas/CreateVonagePhoneNumberDTO", "title": "VonagePhoneNumber" }, { "$ref": "#/components/schemas/CreateVapiPhoneNumberDTO", "title": "VapiPhoneNumber" }, { "$ref": "#/components/schemas/CreateTelnyxPhoneNumberDTO", "title": "TelnyxPhoneNumber" } ] }, "type": { "type": "string", "description": "This is the type of the message. \"phone-call-control\" is an advanced type of message.\n\nWhen it is requested in `assistant.serverMessages`, the hangup and forwarding responsibilities are delegated to your server. Vapi will no longer do the actual transfer and hangup.", "enum": [ "phone-call-control" ] }, "request": { "type": "string", "description": "This is the request to control the phone call.", "enum": [ "forward", "hang-up" ] }, "destination": { "description": "This is the destination to forward the call to if the request is \"forward\".", "oneOf": [ { "$ref": "#/components/schemas/TransferDestinationNumber", "title": "NumberTransferDestination" }, { "$ref": "#/components/schemas/TransferDestinationSip", "title": "SipTransferDestination" } ] }, "timestamp": { "type": "number", "description": "This is the timestamp of the message." }, "artifact": { "description": "This is a live version of the `call.artifact`.\n\nThis matches what is stored on `call.artifact` after the call.", "allOf": [ { "$ref": "#/components/schemas/Artifact" } ] }, "assistant": { "description": "This is the assistant that the message is associated with.", "allOf": [ { "$ref": "#/components/schemas/CreateAssistantDTO" } ] }, "customer": { "description": "This is the customer that the message is associated with.", "allOf": [ { "$ref": "#/components/schemas/CreateCustomerDTO" } ] }, "call": { "description": "This is the call that the message is associated with.", "allOf": [ { "$ref": "#/components/schemas/Call" } ] }, "chat": { "description": "This is the chat object.", "allOf": [ { "$ref": "#/components/schemas/Chat" } ] } }, "required": [ "type", "request" ] }