Skip to main content

Create a Call

POST 

/Accounts/:AccountSid/Calls

Create a call.

Permissions

The API token must include the following scopes: Voice.

Request

Path Parameters

    AccountSid uuidrequired

    The Project ID that uniquely identifies the Account to retrieve.

Body

required

    Urlstring

    The URL to handle the call. This parameter allows you to specify a webhook or different route in your code containing XML instructions for how to handle the call. This is required if ApplicationSid is not used.

    Example: http://your-application.com/docs/voice.xml
    ApplicationSiduuid

    The unique identifier of the application used to handle the call. Applications can be created within your portal or via the Create Application endpoint and they contain a set of URLs rather than one URL, making it ideal if you want to use one configuration across many numbers. This is required if Url is not used.

    Fromstring

    The address that initiated the call. Can be either a E.164 formatted number (+xxxxxxxxxxx), or a SIP endpoint (sip:xxx@yyy.zzz).

    Example: +13103384645
    Tostring

    The address that received the call. Can be either a E.164 formatted number (+xxxxxxxxxxx), or a SIP endpoint (sip:xxx@yyy.zzz).

    Example: +13105678901
    CallerIdstring

    The number, in E.164 format, or identifier of the caller.

    Example: +13102259067
    FallbackMethodstring

    Whether the request to FallbackUrl is a GET or a POST. Default is POST. If ApplicationSid is present, this parameter is ignored.

    Possible values: [GET, POST]

    Example: GET
    FallbackUrlstring

    The URL SignalWire will request if errors occur when fetching the Url. If ApplicationSid is present, this parameter is ignored.

    Example: https://your-api-endpoint.com/path
    MachineDetectionstring

    Whether a human or machine picked up the call. Possible values are Enable, DetectMessageEnd and none.

    Possible values: [Enable, DetectMessageEnd, none]

    AsyncAmdboolean

    Whether or not to execute machine detection asynchronously. Possible values are true or false. Default is false.

    AsyncAmdStatusCallbackstring

    The URL to request when the machine detection is completed. This parameter is ignored if AsyncAmd is false.

    Example: https://your-api-endpoint.com/path
    AsyncAmdStatusCallbackMethodstring

    Whether the request to AsyncAmdStatusCallback is a GET or a POST. Default is POST.

    Possible values: [GET, POST]

    Example: GET
    AsyncAmdPartialResultsboolean

    Whether or not to report partial (interim) results to the callback url. Possible values are true or false. Default is false. This parameter is ignored if AsyncAmd is false.

    MachineDetectionSilenceTimeoutnumber

    Number of milliseconds to wait for initial voice before giving up. Must be at least 2000 to a maximum of 10000. Default is 5000 milliseconds.

    MachineDetectionSpeechThresholdnumber

    How many milliseconds of voice to decide it is a machine. Must be at least 1000 to a maximum of 6000. Default is 2400 milliseconds.

    MachineDetectionSpeechEndThresholdnumber

    Number of milliseconds to wait for voice to finish. Must be at least 500 to a maximum of 5000. Default is 1200 milliseconds.

    MachineDetectionTimeoutnumber

    The time SignalWire will wait for machine detection before timing out. Default is 30 seconds.

    MachineWordsThresholdnumber

    How many words to count to decide it is a machine. Must be at least one to a maximum of 100. Default is 6.

    MaxPricePerMinutenumber

    The maximum price in USD acceptable for the call to be created. If the rate for the call is greater than this value, the call will not be created. If not set, all calls will be created. Price can have a maximum of four decimal places, i.e. 0.0075.

    Example: 0.0075
    Methodstring

    Whether the request to Url is a GET or a POST. Default is POST. Ignored if ApplicationSid is present.

    Possible values: [GET, POST]

    Recordboolean

    Whether or not to record a call. Possible values are true or false. Default is false.

    RecordingChannelsstring

    The number of channels in the recording. Can be mono (both legs of call recorded under one channel into one recording file) or dual (each leg of call recorded in separate channels into one recording file).

    RecordingStatusCallbackstring

    The URL to request to when recording is available. See here for the list of parameters passed back to your endpoint.

    Example: https://your-api-endpoint.com/path
    RecordingStatusCallbackMethodstring

    Whether the request to RecordingStatusCallback URL is a GET or a POST. Default is POST.

    Possible values: [GET, POST]

    Example: POST
    RecordingTrackstring

    Specifies whether to record the inbound audio to SignalWire from the called party or the outbound audio from SignalWire to the called party or both the inbound and outbound audio. Defaults to both.

    Example: both
    SipAuthUsernamestring

    The username to authenticate the caller when making an outbound SIP call.

    SipAuthPasswordstring

    The password to authenticate the caller when making an outbound SIP call.

    SendDigitsstring

    The digits to press after a call is connected. Possible values are (0-9), #, *, and w. Each w gives a 0.5 second pause before moving on to the next instruction.

    Example: w
    StatusCallbackstring

    The URL SignalWire will send webhooks to on every requested StatusCallbackEvent event. See here for the list of parameters passed back to your endpoint.

    Example: https://your-api-endpoint.com/path
    StatusCallbackEventstring[]

    The status events that trigger a SignalWire webhook. Possible values are initiated, ringing, answered, and completed. To specify multiple events, repeat the parameter (name and value) as needed. Default is completed.

    Possible values: [initiated, ringing, answered, completed]

    Example: ["completed"]
    StatusCallbackMethodstring

    Whether the request to StatusCallback URL is a GET or a POST. Default is POST. Ignored if ApplicationSid is present.

    Possible values: [GET, POST]

    Example: GET
    Timeoutstring

    The time SignalWire will wait before assuming the call has no answer. Max wait time is 600 seconds. Default is 60 seconds.

    Example: 60
    Trimstring

    Whether leading and trailing silence is trimmed from a recording. Possible values are trim-silence and do-not-trim. Default is trim-silence.

    Possible values: [trim-silence, do-not-trim]

    Example: trim-silence

