Signals Docs
Programmable Voice calls

CreateCallRequest

To
​string · pattern: ^\+?[0-9]{7,15}$ · required

Destination phone number. E.164 format, or 7 to 15 digits with an optional leading plus sign.

Example: +2348031234567
From
​string · pattern: ^\+?[0-9]{7,15}$ · required

Caller ID to originate the call from. Must be a phone number your Signals project owns; an unowned number returns error 21210.

Example: +2342013300100
Url
​string · uri

Absolute http(s) URL fetched for a OneML document once the call connects. Required unless Twiml is given. If both Url and Twiml are present, Url is used and Twiml is ignored.

Example: https://voice.example.com/oneml/answer
Twiml
​string · maxLength: 4000

Inline OneML document to run instead of fetching Url. Ignored if Url is also present. Must parse as valid OneML, or the request fails with error 12100.

Example: <Response><Say>Your verification code is 4 8 2 9 1 6.</Say></Response>
Method
​string · enum

HTTP method used to fetch Url. Any value other than GET is treated as POST.

Enum values:
GET
POST
Example: POST
Default: POST
StatusCallback
​string · uri

Absolute http(s) URL notified about call status changes.

Example: https://voice.example.com/status-callback
StatusCallbackMethod
​string · enum

HTTP method used to call StatusCallback. Any value other than GET is treated as POST.

Enum values:
GET
POST
Example: POST
Default: POST
StatusCallbackEvent
​string[]

Call lifecycle events that trigger StatusCallback. Repeat the parameter to request more than one event. Defaults to ["completed"] when omitted or empty. Other values are accepted but never match an emitted event.

Enum values:
initiated
ringing
answered
completed
Example: ["initiated","completed"]
Default: ["completed"]
Timeout
​integer · min: 1 · max: 600

Seconds to let the destination ring before the call is treated as unanswered. Values outside 1 to 600 are clamped rather than rejected.

Example: 60
Default: 60
CallerId
​string · pattern: ^\+?[0-9]{7,15}$

Overrides the caller ID presented on this call. Must be a phone number your project owns (error 21210) and in the same format as To and From (error 13214).

Example: +2342013300101
TimeLimit
​integer

Maximum call duration in seconds, measured from answer.

