CreateCallRequest is a JSON Structure definition published by Bandwidth, describing 12 properties, of which 4 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/bandwidth/refs/heads/main/json-structure/voice-create-call-request-structure.json",
"name": "CreateCallRequest",
"description": "CreateCallRequest schema from Bandwidth voice API",
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "The Bandwidth phone number that will make the outbound call, in E.164 format",
"example": "+19195551234"
},
"to": {
"type": "string",
"description": "The destination phone number for the outbound call, in E.164 format",
"example": "+19195554321"
},
"answerUrl": {
"type": "uri",
"description": "The URL to send the answer webhook to when the call is answered. The endpoint should return BXML to control the call flow."
},
"answerMethod": {
"type": "string",
"enum": [
"POST",
"GET"
],
"default": "POST",
"description": "The HTTP method to use for the answer webhook"
},
"answerFallbackUrl": {
"type": "uri",
"description": "Fallback URL for the answer webhook if the primary URL fails"
},
"answerFallbackMethod": {
"type": "string",
"enum": [
"POST",
"GET"
],
"default": "POST",
"description": "The HTTP method for the fallback answer webhook"
},
"disconnectUrl": {
"type": "uri",
"description": "The URL to send the disconnect webhook to when the call ends"
},
"disconnectMethod": {
"type": "string",
"enum": [
"POST",
"GET"
],
"default": "POST",
"description": "The HTTP method for the disconnect webhook"
},
"applicationId": {
"type": "string",
"description": "The ID of the Bandwidth application associated with this call"
},
"tag": {
"type": "string",
"maxLength": 256,
"description": "A custom string to attach to the call for tracking purposes"
},
"callTimeout": {
"type": "double",
"minimum": 1,
"maximum": 300,
"default": 30,
"description": "The timeout in seconds for the outbound call to be answered"
},
"callbackTimeout": {
"type": "double",
"minimum": 1,
"maximum": 25,
"default": 15,
"description": "The timeout in seconds for webhook callback requests"
}
},
"required": [
"from",
"to",
"answerUrl",
"applicationId"
]
}