openapi: 3.0.3
info:
version: 1.0.0
title: cXML API
description: >-
A cXML API to programmatically create and control voice and messaging
applications.
termsOfService: https://signalwire.com/legal/signalwire-cloud-agreement
externalDocs:
url: https://developers.signalwire.com
description: Find more information about this and other SignalWire APIs.
servers:
- url: https://{space_name}.signalwire.com/api/laml/2010-04-01
variables:
space_name:
default: YOUR_SPACE
description: Your SignalWire Space's subdomain.
security:
- basic_auth: []
components:
parameters:
get_call_id:
name: CallSid
in: path
description: The unique identifier for the call.
required: true
schema:
type: string
format: uuid
post_call_id:
name: CallSid
in: path
description: The unique identifier for the call. If set to `Front`, the call to be updated will be the one at the front of the queue.
required: true
schema:
type: string
format: uuid
queue_id:
name: QueueSid
in: path
description: The unique identifier for the queue.
required: true
schema:
type: string
format: uuid
account_id:
name: AccountSid
in: path
description: The unique identifier for the account this Queue is associated with.
required: true
schema:
type: string
format: uuid
url:
name: Url
in: query
required: true
example: http://your-application.com/docs/voice.xml
schema:
type: string
description: The URL to handle after dequeuing the member. This parameter lets you specify a webhook or different route in your code containing XML instructions.
method:
name: Method
in: query
schema:
type: string
enum: [GET, POST]
description: Whether the request to `Url` is a `GET` or a `POST`. Default is `POST`.
securitySchemes:
basic_auth:
type: http
scheme: basic
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/error'
schemas:
date_enqueued:
type: string
description: The date, in RFC 2822 format, the queue member was enqueued.
example: 'Wed, 26 Sept 2018 22:00:00 +0000'
account_id:
type: string
description: The unique identifier for the account this Queue Member is associated with.
example: 'b3877c40-da60-4998-90ad-b792e98472af'
get_call_id:
type: string
description: The unique identifier for the call this Queue Member is associated with.
example: 'b3877c40-da60-4998-90ad-b792e98472af'
post_call_id:
type: string
description: The unique identifier for the call this Queue Member is associated with.
example: 'b3877c40-da60-4998-90ad-b792e98472af'
queue_id:
type: string
description: The unique identifier for the call this Queue Member is associated with.
example: 'b3877c40-da60-4998-90ad-b792e98472qu'
position:
type: string
description: The member's current place in the queue.
example: '1'
wait_time:
type: string
description: The number of seconds the member has been in the queue.
example: '300'
request_url:
type: string
description: The time, in seconds, a member is waiting in a queue.
example: '100'
uri:
type: string
description: The URL of this resource.
example: '/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/LamlBins/5184b831-184f-4209-872d-ccdccc80f2f1'
member:
type: object
properties:
call_sid:
$ref: '#/components/schemas/get_call_id'
date_enqueued:
$ref: '#/components/schemas/date_enqueued'
position:
$ref: '#/components/schemas/position'
uri:
$ref: '#/components/schemas/uri'
wait_time:
$ref: '#/components/schemas/wait_time'
error:
type: object
properties:
code:
type: integer
format: int32
message:
type: string
more_info:
type: string
status:
type: integer
format: int32
required:
- code
- message
- more_info
- status
example:
code: 21205
message: Url or an ApplicationSid must be included.
more_info: https://signalwire.com
status: 400
pagination:
type: object
properties:
uri:
type: string
first_page_uri:
type: string
next_page_uri:
type: string
previous_page_uri:
type: string
page:
type: integer
page_size:
type: integer
tags:
- name: Accounts
- name: Applications
- name: Available Phone Numbers
- name: Calls
- name: Conference Participants
- name: Conference Streams
- name: Conferences
- name: Faxes
- name: Fax Media
- name: Incoming Phone Numbers
- name: cXML Bins
- name: Messages
- name: Media
- name: Recordings
- name: Recording Transcriptions
- name: Queues
- name: Queue Members
- name: Streams
- name: Tokens
paths:
/Accounts:
get:
operationId: list_accounts
summary: List Accounts
description: >
This endpoint will return a list that contains Project you are
connecting as and any subprojects.
#### Permissions
The API token must include the following scopes: _Management_.
tags:
- Accounts
parameters:
- name: FriendlyName
in: query
schema:
type: string
description: >-
A named unique identifier for the resource. Allowed characters:
`A-Za-z0-9_-`. Maximum of 100 characters.
example: My Friendly Name
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
links:
$ref: '#/components/schemas/pagination'
applications:
type: array
items:
type: object
properties:
auth_token:
type: string
description: >-
The authorization token for this Project. This token
should be kept a secret and is not returned in a
normal request.
example: Redacted
date_created:
type: string
description: >-
The date, in RFC 2822 GMT format, this Project was
created.
example: Sat, 15 Sept 2018 10:00:00 +0000
date_updated:
type: string
description: >-
The date, in RFC 2822 GMT format, this Project was
updated.
example: Sat, 16 Sept 2018 10:00:00 +0000
friendly_name:
type: string
description: The name of the Project, up to 250 characters long.
example: My Project
owner_account_sid:
type: string
format: uuid
description: >-
The Project ID that uniquely identifies the parent
of the Project.
sid:
type: string
format: uuid
description: >-
The Project ID that uniquely identifies the Project
to retrieve.
status:
type: string
description: >-
The status of the Project. Possible values are:
active, suspended, or closed.
subproject:
type: boolean
format: boolean
description: Whether or not the project is a sub-project
subresource_uris:
type: object
description: >-
A Map of sub-projects that are linked to the given
Project.
properties:
available_phone_numbers:
type: string
format: uri
calls:
type: string
format: uri
conferences:
type: string
format: uri
incoming_phone_numbers:
type: string
format: uri
notifications:
type: string
format: uri
outgoing_caller_ids:
type: string
format: uri
recordings:
type: string
format: uri
transcriptions:
type: string
format: uri
addresses:
type: string
format: uri
signing_keys:
type: string
format: uri
connect_apps:
type: string
format: uri
sip:
type: string
format: uri
authorized_connect_apps:
type: string
format: uri
usage:
type: string
format: uri
keys:
type: string
format: uri
applications:
type: string
format: uri
short_codes:
type: string
format: uri
queues:
type: string
format: uri
messages:
type: string
format: uri
type:
type: string
description: >-
The type of the Project. Possible values are: Trial
and Full.
example: Full
uri:
type: string
format: uri
description: The URI for the Project.
post:
operationId: create_subprojects
summary: Create Subprojects
description: |
This endpoint create a subproject on the Project you are connecting as.
#### Permissions
The API token must include the following scopes: _Management_.
tags:
- Accounts
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
FriendlyName:
type: string
description: The name of the Project, up to 250 characters long.
example: My Project
required:
- FriendlyName
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
auth_token:
type: string
description: >-
The authorization token for this Project. This token
should be kept a secret and is not returned in a normal
request.
example: Redacted
date_created:
type: string
description: >-
The date, in RFC 2822 GMT format, this Project was
created.
example: Sat, 15 Sept 2018 10:00:00 +0000
date_updated:
type: string
description: >-
The date, in RFC 2822 GMT format, this Project was
updated.
example: Sat, 16 Sept 2018 10:00:00 +0000
friendly_name:
type: string
description: The name of the Project, up to 250 characters long.
example: My Project
owner_account_sid:
type: string
format: uuid
description: >-
The Project ID that uniquely identifies the parent of the
Project.
sid:
type: string
format: uuid
description: >-
The Project ID that uniquely identifies the Project to
retrieve.
status:
type: string
description: >-
The status of the Project. Possible values are: active,
suspended, or closed.
subproject:
type: boolean
format: boolean
description: Whether or not the project is a sub-project
subresource_uris:
type: object
description: >-
A Map of sub-projects that are linked to the given
Project.
properties:
available_phone_numbers:
type: string
format: uri
calls:
type: string
format: uri
conferences:
type: string
format: uri
incoming_phone_numbers:
type: string
format: uri
notifications:
type: string
format: uri
outgoing_caller_ids:
type: string
format: uri
recordings:
type: string
format: uri
transcriptions:
type: string
format: uri
addresses:
type: string
format: uri
signing_keys:
type: string
format: uri
connect_apps:
type: string
format: uri
sip:
type: string
format: uri
authorized_connect_apps:
type: string
format: uri
usage:
type: string
format: uri
keys:
type: string
format: uri
applications:
type: string
format: uri
short_codes:
type: string
format: uri
queues:
type: string
format: uri
messages:
type: string
format: uri
type:
type: string
description: >-
The type of the Project. Possible values are: Trial and
Full.
example: Full
uri:
type: string
format: uri
description: The URI for the Project.
/Accounts/{Sid}:
parameters:
- name: Sid
in: path
description: The Project ID that uniquely identifies the Project to retrieve.
required: true
schema:
type: string
format: uuid
get:
operationId: get_account
summary: Find an Account by ID
description: |
Find a Project (also referred to as _Account_) by ID.
#### Permissions
The API token must include the following scopes: _Management_.
tags:
- Accounts
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
auth_token:
type: string
description: >-
The authorization token for this Project. This token
should be kept a secret and is not returned in a normal
request.
example: Redacted
date_created:
type: string
description: >-
The date, in RFC 2822 GMT format, this Project was
created.
example: Sat, 15 Sept 2018 10:00:00 +0000
date_updated:
type: string
description: >-
The date, in RFC 2822 GMT format, this Project was
updated.
example: Sat, 16 Sept 2018 10:00:00 +0000
friendly_name:
type: string
description: The name of the Project, up to 250 characters long.
example: My Project
owner_account_sid:
type: string
format: uuid
description: >-
The Project ID that uniquely identifies the parent of the
Project.
sid:
type: string
format: uuid
description: >-
The Project ID that uniquely identifies the Project to
retrieve.
status:
type: string
description: >-
The status of the Project. Possible values are: active,
suspended, or closed.
subproject:
type: boolean
format: boolean
description: Whether or not the project is a sub-project
subresource_uris:
type: object
description: >-
A Map of sub-projects that are linked to the given
Project.
properties:
available_phone_numbers:
type: string
format: uri
calls:
type: string
format: uri
conferences:
type: string
format: uri
incoming_phone_numbers:
type: string
format: uri
notifications:
type: string
format: uri
outgoing_caller_ids:
type: string
format: uri
recordings:
type: string
format: uri
transcriptions:
type: string
format: uri
addresses:
type: string
format: uri
signing_keys:
type: string
format: uri
connect_apps:
type: string
format: uri
sip:
type: string
format: uri
authorized_connect_apps:
type: string
format: uri
usage:
type: string
format: uri
keys:
type: string
format: uri
applications:
type: string
format: uri
short_codes:
type: string
format: uri
queues:
type: string
format: uri
messages:
type: string
format: uri
type:
type: string
description: >-
The type of the Project. Possible values are: Trial and
Full.
example: Full
uri:
type: string
format: uri
description: The URI for the Project.
post:
operationId: update_account
summary: Update an Account
description: |
Update a Project (also referred to as _Account_).
#### Permissions
The API token must include the following scopes: _Management_.
tags:
- Accounts
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
FriendlyName:
type: string
description: The name of the Project, up to 250 characters long.
example: My Project
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
auth_token:
type: string
description: >-
The authorization token for this Project. This token
should be kept a secret and is not returned in a normal
request.
example: Redacted
date_created:
type: string
description: >-
The date, in RFC 2822 GMT format, this Project was
created.
example: Sat, 15 Sept 2018 10:00:00 +0000
date_updated:
type: string
description: >-
The date, in RFC 2822 GMT format, this Project was
updated.
example: Sat, 16 Sept 2018 10:00:00 +0000
friendly_name:
type: string
description: The name of the Project, up to 250 characters long.
example: My Project
owner_account_sid:
type: string
format: uuid
description: >-
The Project ID that uniquely identifies the parent of the
Project.
sid:
type: string
format: uuid
description: >-
The Project ID that uniquely identifies the Project to
retrieve.
status:
type: string
description: >-
The status of the Project. Possible values are: active,
suspended, or closed.
subproject:
type: boolean
format: boolean
description: Whether or not the project is a sub-project
subresource_uris:
type: object
description: >-
A Map of sub-projects that are linked to the given
Project.
properties:
available_phone_numbers:
type: string
format: uri
calls:
type: string
format: uri
conferences:
type: string
format: uri
incoming_phone_numbers:
type: string
format: uri
notifications:
type: string
format: uri
outgoing_caller_ids:
type: string
format: uri
recordings:
type: string
format: uri
transcriptions:
type: string
format: uri
addresses:
type: string
format: uri
signing_keys:
type: string
format: uri
connect_apps:
type: string
format: uri
sip:
type: string
format: uri
authorized_connect_apps:
type: string
format: uri
usage:
type: string
format: uri
keys:
type: string
format: uri
applications:
type: string
format: uri
short_codes:
type: string
format: uri
queues:
type: string
format: uri
messages:
type: string
format: uri
type:
type: string
description: >-
The type of the Project. Possible values are: Trial and
Full.
example: Full
uri:
type: string
format: uri
description: The URI for the Project.
/Accounts/{AccountSid}/Applications:
post:
parameters:
- name: AccountSid
in: path
description: The Account ID that has the Application.
required: true
schema:
type: string
format: uuid
operationId: create_application
summary: Create an Application
description: >
Create an Application.
#### Permissions
The API token must include one of the following scopes: _Voice_ or
_Messaging_ or _Fax_.
tags:
- Applications
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
FriendlyName:
type: string
description: >-
A named unique identifier for the resource. Allowed
characters: `A-Za-z0-9_-`. Maximum of 100 characters.
example: My Friendly Name
MessageStatusCallback:
type: string
description: >
If a message's `ApplicationSid` is set to this Application's
`Sid`, when a message receives a status change, SignalWire
will send a `POST` request to this URL with the message's
details.
example: http://www.example.com/sms-status-callback
SmsFallbackMethod:
type: string
description: >-
Whether the request to `SmsFallbackUrl` is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: GET
SmsFallbackUrl:
type: string
description: >-
The URL SignalWire will request if errors occur when
fetching the `SmsUrl`.
example: http://www.example.com/sms-fallback
SmsMethod:
type: string
enum:
- GET
- POST
description: >-
Whether the request to `SmsUrl` is a `GET` or a `POST`.
Default is `POST`.
example: GET
SmsStatusCallback:
type: string
description: >
If a message's `ApplicationSid` is set to this Application's
`Sid`, when a message receives a status change, SignalWire
will send a `POST` request to this URL with the message's
details.
example: http://www.example.com/sms-status-callback
SmsUrl:
type: string
description: The URL to request when an SMS is received.
example: http://example.com
StatusCallback:
type: string
description: The URL to pass status updates to the Application.
example: http://example.com
StatusCallbackMethod:
type: string
description: >-
Whether the request to the `StatusCallback` URL is a `GET`
or a `POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
VoiceCallerIdLookup:
type: boolean
description: >-
Whether or not to look up a caller's ID from the database.
Possible values are `true` or `false`. Default is `false`.
example: false
VoiceFallbackMethod:
type: string
enum:
- GET
- POST
description: >-
Whether the request to `VoiceFallbackUrl` is a `GET` or a
`POST`. Default is `POST`.
example: GET
VoiceFallbackUrl:
type: string
description: >-
The URL SignalWire will request if errors occur when
fetching the `Url`.
example: http://example.com
VoiceMethod:
type: string
enum:
- GET
- POST
description: >-
Whether the request to `VoiceUrl` is a `GET` or a `POST`.
Default is `POST`.
example: GET
VoiceUrl:
type: string
description: >-
The URL to request when a phone number receives a call or
fax.
example: http://example.com
required:
- FriendlyName
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the Account that created this
Application.
example: b3877c40-da60-4998-90ad-b792e98472af
api_version:
type: string
description: The version of the SignalWire API.
example: '2010-04-01'
date_created:
type: string
description: >-
The date, in RFC 2822 GMT format, this Account was
created.
example: Sat, 15 Sept 2018 10:00:00 +0000
date_updated:
type: string
description: >-
The date, in RFC 2822 GMT format, this Account was
updated.
example: Sat, 16 Sept 2018 10:00:00 +0000
sid:
type: string
format: uuid
description: The unique identifier for the Account.
example: b3877c40-da60-4998-90ad-b792e98472af
friendly_name:
type: string
description: >-
A named unique identifier for the resource. Allowed
characters: `A-Za-z0-9_-`. Maximum of 100 characters.
example: My Friendly Name
message_status_callback:
type: string
description: >
If a message's `ApplicationSid` is set to this
Application's `Sid`, when a message receives a status
change, SignalWire will send a `POST` request to this URL
with the message's details.
example: http://www.example.com/sms-status-callback
sms_fallback_method:
type: string
description: >-
Whether the request to `SmsFallbackUrl` is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: GET
sms_fallback_url:
type: string
description: >-
The URL SignalWire will request if errors occur when
fetching the `SmsUrl`.
example: http://www.example.com/sms-fallback
sms_method:
type: string
enum:
- GET
- POST
description: >-
Whether the request to `SmsUrl` is a `GET` or a `POST`.
Default is `POST`.
example: GET
sms_status_callback:
type: string
description: >
If a message's `ApplicationSid` is set to this
Application's `Sid`, when a message receives a status
change, SignalWire will send a `POST` request to this URL
with the message's details.
example: http://www.example.com/sms-status-callback
sms_url:
type: string
description: The URL to request when an SMS is received.
example: http://example.com
status_callback:
type: string
description: The URL to pass status updates to the Application.
example: http://example.com
staus_callback_method:
type: string
description: >-
Whether the request to the `StatusCallback` URL is a `GET`
or a `POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
uri:
type: string
description: The URI for this Application.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Applications/b3877c40-da60-4998-90ad-b792e98472af.json
voice_caller_id_lookup:
type: boolean
description: >-
Whether or not to look up a caller's ID from the database.
Possible values are `true` or `false`. Default is `false`.
example: false
voice_fallback_method:
type: string
enum:
- GET
- POST
description: >-
Whether the request to `VoiceFallbackUrl` is a `GET` or a
`POST`. Default is `POST`.
example: GET
voice_fallback_url:
type: string
description: >-
The URL SignalWire will request if errors occur when
fetching the `Url`.
example: http://example.com
voice_method:
type: string
enum:
- GET
- POST
description: >-
Whether the request to `VoiceUrl` is a `GET` or a `POST`.
Default is `POST`.
example: GET
voice_url:
type: string
description: >-
The URL to request when a phone number receives a call or
fax.
example: http://example.com
get:
parameters:
- name: AccountSid
in: path
description: The Account ID that has the Application.
required: true
schema:
type: string
format: uuid
- name: FriendlyName
in: query
schema:
type: string
description: >-
A named unique identifier for the resource. Allowed characters:
`A-Za-z0-9_-`. Maximum of 100 characters.
example: My Friendly Name
operationId: list_applications
summary: List Applications
description: >
The ability to read all of the applications that are associated with
your Account. This will be returned as a list of applications.
#### Permissions
The API token must include one of the following scopes: _Voice_ or
_Messaging_ or _Fax_.
tags:
- Applications
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
links:
$ref: '#/components/schemas/pagination'
applications:
type: array
items:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the Account that created
this Application.
example: b3877c40-da60-4998-90ad-b792e98472af
api_version:
type: string
description: The version of the SignalWire API.
example: '2010-04-01'
date_created:
type: string
description: >-
The date, in RFC 2822 GMT format, this Account was
created.
example: Sat, 15 Sept 2018 10:00:00 +0000
date_updated:
type: string
description: >-
The date, in RFC 2822 GMT format, this Account was
updated.
example: Sat, 16 Sept 2018 10:00:00 +0000
sid:
type: string
format: uuid
description: The unique identifier for the Account.
example: b3877c40-da60-4998-90ad-b792e98472af
friendly_name:
type: string
description: >-
A named unique identifier for the resource. Allowed
characters: `A-Za-z0-9_-`. Maximum of 100
characters.
example: My Friendly Name
message_status_callback:
type: string
description: >
If a message's `ApplicationSid` is set to this
Application's `Sid`, when a message receives a
status change, SignalWire will send a `POST` request
to this URL with the message's details.
example: http://www.example.com/sms-status-callback
sms_fallback_method:
type: string
description: >-
Whether the request to `SmsFallbackUrl` is a `GET`
or a `POST`. Default is `POST`.
enum:
- GET
- POST
example: GET
sms_fallback_url:
type: string
description: >-
The URL SignalWire will request if errors occur when
fetching the `SmsUrl`.
example: http://www.example.com/sms-fallback
sms_method:
type: string
enum:
- GET
- POST
description: >-
Whether the request to `SmsUrl` is a `GET` or a
`POST`. Default is `POST`.
example: GET
sms_status_callback:
type: string
description: >
If a message's `ApplicationSid` is set to this
Application's `Sid`, when a message receives a
status change, SignalWire will send a `POST` request
to this URL with the message's details.
example: http://www.example.com/sms-status-callback
sms_url:
type: string
description: The URL to request when an SMS is received.
example: http://example.com
status_callback:
type: string
description: The URL to pass status updates to the Application.
example: http://example.com
staus_callback_method:
type: string
description: >-
Whether the request to the `StatusCallback` URL is a
`GET` or a `POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
uri:
type: string
description: The URI for this Application.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Applications/b3877c40-da60-4998-90ad-b792e98472af.json
voice_caller_id_lookup:
type: boolean
description: >-
Whether or not to look up a caller's ID from the
database. Possible values are `true` or `false`.
Default is `false`.
example: false
voice_fallback_method:
type: string
enum:
- GET
- POST
description: >-
Whether the request to `VoiceFallbackUrl` is a `GET`
or a `POST`. Default is `POST`.
example: GET
voice_fallback_url:
type: string
description: >-
The URL SignalWire will request if errors occur when
fetching the `Url`.
example: http://example.com
voice_method:
type: string
enum:
- GET
- POST
description: >-
Whether the request to `VoiceUrl` is a `GET` or a
`POST`. Default is `POST`.
example: GET
voice_url:
type: string
description: >-
The URL to request when a phone number receives a
call or fax.
example: http://example.com
/Accounts/{AccountSid}/Applications/{Sid}:
parameters:
- name: AccountSid
in: path
description: The Account ID that has the Application.
required: true
schema:
type: string
format: uuid
- name: Sid
in: path
description: The Application ID that uniquely identifies the Application.
required: true
schema:
type: string
format: uuid
get:
operationId: get_application
summary: Find an Application by ID
description: >
Find an Application by ID.
#### Permissions
The API token must include one of the following scopes: _Voice_ or
_Messaging_ or _Fax_.
tags:
- Applications
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the Account that created this
Application.
example: b3877c40-da60-4998-90ad-b792e98472af
api_version:
type: string
description: The version of the SignalWire API.
example: '2010-04-01'
date_created:
type: string
description: >-
The date, in RFC 2822 GMT format, this Account was
created.
example: Sat, 15 Sept 2018 10:00:00 +0000
date_updated:
type: string
description: >-
The date, in RFC 2822 GMT format, this Account was
updated.
example: Sat, 16 Sept 2018 10:00:00 +0000
sid:
type: string
format: uuid
description: The unique identifier for the Account.
example: b3877c40-da60-4998-90ad-b792e98472af
friendly_name:
type: string
description: >-
A named unique identifier for the resource. Allowed
characters: `A-Za-z0-9_-`. Maximum of 100 characters.
example: My Friendly Name
message_status_callback:
type: string
description: >
If a message's `ApplicationSid` is set to this
Application's `Sid`, when a message receives a status
change, SignalWire will send a `POST` request to this URL
with the message's details.
example: http://www.example.com/sms-status-callback
sms_fallback_method:
type: string
description: >-
Whether the request to `SmsFallbackUrl` is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: GET
sms_fallback_url:
type: string
description: >-
The URL SignalWire will request if errors occur when
fetching the `SmsUrl`.
example: http://www.example.com/sms-fallback
sms_method:
type: string
enum:
- GET
- POST
description: >-
Whether the request to `SmsUrl` is a `GET` or a `POST`.
Default is `POST`.
example: GET
sms_status_callback:
type: string
description: >
If a message's `ApplicationSid` is set to this
Application's `Sid`, when a message receives a status
change, SignalWire will send a `POST` request to this URL
with the message's details.
example: http://www.example.com/sms-status-callback
sms_url:
type: string
description: The URL to request when an SMS is received.
example: http://example.com
status_callback:
type: string
description: The URL to pass status updates to the Application.
example: http://example.com
staus_callback_method:
type: string
description: >-
Whether the request to the `StatusCallback` URL is a `GET`
or a `POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
uri:
type: string
description: The URI for this Application.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Applications/b3877c40-da60-4998-90ad-b792e98472af.json
voice_caller_id_lookup:
type: boolean
description: >-
Whether or not to look up a caller's ID from the database.
Possible values are `true` or `false`. Default is `false`.
example: false
voice_fallback_method:
type: string
enum:
- GET
- POST
description: >-
Whether the request to `VoiceFallbackUrl` is a `GET` or a
`POST`. Default is `POST`.
example: GET
voice_fallback_url:
type: string
description: >-
The URL SignalWire will request if errors occur when
fetching the `Url`.
example: http://example.com
voice_method:
type: string
enum:
- GET
- POST
description: >-
Whether the request to `VoiceUrl` is a `GET` or a `POST`.
Default is `POST`.
example: GET
voice_url:
type: string
description: >-
The URL to request when a phone number receives a call or
fax.
example: http://example.com
post:
operationId: update_application
summary: Update an Application
description: >
Allows you to modify the properties of an application.
#### Permissions
The API token must include one of the following scopes: _Voice_ or
_Messaging_ or _Fax_.
tags:
- Applications
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
FriendlyName:
type: string
description: >-
A named unique identifier for the resource. Allowed
characters: `A-Za-z0-9_-`. Maximum of 100 characters.
example: My Friendly Name
MessageStatusCallback:
type: string
description: >
If a message's `ApplicationSid` is set to this Application's
`Sid`, when a message receives a status change, SignalWire
will send a `POST` request to this URL with the message's
details.
example: http://www.example.com/sms-status-callback
SmsFallbackMethod:
type: string
description: >-
Whether the request to `SmsFallbackUrl` is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: GET
SmsFallbackUrl:
type: string
description: >-
The URL SignalWire will request if errors occur when
fetching the `SmsUrl`.
example: http://www.example.com/sms-fallback
SmsMethod:
type: string
enum:
- GET
- POST
description: >-
Whether the request to `SmsUrl` is a `GET` or a `POST`.
Default is `POST`.
example: GET
SmsStatusCallback:
type: string
description: >
If a message's `ApplicationSid` is set to this Application's
`Sid`, when a message receives a status change, SignalWire
will send a `POST` request to this URL with the message's
details.
example: http://www.example.com/sms-status-callback
SmsUrl:
type: string
description: The URL to request when an SMS is received.
example: http://example.com
StatusCallback:
type: string
description: The URL to pass status updates to the Application.
example: http://example.com
StatusCallbackMethod:
type: string
description: >-
Whether the request to the `StatusCallback` URL is a `GET`
or a `POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
VoiceFallbackMethod:
type: string
enum:
- GET
- POST
description: >-
Whether the request to `VoiceFallbackUrl` is a `GET` or a
`POST`. Default is `POST`.
example: GET
VoiceFallbackUrl:
type: string
description: >-
The URL SignalWire will request if errors occur when
fetching the `Url`.
example: http://example.com
VoiceMethod:
type: string
enum:
- GET
- POST
description: >-
Whether the request to `VoiceUrl` is a `GET` or a `POST`.
Default is `POST`.
example: GET
VoiceUrl:
type: string
description: >-
The URL to request when a phone number receives a call or
fax.
example: http://example.com
required:
- FriendlyName
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the Account that created this
Application.
example: b3877c40-da60-4998-90ad-b792e98472af
api_version:
type: string
description: The version of the SignalWire API.
example: '2010-04-01'
date_created:
type: string
description: >-
The date, in RFC 2822 GMT format, this Account was
created.
example: Sat, 15 Sept 2018 10:00:00 +0000
date_updated:
type: string
description: >-
The date, in RFC 2822 GMT format, this Account was
updated.
example: Sat, 16 Sept 2018 10:00:00 +0000
sid:
type: string
format: uuid
description: The unique identifier for the Account.
example: b3877c40-da60-4998-90ad-b792e98472af
friendly_name:
type: string
description: >-
A named unique identifier for the resource. Allowed
characters: `A-Za-z0-9_-`. Maximum of 100 characters.
example: My Friendly Name
message_status_callback:
type: string
description: >
If a message's `ApplicationSid` is set to this
Application's `Sid`, when a message receives a status
change, SignalWire will send a `POST` request to this URL
with the message's details.
example: http://www.example.com/sms-status-callback
sms_fallback_method:
type: string
description: >-
Whether the request to `SmsFallbackUrl` is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: GET
sms_fallback_url:
type: string
description: >-
The URL SignalWire will request if errors occur when
fetching the `SmsUrl`.
example: http://www.example.com/sms-fallback
sms_method:
type: string
enum:
- GET
- POST
description: >-
Whether the request to `SmsUrl` is a `GET` or a `POST`.
Default is `POST`.
example: GET
sms_status_callback:
type: string
description: >
If a message's `ApplicationSid` is set to this
Application's `Sid`, when a message receives a status
change, SignalWire will send a `POST` request to this URL
with the message's details.
example: http://www.example.com/sms-status-callback
sms_url:
type: string
description: The URL to request when an SMS is received.
example: http://example.com
status_callback:
type: string
description: The URL to pass status updates to the Application.
example: http://example.com
staus_callback_method:
type: string
description: >-
Whether the request to the `StatusCallback` URL is a `GET`
or a `POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
uri:
type: string
description: The URI for this Application.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Applications/b3877c40-da60-4998-90ad-b792e98472af.json
voice_caller_id_lookup:
type: boolean
description: >-
Whether or not to look up a caller's ID from the database.
Possible values are `true` or `false`. Default is `false`.
example: false
voice_fallback_method:
type: string
enum:
- GET
- POST
description: >-
Whether the request to `VoiceFallbackUrl` is a `GET` or a
`POST`. Default is `POST`.
example: GET
voice_fallback_url:
type: string
description: >-
The URL SignalWire will request if errors occur when
fetching the `Url`.
example: http://example.com
voice_method:
type: string
enum:
- GET
- POST
description: >-
Whether the request to `VoiceUrl` is a `GET` or a `POST`.
Default is `POST`.
example: GET
voice_url:
type: string
description: >-
The URL to request when a phone number receives a call or
fax.
example: http://example.com
delete:
operationId: delete_application
summary: Delete an application.
description: >
If the delete is successful, a 204 response, with no body, will be
returned.
#### Permissions
The API token must include one of the following scopes: _Voice_ or
_Messaging_ or _Fax_.
tags:
- Applications
responses:
'204':
$ref: '#/components/responses/204'
/Accounts/{AccountSid}/AvailablePhoneNumbers/{IsoCountry}/Local:
parameters:
- name: AccountSid
in: path
description: The Project ID that uniquely identifies the Account to retrieve.
required: true
schema:
type: string
format: uuid
- name: IsoCountry
in: path
description: The ISO country code of the number.
required: true
schema:
type: string
example: US
- name: AreaCode
in: query
schema:
type: string
description: >-
Find numbers in the provided area code. Only available for numbers
in US and Canada.
example: '213'
- name: Beta
in: query
schema:
description: >-
New numbers on SignalWire are marked as `beta`. Possible values are
`true` or `false`.
type: boolean
- name: Contains
in: query
schema:
type: string
description: >
Find numbers based off of a pattern. Valid characters are
`[0-9a-zA-Z]`. It is recommended to search for a pattern of at
least three numbers for best results.
example: '555'
- name: ExcludeAllAddressRequired
in: query
schema:
type: boolean
description: >
Whether or not to exclude numbers that require an address anywhere
in the world. Possible values are `true` or `false`, default is
`false`.
- name: ExcludeForeignAddressRequired
in: query
schema:
type: boolean
description: >-
Whether or not to exclude numbers that require a foreign address.
Possible values are `true` or `false`, default is `false`.
- name: ExcludeLocalAddressRequired
in: query
schema:
type: boolean
description: >-
Whether or not to exclude numbers that require a local address.
Possible values are `true` or `false`, default is `false`.
- name: FaxEnabled
in: query
schema:
type: boolean
description: >-
Whether or not a number can receive faxes. Possible values are
`true` or `false`.
- name: InRegion
in: query
schema:
type: string
description: Limits search to same region as number.
example: WA
- name: MmsEnabled
in: query
schema:
type: boolean
description: >-
Whether or not a number can receive MMS messages. Possible values
are `true` or `false`.
- name: SmsEnabled
in: query
schema:
type: boolean
description: >-
Whether or not a number can receive SMS messages. Possible values
are `true` or `false`.
- name: VoiceEnabled
in: query
schema:
type: boolean
description: >-
Whether or not a number can receive calls. Possible values are
`true` or `false`.
get:
tags:
- Available Phone Numbers
operationId: search_local_available_phone_numbers
summary: Search for available phone numbers that match your criteria.
description: |
Search for Local AvailablePhoneNumbers.
#### Permissions
The API token must include the following scopes: _Numbers_.
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
uri:
type: string
description: The URI for the API call.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/AvailablePhoneNumbers/US/Local
available_phone_numbers:
type: array
items:
type: object
properties:
beta:
description: >-
New numbers on SignalWire are marked as `beta`.
Possible values are `true` or `false`.
type: boolean
capabilities:
description: >
Whether or not a number can receive calls and
messages. Possible values are `voice`, `SMS`, `MMS`,
and `Fax`. Each of these values have a boolean value
of `true` or `false`.
type: object
properties:
voice:
type: boolean
description: Whether or not voice is enabled on the number.
SMS:
type: boolean
description: Whether or not SMS is enabled on the number.
MMS:
type: boolean
description: Whether or not MMS is enabled on the number.
fax:
type: boolean
description: Whether or not fax is enabled on the number.
friendly_name:
type: string
description: A formatted version of the number.
example: 253-218-6751
iso_country:
type: string
description: The ISO country code of the number.
example: US
lata:
type: string
description: >-
The LATA of the number. Only available for numbers
in US and Canada.
example: null
nullable: true
latitude:
type: string
description: >-
The latitude of the number. Only available for
numbers in US and Canada.
example: null
longitude:
type: string
description: >-
The longitude of the number. Only available for
numbers in US and Canada.
example: null
phone_number:
type: string
description: The number in E.164 format.
example: '+12532186751'
postal_code:
type: string
description: >-
The postal/zip code of the number. Only available
for numbers in US and Canada.
example: null
rate_center:
type: string
description: >-
The rate center of the number. Only available for
numbers in US and Canada.
example: AUBURN
region:
type: string
description: >-
The state or province abbreviation of the number.
Only available for numbers in US and Canada.
example: WA
/Accounts/{AccountSid}/AvailablePhoneNumbers/{IsoCountry}/TollFree:
parameters:
- name: AccountSid
in: path
description: The Project ID that uniquely identifies the Account to retrieve.
required: true
schema:
type: string
format: uuid
- name: IsoCountry
in: path
description: The ISO country code of the number.
required: true
schema:
type: string
example: US
- name: AreaCode
in: query
schema:
type: string
description: >-
Find numbers in the provided area code. Only available for numbers
in US and Canada.
example: '213'
- name: Beta
in: query
schema:
description: >-
New numbers on SignalWire are marked as `beta`. Possible values are
`true` or `false`.
type: boolean
- name: Contains
in: query
schema:
type: string
description: >
Find numbers based off of a pattern. Valid characters are
`[0-9a-zA-Z]`. It is recommended to search for a pattern of at
least three numbers for best results.
example: '555'
- name: ExcludeAllAddressRequired
in: query
schema:
type: boolean
description: >
Whether or not to exclude numbers that require an address anywhere
in the world. Possible values are `true` or `false`, default is
`false`.
- name: ExcludeForeignAddressRequired
in: query
schema:
type: boolean
description: >-
Whether or not to exclude numbers that require a foreign address.
Possible values are `true` or `false`, default is `false`.
- name: ExcludeLocalAddressRequired
in: query
schema:
type: boolean
description: >-
Whether or not to exclude numbers that require a local address.
Possible values are `true` or `false`, default is `false`.
- name: FaxEnabled
in: query
schema:
type: boolean
description: >-
Whether or not a number can receive faxes. Possible values are
`true` or `false`.
- name: InRegion
in: query
schema:
type: string
description: Limits search to same region as number.
example: WA
- name: MmsEnabled
in: query
schema:
type: boolean
description: >-
Whether or not a number can receive MMS messages. Possible values
are `true` or `false`.
- name: SmsEnabled
in: query
schema:
type: boolean
description: >-
Whether or not a number can receive SMS messages. Possible values
are `true` or `false`.
- name: VoiceEnabled
in: query
schema:
type: boolean
description: >-
Whether or not a number can receive calls. Possible values are
`true` or `false`.
get:
tags:
- Available Phone Numbers
operationId: search_toll_free_available_phone_numbers
summary: Find toll-free numbers.
description: |
Search for toll-free AvailablePhoneNumbers.
#### Permissions
The API token must include the following scopes: _Numbers_.
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
uri:
type: string
description: The URI for the API call.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/AvailablePhoneNumbers/US/Local
available_phone_numbers:
type: array
items:
type: object
properties:
beta:
description: >-
New numbers on SignalWire are marked as `beta`.
Possible values are `true` or `false`.
type: boolean
capabilities:
description: >
Whether or not a number can receive calls and
messages. Possible values are `voice`, `SMS`, `MMS`,
and `Fax`. Each of these values have a boolean value
of `true` or `false`.
type: object
properties:
voice:
type: boolean
description: Whether or not voice is enabled on the number.
SMS:
type: boolean
description: Whether or not SMS is enabled on the number.
MMS:
type: boolean
description: Whether or not MMS is enabled on the number.
fax:
type: boolean
description: Whether or not fax is enabled on the number.
friendly_name:
type: string
description: A formatted version of the number.
example: 253-218-6751
iso_country:
type: string
description: The ISO country code of the number.
example: US
lata:
type: string
description: >-
The LATA of the number. Only available for numbers
in US and Canada.
example: null
nullable: true
latitude:
type: string
description: >-
The latitude of the number. Only available for
numbers in US and Canada.
example: null
longitude:
type: string
description: >-
The longitude of the number. Only available for
numbers in US and Canada.
example: null
phone_number:
type: string
description: The number in E.164 format.
example: '+12532186751'
postal_code:
type: string
description: >-
The postal/zip code of the number. Only available
for numbers in US and Canada.
example: null
rate_center:
type: string
description: >-
The rate center of the number. Only available for
numbers in US and Canada.
example: AUBURN
region:
type: string
description: >-
The state or province abbreviation of the number.
Only available for numbers in US and Canada.
example: WA
/Accounts/{AccountSid}/AvailablePhoneNumbers:
parameters:
- name: AccountSid
in: path
description: The Project ID that uniquely identifies the Account to retrieve.
required: true
schema:
type: string
format: uuid
get:
tags:
- Available Phone Numbers
operationId: list_available_phone_number_resources
summary: List of AvailablePhoneNumber resources
description: >
Returns a list of URIs to phone number resources available to the
account, categorized by type
(Local, Toll-Free, Mobile, etc) and ISO country.
#### Permissions
The API token must include the following scopes: _Numbers_.
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
uri:
type: string
description: The URI for the API call.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/AvailablePhoneNumbers/US/Local
countries:
type: object
properties:
beta:
description: >-
New numbers on SignalWire are marked as `beta`.
Possible values are `true` or `false`.
type: boolean
country:
type: string
description: The country the number is from.
example: United States
country_code:
type: string
description: The ISO country code of the number.
example: US
subresource_uris:
type: object
properties:
local:
type: string
description: The URI of the subresource
example: >-
/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/AvailablePhoneNumbers/US/Local
toll_free:
type: string
description: The URI of the subresource
example: >-
/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/AvailablePhoneNumbers/US/Local
uri:
type: string
description: The URI for the API call.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/AvailablePhoneNumbers/US/Local
/Accounts/{AccountSid}/AvailablePhoneNumbers/{IsoCountry}:
parameters:
- name: AccountSid
in: path
description: The Project ID that uniquely identifies the Account to retrieve.
required: true
schema:
type: string
format: uuid
- name: IsoCountry
in: path
description: The ISO country code of the number.
required: true
schema:
type: string
example: US
get:
tags:
- Available Phone Numbers
operationId: list_available_phone_number_resources_by_country
summary: List of AvailablePhoneNumber resources by country
description: >
Returns a list of URIs to phone number resources available to the
account in the US ISO country,
categorized by type (Local, Toll-Free, Mobile, etc).
#### Permissions
The API token must include the following scopes: _Numbers_.
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
uri:
type: string
description: The URI for the API call.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/AvailablePhoneNumbers/US/Local
beta:
description: >-
New numbers on SignalWire are marked as `beta`. Possible
values are `true` or `false`.
type: boolean
country:
type: string
description: The country the number is from.
example: United States
country_code:
type: string
description: The ISO country code of the number.
example: US
subresource_uris:
type: object
properties:
local:
type: string
description: The URI of the subresource
example: >-
/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/AvailablePhoneNumbers/US/Local
toll_free:
type: string
description: The URI of the subresource
example: >-
/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/AvailablePhoneNumbers/US/Local
/Accounts/{AccountSid}/Calls:
parameters:
- name: AccountSid
in: path
description: The Project ID that uniquely identifies the Account to retrieve.
required: true
schema:
type: string
format: uuid
get:
tags:
- Calls
operationId: list_all_calls
summary: List all Calls
description: |
List all calls.
#### Permissions
The API token must include the following scopes: _Voice_.
parameters:
- in: query
name: EndTime
schema:
type: string
description: >-
The time, in RFC 2822 GMT format, on which the call was
terminated.
example: Fri, 21 Sept 2018 10:00:00 +0000
- in: query
name: EndTime<
schema:
type: string
description: >-
The time, in RFC 2822 GMT format, before which the call was
terminated.
example: Fri, 21 Sept 2018 10:00:00 +0000
- in: query
name: EndTime>
schema:
type: string
description: >-
The time, in RFC 2822 GMT format, after which the call was
terminated.
example: Fri, 21 Sept 2018 10:00:00 +0000
- in: query
name: From
schema:
type: string
description: >-
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'
- in: query
name: ParentCallSid
schema:
type: string
description: The unique identifier for the call that created this call.
format: uuid
- in: query
name: StartTime
schema:
type: string
description: The time, in RFC 2822 GMT format, on which the call began.
example: Wed, 19 Sept 2018 20:00:01 +0000
- in: query
name: StartTime<
schema:
type: string
description: The time, in RFC 2822 GMT format, before which the call began.
example: Wed, 19 Sept 2018 20:00:01 +0000
- in: query
name: StartTime>
schema:
type: string
description: The time, in RFC 2822 GMT format, after which the call began.
example: Wed, 19 Sept 2018 20:00:01 +0000
- in: query
name: Status
schema:
type: string
description: The status of the call.
enum:
- queued
- ringing
- in-progress
- canceled
- completed
- busy
- failed
example: queued
- in: query
name: To
schema:
type: string
description: >-
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'
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/pagination'
- type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that created
this call.
- type: object
properties:
calls:
type: array
items:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that
created this call.
annotation:
type: string
description: The annotation for the call.
answered_by:
type: string
description: >-
Who/what the call was answered by. Possible
values are `human` or `machine`.
enum:
- human
- machine
example: machine
api_version:
description: The version of the SignalWire API.
example: '2010-04-01T00:00:00.000Z'
date_created:
type: string
description: >-
The date, in RFC 2822 GMT format, this call was
created.
example: Wed, 19 Sept 2018 20:00:00 +0000
date_updated:
type: string
description: >-
The date, in RFC 2822 GMT format, this call was
updated.
example: Wed, 19 Sept 2018 21:00:00 +0000
direction:
type: string
description: >-
The direction of the call. Possible values are
`inbound` or `outbound`.
enum:
- inbound
- outbound
example: inbound
duration:
type: number
description: The duration, in seconds, of the call.
example: 20
end_time:
type: string
description: >-
The time, in RFC 2822 GMT format, on which the
call was terminated.
example: Fri, 21 Sept 2018 10:00:00 +0000
forwarded_from:
type: string
description: The number this call was forwarded from.
example: '+13102259067'
from:
type: string
description: >-
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_from:
type: string
description: The formatted number that initiated the call.
example: '+13102259067'
parent_call_sid:
type: string
description: >-
The unique identifier for the call that created
this call.
format: uuid
phone_number_sid:
type: string
description: >-
**Outbound call**: the unique identifier for
`OutgoingCallerId`. **Inbound call**: the unique
identifier for `IncomingPhoneNumber`.
format: uuid
price:
type: number
description: The charge for the call.
example: 0.003
price_unit:
type: string
description: >-
The currency, in ISO 4127 format, for the price
of the call.
example: USD
sid:
type: string
description: The unique identifier for the call.
format: uuid
start_time:
type: string
description: >-
The time, in RFC 2822 GMT format, on which the
call began.
example: Wed, 19 Sept 2018 20:00:01 +0000
status:
type: string
description: The status of the call.
enum:
- queued
- ringing
- in-progress
- canceled
- completed
- busy
- failed
example: queued
subresource_uris:
description: A Map of available sub-resources.
type: object
properties:
notifications:
type: string
description: The URI for notifications
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Calls/b3877c40-da60-4998-90ad-b792e98472pa/Notifications.json
recordings:
type: string
description: The URI for recordings
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Calls/b3877c40-da60-4998-90ad-b792e98472pa/Recordings.json
to:
type: string
description: >-
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_to:
type: string
description: The formatted number that received the call.
example: (310) 567-8901
uri:
type: string
description: The URI for the call.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Calls/b3877c40-da60-4998-90ad-b792e98472pa.json
post:
tags:
- Calls
operationId: create_a_call
summary: Create a Call
description: |
Create a call.
#### Permissions
The API token must include the following scopes: _Voice_.
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
Url:
type: string
description: >-
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
ApplicationSid:
type: string
format: uuid
description: >-
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.
From:
type: string
description: >-
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'
To:
type: string
description: >-
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'
CallerId:
type: string
description: The number, in E.164 format, or identifier of the caller.
example: '+13102259067'
FallbackMethod:
type: string
enum:
- GET
- POST
description: >
Whether the request to `FallbackUrl` is a `GET` or a `POST`.
Default is `POST`. If `ApplicationSid` is present, this
parameter is ignored.
example: GET
FallbackUrl:
type: string
description: >
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
MachineDetection:
type: string
enum:
- Enable
- DetectMessageEnd
- none
description: >-
Whether a human or machine picked up the call. Possible
values are `Enable`, `DetectMessageEnd` and `none`.
AsyncAmd:
type: boolean
description: >-
Whether or not to execute machine detection asynchronously.
Possible values are `true` or `false`. Default is `false`.
AsyncAmdStatusCallback:
type: string
description: >
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
AsyncAmdStatusCallbackMethod:
type: string
enum:
- GET
- POST
description: >
Whether the request to `AsyncAmdStatusCallback` is a `GET`
or a `POST`. Default is `POST`.
example: GET
AsyncAmdPartialResults:
type: boolean
description: >-
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`.
MachineDetectionSilenceTimeout:
type: number
description: >-
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.
MachineDetectionSpeechThreshold:
type: number
description: >-
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.
MachineDetectionSpeechEndThreshold:
type: number
description: >-
Number of milliseconds to wait for voice to finish. Must be
at least `500` to a maximum of `5000`. Default is `1200`
milliseconds.
MachineDetectionTimeout:
type: number
description: >-
The time SignalWire will wait for machine detection before
timing out. Default is `30` seconds.
MachineWordsThreshold:
type: number
description: >-
How many words to count to decide it is a machine. Must be
at least one to a maximum of `100`. Default is `6`.
MaxPricePerMinute:
type: number
description: >
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'
Method:
type: string
description: >-
Whether the request to `Url` is a `GET` or a `POST`. Default
is `POST`. Ignored if `ApplicationSid` is present.
enum:
- GET
- POST
Record:
type: boolean
description: >-
Whether or not to record a call. Possible values are `true`
or `false`. Default is `false`.
RecordingChannels:
type: string
description: >
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).
RecordingStatusCallback:
type: string
description: >
The URL to request to when recording is available. See
[here](https://developer.signalwire.com/compatibility-api/cxml/voice/dial#request-parameters-for-recordingstatuscallback)
for the list of parameters passed back to your endpoint.
example: https://your-api-endpoint.com/path
RecordingStatusCallbackMethod:
type: string
enum:
- GET
- POST
description: >-
Whether the request to `RecordingStatusCallback` URL is a
`GET` or a `POST`. Default is `POST`.
example: POST
RecordingTrack:
type: string
description: >
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
SipAuthUsername:
type: string
description: >-
The username to authenticate the caller when making an
outbound SIP call.
SipAuthPassword:
type: string
description: >-
The password to authenticate the caller when making an
outbound SIP call.
SendDigits:
type: string
description: >
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
StatusCallback:
type: string
description: >
The URL SignalWire will send webhooks to on every requested
`StatusCallbackEvent` event. See
[here](https://developer.signalwire.com/compatibility-api/cxml/voice/#status-callbacks)
for the list of parameters passed back to your endpoint.
example: https://your-api-endpoint.com/path
StatusCallbackEvent:
type: array
description: >
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`.
items:
type: string
enum:
- initiated
- ringing
- answered
- completed
example:
- completed
StatusCallbackMethod:
type: string
description: >
Whether the request to `StatusCallback` URL is a `GET` or a
`POST`. Default is `POST`. Ignored if `ApplicationSid` is
present.
enum:
- GET
- POST
example: GET
Timeout:
type: string
description: >
The time SignalWire will wait before assuming the call has
no answer. Max wait time is `600 seconds`. Default is `60
seconds`.
example: 60
Trim:
type: string
description: >
Whether leading and trailing silence is trimmed from a
recording. Possible values are `trim-silence` and
`do-not-trim`. Default is `trim-silence`.
enum:
- trim-silence
- do-not-trim
example: trim-silence
encoding:
StatusCallbackEvent:
style: form
explode: true
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that created this
call.
annotation:
type: string
description: The annotation for the call.
answered_by:
type: string
description: >-
Who/what the call was answered by. Possible values are
`human` or `machine`.
enum:
- human
- machine
example: machine
api_version:
description: The version of the SignalWire API.
example: '2010-04-01T00:00:00.000Z'
date_created:
type: string
description: The date, in RFC 2822 GMT format, this call was created.
example: Wed, 19 Sept 2018 20:00:00 +0000
date_updated:
type: string
description: The date, in RFC 2822 GMT format, this call was updated.
example: Wed, 19 Sept 2018 21:00:00 +0000
direction:
type: string
description: >-
The direction of the call. Possible values are `inbound`
or `outbound`.
enum:
- inbound
- outbound
example: inbound
duration:
type: number
description: The duration, in seconds, of the call.
example: 20
end_time:
type: string
description: >-
The time, in RFC 2822 GMT format, on which the call was
terminated.
example: Fri, 21 Sept 2018 10:00:00 +0000
forwarded_from:
type: string
description: The number this call was forwarded from.
example: '+13102259067'
from:
type: string
description: >-
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_from:
type: string
description: The formatted number that initiated the call.
example: '+13102259067'
parent_call_sid:
type: string
description: The unique identifier for the call that created this call.
format: uuid
phone_number_sid:
type: string
description: >-
**Outbound call**: the unique identifier for
`OutgoingCallerId`. **Inbound call**: the unique
identifier for `IncomingPhoneNumber`.
format: uuid
price:
type: number
description: The charge for the call.
example: 0.003
price_unit:
type: string
description: >-
The currency, in ISO 4127 format, for the price of the
call.
example: USD
sid:
type: string
description: The unique identifier for the call.
format: uuid
start_time:
type: string
description: The time, in RFC 2822 GMT format, on which the call began.
example: Wed, 19 Sept 2018 20:00:01 +0000
status:
type: string
description: The status of the call.
enum:
- queued
- ringing
- in-progress
- canceled
- completed
- busy
- failed
example: queued
subresource_uris:
description: A Map of available sub-resources.
type: object
properties:
notifications:
type: string
description: The URI for notifications
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Calls/b3877c40-da60-4998-90ad-b792e98472pa/Notifications.json
recordings:
type: string
description: The URI for recordings
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Calls/b3877c40-da60-4998-90ad-b792e98472pa/Recordings.json
to:
type: string
description: >-
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_to:
type: string
description: The formatted number that received the call.
example: (310) 567-8901
uri:
type: string
description: The URI for the call.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Calls/b3877c40-da60-4998-90ad-b792e98472pa.json
'400':
description: |
Error. Call not created.
content:
application/json:
schema:
type: object
properties:
errors:
type: array
description: A list of errors
items:
type: object
properties:
code:
type: string
description: The numeric string identifying the API error code
example: '30010'
message:
type: string
description: Error text
example: >-
Maxpriceperminute was exceeded. This call's cost is
0.008 per minute.
more_info:
type: string
description: Url for more information on error code
example: >-
https://developer.signalwire.com/rest/compatibility-api/error-codes
/Accounts/{AccountSid}/Calls/{Sid}:
parameters:
- name: AccountSid
in: path
description: The Project ID that uniquely identifies the Account to retrieve.
required: true
schema:
type: string
format: uuid
- name: Sid
in: path
description: The Call Sid that uniquely identifies the call to retrieve.
required: true
schema:
type: string
format: uuid
get:
tags:
- Calls
operationId: retrieve_a_call
summary: Retrieve a Call
description: |
Retrieve a call.
#### Permissions
The API token must include the following scopes: _Voice_.
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that created this
call.
annotation:
type: string
description: The annotation for the call.
answered_by:
type: string
description: >-
Who/what the call was answered by. Possible values are
`human` or `machine`.
enum:
- human
- machine
example: machine
api_version:
description: The version of the SignalWire API.
example: '2010-04-01T00:00:00.000Z'
date_created:
type: string
description: The date, in RFC 2822 GMT format, this call was created.
example: Wed, 19 Sept 2018 20:00:00 +0000
date_updated:
type: string
description: The date, in RFC 2822 GMT format, this call was updated.
example: Wed, 19 Sept 2018 21:00:00 +0000
direction:
type: string
description: >-
The direction of the call. Possible values are `inbound`
or `outbound`.
enum:
- inbound
- outbound
example: inbound
duration:
type: number
description: The duration, in seconds, of the call.
example: 20
end_time:
type: string
description: >-
The time, in RFC 2822 GMT format, on which the call was
terminated.
example: Fri, 21 Sept 2018 10:00:00 +0000
forwarded_from:
type: string
description: The number this call was forwarded from.
example: '+13102259067'
from:
type: string
description: >-
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_from:
type: string
description: The formatted number that initiated the call.
example: '+13102259067'
parent_call_sid:
type: string
description: The unique identifier for the call that created this call.
format: uuid
phone_number_sid:
type: string
description: >-
**Outbound call**: the unique identifier for
`OutgoingCallerId`. **Inbound call**: the unique
identifier for `IncomingPhoneNumber`.
format: uuid
price:
type: number
description: The charge for the call.
example: 0.003
price_unit:
type: string
description: >-
The currency, in ISO 4127 format, for the price of the
call.
example: USD
sid:
type: string
description: The unique identifier for the call.
format: uuid
start_time:
type: string
description: The time, in RFC 2822 GMT format, on which the call began.
example: Wed, 19 Sept 2018 20:00:01 +0000
status:
type: string
description: The status of the call.
enum:
- queued
- ringing
- in-progress
- canceled
- completed
- busy
- failed
example: queued
subresource_uris:
description: A Map of available sub-resources.
type: object
properties:
notifications:
type: string
description: The URI for notifications
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Calls/b3877c40-da60-4998-90ad-b792e98472pa/Notifications.json
recordings:
type: string
description: The URI for recordings
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Calls/b3877c40-da60-4998-90ad-b792e98472pa/Recordings.json
to:
type: string
description: >-
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_to:
type: string
description: The formatted number that received the call.
example: (310) 567-8901
uri:
type: string
description: The URI for the call.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Calls/b3877c40-da60-4998-90ad-b792e98472pa.json
post:
tags:
- Calls
operationId: update_a_call
summary: Update a call
description: |
Allows you to modify an active call.
#### Permissions
The API token must include the following scopes: _Voice_.
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
Url:
type: string
description: >-
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
FallbackMethod:
type: string
enum:
- GET
- POST
description: >
Whether the request to `FallbackUrl` is a `GET` or a `POST`.
Default is `POST`. If `ApplicationSid` is present, this
parameter is ignored.
example: GET
FallbackUrl:
type: string
description: >
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
Method:
type: string
description: >-
Whether the request to `Url` is a `GET` or a `POST`. Default
is `POST`. Ignored if `ApplicationSid` is present.
enum:
- GET
- POST
Status:
type: string
description: The status of the call.
enum:
- queued
- ringing
- in-progress
- canceled
- completed
- busy
- failed
example: queued
StatusCallback:
type: string
description: >
The URL SignalWire will send webhooks to on every requested
`StatusCallbackEvent` event. See
[here](https://developer.signalwire.com/compatibility-api/cxml/voice/#status-callbacks)
for the list of parameters passed back to your endpoint.
example: https://your-api-endpoint.com/path
StatusCallbackMethod:
type: string
description: >
Whether the request to `StatusCallback` URL is a `GET` or a
`POST`. Default is `POST`. Ignored if `ApplicationSid` is
present.
enum:
- GET
- POST
example: GET
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that created this
call.
annotation:
type: string
description: The annotation for the call.
answered_by:
type: string
description: >-
Who/what the call was answered by. Possible values are
`human` or `machine`.
enum:
- human
- machine
example: machine
api_version:
description: The version of the SignalWire API.
example: '2010-04-01T00:00:00.000Z'
date_created:
type: string
description: The date, in RFC 2822 GMT format, this call was created.
example: Wed, 19 Sept 2018 20:00:00 +0000
date_updated:
type: string
description: The date, in RFC 2822 GMT format, this call was updated.
example: Wed, 19 Sept 2018 21:00:00 +0000
direction:
type: string
description: >-
The direction of the call. Possible values are `inbound`
or `outbound`.
enum:
- inbound
- outbound
example: inbound
duration:
type: number
description: The duration, in seconds, of the call.
example: 20
end_time:
type: string
description: >-
The time, in RFC 2822 GMT format, on which the call was
terminated.
example: Fri, 21 Sept 2018 10:00:00 +0000
forwarded_from:
type: string
description: The number this call was forwarded from.
example: '+13102259067'
from:
type: string
description: >-
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_from:
type: string
description: The formatted number that initiated the call.
example: '+13102259067'
parent_call_sid:
type: string
description: The unique identifier for the call that created this call.
format: uuid
phone_number_sid:
type: string
description: >-
**Outbound call**: the unique identifier for
`OutgoingCallerId`. **Inbound call**: the unique
identifier for `IncomingPhoneNumber`.
format: uuid
price:
type: number
description: The charge for the call.
example: 0.003
price_unit:
type: string
description: >-
The currency, in ISO 4127 format, for the price of the
call.
example: USD
sid:
type: string
description: The unique identifier for the call.
format: uuid
start_time:
type: string
description: The time, in RFC 2822 GMT format, on which the call began.
example: Wed, 19 Sept 2018 20:00:01 +0000
status:
type: string
description: The status of the call.
enum:
- queued
- ringing
- in-progress
- canceled
- completed
- busy
- failed
example: queued
subresource_uris:
description: A Map of available sub-resources.
type: object
properties:
notifications:
type: string
description: The URI for notifications
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Calls/b3877c40-da60-4998-90ad-b792e98472pa/Notifications.json
recordings:
type: string
description: The URI for recordings
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Calls/b3877c40-da60-4998-90ad-b792e98472pa/Recordings.json
to:
type: string
description: >-
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_to:
type: string
description: The formatted number that received the call.
example: (310) 567-8901
uri:
type: string
description: The URI for the call.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Calls/b3877c40-da60-4998-90ad-b792e98472pa.json
delete:
tags:
- Calls
operationId: delete_a_call
summary: Delete a call
description: >
Delete a call. If the delete is successful, a 204 response, with no
body, will be returned.
#### Permissions
The API token must include the following scopes: _Voice_.
responses:
'204':
$ref: '#/components/responses/204'
/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants/{CallSid}:
parameters:
- name: AccountSid
in: path
description: The unique identifier for the account that created this conference.
required: true
schema:
type: string
format: uuid
- name: ConferenceSid
in: path
description: The unique identifier for the conference this participant is in.
required: true
schema:
type: string
format: uuid
- name: CallSid
in: path
description: >-
The unique identifier for the Participant call connected to this
conference.
required: true
schema:
type: string
format: uuid
get:
tags:
- Conference Participants
operationId: retrieve_participant
summary: Retrieve a Participant
description: |
Retrieve a single Participant.
#### Permissions
The API token must include the following scopes: _Voice_.
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that created this
conference.
call_sid:
type: string
format: uuid
description: >-
The unique identifier for the Participant call connected
to this conference.
call_sid_to_coach:
type: string
format: uuid
description: >
The unique identifier of the participant who is being
coached. The participant being coached is the only
participant who can hear the participant who is coaching.
coaching:
type: boolean
description: >
Whether the participant is coaching another call. Possible
values are `true` or `false`. If not present, defaults to
`false` unless `call_sid_to_coach` is defined. If `true`,
`call_sid_to_coach` must be defined.
example: false
conference_sid:
type: string
format: uuid
description: >-
The unique identifier for the conference this participant
is in.
date_created:
type: string
description: >-
The date, in RFC 2822 format, this conference participant
was created.
example: Mon, 24 Sept 2018 21:00:00 +0000
status:
type: string
enum:
- completed
- in-progress
description: The status of the conference call (?)
date_updated:
type: string
description: >-
The date, in RFC 2822 format, this conference participant
was updated.
example: Tue, 25 Sept 2018 20:00:00 +0000
end_conference_on_exit:
type: boolean
description: >
Whether or not a conference ends when a participant leaves
the conference call. Possible values are `true` or
`false`.
muted:
type: boolean
description: >-
Whether or not a participant is muted. Possible values are
`true` or `false`.
hold:
type: boolean
description: >-
Whether or not a participant is on hold. Possible values
are `true` or `false`.
start_conference_on_enter:
type: boolean
description: >
Whether or not a conference will begin when this
participant enters the conference call. Possible values
are `true` or `false`.
uri:
type: string
description: The URI for this conference participant.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Conferences/b3877c40-da60-4998-90ad-b792e98472pa/Participants/b3877c40-da60-4998-90ad-b792e98472ca.json
post:
tags:
- Conference Participants
operationId: update_participant
summary: Update a Participant
description: >
Allows you to modify the properties of participant in an active
conference call.
#### Permissions
The API token must include the following scopes: _Voice_.
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
AnnounceUrl:
type: string
description: >-
The URL to send conference announcements to.
The `AnnounceUrl` has a maximum length of 60 seconds of audio before timing out.
Additionally, if the `AnnounceUrl` is a `cXML script` using the [`say verb`][/compatibility-api/cxml/voice/say], the url will inherrient the limits of the `say`.
AnnounceMethod:
type: string
enum:
- GET
- POST
example: POST
description: >-
Whether the request to `AnnounceUrl` is a `GET` or a `POST`.
Default is `POST`.
Beep:
type: boolean
description: >-
Whether or not ot play the beep sound when updating the
Participant.
Coaching:
type: boolean
description: >
Whether the participant is coaching another call. Possible
values are `true` or `false`. If not present, defaults to
`false` unless `call_sid_to_coach` is defined. If `true`,
`call_sid_to_coach` must be defined.
example: false
CallSidToCoach:
type: string
format: uuid
description: >
The unique identifier of the participant who is being
coached. The participant being coached is the only
participant who can hear the participant who is coaching.
Hold:
type: boolean
description: >-
Whether or not a participant is on hold. Possible values are
`true` or `false`.
HoldMethod:
type: string
enum:
- GET
- POST
example: POST
description: >-
Whether the request to `HoldUrl` is a `GET` or a `POST`.
Default is `POST`.
HoldUrl:
type: string
description: >-
The URL to send hold music to that will be played when
participant is on hold.
Muted:
type: boolean
description: >-
Whether or not a participant is muted. Possible values are
`true` or `false`.
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that created this
conference.
call_sid:
type: string
format: uuid
description: >-
The unique identifier for the Participant call connected
to this conference.
call_sid_to_coach:
type: string
format: uuid
description: >
The unique identifier of the participant who is being
coached. The participant being coached is the only
participant who can hear the participant who is coaching.
coaching:
type: boolean
description: >
Whether the participant is coaching another call. Possible
values are `true` or `false`. If not present, defaults to
`false` unless `call_sid_to_coach` is defined. If `true`,
`call_sid_to_coach` must be defined.
example: false
conference_sid:
type: string
format: uuid
description: >-
The unique identifier for the conference this participant
is in.
date_created:
type: string
description: >-
The date, in RFC 2822 format, this conference participant
was created.
example: Mon, 24 Sept 2018 21:00:00 +0000
status:
type: string
enum:
- completed
- in-progress
description: The status of the conference call (?)
date_updated:
type: string
description: >-
The date, in RFC 2822 format, this conference participant
was updated.
example: Tue, 25 Sept 2018 20:00:00 +0000
end_conference_on_exit:
type: boolean
description: >
Whether or not a conference ends when a participant leaves
the conference call. Possible values are `true` or
`false`.
muted:
type: boolean
description: >-
Whether or not a participant is muted. Possible values are
`true` or `false`.
hold:
type: boolean
description: >-
Whether or not a participant is on hold. Possible values
are `true` or `false`.
start_conference_on_enter:
type: boolean
description: >
Whether or not a conference will begin when this
participant enters the conference call. Possible values
are `true` or `false`.
uri:
type: string
description: The URI for this conference participant.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Conferences/b3877c40-da60-4998-90ad-b792e98472pa/Participants/b3877c40-da60-4998-90ad-b792e98472ca.json
delete:
tags:
- Conference Participants
operationId: delete_participant
summary: Delete a Participant
description: >
Deleting a participant will take them out of a conference call. If the
delete is successful,
a 204 response, with no body, will be returned.
#### Permissions
The API token must include the following scopes: _Voice_.
responses:
'204':
$ref: '#/components/responses/204'
/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants:
parameters:
- name: AccountSid
in: path
description: The unique identifier for the account that created this conference.
required: true
schema:
type: string
format: uuid
- name: ConferenceSid
in: path
description: The unique identifier for the conference this participant is in.
required: true
schema:
type: string
format: uuid
- name: Muted
in: query
schema:
type: boolean
description: >-
Whether or not a participant is muted. Possible values are `true` or
`false`.
- name: Hold
in: query
schema:
type: boolean
description: >-
Whether or not a participant is on hold. Possible values are `true`
or `false`.
get:
tags:
- Conference Participants
operationId: list_all_participants
summary: List all active Participants
description: >
The ability to read all of the active participants that are associated
with this
conference call. This will be returned as a list of participants.
#### Permissions
The API token must include the following scopes: _Voice_.
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- type: object
properties:
uri:
type: string
first_page_uri:
type: string
next_page_uri:
type: string
previous_page_uri:
type: string
page:
type: integer
page_size:
type: integer
- type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that created
this conference.
conference_sid:
type: string
format: uuid
description: >-
The unique identifier for the conference this
participant is in.
participants:
type: array
items:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that
created this conference.
call_sid:
type: string
format: uuid
description: >-
The unique identifier for the Participant call
connected to this conference.
call_sid_to_coach:
type: string
format: uuid
description: >
The unique identifier of the participant who is
being coached. The participant being coached is
the only participant who can hear the
participant who is coaching.
coaching:
type: boolean
description: >
Whether the participant is coaching another
call. Possible values are `true` or `false`. If
not present, defaults to `false` unless
`call_sid_to_coach` is defined. If `true`,
`call_sid_to_coach` must be defined.
example: false
conference_sid:
type: string
format: uuid
description: >-
The unique identifier for the conference this
participant is in.
date_created:
type: string
description: >-
The date, in RFC 2822 format, this conference
participant was created.
example: Mon, 24 Sept 2018 21:00:00 +0000
status:
type: string
enum:
- completed
- in-progress
description: The status of the conference call (?)
date_updated:
type: string
description: >-
The date, in RFC 2822 format, this conference
participant was updated.
example: Tue, 25 Sept 2018 20:00:00 +0000
end_conference_on_exit:
type: boolean
description: >
Whether or not a conference ends when a
participant leaves the conference call.
Possible values are `true` or `false`.
muted:
type: boolean
description: >-
Whether or not a participant is muted. Possible
values are `true` or `false`.
hold:
type: boolean
description: >-
Whether or not a participant is on hold.
Possible values are `true` or `false`.
start_conference_on_enter:
type: boolean
description: >
Whether or not a conference will begin when this
participant enters the conference call. Possible
values are `true` or `false`.
uri:
type: string
description: The URI for this conference participant.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Conferences/b3877c40-da60-4998-90ad-b792e98472pa/Participants/b3877c40-da60-4998-90ad-b792e98472ca.json
/Accounts/{AccountSid}/Conferences/{Sid}:
parameters:
- name: AccountSid
in: path
description: The unique identifier for the account that created this conference.
required: true
schema:
type: string
format: uuid
- name: Sid
in: path
description: The unique identifier for this conference.
required: true
schema:
type: string
format: uuid
get:
tags:
- Conferences
operationId: retrieve_conference
summary: Retrieve a Conference
description: |
Retrieve a single conference.
#### Permissions
The API token must include the following scopes: _Voice_.
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
description: >-
The unique identifier for the account that created this
conference.
example: b3877c40-da60-4998-90ad-b792e98472ca
api_version:
type: string
description: The version of the SignalWire API.
example: '2010-04-01'
date_created:
type: string
description: The date, in RFC 2822 format, this conference was created.
date_updated:
type: string
description: The date, in RFC 2822 format, this conference was updated.
friendly_name:
type: string
description: >-
A description, up to 64 characters, of the conference
room.
region:
type: string
description: >
The region where this conference audio was mixed.
Possible values are `us1`, `us2`, `ie1`, `de1`, `sg1`,
`br1`, `au1`, and `jp1`.
enum:
- us1
- us2
- ie1
- de1
- sg1
- br1
- au1
- jp1
example: us1
sid:
type: string
description: The unique identifier for this conference.
status:
type: string
description: The status of this conference.
example: completed
uri:
type: string
description: The URI for this conference.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Conferences/b3877c40-da60-4998-90ad-b792e98472ca.json
subresource_uris:
description: The links to associated subresources.
type: object
properties:
participants:
type: string
description: Links to the participants
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Conferences/b3877c40-da60-4998-90ad-b792e98472ca/Participants.json
recordings:
type: string
description: Links to the recordings
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Conferences/b3877c40-da60-4998-90ad-b792e98472ca/Recordings.json
post:
tags:
- Conferences
operationId: update_conference
summary: Update Conference
description: |
Allows you to modify the properties of a conference.
#### Permissions
The API token must include the following scopes: _Voice_.
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
AnnounceMethod:
type: string
enum:
- GET
- POST
example: POST
description: >-
Whether the request to `AnnounceUrl` is a `GET` or a `POST`.
Default is `POST`
AnnounceUrl:
type: string
description: >-
The URL to send conference announcements to.
The `AnnounceUrl` has a maximum length of 60 seconds of audio before timing out.
Additionally, if the `AnnounceUrl` is a `cXML script` using the [`say verb`][/compatibility-api/cxml/voice/say], the url will inherrient the limits of the `say`.
Status:
type: string
description: The status of this conference.
example: completed
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
description: >-
The unique identifier for the account that created this
conference.
example: b3877c40-da60-4998-90ad-b792e98472ca
api_version:
type: string
description: The version of the SignalWire API.
example: '2010-04-01'
date_created:
type: string
description: The date, in RFC 2822 format, this conference was created.
date_updated:
type: string
description: The date, in RFC 2822 format, this conference was updated.
friendly_name:
type: string
description: >-
A description, up to 64 characters, of the conference
room.
region:
type: string
description: >
The region where this conference audio was mixed.
Possible values are `us1`, `us2`, `ie1`, `de1`, `sg1`,
`br1`, `au1`, and `jp1`.
enum:
- us1
- us2
- ie1
- de1
- sg1
- br1
- au1
- jp1
example: us1
sid:
type: string
description: The unique identifier for this conference.
status:
type: string
description: The status of this conference.
example: completed
uri:
type: string
description: The URI for this conference.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Conferences/b3877c40-da60-4998-90ad-b792e98472ca.json
subresource_uris:
description: The links to associated subresources.
type: object
properties:
participants:
type: string
description: Links to the participants
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Conferences/b3877c40-da60-4998-90ad-b792e98472ca/Participants.json
recordings:
type: string
description: Links to the recordings
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Conferences/b3877c40-da60-4998-90ad-b792e98472ca/Recordings.json
/Accounts/{AccountSid}/Conferences:
parameters:
- name: AccountSid
in: path
description: The unique identifier for the account that created this conference.
required: true
schema:
type: string
format: uuid
- name: DateCreated
in: query
schema:
type: string
description: >
Shows conferences that were created on the date provided. Format as
`YYYY-MM-DD` in UTC. You can also append `<` or `>` to return a
range of conferences. For example, use `DateCreated<` to return
conferences created on or before midnight of the date, or
`DateCreated>` to return conferences created on or after midnight of
the date.
- name: DateUpdated
in: query
schema:
type: string
description: >
Shows conferences that were updated on the date provided. Format as
`YYYY-MM-DD` in UTC. You can also append `<` or `>` to return a
range of conferences. For example, use `DateCreated<` to return
conferences updated on or before midnight of the date, or
`DateCreated>` to return conferences updated on or after midnight of
the date.
- name: FriendlyName
in: query
schema:
type: string
description: A description, up to 64 characters, of the conference room.
- name: Status
in: query
schema:
type: string
description: The status of this conference.
example: completed
get:
tags:
- Conferences
operationId: list_all_conferences
summary: List All Conference
description: >
The ability to read all of the conferences that are associated with your
SignalWire account. This will be returned as a list of conferences.
#### Permissions
The API token must include the following scopes: _Voice_.
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- type: object
properties:
uri:
type: string
first_page_uri:
type: string
next_page_uri:
type: string
previous_page_uri:
type: string
page:
type: integer
page_size:
type: integer
- type: object
properties:
account_sid:
type: string
description: >-
The unique identifier for the account that created
this conference.
example: b3877c40-da60-4998-90ad-b792e98472ca
conferences:
type: array
items:
type: object
properties:
account_sid:
type: string
description: >-
The unique identifier for the account that
created this conference.
example: b3877c40-da60-4998-90ad-b792e98472ca
api_version:
type: string
description: The version of the SignalWire API.
example: '2010-04-01'
date_created:
type: string
description: >-
The date, in RFC 2822 format, this conference
was created.
date_updated:
type: string
description: >-
The date, in RFC 2822 format, this conference
was updated.
friendly_name:
type: string
description: >-
A description, up to 64 characters, of the
conference room.
region:
type: string
description: >
The region where this conference audio was
mixed. Possible values are `us1`, `us2`, `ie1`,
`de1`, `sg1`, `br1`, `au1`, and `jp1`.
enum:
- us1
- us2
- ie1
- de1
- sg1
- br1
- au1
- jp1
example: us1
sid:
type: string
description: The unique identifier for this conference.
status:
type: string
description: The status of this conference.
example: completed
uri:
type: string
description: The URI for this conference.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Conferences/b3877c40-da60-4998-90ad-b792e98472ca.json
subresource_uris:
description: The links to associated subresources.
type: object
properties:
participants:
type: string
description: Links to the participants
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Conferences/b3877c40-da60-4998-90ad-b792e98472ca/Participants.json
recordings:
type: string
description: Links to the recordings
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Conferences/b3877c40-da60-4998-90ad-b792e98472ca/Recordings.json
/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Streams:
post:
parameters:
- name: AccountSid
in: path
description: >-
The unique identifier for the account that is associated with this
stream.
required: true
schema:
type: string
format: uuid
- name: ConferenceSid
in: path
description: >-
The unique identifier for the conference that is associated with this
stream.
required: true
schema:
type: string
format: uuid
operationId: create_conference_stream
summary: Create a Conference Stream.
description: |
Create a stream for an existing conference.
#### Permissions
The API token must include the following scopes: _Voice_.
tags:
- Conference Streams
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
Name:
type: string
description: >-
Unique name for the Stream, per Conference. It is used to stop a
Stream by name.
example: my_conference_stream
Track:
type: string
description: >-
This attribute can be one of inbound_track, outbound_track,
both_tracks. Default is `both_tracks`.
enum:
- inbound_track
- outbound_track
- both_tracks
example: both_tracks
StatusCallbackMethod:
type: string
description: >-
Whether the request to `StatusCallback` URL is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: GET
StatusCallback:
type: string
description: The URL to request to when stream is available.
example: 'null'
Url:
type: string
description: >-
Absolute or relative URL. A WebSocket connection to the url
will be established and audio will start flowing towards the
Websocket server. The only supported protocol is wss. For
security reasons ws is NOT supported.
example: wss://your-application.com/audiostream
StreamCodec:
type: string
description: The audio codec to use for the stream.
enum:
- PCMU
- PCMA
- L16
- L16@16000h
- L16@24000h
example: PCMU
StreamRealTime:
type: boolean
description: Enable real-time streaming for the conference stream.
example: true
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- account_sid
- conference_sid
- sid
- name
- status
- date_updated
- uri
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that is associated
with this stream.
example: abc123-def456-ghi789
conference_sid:
type: string
description: >-
The unique identifier for the conference that is associated with
this stream.
example: conf_abc123
sid:
type: string
description: The unique identifier for the stream.
example: stream_xyz789
name:
type: string
description: >-
Unique name for the Stream, per Conference. It is used to stop a
Stream by name.
example: my_conference_stream
status:
type: string
description: The status of the stream.
enum:
- in-progress
- stopped
example: in-progress
date_updated:
type: string
description: The date, in RFC 2822 format, this stream was updated.
example: Mon, 30 Oct 2023 15:35:13 +0000
uri:
type: string
description: The URI of the stream.
example: >-
/api/laml/2010-04-01/Accounts/abc123-def456-ghi789/Conferences/conf_abc123/Streams/stream_xyz789.json
'422':
description: Unprocessable Entity
content:
application/json:
schema:
type: object
required:
- errors
properties:
errors:
type: array
items:
type: string
description: List of validation error messages.
example: ['Validation error message']
/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Streams/{Sid}:
post:
parameters:
- name: AccountSid
in: path
description: >-
The unique identifier for the account that is associated with this
stream.
required: true
schema:
type: string
format: uuid
- name: ConferenceSid
in: path
description: >-
The unique identifier for the conference that is associated with this
stream.
required: true
schema:
type: string
format: uuid
- name: Sid
in: path
description: The unique identifier for the stream.
required: true
schema:
type: string
format: uuid
operationId: update_conference_stream
summary: Update Conference Stream
description: |
Update an existing conference stream. Commonly used to stop/start streams or modify stream properties.
#### Permissions
The API token must include the following scopes: _Voice_.
tags:
- Conference Streams
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- Status
properties:
Status:
type: string
description: The status of the stream.
enum:
- in-progress
- stopped
example: stopped
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- account_sid
- conference_sid
- sid
- name
- status
- date_updated
- uri
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that is associated
with this stream.
example: abc123-def456-ghi789
conference_sid:
type: string
description: >-
The unique identifier for the conference that is associated with
this stream.
example: conf_abc123
sid:
type: string
description: The unique identifier for the stream.
example: stream_xyz789
name:
type: string
description: >-
Unique name for the Stream, per Conference. It is used to stop a
Stream by name.
example: my_conference_stream
status:
type: string
description: The status of the stream.
enum:
- in-progress
- stopped
example: stopped
date_updated:
type: string
description: The date, in RFC 2822 format, this stream was updated.
example: Mon, 30 Oct 2023 16:45:22 +0000
uri:
type: string
description: The URI of the stream.
example: >-
/api/laml/2010-04-01/Accounts/abc123-def456-ghi789/Conferences/conf_abc123/Streams/stream_xyz789.json
'422':
description: Unprocessable Entity
content:
application/json:
schema:
type: object
required:
- errors
properties:
errors:
type: array
items:
type: string
description: List of validation error messages.
example: ['Validation error message']
/Accounts/{AccountSid}/Faxes:
get:
parameters:
- name: AccountSid
in: path
description: The Project ID that uniquely identifies the Account to retrieve.
required: true
schema:
type: string
format: uuid
- name: DateCreatedAfter
in: query
schema:
type: string
description: >-
Filter the returned list of faxes to only those that were created
after the specified date.
example: '2018-11-26T20:00:00Z'
- name: DateCreatedOnOrBefore
in: query
schema:
type: string
description: >-
Filter the returned list of faxes to only those that were created
on or before the specified date.
example: '2017-06-26T20:00:00Z'
- name: From
in: query
schema:
type: string
description: The phone number, in E.164 format, the fax was sent from.
example: '+13103383454'
- name: To
in: query
schema:
type: string
description: The phone number, in E.164 format, the fax was sent to.
example: '+13104456789'
operationId: list_all_faxes
summary: List all Faxes
description: >
The ability to read all of the faxes that are associated with your
Account. This will be returned as a list of faxes.
#### Permissions
The API token must include the following scopes: _Fax_.
tags:
- Faxes
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/pagination'
- type: object
properties:
key:
description: The name of the object
example: faxes
faxes:
type: array
items:
type: object
properties:
account_sid:
type: string
description: >-
The unique identifier for the account this fax is
associated with.
example: b3877c40-da60-4998-90ad-b792e98472ac
api_version:
type: string
description: The version of the SignalWire API.
example: v1
date_created:
type: string
description: >-
The date and time, in ISO 8601 format, the fax was
created.
example: '2018-11-26T20:00:00Z'
date_updated:
type: string
description: >-
The date and time, in ISO 8601 format, the fax was
updated.
example: '2018-11-27T20:00:00Z'
direction:
type: string
description: >-
The direction of the fax. Possible values are
`inbound` or `outbound`.
enum:
- inbound
- outbound
example: outbound
from:
type: string
description: >-
The phone number, in E.164 format, the fax was sent
from.
example: '+13103383454'
media_url:
type: string
description: >-
The URL hosting the received media. Can use this URL
to download incoming media. Optionally pass a
username and password using the format
"https://user:pass@example.com/path/to/fax.pdf".
example: https://example.com/fax.pdf
media_sid:
type: string
description: >-
ThThe unique identifier for the media instance
associated with the fax instance.
example: b3877c40-da60-4998-90ad-b792e98472me
num_pages:
type: string
description: The number of pages in the fax document.
example: 'null'
price:
type: string
description: The cost of the fax.
example: 'null'
price_unit:
type: string
description: The currency, in ISO 4217 format, of the price.
example: 'null'
quality:
type: string
description: The quality of the fax.
enum:
- standard
- fine
- superfine
example: standard
sid:
type: string
description: The unique identifier of the fax.
example: b3877c40-da60-4998-90ad-b792e98472fx
status:
type: string
description: The status of the fax.
enum:
- queued
- processing
- sending
- delivered
- receiving
- received
- no-answer
- busy
- failed
- canceled
example: queued
to:
type: string
description: >-
The phone number, in E.164 format, the fax was sent
to.
example: '+13104456789'
duration:
type: integer
description: The time, in seconds, it took to deliver a fax.
example: '5000'
links:
type: object
description: The URL links for resources associated with the fax.
properties:
media:
type: string
description: Media associated with this fax.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472ac/Faxes/b3877c40-da60-4998-90ad-b792e98472fx/Media
url:
type: string
description: The URL of this resource.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472ac/Faxes/b3877c40-da60-4998-90ad-b792e98472fx
error_code:
type: string
description: Error code for this resource (if available).
example: '34004'
error_message:
type: string
description: The description of this error (if available).
example: The call dropped prematurely
post:
parameters:
- name: AccountSid
in: path
description: The Project ID that uniquely identifies the Account to retrieve.
required: true
schema:
type: string
format: uuid
operationId: send_fax
summary: Send a Fax
description: |
Send a fax.
#### Permissions
The API token must include the following scopes: _Fax_.
tags:
- Faxes
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- MediaUrl
- To
- From
properties:
MediaUrl:
type: string
description: >-
The URL hosting the received media. Can use this URL to
download incoming media. Optionally pass a username and
password using the format
"https://user:pass@example.com/path/to/fax.pdf".
example: https://example.com/fax.pdf
To:
type: string
description: The phone number, in E.164 format, the fax was sent to.
example: '+13104456789'
From:
type: string
description: The phone number, in E.164 format, the fax was sent from.
example: '+13103383454'
Quality:
type: string
description: The quality of the fax.
enum:
- standard
- fine
- superfine
example: standard
StatusCallback:
type: string
description: >
The URL to send a `POST` request when the status of a fax
changes. See
[here](https://developer.signalwire.com/compatibility-api/cxml/fax#statuscallback-when-sending-a-fax)
for the list of parameters passed back to your endpoint.
example: https://your-api-endpoint.com/path
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
description: >-
The unique identifier for the account this fax is
associated with.
example: b3877c40-da60-4998-90ad-b792e98472ac
api_version:
type: string
description: The version of the SignalWire API.
example: v1
date_created:
type: string
description: >-
The date and time, in ISO 8601 format, the fax was
created.
example: '2018-11-26T20:00:00Z'
date_updated:
type: string
description: >-
The date and time, in ISO 8601 format, the fax was
updated.
example: '2018-11-27T20:00:00Z'
direction:
type: string
description: >-
The direction of the fax. Possible values are `inbound` or
`outbound`.
enum:
- inbound
- outbound
example: outbound
from:
type: string
description: The phone number, in E.164 format, the fax was sent from.
example: '+13103383454'
media_url:
type: string
description: >-
The URL hosting the received media. Can use this URL to
download incoming media. Optionally pass a username and
password using the format
"https://user:pass@example.com/path/to/fax.pdf".
example: https://example.com/fax.pdf
media_sid:
type: string
description: >-
ThThe unique identifier for the media instance associated
with the fax instance.
example: b3877c40-da60-4998-90ad-b792e98472me
num_pages:
type: string
description: The number of pages in the fax document.
example: 'null'
price:
type: string
description: The cost of the fax.
example: 'null'
price_unit:
type: string
description: The currency, in ISO 4217 format, of the price.
example: 'null'
quality:
type: string
description: The quality of the fax.
enum:
- standard
- fine
- superfine
example: standard
sid:
type: string
description: The unique identifier of the fax.
example: b3877c40-da60-4998-90ad-b792e98472fx
status:
type: string
description: The status of the fax.
enum:
- queued
- processing
- sending
- delivered
- receiving
- received
- no-answer
- busy
- failed
- canceled
example: queued
to:
type: string
description: The phone number, in E.164 format, the fax was sent to.
example: '+13104456789'
duration:
type: integer
description: The time, in seconds, it took to deliver a fax.
example: '5000'
links:
type: object
description: The URL links for resources associated with the fax.
properties:
media:
type: string
description: Media associated with this fax.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472ac/Faxes/b3877c40-da60-4998-90ad-b792e98472fx/Media
url:
type: string
description: The URL of this resource.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472ac/Faxes/b3877c40-da60-4998-90ad-b792e98472fx
error_code:
type: string
description: Error code for this resource (if available).
example: '34004'
error_message:
type: string
description: The description of this error (if available).
example: The call dropped prematurely
/Accounts/{AccountSid}/Faxes/{Sid}:
parameters:
- name: AccountSid
in: path
description: The Project ID that uniquely identifies the Account to retrieve.
required: true
schema:
type: string
format: uuid
- name: Sid
in: path
description: The Fax ID that uniquely identifies the Fax to retrieve.
required: true
schema:
type: string
format: uuid
get:
operationId: retrieve_fax
summary: Retrieve a fax.
description: |
Retrieve a fax.
#### Permissions
The API token must include the following scopes: _Fax_.
tags:
- Faxes
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
description: >-
The unique identifier for the account this fax is
associated with.
example: b3877c40-da60-4998-90ad-b792e98472ac
api_version:
type: string
description: The version of the SignalWire API.
example: v1
date_created:
type: string
description: >-
The date and time, in ISO 8601 format, the fax was
created.
example: '2018-11-26T20:00:00Z'
date_updated:
type: string
description: >-
The date and time, in ISO 8601 format, the fax was
updated.
example: '2018-11-27T20:00:00Z'
direction:
type: string
description: >-
The direction of the fax. Possible values are `inbound` or
`outbound`.
enum:
- inbound
- outbound
example: outbound
from:
type: string
description: The phone number, in E.164 format, the fax was sent from.
example: '+13103383454'
media_url:
type: string
description: >-
The URL hosting the received media. Can use this URL to
download incoming media. Optionally pass a username and
password using the format
"https://user:pass@example.com/path/to/fax.pdf".
example: https://example.com/fax.pdf
media_sid:
type: string
description: >-
ThThe unique identifier for the media instance associated
with the fax instance.
example: b3877c40-da60-4998-90ad-b792e98472me
num_pages:
type: string
description: The number of pages in the fax document.
example: 'null'
price:
type: string
description: The cost of the fax.
example: 'null'
price_unit:
type: string
description: The currency, in ISO 4217 format, of the price.
example: 'null'
quality:
type: string
description: The quality of the fax.
enum:
- standard
- fine
- superfine
example: standard
sid:
type: string
description: The unique identifier of the fax.
example: b3877c40-da60-4998-90ad-b792e98472fx
status:
type: string
description: The status of the fax.
enum:
- queued
- processing
- sending
- delivered
- receiving
- received
- no-answer
- busy
- failed
- canceled
example: queued
to:
type: string
description: The phone number, in E.164 format, the fax was sent to.
example: '+13104456789'
duration:
type: integer
description: The time, in seconds, it took to deliver a fax.
example: '5000'
links:
type: object
description: The URL links for resources associated with the fax.
properties:
media:
type: string
description: Media associated with this fax.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472ac/Faxes/b3877c40-da60-4998-90ad-b792e98472fx/Media
url:
type: string
description: The URL of this resource.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472ac/Faxes/b3877c40-da60-4998-90ad-b792e98472fx
error_code:
type: string
description: Error code for this resource (if available).
example: '34004'
error_message:
type: string
description: The description of this error (if available).
example: The call dropped prematurely
post:
operationId: update_fax
summary: Update a fax
description: |
Allows you to modify the properties of Fax.
#### Permissions
The API token must include the following scopes: _Fax_.
tags:
- Faxes
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
Status:
type: string
description: The status of the fax.
enum:
- queued
- processing
- sending
- delivered
- receiving
- received
- no-answer
- busy
- failed
- canceled
example: queued
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
description: >-
The unique identifier for the account this fax is
associated with.
example: b3877c40-da60-4998-90ad-b792e98472ac
api_version:
type: string
description: The version of the SignalWire API.
example: v1
date_created:
type: string
description: >-
The date and time, in ISO 8601 format, the fax was
created.
example: '2018-11-26T20:00:00Z'
date_updated:
type: string
description: >-
The date and time, in ISO 8601 format, the fax was
updated.
example: '2018-11-27T20:00:00Z'
direction:
type: string
description: >-
The direction of the fax. Possible values are `inbound` or
`outbound`.
enum:
- inbound
- outbound
example: outbound
from:
type: string
description: The phone number, in E.164 format, the fax was sent from.
example: '+13103383454'
media_url:
type: string
description: >-
The URL hosting the received media. Can use this URL to
download incoming media. Optionally pass a username and
password using the format
"https://user:pass@example.com/path/to/fax.pdf".
example: https://example.com/fax.pdf
media_sid:
type: string
description: >-
ThThe unique identifier for the media instance associated
with the fax instance.
example: b3877c40-da60-4998-90ad-b792e98472me
num_pages:
type: string
description: The number of pages in the fax document.
example: 'null'
price:
type: string
description: The cost of the fax.
example: 'null'
price_unit:
type: string
description: The currency, in ISO 4217 format, of the price.
example: 'null'
quality:
type: string
description: The quality of the fax.
enum:
- standard
- fine
- superfine
example: standard
sid:
type: string
description: The unique identifier of the fax.
example: b3877c40-da60-4998-90ad-b792e98472fx
status:
type: string
description: The status of the fax.
enum:
- queued
- processing
- sending
- delivered
- receiving
- received
- no-answer
- busy
- failed
- canceled
example: queued
to:
type: string
description: The phone number, in E.164 format, the fax was sent to.
example: '+13104456789'
duration:
type: integer
description: The time, in seconds, it took to deliver a fax.
example: '5000'
links:
type: object
description: The URL links for resources associated with the fax.
properties:
media:
type: string
description: Media associated with this fax.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472ac/Faxes/b3877c40-da60-4998-90ad-b792e98472fx/Media
url:
type: string
description: The URL of this resource.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472ac/Faxes/b3877c40-da60-4998-90ad-b792e98472fx
error_code:
type: string
description: Error code for this resource (if available).
example: '34004'
error_message:
type: string
description: The description of this error (if available).
example: The call dropped prematurely
delete:
operationId: delete_fax
summary: Delete a fax.
description: >
If the delete is successful, a 204 response, with no body, will be
returned.
#### Permissions
The API token must include the following scopes: _Fax_.
tags:
- Faxes
responses:
'204':
$ref: '#/components/responses/204'
/Accounts/{AccountSid}/Faxes/{FaxSid}/Media:
get:
parameters:
- name: AccountSid
in: path
description: >-
The unique identifier for the account this fax media is associated
with.
required: true
schema:
type: string
format: uuid
- name: FaxSid
in: path
description: The unique identifier of the fax that the media is associated with.
required: true
schema:
type: string
format: uuid
operationId: list_all_fax_media
summary: List All Fax Media
description: >
The ability to read all of the medias that are associated with your fax.
This will be returned as a list of medias.
#### Permissions
The API token must include the following scopes: _Fax_.
tags:
- Fax Media
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/pagination'
- type: object
properties:
media:
type: array
items:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that
created this conference.
content_type:
type: string
format: uuid
description: The content type of the stored media.
date_created:
type: string
format: uuid
description: >-
The date and time, in ISO 8601 format, the fax
media was created.
date_updated:
type: string
format: uuid
description: >-
The date and time, in ISO 8601 format, the fax
media was updated.
fax_sid:
type: string
format: uuid
description: >-
The unique identifier of the fax that the media
is associated with.
sid:
type: string
format: uuid
description: The unique identifier for the fax media.
url:
type: string
format: uuid
description: The URL of this resource.
/Accounts/{AccountSid}/Faxes/{FaxSid}/Media/{Sid}:
parameters:
- name: AccountSid
in: path
description: >-
The unique identifier for the account this fax media is associated
with.
required: true
schema:
type: string
format: uuid
- name: FaxSid
in: path
description: The unique identifier of the fax that the media is associated with.
required: true
schema:
type: string
format: uuid
- name: Sid
in: path
description: The unique identifier for the fax media.
required: true
schema:
type: string
format: uuid
get:
operationId: retrieve_medias
summary: Retrieve a fax media instance.
description: >
Retrieve a single fax media associated with a specific fax of a specific
account.
#### Permissions
The API token must include the following scopes: _Fax_.
tags:
- Fax Media
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that created this
conference.
content_type:
type: string
format: uuid
description: The content type of the stored media.
date_created:
type: string
format: uuid
description: >-
The date and time, in ISO 8601 format, the fax media was
created.
date_updated:
type: string
format: uuid
description: >-
The date and time, in ISO 8601 format, the fax media was
updated.
fax_sid:
type: string
format: uuid
description: >-
The unique identifier of the fax that the media is
associated with.
sid:
type: string
format: uuid
description: The unique identifier for the fax media.
url:
type: string
format: uuid
description: The URL of this resource.
delete:
operationId: delete_fax_media
summary: Delete Fax Media.
description: >
If the delete is successful, a 204 response, with no body, will be
returned.
#### Permissions
The API token must include the following scopes: _Fax_.
tags:
- Fax Media
responses:
'204':
$ref: '#/components/responses/204'
/Accounts/{AccountSid}/IncomingPhoneNumbers:
get:
parameters:
- name: AccountSid
in: path
description: >-
The unique identifier for the account that is associated with this
phone number.
required: true
schema:
type: string
format: uuid
- name: Beta
in: query
schema:
type: boolean
description: New numbers on SignalWire are marked as beta.
- name: FriendlyName
in: query
schema:
type: string
description: A formatted version of the number.
example: 310-338-6745
- name: Origin
in: query
schema:
type: string
description: >-
The origin of the phone number. SignalWire numbers are denoted as
`signalwire` while hosted numbers are denoted as `hosted`.
enum:
- signalwire
- hosted
example: origin
- name: PhoneNumber
in: query
schema:
type: string
description: The incoming number in E.164 format.
example: '+13103386745'
operationId: list_incoming_phone_numbers
summary: List All Incoming Phone Numbers
description: >
The ability to read all of the IncomingPhoneNumbers that are associated
with your SignalWire account. This will be returned as a list of
IncomingPhoneNumbers.
#### Permissions
The API token must include the following scopes: _Numbers_.
tags:
- Incoming Phone Numbers
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- type: object
properties:
end:
description: The end of the page.
example: '0'
incoming_phone_numbers:
type: array
items:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that is
associated with this phone number.
example: b3877c40-da60-4998-90ad-b792e98472ac
address_requirements:
type: string
description: >-
Whether or not a registered address with
SignalWire is required.
enum:
- none
- any
- local
- foreign
example: none
address_sid:
type: string
description: >-
The unique identifier for the address associated
with this phone number.
example: b3877c40-da60-4998-90ad-b792e98472ad
api_version:
type: string
description: The version of the SignalWire API.
example: '2010-04-01'
beta:
type: boolean
description: New numbers on SignalWire are marked as beta.
capabilities:
type: object
description: >-
Whether or not a number can receive calls and
messages.
properties:
Voice:
type: boolean
SMS:
type: boolean
MMS:
type: boolean
Fax:
type: boolean
date_created:
type: string
description: >-
The date, in RFC 2822 format, this phone number
was created.
example: Tue, 25 Sept 2018 23:00:00 +0000
date_updated:
type: string
description: >-
The date, in RFC 2822 format, this phone number
was updated.
example: Wed, 26 Sept 2018 22:00:00 +0000
emergency_address_sid:
type: string
description: >-
The unique identifier of the address associated
with E911 for this phone number.
example: 'null'
emergency_status:
type: string
description: >-
Whether the phone route has an active E911
address associated.
enum:
- active
- inactive
example: active
friendly_name:
type: string
description: A formatted version of the number.
example: 310-338-6745
identity_sid:
type: string
description: >-
The unique identifier for the identity
associated with this phone number.
example: b3877c40-da60-4998-90ad-b792e98472ri
origin:
type: string
description: >-
The origin of the phone number. SignalWire
numbers are denoted as `signalwire` while hosted
numbers are denoted as `hosted`.
enum:
- signalwire
- hosted
example: origin
phone_number:
type: string
description: The incoming number in E.164 format.
example: '+13103386745'
sid:
type: string
description: The unique identifier for this phone number.
example: b3877c40-da60-4998-90ad-b792e98472pn
sms_application_sid:
type: string
description: >
The unique identifier for the application
associated with SMS handling on this phone
number. If `SmsApplicationSid` is present, the
URLs on the application will be used and all
other URLs will be ignored.
example: 'null'
sms_fallback_method:
type: string
description: >-
Whether the request to `SmsFallbackUrl` is a
`GET` or a `POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
sms_fallback_url:
type: string
description: >-
The URL to request if errors occur when fetching
SmsUrl.
example: ''
sms_method:
type: string
description: >-
Whether the request to SmsUrl is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
sms_url:
type: string
description: >-
The URL to request when an incoming SMS is
received.
example: ''
status_callback:
type: string
description: The URL to request to pass status updates to.
example: example.com
status_callback_method:
type: string
description: >-
Whether the request to StatusCallback is a `GET`
or a `POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
trunk_sid:
type: string
description: >-
The unique identifier for the Trunk associated
with this phone number.
example: b3877c40-da60-4998-90ad-b792e98472tr
uri:
type: string
description: The URI for this number.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472ac/IncomingPhoneNumbers/b3877c40-da60-4998-90ad-b792e98472pn.json
voice_application_sid:
type: string
description: >
The unique identifier for the application
associated with call handling on this phone
number. If `VoiceApplicationSid` is present,
the URLs on the application will be used and all
other URLs will be ignored.
example: 'null'
voice_caller_id_lookup:
type: boolean
description: >-
Whether or not to look up a caller's name in the
database.
voice_fallback_method:
type: string
description: >-
Whether the request to VoiceFallbackUrl is a
`GET` or a `POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
voice_fallback_url:
type: string
description: >-
The URL to request if errors occur when fetching
`Url`.
example: example.com
voice_method:
type: string
description: >-
Whether the request to Url is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: GET
voice_url:
type: string
description: >-
The URL to request when an incoming call is
received.
example: http://your-application.com/docs/voice.xml
num_pages:
description: Number of pages.
example: '3'
start:
description: The start of page.
example: '0'
total:
description: The name of the object
example: '3'
account_sid:
description: The unique identifier for this account.
example: b3877c40-da60-4998-90ad-b792e98472ac
- $ref: '#/components/schemas/pagination'
post:
parameters:
- name: AccountSid
in: path
description: >-
The unique identifier for the account that is associated with this
phone number.
required: true
schema:
type: string
format: uuid
operationId: create_incoming_phone_number
summary: Create an Incoming Phone Number
description: |
Create an Incoming Phone Number.
#### Permissions
The API token must include the following scopes: _Numbers_.
tags:
- Incoming Phone Numbers
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- AreaCode
- PhoneNumber
properties:
AreaCode:
type: string
description: >-
The area code of your new number. A new number within this
area code will be generated for you. Area code is necessary
if phone number is not present.
PhoneNumber:
type: string
description: The incoming number in E.164 format.
example: '+13103386745'
AddressSid:
type: string
description: >-
The unique identifier for the address associated with this
phone number.
example: b3877c40-da60-4998-90ad-b792e98472ad
FriendlyName:
type: string
description: A formatted version of the number.
example: 310-338-6745
IdentitySid:
type: string
description: >-
The unique identifier for the identity associated with this
phone number.
example: b3877c40-da60-4998-90ad-b792e98472ri
SmsApplicationSid:
type: string
description: >
The unique identifier for the application associated with
SMS handling on this phone number. If `SmsApplicationSid` is
present, the URLs on the application will be used and all
other URLs will be ignored.
example: 'null'
SmsFallbackMethod:
type: string
description: >-
Whether the request to `SmsFallbackUrl` is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
SmsFallbackUrl:
type: string
description: The URL to request if errors occur when fetching SmsUrl.
example: ''
SmsMethod:
type: string
description: >-
Whether the request to SmsUrl is a `GET` or a `POST`.
Default is `POST`.
enum:
- GET
- POST
example: POST
SmsUrl:
type: string
description: The URL to request when an incoming SMS is received.
example: ''
StatusCallback:
type: string
description: The URL to request to pass status updates to.
example: example.com
StatusCallbackMethod:
type: string
description: >-
Whether the request to StatusCallback is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
TrunkSid:
type: string
description: >-
The unique identifier for the Trunk associated with this
phone number.
example: b3877c40-da60-4998-90ad-b792e98472tr
VoiceApplicationSid:
type: string
description: >
The unique identifier for the application associated with
call handling on this phone number. If
`VoiceApplicationSid` is present, the URLs on the
application will be used and all other URLs will be ignored.
example: 'null'
VoiceCallerIdLookup:
type: boolean
description: Whether or not to look up a caller's name in the database.
VoiceFallbackMethod:
type: string
description: >-
Whether the request to VoiceFallbackUrl is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
VoiceFallbackUrl:
type: string
description: The URL to request if errors occur when fetching `Url`.
example: example.com
VoiceMethod:
type: string
description: >-
Whether the request to Url is a `GET` or a `POST`. Default
is `POST`.
enum:
- GET
- POST
example: GET
VoiceReceiveMode:
type: string
description: >-
Whether this number can receive calls or fax. Possible
values are voice or fax. Default is voice.
enum:
- voice
- fax
example: voice
VoiceUrl:
type: string
description: The URL to request when an incoming call is received.
example: http://your-application.com/docs/voice.xml
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that is associated
with this phone number.
example: b3877c40-da60-4998-90ad-b792e98472ac
address_requirements:
type: string
description: >-
Whether or not a registered address with SignalWire is
required.
enum:
- none
- any
- local
- foreign
example: none
address_sid:
type: string
description: >-
The unique identifier for the address associated with this
phone number.
example: b3877c40-da60-4998-90ad-b792e98472ad
api_version:
type: string
description: The version of the SignalWire API.
example: '2010-04-01'
beta:
type: boolean
description: New numbers on SignalWire are marked as beta.
capabilities:
type: object
description: Whether or not a number can receive calls and messages.
properties:
Voice:
type: boolean
SMS:
type: boolean
MMS:
type: boolean
Fax:
type: boolean
date_created:
type: string
description: >-
The date, in RFC 2822 format, this phone number was
created.
example: Tue, 25 Sept 2018 23:00:00 +0000
date_updated:
type: string
description: >-
The date, in RFC 2822 format, this phone number was
updated.
example: Wed, 26 Sept 2018 22:00:00 +0000
emergency_address_sid:
type: string
description: >-
The unique identifier of the address associated with E911
for this phone number.
example: 'null'
emergency_status:
type: string
description: >-
Whether the phone route has an active E911 address
associated.
enum:
- active
- inactive
example: active
friendly_name:
type: string
description: A formatted version of the number.
example: 310-338-6745
identity_sid:
type: string
description: >-
The unique identifier for the identity associated with
this phone number.
example: b3877c40-da60-4998-90ad-b792e98472ri
origin:
type: string
description: >-
The origin of the phone number. SignalWire numbers are
denoted as `signalwire` while hosted numbers are denoted
as `hosted`.
enum:
- signalwire
- hosted
example: origin
phone_number:
type: string
description: The incoming number in E.164 format.
example: '+13103386745'
sid:
type: string
description: The unique identifier for this phone number.
example: b3877c40-da60-4998-90ad-b792e98472pn
sms_application_sid:
type: string
description: >
The unique identifier for the application associated with
SMS handling on this phone number. If `SmsApplicationSid`
is present, the URLs on the application will be used and
all other URLs will be ignored.
example: 'null'
sms_fallback_method:
type: string
description: >-
Whether the request to `SmsFallbackUrl` is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
sms_fallback_url:
type: string
description: The URL to request if errors occur when fetching SmsUrl.
example: ''
sms_method:
type: string
description: >-
Whether the request to SmsUrl is a `GET` or a `POST`.
Default is `POST`.
enum:
- GET
- POST
example: POST
sms_url:
type: string
description: The URL to request when an incoming SMS is received.
example: ''
status_callback:
type: string
description: The URL to request to pass status updates to.
example: example.com
status_callback_method:
type: string
description: >-
Whether the request to StatusCallback is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
trunk_sid:
type: string
description: >-
The unique identifier for the Trunk associated with this
phone number.
example: b3877c40-da60-4998-90ad-b792e98472tr
uri:
type: string
description: The URI for this number.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472ac/IncomingPhoneNumbers/b3877c40-da60-4998-90ad-b792e98472pn.json
voice_application_sid:
type: string
description: >
The unique identifier for the application associated with
call handling on this phone number. If
`VoiceApplicationSid` is present, the URLs on the
application will be used and all other URLs will be
ignored.
example: 'null'
voice_caller_id_lookup:
type: boolean
description: Whether or not to look up a caller's name in the database.
voice_fallback_method:
type: string
description: >-
Whether the request to VoiceFallbackUrl is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
voice_fallback_url:
type: string
description: The URL to request if errors occur when fetching `Url`.
example: example.com
voice_method:
type: string
description: >-
Whether the request to Url is a `GET` or a `POST`. Default
is `POST`.
enum:
- GET
- POST
example: GET
voice_url:
type: string
description: The URL to request when an incoming call is received.
example: http://your-application.com/docs/voice.xml
/Accounts/{AccountSid}/IncomingPhoneNumbers/{Sid}:
parameters:
- name: AccountSid
in: path
description: >-
The unique identifier for the account that is associated with this
phone number.
required: true
schema:
type: string
format: uuid
- name: Sid
in: path
description: The unique identifier of the phone number.
required: true
schema:
type: string
format: uuid
get:
operationId: retrieve_incoming_phone_number
summary: Retrieve an incoming phone number
description: |
Retrieve an incoming phone number.
#### Permissions
The API token must include the following scopes: _Numbers_.
tags:
- Incoming Phone Numbers
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that is associated
with this phone number.
example: b3877c40-da60-4998-90ad-b792e98472ac
address_requirements:
type: string
description: >-
Whether or not a registered address with SignalWire is
required.
enum:
- none
- any
- local
- foreign
example: none
address_sid:
type: string
description: >-
The unique identifier for the address associated with this
phone number.
example: b3877c40-da60-4998-90ad-b792e98472ad
api_version:
type: string
description: The version of the SignalWire API.
example: '2010-04-01'
beta:
type: boolean
description: New numbers on SignalWire are marked as beta.
capabilities:
type: object
description: Whether or not a number can receive calls and messages.
properties:
Voice:
type: boolean
SMS:
type: boolean
MMS:
type: boolean
Fax:
type: boolean
date_created:
type: string
description: >-
The date, in RFC 2822 format, this phone number was
created.
example: Tue, 25 Sept 2018 23:00:00 +0000
date_updated:
type: string
description: >-
The date, in RFC 2822 format, this phone number was
updated.
example: Wed, 26 Sept 2018 22:00:00 +0000
emergency_address_sid:
type: string
description: >-
The unique identifier of the address associated with E911
for this phone number.
example: 'null'
emergency_status:
type: string
description: >-
Whether the phone route has an active E911 address
associated.
enum:
- active
- inactive
example: active
friendly_name:
type: string
description: A formatted version of the number.
example: 310-338-6745
identity_sid:
type: string
description: >-
The unique identifier for the identity associated with
this phone number.
example: b3877c40-da60-4998-90ad-b792e98472ri
origin:
type: string
description: >-
The origin of the phone number. SignalWire numbers are
denoted as `signalwire` while hosted numbers are denoted
as `hosted`.
enum:
- signalwire
- hosted
example: origin
phone_number:
type: string
description: The incoming number in E.164 format.
example: '+13103386745'
sid:
type: string
description: The unique identifier for this phone number.
example: b3877c40-da60-4998-90ad-b792e98472pn
sms_application_sid:
type: string
description: >
The unique identifier for the application associated with
SMS handling on this phone number. If `SmsApplicationSid`
is present, the URLs on the application will be used and
all other URLs will be ignored.
example: 'null'
sms_fallback_method:
type: string
description: >-
Whether the request to `SmsFallbackUrl` is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
sms_fallback_url:
type: string
description: The URL to request if errors occur when fetching SmsUrl.
example: ''
sms_method:
type: string
description: >-
Whether the request to SmsUrl is a `GET` or a `POST`.
Default is `POST`.
enum:
- GET
- POST
example: POST
sms_url:
type: string
description: The URL to request when an incoming SMS is received.
example: ''
status_callback:
type: string
description: The URL to request to pass status updates to.
example: example.com
status_callback_method:
type: string
description: >-
Whether the request to StatusCallback is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
trunk_sid:
type: string
description: >-
The unique identifier for the Trunk associated with this
phone number.
example: b3877c40-da60-4998-90ad-b792e98472tr
uri:
type: string
description: The URI for this number.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472ac/IncomingPhoneNumbers/b3877c40-da60-4998-90ad-b792e98472pn.json
voice_application_sid:
type: string
description: >
The unique identifier for the application associated with
call handling on this phone number. If
`VoiceApplicationSid` is present, the URLs on the
application will be used and all other URLs will be
ignored.
example: 'null'
voice_caller_id_lookup:
type: boolean
description: Whether or not to look up a caller's name in the database.
voice_fallback_method:
type: string
description: >-
Whether the request to VoiceFallbackUrl is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
voice_fallback_url:
type: string
description: The URL to request if errors occur when fetching `Url`.
example: example.com
voice_method:
type: string
description: >-
Whether the request to Url is a `GET` or a `POST`. Default
is `POST`.
enum:
- GET
- POST
example: GET
voice_url:
type: string
description: The URL to request when an incoming call is received.
example: http://your-application.com/docs/voice.xml
post:
operationId: update_incoming_phone_number
summary: Update an Incoming Phone Number
description: >
Allows you to modify the properties of an incoming phone number,
including transferring it to another account.
#### Permissions
The API token must include the following scopes: _Numbers_.
tags:
- Incoming Phone Numbers
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
AccountSid:
type: string
format: uuid
description: >-
The unique identifier for an account to which the number
should be transferred to.
example: b3877c40-da60-4998-90ad-b792e98472ac
AddressSid:
type: string
description: >-
The unique identifier for the address associated with this
phone number.
example: b3877c40-da60-4998-90ad-b792e98472ad
EmergencyAddressSid:
type: string
description: >-
The unique identifier of the address associated with E911
for this phone number.
example: 'null'
FriendlyName:
type: string
description: A formatted version of the number.
example: 310-338-6745
IdentitySid:
type: string
description: >-
The unique identifier for the identity associated with this
phone number.
example: b3877c40-da60-4998-90ad-b792e98472ri
SmsApplicationSid:
type: string
description: >
The unique identifier for the application associated with
SMS handling on this phone number. If `SmsApplicationSid` is
present, the URLs on the application will be used and all
other URLs will be ignored.
example: 'null'
SmsFallbackMethod:
type: string
description: >-
Whether the request to `SmsFallbackUrl` is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
SmsFallbackUrl:
type: string
description: The URL to request if errors occur when fetching SmsUrl.
example: ''
SmsMethod:
type: string
description: >-
Whether the request to SmsUrl is a `GET` or a `POST`.
Default is `POST`.
enum:
- GET
- POST
example: POST
SmsUrl:
type: string
description: The URL to request when an incoming SMS is received.
example: ''
StatusCallback:
type: string
description: The URL to request to pass status updates to.
example: example.com
StatusCallbackMethod:
type: string
description: >-
Whether the request to StatusCallback is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
TrunkSid:
type: string
description: >-
The unique identifier for the Trunk associated with this
phone number.
example: b3877c40-da60-4998-90ad-b792e98472tr
VoiceApplicationSid:
type: string
description: >
The unique identifier for the application associated with
call handling on this phone number. If
`VoiceApplicationSid` is present, the URLs on the
application will be used and all other URLs will be ignored.
example: 'null'
VoiceCallerIdLookup:
type: boolean
description: Whether or not to look up a caller's name in the database.
VoiceFallbackMethod:
type: string
description: >-
Whether the request to VoiceFallbackUrl is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
VoiceFallbackUrl:
type: string
description: The URL to request if errors occur when fetching `Url`.
example: example.com
VoiceMethod:
type: string
description: >-
Whether the request to Url is a `GET` or a `POST`. Default
is `POST`.
enum:
- GET
- POST
example: GET
VoiceReceiveMode:
type: string
description: >-
Whether this number can receive calls or fax. Possible
values are voice or fax. Default is voice.
enum:
- voice
- fax
example: voice
VoiceUrl:
type: string
description: The URL to request when an incoming call is received.
example: http://your-application.com/docs/voice.xml
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that is associated
with this phone number.
example: b3877c40-da60-4998-90ad-b792e98472ac
address_requirements:
type: string
description: >-
Whether or not a registered address with SignalWire is
required.
enum:
- none
- any
- local
- foreign
example: none
address_sid:
type: string
description: >-
The unique identifier for the address associated with this
phone number.
example: b3877c40-da60-4998-90ad-b792e98472ad
api_version:
type: string
description: The version of the SignalWire API.
example: '2010-04-01'
beta:
type: boolean
description: New numbers on SignalWire are marked as beta.
capabilities:
type: object
description: Whether or not a number can receive calls and messages.
properties:
Voice:
type: boolean
SMS:
type: boolean
MMS:
type: boolean
Fax:
type: boolean
date_created:
type: string
description: >-
The date, in RFC 2822 format, this phone number was
created.
example: Tue, 25 Sept 2018 23:00:00 +0000
date_updated:
type: string
description: >-
The date, in RFC 2822 format, this phone number was
updated.
example: Wed, 26 Sept 2018 22:00:00 +0000
emergency_address_sid:
type: string
description: >-
The unique identifier of the address associated with E911
for this phone number.
example: 'null'
emergency_status:
type: string
description: >-
Whether the phone route has an active E911 address
associated.
enum:
- active
- inactive
example: active
friendly_name:
type: string
description: A formatted version of the number.
example: 310-338-6745
identity_sid:
type: string
description: >-
The unique identifier for the identity associated with
this phone number.
example: b3877c40-da60-4998-90ad-b792e98472ri
origin:
type: string
description: >-
The origin of the phone number. SignalWire numbers are
denoted as `signalwire` while hosted numbers are denoted
as `hosted`.
enum:
- signalwire
- hosted
example: origin
phone_number:
type: string
description: The incoming number in E.164 format.
example: '+13103386745'
sid:
type: string
description: The unique identifier for this phone number.
example: b3877c40-da60-4998-90ad-b792e98472pn
sms_application_sid:
type: string
description: >
The unique identifier for the application associated with
SMS handling on this phone number. If `SmsApplicationSid`
is present, the URLs on the application will be used and
all other URLs will be ignored.
example: 'null'
sms_fallback_method:
type: string
description: >-
Whether the request to `SmsFallbackUrl` is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
sms_fallback_url:
type: string
description: The URL to request if errors occur when fetching SmsUrl.
example: ''
sms_method:
type: string
description: >-
Whether the request to SmsUrl is a `GET` or a `POST`.
Default is `POST`.
enum:
- GET
- POST
example: POST
sms_url:
type: string
description: The URL to request when an incoming SMS is received.
example: ''
status_callback:
type: string
description: The URL to request to pass status updates to.
example: example.com
status_callback_method:
type: string
description: >-
Whether the request to StatusCallback is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
trunk_sid:
type: string
description: >-
The unique identifier for the Trunk associated with this
phone number.
example: b3877c40-da60-4998-90ad-b792e98472tr
uri:
type: string
description: The URI for this number.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472ac/IncomingPhoneNumbers/b3877c40-da60-4998-90ad-b792e98472pn.json
voice_application_sid:
type: string
description: >
The unique identifier for the application associated with
call handling on this phone number. If
`VoiceApplicationSid` is present, the URLs on the
application will be used and all other URLs will be
ignored.
example: 'null'
voice_caller_id_lookup:
type: boolean
description: Whether or not to look up a caller's name in the database.
voice_fallback_method:
type: string
description: >-
Whether the request to VoiceFallbackUrl is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: POST
voice_fallback_url:
type: string
description: The URL to request if errors occur when fetching `Url`.
example: example.com
voice_method:
type: string
description: >-
Whether the request to Url is a `GET` or a `POST`. Default
is `POST`.
enum:
- GET
- POST
example: GET
voice_url:
type: string
description: The URL to request when an incoming call is received.
example: http://your-application.com/docs/voice.xml
delete:
operationId: delete_incoming_phone_number
summary: Delete an incoming phone number.
description: >
Delete an IncomingPhoneNumber. If the delete is successful, a 204
response, with no body, will be returned.
#### Permissions
The API token must include the following scopes: _Numbers_.
tags:
- Incoming Phone Numbers
responses:
'204':
$ref: '#/components/responses/204'
/Accounts/{AccountSid}/LamlBins:
get:
parameters:
- name: AccountSid
in: path
description: The unique identifier for the account this Bin is associated with.
required: true
schema:
type: string
format: uuid
- name: Name
in: query
schema:
type: string
description: >-
A friendly name given to the cXML bin to help distinguish
and search for different applications within your project.
example: Death Star IVR
operationId: list_cxml_applications
summary: List All cXML Bins
description: >
Returns a list of your Addresses. The addresses are returned sorted by
creation date, with the most recent appearing first.
#### Permissions
The API token must include one of the following scopes: _Voice_ or
_Messaging_ or _Fax_.
tags:
- cXML Bins
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/pagination'
- type: object
properties:
key:
description: The name of the object
example: faxes
laml_bins:
type: array
items:
type: object
properties:
sid:
type: string
format: uuid
description: >-
The unique identifier of the cXML bin on
SignalWire. This can be used to show, update, or
delete the Bin programmatically.
example: 5184b831-184f-4209-872d-ccdccc80f2f1
date_created:
type: string
description: >-
The date and time, in ISO 8601 format, the Bin was
created.
example: '2019-11-26T20:00:00Z'
date_updated:
type: string
description: >-
The date and time, in ISO 8601 format, the Bin was
updated.
example: Sat, 15 Sept 2018 10:00:00 +0000
date_last_accessed:
type: string
description: >-
The date and time, in ISO 8601 format, the Bin was
last accessed.
example: '2020-06-05T20:00:00Z'
account_sid:
type: string
description: >-
The unique identifier for the account this Bin is
associated with.
example: b3877c40-da60-4998-90ad-b792e98472af
name:
type: string
description: >-
A friendly name given to the cXML bin to
help distinguish and search for different
applications within your project.
example: Death Star IVR
contents:
type: string
description: >-
The contents of the cXML bins, this evaluate
to valid XML, with additional support for mustache
templating.
example: Hello!
request_url:
type: string
description: >-
The unique URL to the raw contents of the cXML
Application. Use this as the URL for configuring
webhooks or anything needing the XML returned.
example: >-
https://your-space.signalwire.com/laml-bins/5184b831-184f-4209-872d-ccdccc80f2f1
api_version:
type: string
description: The version of the SignalWire API.
example: '2010-04-01'
uri:
type: string
description: The URL of this resource.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/LamlBins/5184b831-184f-4209-872d-ccdccc80f2f1
post:
parameters:
- name: AccountSid
in: path
description: The unique identifier for the account this Bin is associated with.
required: true
schema:
type: string
format: uuid
operationId: create_cxml_application
summary: Create an cXML Bin
description: >
Create an cXML bin.
#### Permissions
The API token must include one of the following scopes: _Voice_ or
_Messaging_ or _Fax_.
tags:
- cXML Bins
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- Name
properties:
Name:
type: string
description: >-
A friendly name given to the cXML bin to help
distinguish and search for different applications within
your project.
example: Death Star IVR
Contents:
type: string
description: >-
The contents of the cXML bins, this evaluate to
valid XML, with additional support for mustache templating.
example: Hello!
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
sid:
type: string
format: uuid
description: >-
The unique identifier of the cXML bin on
SignalWire. This can be used to show, update, or delete
the Bin programmatically.
example: 5184b831-184f-4209-872d-ccdccc80f2f1
date_created:
type: string
description: >-
The date and time, in ISO 8601 format, the Bin was
created.
example: '2019-11-26T20:00:00Z'
date_updated:
type: string
description: >-
The date and time, in ISO 8601 format, the Bin was
updated.
example: Sat, 15 Sept 2018 10:00:00 +0000
date_last_accessed:
type: string
description: >-
The date and time, in ISO 8601 format, the Bin was last
accessed.
example: '2020-06-05T20:00:00Z'
account_sid:
type: string
description: >-
The unique identifier for the account this Bin is
associated with.
example: b3877c40-da60-4998-90ad-b792e98472af
name:
type: string
description: >-
A friendly name given to the cXML bin to help
distinguish and search for different applications within
your project.
example: Death Star IVR
contents:
type: string
description: >-
The contents of the cXML bins, this evaluate to
valid XML, with additional support for mustache
templating.
example: Hello!
request_url:
type: string
description: >-
The unique URL to the raw contents of the cXML
Application. Use this as the URL for configuring webhooks
or anything needing the XML returned.
example: >-
https://your-space.signalwire.com/laml-bins/5184b831-184f-4209-872d-ccdccc80f2f1
api_version:
type: string
description: The version of the SignalWire API.
example: '2010-04-01'
uri:
type: string
description: The URL of this resource.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/LamlBins/5184b831-184f-4209-872d-ccdccc80f2f1
/Accounts/{AccountSid}/LamlBins/{Sid}:
parameters:
- name: AccountSid
in: path
description: The unique identifier for the account this Bin is associated with.
required: true
schema:
type: string
format: uuid
- name: Sid
in: path
description: >-
The unique identifier of the XML Bin on SignalWire. This can be used
to show, update, or delete the Bin programmatically.
required: true
schema:
type: string
format: uuid
get:
operationId: retrieve_cxml_application
summary: Retrieve an cXML Bin
description: >
Retrieves the details of an cXML bin that has been previously
created. Use the unique ID that was returned from your previous request
to identify the specific instance.
#### Permissions
The API token must include one of the following scopes: _Voice_ or
_Messaging_ or _Fax_.
tags:
- cXML Bins
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
sid:
type: string
format: uuid
description: >-
The unique identifier of the cXML bin on
SignalWire. This can be used to show, update, or delete
the Bin programmatically.
example: 5184b831-184f-4209-872d-ccdccc80f2f1
date_created:
type: string
description: >-
The date and time, in ISO 8601 format, the Bin was
created.
example: '2019-11-26T20:00:00Z'
date_updated:
type: string
description: >-
The date and time, in ISO 8601 format, the Bin was
updated.
example: Sat, 15 Sept 2018 10:00:00 +0000
date_last_accessed:
type: string
description: >-
The date and time, in ISO 8601 format, the Bin was last
accessed.
example: '2020-06-05T20:00:00Z'
account_sid:
type: string
description: >-
The unique identifier for the account this Bin is
associated with.
example: b3877c40-da60-4998-90ad-b792e98472af
name:
type: string
description: >-
A friendly name given to the cXML bin to help
distinguish and search for different applications within
your project.
example: Death Star IVR
contents:
type: string
description: >-
The contents of the cXML bin, this evaluate to
valid XML, with additional support for mustache
templating.
example: Hello!
request_url:
type: string
description: >-
The unique URL to the raw contents of the cXML
Application. Use this as the URL for configuring webhooks
or anything needing the XML returned.
example: >-
https://your-space.signalwire.com/laml-bins/5184b831-184f-4209-872d-ccdccc80f2f1
api_version:
type: string
description: The version of the SignalWire API.
example: '2010-04-01'
uri:
type: string
description: The URL of this resource.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/LamlBins/5184b831-184f-4209-872d-ccdccc80f2f1
post:
operationId: update_cxml_application
summary: Update an cXML Bin
description: >
To update an XML Bin, make a PUT request to the cXML bin
resource. Use the unique ID that was returned from your previous request
to identify the specific instance. Only parameters passed in will be
updated, others will be ignored.
#### Permissions
The API token must include one of the following scopes: _Voice_ or
_Messaging_ or _Fax_.
tags:
- cXML Bins
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
Name:
type: string
description: >-
A friendly name given to the cXML bin to help
distinguish and search for different applications within
your project.
example: Death Star IVR
Contents:
type: string
description: >-
The contents of the cXML bins, this evaluate to
valid XML, with additional support for mustache templating.
example: Hello!
required:
- Name
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
sid:
type: string
format: uuid
description: >-
The unique identifier of the cXML bin on
SignalWire. This can be used to show, update, or delete
the Bin programmatically.
example: 5184b831-184f-4209-872d-ccdccc80f2f1
date_created:
type: string
description: >-
The date and time, in ISO 8601 format, the Bin was
created.
example: '2019-11-26T20:00:00Z'
date_updated:
type: string
description: >-
The date and time, in ISO 8601 format, the Bin was
updated.
example: Sat, 15 Sept 2018 10:00:00 +0000
date_last_accessed:
type: string
description: >-
The date and time, in ISO 8601 format, the Bin was last
accessed.
example: '2020-06-05T20:00:00Z'
account_sid:
type: string
description: >-
The unique identifier for the account this Bin is
associated with.
example: b3877c40-da60-4998-90ad-b792e98472af
name:
type: string
description: >-
A friendly name given to the cXML bin to help
distinguish and search for different applications within
your project.
example: Death Star IVR
contents:
type: string
description: >-
The contents of the cXML bins, this evaluate to
valid XML, with additional support for mustache
templating.
example: Hello!
request_url:
type: string
description: >-
The unique URL to the raw contents of the cXML
Application. Use this as the URL for configuring webhooks
or anything needing the XML returned.
example: >-
https://your-space.signalwire.com/laml-bins/5184b831-184f-4209-872d-ccdccc80f2f1
api_version:
type: string
description: The version of the SignalWire API.
example: '2010-04-01'
uri:
type: string
description: The URL of this resource.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/LamlBins/5184b831-184f-4209-872d-ccdccc80f2f1
delete:
operationId: delete_cxml_application
summary: Delete an cXML Bin
description: >
To remove an cXML bin from your Project. Use the unique ID that
was returned from your previous request to identify the specific
instance.
#### Permissions
The API token must include one of the following scopes: _Voice_ or
_Messaging_ or _Fax_.
tags:
- cXML Bins
responses:
'204':
$ref: '#/components/responses/204'
/Accounts/{AccountSid}/Messages:
get:
parameters:
- name: AccountSid
in: path
description: >-
The unique identifier of the project that sent or received this
message.
required: true
schema:
type: string
format: uuid
- name: DateSent
in: query
schema:
type: string
description: >
Only return messages sent on this particular date, formatted as
YYYY-MM-DD in UTC. You can also append `<` or `>` to return a
range of messages. For example, use `DateSent<` to return messages
sent on or before midnight of the date, or `DateSent>` to return
messages sent on or after midnight of the date.
- name: From
in: query
schema:
type: string
description: >
The phone number in E.164 format. For inbound messages, this will
be the remote phone number who sent the message. For outbound
messages, this will be one of your SignalWire phone numbers.
example: '+15551234567'
- name: To
in: query
schema:
type: string
description: >
The phone number in E.164 format that received the message. For
inbound messages, this is one of your SignalWire phone numbers;
for outbound messages, this is the remote phone number that
received the message.
example: '+15557654321'
- name: Status
in: query
schema:
type: string
description: Current status of the message.
enum:
- queued
- sending
- sent
- delivered
- undelivered
- failed
- receiving
- received
example: sent
- name: PageSize
in: query
schema:
type: integer
description: >-
Specify the number of results to return on a single page. The
default page size is `50` and the maximum is `1000`.
operationId: list_messages
summary: List All Messages
description: >
Returns a paged list of messages sorted with the most recent messages
appearing first.
#### Permissions
The API token must include the following scopes: _Messaging_.
tags:
- Messages
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/pagination'
- type: object
properties:
messages:
type: array
items:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier of the project that sent
or received this message.
example: ea108133-d6b3-407c-9536-9fad8a929a6a
api_version:
type: string
description: >-
The version number of the SignalWire cXML REST
API used to handle this message.
example: '2010-04-01'
body:
type: string
description: >-
The text of the message. Up to 1600 characters
long and can be null if no message was sent.
example: Hello World!
num_segments:
type: integer
description: >
The number of segments that make up the entire
message. If the body of the message is larger
than 160 GSM-7 characters or 70 UCS-2
characters, it will automatically be broken up
into smaller messages and annotated to attempt
proper reconstruction on the recipient handset.
Not all carriers and handsets support this.
SignalWire will recombine inbound messages into
a single message. Your project will be charged
for each segment sent or received.
example: '1'
num_media:
type: string
description: >-
The number of media files that were included
with the message.
example: 1
date_created:
type: string
description: >-
The date and time the message was created in RFC
2822 format.
example: Mon, 13 Aug 2018 21:38:46 +0000
date_sent:
type: string
description: >-
The date and time the message was sent in RFC
2822 format.
example: 'null'
date_updated:
type: string
description: >-
The date and time the message was last updated
in RFC 2822 format.
example: Mon, 13 Aug 2018 21:38:46 +0000
direction:
type: string
description: The direction of the message.
enum:
- inbound
- outbound-api
- outbound-call
- outbound-reply
example: outbound-api
error_code:
type: string
description: >
If an error has occurred on the message, the
error code will give you a specific code to
help lookup more information on the failure. If
no error occurred, `error_code` will be null.
example: null
error_message:
type: string
description: >-
A human readable description of the error that
occurred. If no error occurred, `error_message`
will be null.
example: null
from:
type: string
description: >
The phone number in E.164 format. For inbound
messages, this will be the remote phone number
who sent the message. For outbound messages,
this will be one of your SignalWire phone
numbers.
example: '+15551234567'
price:
type: integer
description: >-
The cost of the individual message billed to
your project.
example: '0.005'
price_unit:
type: string
description: The currency in which `price` is charged as.
example: USD
sid:
type: string
description: >-
A unique ID that identifies this specific
message.
example: 0a059168-ead0-41af-9d1f-343dae832527
status:
type: string
description: Current status of the message.
enum:
- queued
- sending
- sent
- delivered
- undelivered
- failed
- receiving
- received
example: sent
to:
type: string
description: >
The phone number in E.164 format that received
the message. For inbound messages, this is one
of your SignalWire phone numbers; for outbound
messages, this is the remote phone number that
received the message.
example: '+15557654321'
messaging_service_sid:
type: string
description: >
If a number group was used when sending an
outbound message, the number group's ID will be
present. If no number group was used, the value
will be null.
example: 'null'
uri:
type: string
description: The URI of this particular message.
example: >-
/api/laml/2010-04-01/Accounts/ea108133-d6b3-407c-9536-9fad8a929a6a/Messages/0a059168-ead0-41af-9d1f-343dae832527
subresource_uris:
type: object
description: >-
The URIs for any subresources associated with
this message.
properties:
media:
type: string
example: >-
/api/laml/2010-04-01/Accounts/ea108133-d6b3-407c-9536-9fad8a929a6a/Messages/0a059168-ead0-41af-9d1f-343dae832527/Media
post:
parameters:
- name: AccountSid
in: path
description: >-
The unique identifier of the project that sent or received this
message.
required: true
schema:
type: string
format: uuid
operationId: create_message
summary: Create a Message
description: |
Create a message.
#### Permissions
The API token must include the following scopes: _Messaging_.
tags:
- Messages
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- To
- From
- Body
properties:
To:
type: string
description: >
The phone number in E.164 format that received the message.
For inbound messages, this is one of your SignalWire phone
numbers; for outbound messages, this is the remote phone
number that received the message.
example: '+15557654321'
From:
type: string
description: >
The phone number in E.164 format. For inbound messages, this
will be the remote phone number who sent the message. For
outbound messages, this will be one of your SignalWire phone
numbers.
example: '+15551234567'
Body:
type: string
description: >-
The text of the message. Up to 1600 characters long and can
be null if no message was sent.
example: Hello World!
MediaUrl:
type: string
description: >
URL of media you wish to attach and send with the message.
Include multiple `MediaUrl` arguments if you which to send
more than one media per message, up to a maximum of 10 media
URLs per message. There is a limit of 5MB for the total
combined media size per message. See the MIME Types section
for a full list of content types supported by SignalWire.
SendAsMms:
type: boolean
description: >
When set to true, forces the message to be sent as an MMS,
even if the message body contains only text. This is useful
for avoiding SMS segmentation when sending long messages.
Instead of being split into multiple SMS segments, the message
is delivered as a single MMS payload.
example: false
ApplicationSid:
type: string
description: >
The SID of a SignalWire cXML bin used to configure
the message's `MessageStatusCallback` attribute. If
`ApplicationSid` and `StatusCallback` are specified,
`StatusCallback` will take precedence.
example: 'null'
MaxPrice:
type: string
description: >
The maximum price in USD acceptable for the message to be
sent. Once your message is queued, the cost to send the
message is calculated and if it is greater than `MaxPrice`,
the message will be set as `failed` and not sent. You will
not be charged. If `MaxPrice` is not set, all messages will
be sent. The price can have a maximum of four decimal
places, i.e. 0.0075.
example: '0.0075'
StatusCallback:
type: string
description: >-
A URL endpoint to receive callbacks each time the status of
the message changes from `queued`, `failed`, `sent`,
`delivered` or `undelivered`.
ValidityPeriod:
type: integer
description: >
The number of seconds a message will allow being queued
before canceling. When sending high volume of messages,
messages can sit in your sending queue. If the message
should only be sent in in a specific timeframe, use
`ValidityPeriod` to ensure you don't send messages after
time-sensitive operations. It is not recommended to set a
validity period of less than 5 seconds. Default value is
`14400`
example: 14400
MessagingServiceSid:
type: string
description: >
If a number group was used when sending an outbound message,
the number group's ID will be present. If no number group
was used, the value will be null.
example: 'null'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier of the project that sent or received
this message.
example: ea108133-d6b3-407c-9536-9fad8a929a6a
api_version:
type: string
description: >-
The version number of the SignalWire cXML REST API used to
handle this message.
example: '2010-04-01'
body:
type: string
description: >-
The text of the message. Up to 1600 characters long and
can be null if no message was sent.
example: Hello World!
num_segments:
type: integer
description: >
The number of segments that make up the entire message.
If the body of the message is larger than 160 GSM-7
characters or 70 UCS-2 characters, it will automatically
be broken up into smaller messages and annotated to
attempt proper reconstruction on the recipient handset.
Not all carriers and handsets support this. SignalWire
will recombine inbound messages into a single message.
Your project will be charged for each segment sent or
received.
example: '1'
num_media:
type: string
description: >-
The number of media files that were included with the
message.
example: 1
date_created:
type: string
description: >-
The date and time the message was created in RFC 2822
format.
example: Mon, 13 Aug 2018 21:38:46 +0000
date_sent:
type: string
description: The date and time the message was sent in RFC 2822 format.
example: 'null'
date_updated:
type: string
description: >-
The date and time the message was last updated in RFC 2822
format.
example: Mon, 13 Aug 2018 21:38:46 +0000
direction:
type: string
description: The direction of the message.
enum:
- inbound
- outbound-api
- outbound-call
- outbound-reply
example: outbound-api
error_code:
type: string
description: >
If an error has occurred on the message, the error code
will give you a specific code to help lookup more
information on the failure. If no error occurred,
`error_code` will be null.
example: null
error_message:
type: string
description: >-
A human readable description of the error that occurred.
If no error occurred, `error_message` will be null.
example: null
from:
type: string
description: >
The phone number in E.164 format. For inbound messages,
this will be the remote phone number who sent the
message. For outbound messages, this will be one of your
SignalWire phone numbers.
example: '+15551234567'
price:
type: integer
description: The cost of the individual message billed to your project.
example: '0.005'
price_unit:
type: string
description: The currency in which `price` is charged as.
example: USD
sid:
type: string
description: A unique ID that identifies this specific message.
example: 0a059168-ead0-41af-9d1f-343dae832527
status:
type: string
description: Current status of the message.
enum:
- queued
- sending
- sent
- delivered
- undelivered
- failed
- receiving
- received
example: sent
to:
type: string
description: >
The phone number in E.164 format that received the
message. For inbound messages, this is one of your
SignalWire phone numbers; for outbound messages, this is
the remote phone number that received the message.
example: '+15557654321'
messaging_service_sid:
type: string
description: >
If a number group was used when sending an outbound
message, the number group's ID will be present. If no
number group was used, the value will be null.
example: 'null'
uri:
type: string
description: The URI of this particular message.
example: >-
/api/laml/2010-04-01/Accounts/ea108133-d6b3-407c-9536-9fad8a929a6a/Messages/0a059168-ead0-41af-9d1f-343dae832527
subresource_uris:
type: object
description: >-
The URIs for any subresources associated with this
message.
properties:
media:
type: string
example: >-
/api/laml/2010-04-01/Accounts/ea108133-d6b3-407c-9536-9fad8a929a6a/Messages/0a059168-ead0-41af-9d1f-343dae832527/Media
/Accounts/{AccountSid}/Messages/{Sid}:
parameters:
- name: AccountSid
in: path
description: >-
The unique identifier of the project that sent or received this
message.
required: true
schema:
type: string
format: uuid
- name: Sid
in: path
description: A unique ID that identifies this specific message.
required: true
schema:
type: string
format: uuid
get:
operationId: retrieve_message
summary: Retrieve a Message
description: |
Retrieve a single message.
#### Permissions
The API token must include the following scopes: _Messaging_.
tags:
- Messages
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier of the project that sent or received
this message.
example: ea108133-d6b3-407c-9536-9fad8a929a6a
api_version:
type: string
description: >-
The version number of the SignalWire cXML REST API used to
handle this message.
example: '2010-04-01'
body:
type: string
description: >-
The text of the message. Up to 1600 characters long and
can be null if no message was sent.
example: Hello World!
num_segments:
type: integer
description: >
The number of segments that make up the entire message.
If the body of the message is larger than 160 GSM-7
characters or 70 UCS-2 characters, it will automatically
be broken up into smaller messages and annotated to
attempt proper reconstruction on the recipient handset.
Not all carriers and handsets support this. SignalWire
will recombine inbound messages into a single message.
Your project will be charged for each segment sent or
received.
example: '1'
num_media:
type: string
description: >-
The number of media files that were included with the
message.
example: 1
date_created:
type: string
description: >-
The date and time the message was created in RFC 2822
format.
example: Mon, 13 Aug 2018 21:38:46 +0000
date_sent:
type: string
description: The date and time the message was sent in RFC 2822 format.
example: 'null'
date_updated:
type: string
description: >-
The date and time the message was last updated in RFC 2822
format.
example: Mon, 13 Aug 2018 21:38:46 +0000
direction:
type: string
description: The direction of the message.
enum:
- inbound
- outbound-api
- outbound-call
- outbound-reply
example: outbound-api
error_code:
type: string
description: >
If an error has occurred on the message, the error code
will give you a specific code to help lookup more
information on the failure. If no error occurred,
`error_code` will be null.
example: null
error_message:
type: string
description: >-
A human readable description of the error that occurred.
If no error occurred, `error_message` will be null.
example: null
from:
type: string
description: >
The phone number in E.164 format. For inbound messages,
this will be the remote phone number who sent the
message. For outbound messages, this will be one of your
SignalWire phone numbers.
example: '+15551234567'
price:
type: integer
description: The cost of the individual message billed to your project.
example: '0.005'
price_unit:
type: string
description: The currency in which `price` is charged as.
example: USD
sid:
type: string
description: A unique ID that identifies this specific message.
example: 0a059168-ead0-41af-9d1f-343dae832527
status:
type: string
description: Current status of the message.
enum:
- queued
- sending
- sent
- delivered
- undelivered
- failed
- receiving
- received
example: sent
to:
type: string
description: >
The phone number in E.164 format that received the
message. For inbound messages, this is one of your
SignalWire phone numbers; for outbound messages, this is
the remote phone number that received the message.
example: '+15557654321'
messaging_service_sid:
type: string
description: >
If a number group was used when sending an outbound
message, the number group's ID will be present. If no
number group was used, the value will be null.
example: 'null'
uri:
type: string
description: The URI of this particular message.
example: >-
/api/laml/2010-04-01/Accounts/ea108133-d6b3-407c-9536-9fad8a929a6a/Messages/0a059168-ead0-41af-9d1f-343dae832527
subresource_uris:
type: object
description: >-
The URIs for any subresources associated with this
message.
properties:
media:
type: string
example: >-
/api/laml/2010-04-01/Accounts/ea108133-d6b3-407c-9536-9fad8a929a6a/Messages/0a059168-ead0-41af-9d1f-343dae832527/Media
post:
operationId: update_message
summary: Update a Message
description: >
Update a message body after it has been sent. Useful for removing
sensitive information from the body after the message has been received.
#### Permissions
The API token must include the following scopes: _Messaging_.
tags:
- Messages
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- Body
properties:
Body:
type: string
description: >-
The text of the message. Up to 1600 characters long and can
be null if no message was sent.
example: Hello World!
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier of the project that sent or received
this message.
example: ea108133-d6b3-407c-9536-9fad8a929a6a
api_version:
type: string
description: >-
The version number of the SignalWire cXML REST API used to
handle this message.
example: '2010-04-01'
body:
type: string
description: >-
The text of the message. Up to 1600 characters long and
can be null if no message was sent.
example: Hello World!
num_segments:
type: integer
description: >
The number of segments that make up the entire message.
If the body of the message is larger than 160 GSM-7
characters or 70 UCS-2 characters, it will automatically
be broken up into smaller messages and annotated to
attempt proper reconstruction on the recipient handset.
Not all carriers and handsets support this. SignalWire
will recombine inbound messages into a single message.
Your project will be charged for each segment sent or
received.
example: '1'
num_media:
type: string
description: >-
The number of media files that were included with the
message.
example: 1
date_created:
type: string
description: >-
The date and time the message was created in RFC 2822
format.
example: Mon, 13 Aug 2018 21:38:46 +0000
date_sent:
type: string
description: The date and time the message was sent in RFC 2822 format.
example: 'null'
date_updated:
type: string
description: >-
The date and time the message was last updated in RFC 2822
format.
example: Mon, 13 Aug 2018 21:38:46 +0000
direction:
type: string
description: The direction of the message.
enum:
- inbound
- outbound-api
- outbound-call
- outbound-reply
example: outbound-api
error_code:
type: string
description: >
If an error has occurred on the message, the error code
will give you a specific code to help lookup more
information on the failure. If no error occurred,
`error_code` will be null.
example: null
error_message:
type: string
description: >-
A human readable description of the error that occurred.
If no error occurred, `error_message` will be null.
example: null
from:
type: string
description: >
The phone number in E.164 format. For inbound messages,
this will be the remote phone number who sent the
message. For outbound messages, this will be one of your
SignalWire phone numbers.
example: '+15551234567'
price:
type: integer
description: The cost of the individual message billed to your project.
example: '0.005'
price_unit:
type: string
description: The currency in which `price` is charged as.
example: USD
sid:
type: string
description: A unique ID that identifies this specific message.
example: 0a059168-ead0-41af-9d1f-343dae832527
status:
type: string
description: Current status of the message.
enum:
- queued
- sending
- sent
- delivered
- undelivered
- failed
- receiving
- received
example: sent
to:
type: string
description: >
The phone number in E.164 format that received the
message. For inbound messages, this is one of your
SignalWire phone numbers; for outbound messages, this is
the remote phone number that received the message.
example: '+15557654321'
messaging_service_sid:
type: string
description: >
If a number group was used when sending an outbound
message, the number group's ID will be present. If no
number group was used, the value will be null.
example: 'null'
uri:
type: string
description: The URI of this particular message.
example: >-
/api/laml/2010-04-01/Accounts/ea108133-d6b3-407c-9536-9fad8a929a6a/Messages/0a059168-ead0-41af-9d1f-343dae832527
subresource_uris:
type: object
description: >-
The URIs for any subresources associated with this
message.
properties:
media:
type: string
example: >-
/api/laml/2010-04-01/Accounts/ea108133-d6b3-407c-9536-9fad8a929a6a/Messages/0a059168-ead0-41af-9d1f-343dae832527/Media
delete:
operationId: delete_message
summary: Delete a Message.
description: >
Delete a message from your project so it no longer appears in the
dashboard or on the API.
Any Media files that may be associated with this message are not
deleted, and will still be
available for access in the usual methods.
#### Permissions
The API token must include the following scopes: _Messaging_.
tags:
- Messages
responses:
'204':
$ref: '#/components/responses/204'
/Accounts/{AccountSid}/Messages/{MessageSid}/Media:
get:
parameters:
- name: AccountSid
in: path
description: >-
The unique identifier of the project that sent or received this
message.
required: true
schema:
type: string
format: uuid
- name: MessageSid
in: path
description: A unique ID that identifies this specific message.
required: true
schema:
type: string
format: uuid
- name: DateCreated
in: query
schema:
type: string
description: The date and time the message was sent in RFC 2822 format.
example: Fri, 15 Jun 2018 17:59:25 +0000
- name: PageSize
in: query
schema:
type: integer
description: >-
Specify the number of results to return on a single page. The
default page size is `50` and the maximum is `1000`.
operationId: list_media
summary: List All Media
description: >
Returns a paged list of media belonging to this message sorted with the
most recent media appearing first.
#### Permissions
The API token must include the following scopes: _Messaging_.
tags:
- Media
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/pagination'
- type: object
properties:
media_list:
type: array
items:
type: object
properties:
sid:
type: string
description: A unique identifier for this media resource.
example: b51dc3c6-df20-4af6-b774-a99de20d3fd8
date_created:
type: string
description: >-
The date and time the message was sent in RFC
2822 format.
example: Fri, 15 Jun 2018 17:59:25 +0000
date_updated:
type: string
description: >-
The date and time the message was sent in RFC
2822 format.
example: Fri, 15 Jun 2018 17:59:25 +0000
account_sid:
type: string
format: uuid
description: >-
The unique identifier of the project that sent
or received this message.
example: b51dc3c6-df20-4af6-b774-a99de20d3fd8
parent_sid:
type: boolean
description: >-
The unique identifier of the resource that
created this media resource.
example: 3338f508-c98c-45a1-b2e3-1a2c345477a8
content_type:
type: string
description: >-
The mime-type of the media file, for example
`image/gif`.
example: image/jpeg
uri:
type: string
description: >-
The URI for this resource, relative to your base
URL.
example: >-
/api/laml/2010-04-01/Accounts/446e9986-0848-4d46-a617-48793c5f5e07/Messages/3338f508-c98c-45a1-b2e3-1a2c345477a8/Media/b51dc3c6-df20-4af6-b774-a99de20d3fd8.json
/Accounts/{AccountSid}/Messages/{MessageSid}/Media/{Sid}:
parameters:
- name: AccountSid
in: path
description: >-
The unique identifier of the project that sent or received this
message.
required: true
schema:
type: string
format: uuid
- name: MessageSid
in: path
description: A unique ID that identifies this specific message.
required: true
schema:
type: string
format: uuid
- name: Sid
in: path
description: A unique identifier for this media resource.
required: true
schema:
type: string
format: uuid
get:
operationId: retrieve_media
summary: Retrieve a Media.
description: |
Retrieve a single media.
#### Permissions
The API token must include the following scopes: _Messaging_.
tags:
- Media
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
sid:
type: string
description: A unique identifier for this media resource.
example: b51dc3c6-df20-4af6-b774-a99de20d3fd8
date_created:
type: string
description: The date and time the message was sent in RFC 2822 format.
example: Fri, 15 Jun 2018 17:59:25 +0000
date_updated:
type: string
description: The date and time the message was sent in RFC 2822 format.
example: Fri, 15 Jun 2018 17:59:25 +0000
account_sid:
type: string
format: uuid
description: >-
The unique identifier of the project that sent or received
this message.
example: b51dc3c6-df20-4af6-b774-a99de20d3fd8
parent_sid:
type: boolean
description: >-
The unique identifier of the resource that created this
media resource.
example: 3338f508-c98c-45a1-b2e3-1a2c345477a8
content_type:
type: string
description: The mime-type of the media file, for example `image/gif`.
example: image/jpeg
uri:
type: string
description: The URI for this resource, relative to your base URL.
example: >-
/api/laml/2010-04-01/Accounts/446e9986-0848-4d46-a617-48793c5f5e07/Messages/3338f508-c98c-45a1-b2e3-1a2c345477a8/Media/b51dc3c6-df20-4af6-b774-a99de20d3fd8.json
delete:
operationId: delete_message_media
summary: Delete Message Media.
description: >
Delete a media instance from your project so it no longer appears in the
dashboard or on the API.
#### Permissions
The API token must include the following scopes: _Messaging_.
tags:
- Media
responses:
'204':
$ref: '#/components/responses/204'
/Accounts/{AccountSid}/Recordings:
get:
parameters:
- name: AccountSid
in: path
description: >-
The unique identifier for the account that is associated with this
recording.
required: true
schema:
type: string
format: uuid
- name: CallSid
in: query
schema:
type: string
description: >-
The unique identifier for the call that is associated with this
recording.
example: 43bb71ee-553f-4074-bb20-8e2747647cce
- name: ConferenceSid
in: query
schema:
type: string
description: >-
The unique identifier for the conference that is associated with
this recording.
example: 2071320d-ee82-4578-84e0-379fb227eb77
- name: DateCreated
in: query
schema:
type: string
description: The date, in RFC 2822 format, this recording was created.
example: Tue, 25 Sept 2018 23:00:00 +0000
operationId: list_recordings
summary: List All Recordings
description: >
Fetch all of the recordings that are associated with your SignalWire
account. This will be returned as a list of recordings.
#### Permissions
The API token must include the following scopes: _Voice_.
tags:
- Recordings
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/pagination'
- type: object
properties:
end:
description: The name of object.
example: '0'
start:
description: The name of object.
example: '0'
account_sid:
description: The unique identifier for this account.
example: b720796a0-8ee9-4350-83bd-2d07a3121f1e
recordings:
type: array
items:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that is
associated with this recording.
example: 720796a0-8ee9-4350-83bd-2d07a3121f1e
api_version:
type: string
description: The version of the SignalWire API.
example: '2010-04-01'
call_sid:
type: string
description: >-
The unique identifier for the call that is
associated with this recording.
example: 43bb71ee-553f-4074-bb20-8e2747647cce
conference_sid:
type: string
description: >-
The unique identifier for the conference that is
associated with this recording.
example: 2071320d-ee82-4578-84e0-379fb227eb77
channels:
type: integer
description: >-
The number of channels in a recording. Possible
values are `1` or `2`.
enum:
- 1
- 2
example: 1
date_created:
type: string
description: >-
The date, in RFC 2822 format, this recording was
created.
example: Tue, 25 Sept 2018 23:00:00 +0000
date_updated:
type: string
description: >-
The date, in RFC 2822 format, this recording was
updated.
example: Wed, 26 Sept 2018 23:00:04 +0000
end_time:
type: string
description: >-
The time, in RFC 2822 format, this recording
endded.
example: Wed, 26 Sept 2018 23:00:04 +0000
price:
type: string
description: The cost for the recording.
example: '-0.0025'
price_unit:
type: string
description: The currency of the price of the recording.
example: USD
duration:
type: string
description: The length, in seconds, of the recording.
example: '4'
sid:
type: string
description: The unique identifier for the recording.
example: 19e436af-5688-4307-b03b-bdb2b42b8142
source:
type: string
description: How the recording was made.
enum:
- DialVerb
- Conference
- OutBoundApi
- Trunking
- RecordVerb
- StartCallRecordingApi
- StartConferenceRecording
example: DialVerb
status:
type: string
description: The status of the recording.
enum:
- paused
- in-progress
- stopped
example: stopped
error_code:
type: string
description: Further details about a failed recording.
example: 'null'
uri:
type: string
description: The URI of the recording.
example: >-
/api/laml/2010-04-01/Accounts/720796a0-8ee9-4350-83bd-2d07a3121f1e/Calls/058a869c-d387-4bef-8e62-6b0bc0895bed/Recordings/19e436af-5688-4307-b03b-bdb2b42b8142.json
subresource_uris:
type: object
description: Subresource URIs
properties:
transcriptions:
type: string
example: >-
/api/laml/2010-04-01/Accounts/720796a0-8ee9-4350-83bd-2d07a3121f1e/Recordings/19e436af-5688-4307-b03b-bdb2b42b8142/Transcriptions.json
/Accounts/{AccountSid}/Recordings/{Sid}:
parameters:
- name: AccountSid
in: path
description: >-
The unique identifier for the account that is associated with this
recording.
required: true
schema:
type: string
format: uuid
- name: Sid
in: path
description: The unique identifier for the recording.
required: true
schema:
type: string
format: uuid
get:
operationId: retrieve_recording
summary: Retrieve a Recording.
description: >
Retrieve a single recording media or its metadata.
This endpoint supports two different access methods with different authentication requirements:
## Public Access (No Authentication Required)
Recording audio files can be accessed directly without authentication. This is useful for external applications
to embed recording URLs without exposing SignalWire API credentials. SignalWire recording URLs are long
and random, making them difficult to guess or exploit unless you reveal the URL.
**Retrieve WAV file**
When a recording URI has no extension or a `.wav` extension, the request
will return a binary WAV version of the recording file.
`GET
https://example.signalwire.com/api/laml/2010-04-01/Accounts/{AccountSid}/Recordings/{Sid}`
`GET
https://example.signalwire.com/api/laml/2010-04-01/Accounts/{AccountSid}/Recordings/{Sid}.wav`
**Retrieve MP3 file**
Setting an extension of ".mp3" on the URI returns a binary MP3 version
of the recording. For example:
`GET
https://example.signalwire.com/api/laml/2010-04-01/Accounts/{AccountSid}/Recordings/{Sid}.mp3`
## Authenticated Access (Voice Scope Required)
**Retrieve Metadata**
A recording's metadata, such as duration, cost, time, can be returned by
setting the Recording URI's extension to `.json`. This requires authentication
with a Voice-scoped API token.
`GET
https://example.signalwire.com/api/laml/2010-04-01/Accounts/{AccountSid}/Recordings/{Sid}.json`
#### Permissions
The API token must include the following scopes: _Voice_. This permission is only required for authenticated requests to retrieve recording metadata (.json extension).
tags:
- Recordings
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that is associated
with this recording.
example: 720796a0-8ee9-4350-83bd-2d07a3121f1e
api_version:
type: string
description: The version of the SignalWire API.
example: '2010-04-01'
call_sid:
type: string
description: >-
The unique identifier for the call that is associated with
this recording.
example: 43bb71ee-553f-4074-bb20-8e2747647cce
conference_sid:
type: string
description: >-
The unique identifier for the conference that is
associated with this recording.
example: 2071320d-ee82-4578-84e0-379fb227eb77
channels:
type: integer
description: >-
The number of channels in a recording. Possible values are
`1` or `2`.
enum:
- 1
- 2
example: 1
date_created:
type: string
description: The date, in RFC 2822 format, this recording was created.
example: Tue, 25 Sept 2018 23:00:00 +0000
date_updated:
type: string
description: The date, in RFC 2822 format, this recording was updated.
example: Wed, 26 Sept 2018 23:00:04 +0000
end_time:
type: string
description: The time, in RFC 2822 format, this recording endded.
example: Wed, 26 Sept 2018 23:00:04 +0000
price:
type: string
description: The cost for the recording.
example: '-0.0025'
price_unit:
type: string
description: The currency of the price of the recording.
example: USD
duration:
type: string
description: The length, in seconds, of the recording.
example: '4'
sid:
type: string
description: The unique identifier for the recording.
example: 19e436af-5688-4307-b03b-bdb2b42b8142
source:
type: string
description: How the recording was made.
enum:
- DialVerb
- Conference
- OutBoundApi
- Trunking
- RecordVerb
- StartCallRecordingApi
- StartConferenceRecording
example: DialVerb
status:
type: string
description: The status of the recording.
enum:
- paused
- in-progress
- stopped
example: stopped
error_code:
type: string
description: Further details about a failed recording.
example: 'null'
uri:
type: string
description: The URI of the recording.
example: >-
/api/laml/2010-04-01/Accounts/720796a0-8ee9-4350-83bd-2d07a3121f1e/Calls/058a869c-d387-4bef-8e62-6b0bc0895bed/Recordings/19e436af-5688-4307-b03b-bdb2b42b8142.json
subresource_uris:
type: object
description: Subresource URIs
properties:
transcriptions:
type: string
example: >-
/api/laml/2010-04-01/Accounts/720796a0-8ee9-4350-83bd-2d07a3121f1e/Recordings/19e436af-5688-4307-b03b-bdb2b42b8142/Transcriptions.json
delete:
operationId: delete_recording
summary: Delete a Recording.
description: >
Delete recording. If the delete is successful, a 204 response, with no
body, will be returned.
#### Permissions
The API token must include the following scopes: _Voice_.
tags:
- Recordings
responses:
'204':
$ref: '#/components/responses/204'
/Accounts/{AccountSid}/Calls/{CallSid}/Recordings:
post:
parameters:
- name: AccountSid
in: path
description: >-
The unique identifier for the account that is associated with this
recording.
required: true
schema:
type: string
format: uuid
- name: CallSid
in: path
description: >-
The unique identifier for the call that is associated with this
recording.
required: true
schema:
type: string
format: uuid
operationId: create_recording
summary: Create a Recording.
description: |
Create a recording.
#### Permissions
The API token must include the following scopes: _Voice_.
tags:
- Recordings
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
RecordingChannels:
type: string
enum:
- mono
- dual
description: >
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).
RecordingStatusCallback:
type: string
description: The URL to request to when recording is available.
example: 'null'
RecordingStatusCallbackEvent:
type: string
description: >
The different recording statuses. Possible values are
`completed`, `in-progress`, and `absent`. To specify
multiple events, separate with a space. Defaults to
`completed`.
enum:
- completed
- in-progress
- absent
example: completed
RecordingStatusCallbackMethod:
type: string
description: >-
Whether the request to `RecordingStatusCallback` URL is a
`GET` or a `POST`. Default is `POST`.
enum:
- GET
- POST
example: GET
RecordingTrack:
type: string
description: >
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`.
enum:
- inbound
- outbound
- both
example: inbound
Trim:
type: string
description: >
Whether leading and trailing silence is trimmed from a
recording. Possible values are `trim-silence` and
`do-not-trim`. Default is `trim-silence`.
enum:
- trim-silence
- do-not-trim
example: trim-silence
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that is associated
with this recording.
example: 720796a0-8ee9-4350-83bd-2d07a3121f1e
api_version:
type: string
description: The version of the SignalWire API.
example: '2010-04-01'
call_sid:
type: string
description: >-
The unique identifier for the call that is associated with
this recording.
example: 43bb71ee-553f-4074-bb20-8e2747647cce
conference_sid:
type: string
description: >-
The unique identifier for the conference that is
associated with this recording.
example: 2071320d-ee82-4578-84e0-379fb227eb77
channels:
type: integer
description: >-
The number of channels in a recording. Possible values are
`1` or `2`.
enum:
- 1
- 2
example: 1
date_created:
type: string
description: The date, in RFC 2822 format, this recording was created.
example: Tue, 25 Sept 2018 23:00:00 +0000
date_updated:
type: string
description: The date, in RFC 2822 format, this recording was updated.
example: Wed, 26 Sept 2018 23:00:04 +0000
end_time:
type: string
description: The time, in RFC 2822 format, this recording endded.
example: Wed, 26 Sept 2018 23:00:04 +0000
price:
type: string
description: The cost for the recording.
example: '-0.0025'
price_unit:
type: string
description: The currency of the price of the recording.
example: USD
duration:
type: string
description: The length, in seconds, of the recording.
example: '4'
sid:
type: string
description: The unique identifier for the recording.
example: 19e436af-5688-4307-b03b-bdb2b42b8142
source:
type: string
description: How the recording was made.
enum:
- DialVerb
- Conference
- OutBoundApi
- Trunking
- RecordVerb
- StartCallRecordingApi
- StartConferenceRecording
example: DialVerb
status:
type: string
description: The status of the recording.
enum:
- paused
- in-progress
- stopped
example: stopped
error_code:
type: string
description: Further details about a failed recording.
example: 'null'
uri:
type: string
description: The URI of the recording.
example: >-
/api/laml/2010-04-01/Accounts/720796a0-8ee9-4350-83bd-2d07a3121f1e/Calls/058a869c-d387-4bef-8e62-6b0bc0895bed/Recordings/19e436af-5688-4307-b03b-bdb2b42b8142.json
subresource_uris:
type: object
description: Subresource URIs
properties:
transcriptions:
type: string
example: >-
/api/laml/2010-04-01/Accounts/720796a0-8ee9-4350-83bd-2d07a3121f1e/Recordings/19e436af-5688-4307-b03b-bdb2b42b8142/Transcriptions.json
/Accounts/{AccountSid}/Calls/{CallSid}/Recordings/{Sid}:
post:
parameters:
- name: AccountSid
in: path
description: >-
The unique identifier for the account that is associated with this
recording.
required: true
schema:
type: string
format: uuid
- name: CallSid
in: path
description: >-
The unique identifier for the call that is associated with this
recording.
required: true
schema:
type: string
format: uuid
- name: Sid
in: path
description: The unique identifier for the recording.
required: true
schema:
type: string
format: uuid
operationId: update_recording
summary: Update a Recording
description: >
Pause, resume or stop a Recording. You can control what happens while
recording is paused (replace pause with silence or skip it).
#### Permissions
The API token must include the following scopes: _Voice_.
tags:
- Recordings
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- Status
properties:
Status:
type: string
description: The status of the recording.
enum:
- paused
- in-progress
- stopped
example: stopped
PauseBehavior:
type: string
description: What to do while recording is paused.
enum:
- skip
- silence
example: silence
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that is associated
with this recording.
example: 720796a0-8ee9-4350-83bd-2d07a3121f1e
api_version:
type: string
description: The version of the SignalWire API.
example: '2010-04-01'
call_sid:
type: string
description: >-
The unique identifier for the call that is associated with
this recording.
example: 43bb71ee-553f-4074-bb20-8e2747647cce
conference_sid:
type: string
description: >-
The unique identifier for the conference that is
associated with this recording.
example: 2071320d-ee82-4578-84e0-379fb227eb77
channels:
type: integer
description: >-
The number of channels in a recording. Possible values are
`1` or `2`.
enum:
- 1
- 2
example: 1
date_created:
type: string
description: The date, in RFC 2822 format, this recording was created.
example: Tue, 25 Sept 2018 23:00:00 +0000
date_updated:
type: string
description: The date, in RFC 2822 format, this recording was updated.
example: Wed, 26 Sept 2018 23:00:04 +0000
end_time:
type: string
description: The time, in RFC 2822 format, this recording endded.
example: Wed, 26 Sept 2018 23:00:04 +0000
price:
type: string
description: The cost for the recording.
example: '-0.0025'
price_unit:
type: string
description: The currency of the price of the recording.
example: USD
duration:
type: string
description: The length, in seconds, of the recording.
example: '4'
sid:
type: string
description: The unique identifier for the recording.
example: 19e436af-5688-4307-b03b-bdb2b42b8142
source:
type: string
description: How the recording was made.
enum:
- DialVerb
- Conference
- OutBoundApi
- Trunking
- RecordVerb
- StartCallRecordingApi
- StartConferenceRecording
example: DialVerb
status:
type: string
description: The status of the recording.
enum:
- paused
- in-progress
- stopped
example: stopped
error_code:
type: string
description: Further details about a failed recording.
example: 'null'
uri:
type: string
description: The URI of the recording.
example: >-
/api/laml/2010-04-01/Accounts/720796a0-8ee9-4350-83bd-2d07a3121f1e/Calls/058a869c-d387-4bef-8e62-6b0bc0895bed/Recordings/19e436af-5688-4307-b03b-bdb2b42b8142.json
subresource_uris:
type: object
description: Subresource URIs
properties:
transcriptions:
type: string
example: >-
/api/laml/2010-04-01/Accounts/720796a0-8ee9-4350-83bd-2d07a3121f1e/Recordings/19e436af-5688-4307-b03b-bdb2b42b8142/Transcriptions.json
/Accounts/{AccountSid}/Transcriptions:
get:
parameters:
- name: AccountSid
in: path
description: >-
The unique identifier for the account that created this
transcription.
required: true
schema:
type: string
format: uuid
operationId: list_transcriptions
summary: List All Transcriptions
description: >
The ability to read all of the recording transcriptions that are
associated with your account. This will be returned as a list of
transcriptions.
#### Permissions
The API token must include the following scopes: _Voice_.
tags:
- Recording Transcriptions
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/pagination'
- type: object
properties:
transcriptions:
type: array
items:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that
created this transcription.
example: b3877c40-da60-4998-90ad-b792e98472ac
api_version:
type: string
description: The version of the Signalwire API.
example: '2010-04-01'
date_created:
type: string
description: >-
The date, in RFC 2822 GMT format, this
transcription was created.
example: Thur, 27 Sept 2018 02:00:00 +0000
date_updated:
type: string
description: >-
The date, in RFC 2822 GMT format, this
transcription was updated.
example: Fri, 28 Sept 2018 03:00:00 +0000
duration:
type: string
description: The time, in seconds, of the transcribed audio.
example: '1'
price:
type: string
description: The charge for the transcription.
example: '-0.00025'
price_unit:
type: string
description: >-
The currency, in ISO 4127 format, for the price
of the transcription.
example: USD
recording_sid:
type: string
description: >-
The unique identifier for the recording that
this transcription was created from.
example: b3877c40-da60-4998-90ad-b792e98472re
sid:
type: string
description: The unique identifier for the transcription.
example: b3877c40-da60-4998-90ad-b792e98472tr
status:
type: string
description: The status of the transcription.
enum:
- in-progress
- completed
- failed
example: failed
transcription_text:
type: string
description: The text content of a transcription.
example: 'null'
type:
type: string
description: Type of the transcription
example: fast
uri:
type: string
description: The URI of the transcription.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472ac/Transcriptions/b3877c40-da60-4998-90ad-b792e98472tr.json
account_sid:
description: The unique identifier of this account.
example: b3877c40-da60-4998-90ad-b792e98472ac
/Accounts/{AccountSid}/Transcriptions/{Sid}:
parameters:
- name: AccountSid
in: path
description: The unique identifier for the account that created this transcription.
required: true
schema:
type: string
format: uuid
- name: Sid
in: path
description: The unique identifier for the transcription.
required: true
schema:
type: string
format: uuid
get:
operationId: retrieve_transcription
summary: Retrieve a Transcription.
description: |
Retrieve a single recording transcription.
#### Permissions
The API token must include the following scopes: _Voice_.
tags:
- Recording Transcriptions
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that created this
transcription.
example: b3877c40-da60-4998-90ad-b792e98472ac
api_version:
type: string
description: The version of the Signalwire API.
example: '2010-04-01'
date_created:
type: string
description: >-
The date, in RFC 2822 GMT format, this transcription was
created.
example: Thur, 27 Sept 2018 02:00:00 +0000
date_updated:
type: string
description: >-
The date, in RFC 2822 GMT format, this transcription was
updated.
example: Fri, 28 Sept 2018 03:00:00 +0000
duration:
type: string
description: The time, in seconds, of the transcribed audio.
example: '1'
price:
type: string
description: The charge for the transcription.
example: '-0.00025'
price_unit:
type: string
description: >-
The currency, in ISO 4127 format, for the price of the
transcription.
example: USD
recording_sid:
type: string
description: >-
The unique identifier for the recording that this
transcription was created from.
example: b3877c40-da60-4998-90ad-b792e98472re
sid:
type: string
description: The unique identifier for the transcription.
example: b3877c40-da60-4998-90ad-b792e98472tr
status:
type: string
description: The status of the transcription.
enum:
- in-progress
- completed
- failed
example: failed
transcription_text:
type: string
description: The text content of a transcription.
example: 'null'
type:
type: string
description: Type of the transcription
example: fast
uri:
type: string
description: The URI of the transcription.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472ac/Transcriptions/b3877c40-da60-4998-90ad-b792e98472tr.json
delete:
operationId: delete_transcription
summary: Delete a Recording Transcription.
description: >
Delete a recording transcription from your account. If the delete is
successful, a 204 response, with no body, will be returned.
#### Permissions
The API token must include the following scopes: _Voice_.
tags:
- Recording Transcriptions
responses:
'204':
$ref: '#/components/responses/204'
/Accounts/{AccountSid}/Queues:
get:
parameters:
- name: AccountSid
in: path
description: The unique identifier for the account this Queue is associated with.
required: true
schema:
type: string
format: uuid
- name: FriendlyName
in: query
schema:
type: string
description: A description that distinguishes a queue.
example: Queue1
- name: MaxSize
in: query
schema:
type: string
description: The maximum number of calls that are allowed to wait in a queue.
example: '123'
operationId: list_queues
summary: List All Queues
description: >
The ability to read all of the queues that are associated with your
account. This will be returned as a list of queues.
#### Permissions
The API token must include the following scopes: _Voice_.
tags:
- Queues
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/pagination'
- type: object
properties:
queues:
type: array
items:
type: object
properties:
account_sid:
type: string
description: >-
The unique identifier for the account this Queue
is associated with.
example: b3877c40-da60-4998-90ad-b792e98472af
average_wait_time:
type: string
format: uuid
description: >-
The average wait time, in seconds, of callers in
a queue.
example: '0'
current_size:
type: string
description: The number of calls waiting in the queue.
example: '0'
date_created:
type: string
description: >-
The date and time, in ISO 8601 format, the Queue
was created.
example: Wed, 26 Sept 2018 18:00:00 +0000
date_updated:
type: string
description: >-
The date and time, in ISO 8601 format, the Queue
was updated.
example: Thur, 27 Sept 2018 19:00:00 +0000
friendly_name:
type: string
description: A description that distinguishes a queue.
example: Queue1
max_size:
type: string
description: >-
The maximum number of calls that are allowed to
wait in a queue.
example: '123'
sid:
type: string
description: The unique identifier for the queue.
example: b3877c40-da60-4998-90ad-b792e98472qu
uri:
type: string
description: The URL of this resource.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/LamlBins/5184b831-184f-4209-872d-ccdccc80f2f1
account_sid:
description: The unique identifier for this account.
example: b3877c40-da60-4998-90ad-b792e98472ac
post:
parameters:
- name: AccountSid
in: path
description: The unique identifier for the account this Queue is associated with.
required: true
schema:
type: string
format: uuid
operationId: create_queue
summary: Create a Queue.
description: |
Create a call queue.
#### Permissions
The API token must include the following scopes: _Voice_.
tags:
- Queues
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- FriendlyName
properties:
FriendlyName:
type: string
description: A description that distinguishes a queue.
example: Queue1
MaxSize:
type: string
description: >-
The maximum number of calls that are allowed to wait in a
queue.
example: '123'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
description: >-
The unique identifier for the account this Queue is
associated with.
example: b3877c40-da60-4998-90ad-b792e98472af
average_wait_time:
type: string
format: uuid
description: The average wait time, in seconds, of callers in a queue.
example: '0'
current_size:
type: string
description: The number of calls waiting in the queue.
example: '0'
date_created:
type: string
description: >-
The date and time, in ISO 8601 format, the Queue was
created.
example: Wed, 26 Sept 2018 18:00:00 +0000
date_updated:
type: string
description: >-
The date and time, in ISO 8601 format, the Queue was
updated.
example: Thur, 27 Sept 2018 19:00:00 +0000
friendly_name:
type: string
description: A description that distinguishes a queue.
example: Queue1
max_size:
type: string
description: >-
The maximum number of calls that are allowed to wait in a
queue.
example: '123'
sid:
type: string
description: The unique identifier for the queue.
example: b3877c40-da60-4998-90ad-b792e98472qu
uri:
type: string
description: The URL of this resource.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/LamlBins/5184b831-184f-4209-872d-ccdccc80f2f1
/Accounts/{AccountSid}/Queues/{Sid}:
parameters:
- name: AccountSid
in: path
description: The unique identifier for the account this Queue is associated with.
required: true
schema:
type: string
format: uuid
- name: Sid
in: path
description: The unique identifier for the queue.
required: true
schema:
type: string
format: uuid
get:
operationId: retrieve_queue
summary: Retrieve a Queue.
description: |
Retrieve a single queue.
#### Permissions
The API token must include the following scopes: _Voice_.
tags:
- Queues
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
description: >-
The unique identifier for the account this Queue is
associated with.
example: b3877c40-da60-4998-90ad-b792e98472af
average_wait_time:
type: string
format: uuid
description: The average wait time, in seconds, of callers in a queue.
example: '0'
current_size:
type: string
description: The number of calls waiting in the queue.
example: '0'
date_created:
type: string
description: >-
The date and time, in ISO 8601 format, the Queue was
created.
example: Wed, 26 Sept 2018 18:00:00 +0000
date_updated:
type: string
description: >-
The date and time, in ISO 8601 format, the Queue was
updated.
example: Thur, 27 Sept 2018 19:00:00 +0000
friendly_name:
type: string
description: A description that distinguishes a queue.
example: Queue1
max_size:
type: string
description: >-
The maximum number of calls that are allowed to wait in a
queue.
example: '123'
sid:
type: string
description: The unique identifier for the queue.
example: b3877c40-da60-4998-90ad-b792e98472qu
uri:
type: string
description: The URL of this resource.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/LamlBins/5184b831-184f-4209-872d-ccdccc80f2f1
post:
operationId: update_queue
summary: Update a Queue.
description: |
Allows you to modify the properties of a single call queue.
#### Permissions
The API token must include the following scopes: _Voice_.
tags:
- Queues
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
FriendlyName:
type: string
description: A description that distinguishes a queue.
example: Queue1
MaxSize:
type: string
description: >-
The maximum number of calls that are allowed to wait in a
queue.
example: '123'
required:
- FriendlyName
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
description: >-
The unique identifier for the account this Queue is
associated with.
example: b3877c40-da60-4998-90ad-b792e98472af
average_wait_time:
type: string
format: uuid
description: The average wait time, in seconds, of callers in a queue.
example: '0'
current_size:
type: string
description: The number of calls waiting in the queue.
example: '0'
date_created:
type: string
description: >-
The date and time, in ISO 8601 format, the Queue was
created.
example: Wed, 26 Sept 2018 18:00:00 +0000
date_updated:
type: string
description: >-
The date and time, in ISO 8601 format, the Queue was
updated.
example: Thur, 27 Sept 2018 19:00:00 +0000
friendly_name:
type: string
description: A description that distinguishes a queue.
example: Queue1
max_size:
type: string
description: >-
The maximum number of calls that are allowed to wait in a
queue.
example: '123'
sid:
type: string
description: The unique identifier for the queue.
example: b3877c40-da60-4998-90ad-b792e98472qu
uri:
type: string
description: The URL of this resource.
example: >-
/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/LamlBins/5184b831-184f-4209-872d-ccdccc80f2f1
delete:
operationId: delete_queue
summary: Delete a Queue.
description: >
Delete a single call queue. Only empty queues can be deleted. If the
delete is successful, a 204 response, with no body, will be returned.
#### Permissions
The API token must include the following scopes: _Voice_.
tags:
- Queues
responses:
'204':
$ref: '#/components/responses/204'
/Accounts/{AccountSid}/Queues/{QueueSid}/Members:
get:
parameters:
- $ref: '#/components/parameters/account_id'
- $ref: '#/components/parameters/queue_id'
operationId: list_all_queue_members
summary: List All Queue Members
description: |
The ability to read all of the queue members that are waiting in a particular queue. This will be returned as a list of members.
#### Permissions
The API token must include the following scopes: _Voice_.
tags:
- Queue Members
responses:
200:
description: OK
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/pagination'
- type: object
properties:
end:
description: The name of object.
example: '0'
last_page_uri:
description: The URI for the last page.
example: '/api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472ac/Queues/b3877c40-da60-4998-90ad-b792e98472qu/Members.json?Page=0&PageSize=50'
num_pages:
description: The name of object.
example: '1'
queue_members:
type: array
items:
$ref: '#/components/schemas/member'
start:
description: The name of object.
example: '0'
total:
description: The name of object.
example: '1'
account_sid:
description: The unique identofier for account.
example: 'b3877c40-da60-4998-90ad-b792e98472ac'
queue_sid:
description: The unique identifier for queue.
example: 'b3877c40-da60-4998-90ad-b792e98472qu'
/Accounts/{AccountSid}/Queues/{QueueSid}/Members/{CallSid}:
parameters:
- $ref: '#/components/parameters/account_id'
- $ref: '#/components/parameters/queue_id'
- $ref: '#/components/parameters/get_call_id'
get:
operationId: retrieve_queue_member
summary: Retrieve a Queue Member.
description: |
Retrieve a single queue member.
#### Permissions
The API token must include the following scopes: _Voice_.
tags:
- Queue Members
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/member'
post:
operationId: update_queue_member
summary: Update a Queue Member.
description: |
Allows you to dequeue a given queue member and execute new XML Instructions.
#### Permissions
The API token must include the following scopes: _Voice_.
tags:
- Queue Members
parameters:
- $ref: '#/components/parameters/account_id'
- $ref: '#/components/parameters/queue_id'
- $ref: '#/components/parameters/post_call_id'
- $ref: '#/components/parameters/url'
- $ref: '#/components/parameters/method'
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/member'
/Accounts/{AccountSid}/Calls/{CallSid}/Streams:
post:
parameters:
- name: AccountSid
in: path
description: >-
The unique identifier for the account that is associated with this
stream.
required: true
schema:
type: string
format: uuid
- name: CallSid
in: path
description: >-
The unique identifier for the call that is associated with this
stream.
required: true
schema:
type: string
format: uuid
operationId: create_stream
summary: Create a Stream.
description: |
Create a stream.
#### Permissions
The API token must include the following scopes: _Voice_.
tags:
- Streams
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
Name:
type: string
description: >-
Unique name for the Stream, per Call. It is used to stop a
Stream by name.
example: my_first_stream
Track:
type: string
description: >-
This attribute can be one of inbound_track, outbound_track,
both_tracks. Default is `both_tracks`.
enum:
- inbound_track
- outbound_track
- both_tracks
example: both_tracks
StatusCallbackMethod:
type: string
description: >-
Whether the request to `StatusCallback` URL is a `GET` or a
`POST`. Default is `POST`.
enum:
- GET
- POST
example: GET
StatusCallback:
type: string
description: The URL to request to when stream is available.
example: 'null'
Url:
type: string
description: >-
Absolute or relative URL. A WebSocket connection to the url
will be established and audio will start flowing towards the
Websocket server. The only supported protocol is wss. For
security reasons ws is NOT supported.
example: wss://your-application.com/audiostream
Parameter1.Name:
type: string
description: Custom parameter name to pass towards the wss server
example: FirstName
Parameter1.Value:
type: string
description: Custom parameter value to pass towards the wss server
example: Jane
Parameter2.Name:
type: string
description: Custom parameter name to pass towards the wss server
example: FirstName
Parameter2.Value:
type: string
description: Custom parameter value to pass towards the wss server
example: Jane
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that is associated
with this stream.
example: 720796a0-8ee9-4350-83bd-2d07a3121f1e
api_version:
type: string
description: The version of the SignalWire API.
example: '2010-04-01'
call_sid:
type: string
description: >-
The unique identifier for the call that is associated with
this stream.
example: 43bb71ee-553f-4074-bb20-8e2747647cce
sid:
type: string
description: The unique identifier for the stream.
example: 19e436af-5688-4307-b03b-bdb2b42b8142
name:
type: string
description: >-
Unique name for the Stream, per Call. It is used to stop a
Stream by name.
example: my_first_stream
status:
type: string
description: The status of the stream.
enum:
- in-progress
- stopped
example: stopped
date_updated:
type: string
description: The date, in RFC 2822 format, this stream was updated.
example: Wed, 26 Sept 2018 23:00:04 +0000
error_code:
type: string
description: Further details about a failed stream.
example: 'null'
uri:
type: string
description: The URI of the stream.
example: >-
/api/laml/2010-04-01/Accounts/720796a0-8ee9-4350-83bd-2d07a3121f1e/Calls/058a869c-d387-4bef-8e62-6b0bc0895bed/Streams/19e436af-5688-4307-b03b-bdb2b42b8142.json
/Accounts/{AccountSid}/Calls/{CallSid}/Streams/{Sid}:
post:
parameters:
- name: AccountSid
in: path
description: >-
The unique identifier for the account that is associated with this
stream.
required: true
schema:
type: string
format: uuid
- name: CallSid
in: path
description: >-
The unique identifier for the call that is associated with this
stream.
required: true
schema:
type: string
format: uuid
- name: Sid
in: path
description: The unique identifier for the stream.
required: true
schema:
type: string
format: uuid
operationId: update_stream
summary: Stop a Stream
description: |
Stop a Stream.
#### Permissions
The API token must include the following scopes: _Voice_.
tags:
- Streams
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- Status
properties:
Status:
type: string
description: The status of the stream.
enum:
- in-progress
- stopped
example: stopped
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
account_sid:
type: string
format: uuid
description: >-
The unique identifier for the account that is associated
with this stream.
example: 720796a0-8ee9-4350-83bd-2d07a3121f1e
api_version:
type: string
description: The version of the SignalWire API.
example: '2010-04-01'
call_sid:
type: string
description: >-
The unique identifier for the call that is associated with
this stream.
example: 43bb71ee-553f-4074-bb20-8e2747647cce
sid:
type: string
description: The unique identifier for the stream.
example: 19e436af-5688-4307-b03b-bdb2b42b8142
name:
type: string
description: >-
Unique name for the Stream, per Call. It is used to stop a
Stream by name.
example: my_first_stream
status:
type: string
description: The status of the stream.
enum:
- in-progress
- stopped
example: stopped
date_updated:
type: string
description: The date, in RFC 2822 format, this stream was updated.
example: Wed, 26 Sept 2018 23:00:04 +0000
error_code:
type: string
description: Further details about a failed stream.
example: 'null'
uri:
type: string
description: The URI of the stream.
example: >-
/api/laml/2010-04-01/Accounts/720796a0-8ee9-4350-83bd-2d07a3121f1e/Calls/058a869c-d387-4bef-8e62-6b0bc0895bed/Streams/19e436af-5688-4307-b03b-bdb2b42b8142.json
/Accounts/{AccountSid}/tokens:
post:
parameters:
- name: AccountSid
in: path
description: >-
The unique identifier for the project you want to use to
authenticate this request.
required: true
schema:
type: string
format: uuid
operationId: create_token
summary: Generate a new API Token
description: >-
Generate an API Token for a project to be used to authenticate requests
within the project.
tags:
- Tokens
requestBody:
required: true
content:
application/json:
schema:
allOf:
- type: object
required:
- name
- permissions
- type: object
properties:
name:
type: string
description: The name representing the project API token.
example: John Doe's Token
permissions:
type: array
items:
type: string
description: >-
The permissions you would like to enable for this
project API token. Valid permissions are calling, chat,
fax, management, messaging, numbers, pubsub, storage,
tasking, and video
example:
- calling
- fax
- messaging
- type: object
properties:
subproject_id:
type: string
description: >-
The unique identifier of the subproject you would like
to create a token for. The subproject passed must be a
child of the project used to authenticate the request.
example: 9a7fc048-984f-11ee-b9d1-0242ac120002
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: The ID of the created API Token.
example: ea14556a-984f-11ee-b9d1-0242ac120002
name:
type: string
description: The name of the created API Token.
example: John Doe's Token
permissions:
type: array
items:
type: string
description: The permissions enabled for this token.
example:
- calling
- fax
- messaging
token:
type: string
description: >-
The API token that can be used along with the project ID
for basic authentication
example: PT037258e533e87ac63174ee136ed0798dc85d4f4f9e6d7191
'422':
description: Unprocessable Entity. You may have specified invalid parameters.
content:
application/json:
schema:
type: object
properties:
type:
type: string
code:
type: string
message:
type: string
attribute:
type: string
url:
type: string
format: uri
required:
- type
- code
- message
- url
example:
code: 10003
message: >-
Permissions contains invalid selections (valid permissions
are: calling, chat, fax, management, messaging, numbers,
pubsub, storage, tasking, and video)
status: 400
more_info: https://developer.signalwire.com/cxml/overview/error-codes
/Accounts/{AccountSid}/tokens/{token_id}:
patch:
operationId: update_token
summary: Update an API Token
description: Update an API Token's name or permissions.
tags:
- Tokens
parameters:
- name: AccountSid
in: path
description: >-
The unique identifier for the project you want to use to
authenticate this request.
required: true
schema:
type: string
format: uuid
- name: token_id
in: path
description: >-
The unique identifier of the project API token that you want to
update.
required: true
schema:
type: string
format: uuid
requestBody:
required: true
content:
application/json:
schema:
allOf:
- type: object
- type: object
properties:
name:
type: string
description: The name representing the project API token.
example: John Doe's Token
permissions:
type: array
items:
type: string
description: >-
The permissions you would like to enable for this
project API token. Valid permissions are calling, chat,
fax, management, messaging, numbers, pubsub, storage,
tasking, and video
example:
- calling
- fax
- messaging
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: The ID of the created API Token.
example: ea14556a-984f-11ee-b9d1-0242ac120002
name:
type: string
description: The name of the created API Token.
example: John Doe's Token
permissions:
type: array
items:
type: string
description: The permissions enabled for this token.
example:
- calling
- fax
- messaging
token:
type: string
description: >-
The API token that can be used along with the project ID
for basic authentication
example: PT037258e533e87ac63174ee136ed0798dc85d4f4f9e6d7191
'422':
description: Unprocessable Entity. You may have specified invalid parameters.
content:
application/json:
schema:
type: object
properties:
type:
type: string
code:
type: string
message:
type: string
attribute:
type: string
url:
type: string
format: uri
required:
- type
- code
- message
- url
example:
code: 10003
message: >-
Permissions contains invalid selections (valid permissions
are: calling, chat, fax, management, messaging, numbers,
pubsub, storage, tasking, and video)
status: 400
more_info: https://developer.signalwire.com/cxml/overview/error-codes
delete:
operationId: delete_token
summary: Delete an API Token
description: Delete an API Token. This action cannot be undone.
tags:
- Tokens
parameters:
- name: AccountSid
in: path
description: >-
The unique identifier for the project you want to use to
authenticate this request.
required: true
schema:
type: string
format: uuid
- name: token_id
in: path
description: >-
The unique identifier of the project API token that you want to
update.
required: true
schema:
type: string
format: uuid
responses:
'204':
description: No Content