Example: 3600
SendDigits
​string · maxLength: 32 · pattern: ^[0-9A-Da-d#*wW]{0,3…

DTMF digits to play after the call connects. At most 32 characters from 0-9, A-D, a-d, #, *, w and W (w inserts a 0.5 second pause).

Example: 1234#
ApplicationSid
​string

Not supported. Providing ApplicationSid always fails the request with error 21605; use Url or Twiml instead. A Signals voice application ID is not accepted here either.

Example: AP0123456789abcdef0123456789abcdef

UpdateCallRequest

Exactly one of Url, Twiml, or Status is required. Method requires Url.
Url
​string · uri

Absolute HTTP or HTTPS OneML URL for an in-progress call.

Example: https://voice.example.com/oneml/transfer
Method
​string · enum
Enum values:
GET
POST
Default: POST
Twiml
​string · maxLength: 4000

Inline OneML for an in-progress call.

Example: <Response><Hangup/></Response>
Status
​string · enum

completed ends an in-progress call; canceled requires a call that has not answered.

Enum values:
completed
canceled
oneOf
Exactly one variant must match.

Decision Table

VariantMatching Criteria
type = object · requires: Url
type = object · requires: Twiml
type = object · requires: Status
Properties for Variant 1:
Url
​string · uri · required

Absolute HTTP or HTTPS OneML URL for an in-progress call.

Example: https://voice.example.com/oneml/transfer
Method
​string · enum
Enum values:
GET
POST
Default: POST
Twiml
​string · maxLength: 4000

Inline OneML for an in-progress call.

Example: <Response><Hangup/></Response>
Status
​string · enum

completed ends an in-progress call; canceled requires a call that has not answered.

Enum values:
completed
canceled

Call

sid
​string

Unique identifier of this call.

Example: CA5388f7a5e04d0ed71cac5cdf1ea17a53
account_sid
​string

SID of the Voice Account that owns this call.

Example: AC9ce1cd445308e3ec5080c6126288aa09
api_version
​string
date_created
​string

RFC 2822 formatted creation timestamp.

Example: Thu, 02 Jul 2026 12:00:00 +0000
date_updated
​string

RFC 2822 formatted last-update timestamp.

Example: Thu, 02 Jul 2026 12:00:05 +0000
annotation
​string | null

Reserved. Always null.

Example: null
answered_by
​string | null

Reserved for answering-machine detection. Always null.

Example: null
caller_name
​string | null

Reserved for caller name lookup. Always null.

Example: null
direction
​string

Call direction, for example inbound, outbound-api or outbound-dial.

Example: outbound-api
duration
​string | null

Call duration in seconds. Null until the call has ended and been recorded.

Example: 45
end_time
​string | null

RFC 2822 formatted end timestamp. Null until the call ends.

Example: Thu, 02 Jul 2026 12:00:50 +0000
forwarded_from
​string | null

Reserved. Always null.

Example: null
from
​string
from_formatted
​string

Identical to from.

Example: +2342013300100
group_sid
​string | null

Reserved. Always null.

Example: null
trunk_sid
​string | null

Reserved. Always null.

Example: null
parent_call_sid
​string | null

SID of the call that created this one, when applicable.

Example: null
queue_time
​string

Milliseconds the call waited between being queued and initiated. "0" when not applicable.

Example: 0
phone_number_sid
​string | null

SID of the number used for this call, when known.

Example: PN9992109eed74a671cdc4e192a934d43e
price
​string | null

Price field reported by the voice engine. Signals charges for the call appear in Signals usage, not in this field.

Example: null
price_unit
​string | null

Currency of price.

Example: null
start_time
​string | null

RFC 2822 formatted answer timestamp. Null until the call is answered.

Example: Thu, 02 Jul 2026 12:00:05 +0000
status
​string · enum

Current call status.

Enum values:
queued
ringing
in-progress
completed
busy
no-answer
canceled
failed
Example: in-progress
​object

Paths of resources related to this call.

to
​string
to_formatted
​string

Identical to to.

Example: +2348031234567
uri
​string

Path of this call resource.

Example: /2010-04-01/Accounts/AC9ce1cd445308e3ec5080c6126288aa09/Calls/CA5388f7a5e04d0ed71cac5cdf1ea17a53.json

CallList

​Call[]
uri
​string

Path of this request, without query parameters.

Example: /2010-04-01/Accounts/AC9ce1cd445308e3ec5080c6126288aa09/Calls.json
page
​integer

Current page number.

Example: 0
page_size
​integer

Calls per page.

Example: 50
first_page_uri
​string

Path of the first page.

Example: /2010-04-01/Accounts/AC9ce1cd445308e3ec5080c6126288aa09/Calls.json?page=0&page_size=50
next_page_uri
​string

Path of the next page. Omitted when there are no more results.

Example: /2010-04-01/Accounts/AC9ce1cd445308e3ec5080c6126288aa09/Calls.json?page=1&page_size=50
previous_page_uri
​string

Path of the previous page. Omitted on the first page.

Example: /2010-04-01/Accounts/AC9ce1cd445308e3ec5080c6126288aa09/Calls.json?page=0&page_size=50

Recording

sid
​string

Unique identifier of this recording.

Example: REd947fbd985d13ecb4c31eca3186f20bb
account_sid
​string

SID of the Voice Account that owns this recording.

Example: AC9ce1cd445308e3ec5080c6126288aa09
call_sid
​string

SID of the call this recording was captured during.

Example: CA5388f7a5e04d0ed71cac5cdf1ea17a53
duration
​integer

Recording duration in seconds. Omitted until the recording finishes.

Example: 42
format
​string

Media format of the recording, for example wav. Omitted until known.

Example: wav
date_created
​string · date-time

ISO 8601 creation timestamp.

Example: 2026-07-02T12:00:00Z
date_updated
​string · date-time

ISO 8601 last-update timestamp.

Example: 2026-07-02T12:00:42Z
uri
​string

Path of this recording resource.

Example: /2010-04-01/Accounts/AC9ce1cd445308e3ec5080c6126288aa09/Recordings/REd947fbd985d13ecb4c31eca3186f20bb.json

RecordingList

​Recording[]
uri
​string

Path of this request. This list is not paginated.

Example: /2010-04-01/Accounts/AC9ce1cd445308e3ec5080c6126288aa09/Calls/CA5388f7a5e04d0ed71cac5cdf1ea17a53/Recordings.json

CallEventList

​CallEvent[] · required
start
​integer · required

Zero-based position of the first event on this page.

Example: 0
end
​integer · required

Zero-based position of the last event on this page, or start when the page is empty.

Example: 1
page
​integer · required
page_size
​integer · required
uri
​string · required

Path of this page.

Example: /2010-04-01/Accounts/AC9ce1cd445308e3ec5080c6126288aa09/Calls/CA5388f7a5e04d0ed71cac5cdf1ea17a53/Events.json?PageSize=50&Page=0
first_page_uri
​string · required
next_page_uri
​string | null · required

Path of the next page, or null on the last page.

Example: null
previous_page_uri
​string | null · required

Path of the previous page, or null on the first page.

Example: null

CallEvent

​object · required
​object

Your server's response. Omitted when no response was received.

TwilioError

Error body returned by the voice engine for create-call failures.
code
​integer

Twilio-compatible numeric error code.

Example: 21205
message
​string

Human-readable error description.

Example: A valid 'Url' (absolute http(s)) or 'Twiml' must be provided.
more_info
​string · uri

Reference URL for the error code.

Example: https://www.twilio.com/docs/errors/21205
status
​integer

HTTP status code of the response.

Example: 400

Problem

Error document for errors that Signals raises itself.
type
​string · uri · required
title
​string · required
status
​integer · required
detail
​string · required
code
​string · required

Stable machine-readable error code.

Example: voice_route_not_proxied
request_id
​string · required

Identifier of this request, also returned in the X-Request-ID header.

Example: req_0192f3a4b5c67d8e9f0a1b2c3d4e5f60