Responses

OK

Schema

    account_siduuid

    The unique identifier for the account that created this call.

    annotationstring

    The annotation for the call.

    answered_bystring

    Who/what the call was answered by. Possible values are human or machine.

    Possible values: [human, machine]

    Example: machine
    api_version

    The version of the SignalWire API.

    Example: 2010-04-01T00:00:00.000Z
    date_createdstring

    The date, in RFC 2822 GMT format, this call was created.

    Example: Wed, 19 Sept 2018 20:00:00 +0000
    date_updatedstring

    The date, in RFC 2822 GMT format, this call was updated.

    Example: Wed, 19 Sept 2018 21:00:00 +0000
    directionstring

    The direction of the call. Possible values are inbound or outbound.

    Possible values: [inbound, outbound]

    Example: inbound
    durationnumber

    The duration, in seconds, of the call.

    Example: 20
    end_timestring

    The time, in RFC 2822 GMT format, on which the call was terminated.

    Example: Fri, 21 Sept 2018 10:00:00 +0000
    forwarded_fromstring

    The number this call was forwarded from.

    Example: +13102259067
    fromstring

    The address that initiated the call. Can be either a E.164 formatted number (+xxxxxxxxxxx), or a SIP endpoint (sip:xxx@yyy.zzz).

    Example: +13103384645
    formatted_fromstring

    The formatted number that initiated the call.

    Example: +13102259067
    parent_call_siduuid

    The unique identifier for the call that created this call.

    phone_number_siduuid

    Outbound call: the unique identifier for OutgoingCallerId. Inbound call: the unique identifier for IncomingPhoneNumber.

    pricenumber

    The charge for the call.

    Example: 0.003
    price_unitstring

    The currency, in ISO 4127 format, for the price of the call.

    Example: USD
    siduuid

    The unique identifier for the call.

    start_timestring

    The time, in RFC 2822 GMT format, on which the call began.

    Example: Wed, 19 Sept 2018 20:00:01 +0000
    statusstring

    The status of the call.

    Possible values: [queued, ringing, in-progress, canceled, completed, busy, failed]

    Example: queued

    subresource_uris

    object

    A Map of available sub-resources.

    notificationsstring

    The URI for notifications

    Example: /api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Calls/b3877c40-da60-4998-90ad-b792e98472pa/Notifications.json
    recordingsstring

    The URI for recordings

    Example: /api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Calls/b3877c40-da60-4998-90ad-b792e98472pa/Recordings.json
    tostring

    The address that received the call. Can be either a E.164 formatted number (+xxxxxxxxxxx), or a SIP endpoint (sip:xxx@yyy.zzz).

    Example: +13105678901
    formatted_tostring

    The formatted number that received the call.

    Example: (310) 567-8901
    uristring

    The URI for the call.

    Example: /api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Calls/b3877c40-da60-4998-90ad-b792e98472pa.json